mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-26 23:54:01 +00:00
33afbf39f6
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
84 lines
2.1 KiB
Nix
84 lines
2.1 KiB
Nix
{ stdenv, lib, fetchFromGitHub
|
|
, bzip2, expat, libedit, lmdb, openssl, libxcrypt
|
|
, python3 # for tests only
|
|
, cpp11 ? false
|
|
}:
|
|
|
|
let
|
|
zeroc_mcpp = stdenv.mkDerivation rec {
|
|
pname = "zeroc-mcpp";
|
|
version = "2.7.2.14";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "zeroc-ice";
|
|
repo = "mcpp";
|
|
rev = "v${version}";
|
|
sha256 = "1psryc2ql1cp91xd3f8jz84mdaqvwzkdq2pr96nwn03ds4cd88wh";
|
|
};
|
|
|
|
configureFlags = [ "--enable-mcpplib" ];
|
|
installFlags = [ "PREFIX=$(out)" ];
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
pname = "zeroc-ice";
|
|
version = "3.7.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "zeroc-ice";
|
|
repo = "ice";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-h455isEmnRyoasXhh1UaA5PICcEEM8/C3IJf5yHRl5g=";
|
|
};
|
|
|
|
buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl libxcrypt ];
|
|
|
|
preBuild = ''
|
|
makeFlagsArray+=(
|
|
"prefix=$out"
|
|
"OPTIMIZE=yes"
|
|
"USR_DIR_INSTALL=yes"
|
|
"LANGUAGES=cpp"
|
|
"CONFIGS=${if cpp11 then "cpp11-shared" else "shared"}"
|
|
"SKIP=slice2py" # provided by a separate package
|
|
)
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
outputs = [ "out" "bin" "dev" ];
|
|
|
|
doCheck = true;
|
|
nativeCheckInputs = 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"
|
|
|
|
# FIXME: certificate expired, remove for next release?
|
|
"IceSSL/configuration"
|
|
];
|
|
# 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
|
|
mv $out/share/ice $dev/share
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://www.zeroc.com/ice.html";
|
|
description = "The internet communications engine";
|
|
license = licenses.gpl2Only;
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ abbradar ];
|
|
broken = stdenv.isDarwin;
|
|
};
|
|
}
|