Merge pull request #135087 from hrhino/fix/zeroc-ice

authored by

Sandro and committed by
GitHub
14f81d33 5f7f50d7

+51 -24
+1 -1
lib/default.nix
··· 91 91 concatImapStringsSep makeSearchPath makeSearchPathOutput 92 92 makeLibraryPath makeBinPath optionalString 93 93 hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape 94 - escapeShellArg escapeShellArgs replaceChars lowerChars 94 + escapeShellArg escapeShellArgs escapeRegex replaceChars lowerChars 95 95 upperChars toLower toUpper addContextFrom splitString 96 96 removePrefix removeSuffix versionOlder versionAtLeast 97 97 getName getVersion
+8 -16
pkgs/development/libraries/zeroc-ice/3.6.nix
··· 1 - { stdenv, lib, fetchFromGitHub, fetchpatch, mcpp, bzip2, expat, openssl, db5 1 + { stdenv, lib, fetchFromGitHub 2 + , mcpp, bzip2, expat, openssl, db5 2 3 , darwin, libiconv, Security 4 + , zeroc-ice # to share meta 3 5 , cpp11 ? false 4 6 }: 5 7 6 8 stdenv.mkDerivation rec { 7 9 pname = "zeroc-ice"; 8 - version = "3.6.3"; 10 + version = "3.6.5"; 9 11 10 12 src = fetchFromGitHub { 11 13 owner = "zeroc-ice"; 12 14 repo = "ice"; 13 15 rev = "v${version}"; 14 - sha256 = "05xympbns32aalgcfcpxwfd7bvg343f16xpg6jv5s335ski3cjy2"; 16 + sha256 = "073h7v1f2sw77cr1a6xxa5l9j547pz24sxa9qdjc4zki0ivcnq15"; 15 17 }; 16 18 17 19 buildInputs = [ mcpp bzip2 expat openssl db5 ] ··· 27 29 ''; 28 30 29 31 patches = [ 30 - # Fixes compilation issues with GCC 8 using one of the patches 31 - # provided in https://github.com/zeroc-ice/ice/issues/82 32 - ( fetchpatch { 33 - url = "https://github.com/zeroc-ice/ice/commit/a6a4981616b669432ff7b588179d6e93694d9e3f.patch"; 34 - sha256 = "17j5r7gsa3izrm7zln4mrp7l16h532gvmpas0kzglybicbiz7d56"; 35 - stripLen = 1; 36 - }) 32 + # Fixes compilation warning about uninitialied variables (in test code) 33 + ./uninitialized-variable-warning.patch 37 34 ]; 38 35 39 36 preBuild = '' ··· 58 55 rm -rf $out/share/slice 59 56 ''; 60 57 61 - meta = with lib; { 62 - homepage = "http://www.zeroc.com/ice.html"; 63 - description = "The internet communications engine"; 64 - license = licenses.gpl2; 65 - platforms = platforms.unix; 66 - }; 58 + inherit (zeroc-ice) meta; 67 59 }
+22 -7
pkgs/development/libraries/zeroc-ice/default.nix
··· 1 - { stdenv, lib, fetchFromGitHub, bzip2, expat, openssl, lmdb 1 + { stdenv, lib, fetchFromGitHub 2 + , bzip2, expat, libedit, lmdb, openssl 2 3 , darwin, libiconv, Security 4 + , python3 # for tests only 3 5 , cpp11 ? false 4 6 }: 5 7 ··· 21 23 22 24 in stdenv.mkDerivation rec { 23 25 pname = "zeroc-ice"; 24 - version = "3.7.2"; 26 + version = "3.7.6"; 25 27 26 28 src = fetchFromGitHub { 27 29 owner = "zeroc-ice"; 28 30 repo = "ice"; 29 31 rev = "v${version}"; 30 - sha256 = "0m9lh79dfpcwcp2jhmj0wqdcsw3rl633x2hzfw9n2i34jjv64fvg"; 32 + sha256 = "0zc8gmlzl2f38m1fj6pv2vm8ka7fkszd6hx2lb8gfv65vn3m4sk4"; 31 33 }; 32 34 33 - buildInputs = [ zeroc_mcpp bzip2 expat openssl lmdb ] 35 + buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ] 34 36 ++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ]; 35 37 36 38 NIX_CFLAGS_COMPILE = "-Wno-error=class-memaccess -Wno-error=deprecated-copy"; ··· 51 53 ) 52 54 ''; 53 55 54 - buildFlags = [ "srcs" ]; # no tests; they require network 55 - 56 56 enableParallelBuilding = true; 57 57 58 58 outputs = [ "out" "bin" "dev" ]; 59 59 60 + doCheck = true; 61 + checkInputs = with python3.pkgs; [ passlib ]; 62 + checkPhase = with lib; let 63 + # these tests require network access so we need to skip them. 64 + brokenTests = map escapeRegex [ 65 + "Ice/udp" "Glacier2" "IceGrid/simple" "IceStorm" "IceDiscovery/simple" 66 + ]; 67 + # matches CONFIGS flag in makeFlagsArray 68 + configFlag = optionalString cpp11 "--config=cpp11-shared"; 69 + in '' 70 + runHook preCheck 71 + ${python3.interpreter} ./cpp/allTests.py ${configFlag} --rfilter='${concatStringsSep "|" brokenTests}' 72 + runHook postCheck 73 + ''; 74 + 60 75 postInstall = '' 61 76 mkdir -p $bin $dev/share 62 77 mv $out/bin $bin ··· 66 81 meta = with lib; { 67 82 homepage = "https://www.zeroc.com/ice.html"; 68 83 description = "The internet communications engine"; 69 - license = licenses.gpl2; 84 + license = licenses.gpl2Only; 70 85 platforms = platforms.unix; 71 86 maintainers = with maintainers; [ abbradar ]; 72 87 };
+20
pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch
··· 1 + diff --git a/test/Glacier2/dynamicFiltering/TestControllerI.h b/test/Glacier2/dynamicFiltering/TestControllerI.h 2 + index 7e21639..1279200 100644 3 + --- a/test/Glacier2/dynamicFiltering/TestControllerI.h 4 + +++ b/test/Glacier2/dynamicFiltering/TestControllerI.h 5 + @@ -21,13 +21,12 @@ struct SessionTuple 6 + { 7 + Glacier2::SessionPrx session; 8 + Glacier2::SessionControlPrx sessionControl; 9 + - bool configured; 10 + + bool configured = false; 11 + 12 + SessionTuple() {} 13 + SessionTuple(Glacier2::SessionPrx s, Glacier2::SessionControlPrx control): 14 + session(s), 15 + - sessionControl(control), 16 + - configured(false) 17 + + sessionControl(control) 18 + {} 19 + 20 + SessionTuple&