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

This commit is contained in:
Sandro 2021-08-22 21:20:47 +02:00 committed by GitHub
commit 14f81d33ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 24 deletions

View file

@ -91,7 +91,7 @@ let
concatImapStringsSep makeSearchPath makeSearchPathOutput
makeLibraryPath makeBinPath optionalString
hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
escapeShellArg escapeShellArgs replaceChars lowerChars
escapeShellArg escapeShellArgs escapeRegex replaceChars lowerChars
upperChars toLower toUpper addContextFrom splitString
removePrefix removeSuffix versionOlder versionAtLeast
getName getVersion

View file

@ -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 ]
@ -27,13 +29,8 @@ stdenv.mkDerivation rec {
'';
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;
}

View file

@ -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,16 +23,16 @@ 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";
@ -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 ];
};

View file

@ -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&