f9f6f41bff
TODO: there was more significant refactoring of qtbase and plasma 5.5 on master, and I'm deferring pointing to correct outputs to later.
93 lines
2.4 KiB
Nix
93 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.21";
|
|
|
|
src = fetchurl {
|
|
url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_21_RTM/src/${name}.tar.gz";
|
|
sha256 = "3f7a5b027d7cdd5c0e4ff7544da33fdc6f56c2f8c27fff02938fd4a6fbe87239";
|
|
};
|
|
|
|
buildInputs = [ nspr perl zlib sqlite ];
|
|
|
|
prePatch = ''
|
|
xz -d < ${nssPEM} | patch -p1
|
|
'';
|
|
|
|
patches =
|
|
[ ./nss-3.21-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";
|
|
|
|
NIX_CFLAGS_COMPILE = "-Wno-error";
|
|
|
|
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;
|
|
};
|
|
}
|