mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-09-11 15:08:33 +01:00
333d69a5f0
The most complex problems were from dealing with switches reverted in the meantime (gcc5, gmp6, ncurses6). It's likely that darwin is (still) broken nontrivially.
92 lines
2.4 KiB
Nix
92 lines
2.4 KiB
Nix
{ stdenv, fetchurl, nspr, perl, zlib, sqlite }:
|
|
|
|
let
|
|
|
|
nssPEM = fetchurl {
|
|
url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
|
|
sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
name = "nss-${version}";
|
|
version = "3.20.1";
|
|
|
|
src = fetchurl {
|
|
url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_20_1_RTM/src/${name}.tar.gz";
|
|
sha256 = "ad3c8f11dfd9570c2d04a6140d5ef7c2bdd0fe30d6c9e5548721a4251a5e8c97";
|
|
};
|
|
|
|
buildInputs = [ nspr perl zlib sqlite ];
|
|
|
|
prePatch = ''
|
|
xz -d < ${nssPEM} | patch -p1
|
|
'';
|
|
|
|
patches =
|
|
[ ./nss-3.17-gentoo-fixups.patch
|
|
# Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
|
|
./85_security_load.patch
|
|
];
|
|
|
|
postPatch = ''
|
|
# Fix up the patch from Gentoo.
|
|
sed -i \
|
|
-e "/^PREFIX =/s|= /usr|= $out|" \
|
|
-e '/@libdir@/s|gentoo/nss|lib|' \
|
|
-e '/ln -sf/d' \
|
|
nss/config/Makefile
|
|
|
|
# Note for spacing/tab nazis: The TAB characters are intentional!
|
|
cat >> nss/config/Makefile <<INSTALL_TARGET
|
|
install:
|
|
mkdir -p \$(DIST)/lib/pkgconfig
|
|
cp nss.pc \$(DIST)/lib/pkgconfig
|
|
INSTALL_TARGET
|
|
'';
|
|
|
|
outputs = [ "dev" "out" "tools" ];
|
|
|
|
preConfigure = "cd nss";
|
|
|
|
makeFlags = [
|
|
"NSPR_INCLUDE_DIR=${nspr.dev}/include/nspr"
|
|
"NSPR_LIB_DIR=${nspr.out}/lib"
|
|
"NSDISTMODE=copy"
|
|
"BUILD_OPT=1"
|
|
"SOURCE_PREFIX=\$(out)"
|
|
"NSS_ENABLE_ECC=1"
|
|
"USE_SYSTEM_ZLIB=1"
|
|
"NSS_USE_SYSTEM_SQLITE=1"
|
|
] ++ stdenv.lib.optional stdenv.is64bit "USE_64=1";
|
|
|
|
postInstall = ''
|
|
rm -rf $out/private
|
|
mv $out/public $out/include
|
|
mv $out/*.OBJ/* $out/
|
|
rmdir $out/*.OBJ
|
|
|
|
cp -av config/nss-config $out/bin/nss-config
|
|
|
|
ln -s lib $out/lib64
|
|
'';
|
|
|
|
postFixup = ''
|
|
for libname in freebl3 nssdbm3 softokn3
|
|
do
|
|
libfile="$out/lib/lib$libname.so"
|
|
LD_LIBRARY_PATH=$out/lib $out/bin/shlibsign -v -i "$libfile"
|
|
done
|
|
|
|
_moveToOutput bin "$tools"
|
|
_moveToOutput bin/nss-config "$dev"
|
|
_moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example
|
|
rm "$out"/lib/*.a
|
|
'';
|
|
|
|
meta = {
|
|
homepage = https://developer.mozilla.org/en-US/docs/NSS;
|
|
description = "A set of libraries for development of security-enabled client and server applications";
|
|
platforms = stdenv.lib.platforms.all;
|
|
};
|
|
}
|