about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/zeroc-ice
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-09-08 17:57:14 +0000
committerAlyssa Ross <hi@alyssa.is>2021-09-13 11:31:47 +0000
commitee7984efa14902a2ddd820c937457667a4f40c6a (patch)
treec9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/pkgs/development/libraries/zeroc-ice
parentffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff)
parentb3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff)
downloadnixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/zeroc-ice')
-rw-r--r--nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch20
3 files changed, 52 insertions, 25 deletions
diff --git a/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix b/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix
index 896973e32eb8..e8082e50447a 100644
--- a/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix
+++ b/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix
@@ -1,17 +1,19 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, mcpp, bzip2, expat, openssl, db5
+{ stdenv, lib, fetchFromGitHub
+, mcpp, bzip2, expat, openssl, db5
 , darwin, libiconv, Security
+, zeroc-ice # to share meta
 , cpp11 ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "zeroc-ice";
-  version = "3.6.3";
+  version = "3.6.5";
 
   src = fetchFromGitHub {
     owner = "zeroc-ice";
     repo = "ice";
     rev = "v${version}";
-    sha256 = "05xympbns32aalgcfcpxwfd7bvg343f16xpg6jv5s335ski3cjy2";
+    sha256 = "073h7v1f2sw77cr1a6xxa5l9j547pz24sxa9qdjc4zki0ivcnq15";
   };
 
   buildInputs = [ mcpp bzip2 expat openssl db5 ]
@@ -21,19 +23,14 @@ stdenv.mkDerivation rec {
     sourceRoot=$sourceRoot/cpp
   '';
 
-  prePatch = lib.optional stdenv.isDarwin ''
+  prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace config/Make.rules.Darwin \
         --replace xcrun ""
   '';
 
   patches = [
-    # Fixes compilation issues with GCC 8 using one of the patches
-    # provided in https://github.com/zeroc-ice/ice/issues/82
-    ( fetchpatch {
-      url = "https://github.com/zeroc-ice/ice/commit/a6a4981616b669432ff7b588179d6e93694d9e3f.patch";
-      sha256 = "17j5r7gsa3izrm7zln4mrp7l16h532gvmpas0kzglybicbiz7d56";
-      stripLen = 1;
-    })
+    # Fixes compilation warning about uninitialied variables (in test code)
+    ./uninitialized-variable-warning.patch
   ];
 
   preBuild = ''
@@ -58,10 +55,5 @@ stdenv.mkDerivation rec {
     rm -rf $out/share/slice
   '';
 
-  meta = with lib; {
-    homepage = "http://www.zeroc.com/ice.html";
-    description = "The internet communications engine";
-    license = licenses.gpl2;
-    platforms = platforms.unix;
-  };
+  inherit (zeroc-ice) meta;
 }
diff --git a/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix b/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
index ef16e381bcfd..fcd836348556 100644
--- a/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, lib, fetchFromGitHub, bzip2, expat, openssl, lmdb
+{ stdenv, lib, fetchFromGitHub
+, bzip2, expat, libedit, lmdb, openssl
 , darwin, libiconv, Security
+, python3 # for tests only
 , cpp11 ? false
 }:
 
@@ -21,21 +23,21 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "zeroc-ice";
-  version = "3.7.2";
+  version = "3.7.6";
 
   src = fetchFromGitHub {
     owner = "zeroc-ice";
     repo = "ice";
     rev = "v${version}";
-    sha256 = "0m9lh79dfpcwcp2jhmj0wqdcsw3rl633x2hzfw9n2i34jjv64fvg";
+    sha256 = "0zc8gmlzl2f38m1fj6pv2vm8ka7fkszd6hx2lb8gfv65vn3m4sk4";
   };
 
-  buildInputs = [ zeroc_mcpp bzip2 expat openssl lmdb ]
+  buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ]
     ++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=class-memaccess -Wno-error=deprecated-copy";
 
-  prePatch = lib.optional stdenv.isDarwin ''
+  prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace Make.rules.Darwin \
         --replace xcrun ""
   '';
@@ -51,12 +53,25 @@ in stdenv.mkDerivation rec {
     )
   '';
 
-  buildFlags = [ "srcs" ]; # no tests; they require network
-
   enableParallelBuilding = true;
 
   outputs = [ "out" "bin" "dev" ];
 
+  doCheck = true;
+  checkInputs = with python3.pkgs; [ passlib ];
+  checkPhase = with lib; let
+    # these tests require network access so we need to skip them.
+    brokenTests = map escapeRegex [
+      "Ice/udp" "Glacier2" "IceGrid/simple" "IceStorm" "IceDiscovery/simple"
+    ];
+    # matches CONFIGS flag in makeFlagsArray
+    configFlag = optionalString cpp11 "--config=cpp11-shared";
+  in ''
+    runHook preCheck
+    ${python3.interpreter} ./cpp/allTests.py ${configFlag} --rfilter='${concatStringsSep "|" brokenTests}'
+    runHook postCheck
+  '';
+
   postInstall = ''
     mkdir -p $bin $dev/share
     mv $out/bin $bin
@@ -66,7 +81,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.zeroc.com/ice.html";
     description = "The internet communications engine";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch b/nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch
new file mode 100644
index 000000000000..878dee26bb83
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch
@@ -0,0 +1,20 @@
+diff --git a/test/Glacier2/dynamicFiltering/TestControllerI.h b/test/Glacier2/dynamicFiltering/TestControllerI.h
+index 7e21639..1279200 100644
+--- a/test/Glacier2/dynamicFiltering/TestControllerI.h
++++ b/test/Glacier2/dynamicFiltering/TestControllerI.h
+@@ -21,13 +21,12 @@ struct SessionTuple
+ {
+     Glacier2::SessionPrx session;
+     Glacier2::SessionControlPrx sessionControl;
+-    bool configured;
++    bool configured = false;
+
+     SessionTuple() {}
+     SessionTuple(Glacier2::SessionPrx s, Glacier2::SessionControlPrx control):
+         session(s),
+-        sessionControl(control),
+-        configured(false)
++        sessionControl(control)
+     {}
+
+     SessionTuple&