From e8caa47b357405ad3e4791e501e3e047ff8cba16 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Wed, 3 Jan 2018 13:39:37 -0800 Subject: nss: Omit an extraneous definition; fix other problems on Darwin --- pkgs/development/libraries/nss/ckpem.patch | 11 +++++++++++ pkgs/development/libraries/nss/default.nix | 19 ++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/libraries/nss/ckpem.patch (limited to 'pkgs/development/libraries/nss') diff --git a/pkgs/development/libraries/nss/ckpem.patch b/pkgs/development/libraries/nss/ckpem.patch new file mode 100644 index 00000000000..c1a65a6c0b2 --- /dev/null +++ b/pkgs/development/libraries/nss/ckpem.patch @@ -0,0 +1,11 @@ +--- nss/lib/ckfw/pem/ckpem.h 2018-01-03 13:36:12.000000000 -0800 ++++ nss/lib/ckfw/pem/ckpem.h 2018-01-03 13:36:20.000000000 -0800 +@@ -156,8 +156,6 @@ + NSS_EXTERN_DATA pemInternalObject nss_pem_data[]; + NSS_EXTERN_DATA const PRUint32 nss_pem_nObjects; + +- PRBool logged_in; +- + /* our raw object data array */ + NSS_EXTERN_DATA pemInternalObject nss_pem_data[]; + NSS_EXTERN_DATA const PRUint32 nss_pem_nObjects; diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index 3e8ed856bfa..47f5c1ef5cf 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -28,6 +28,7 @@ in stdenv.mkDerivation rec { [ # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch ./85_security_load.patch + ./ckpem.patch ]; patchFlags = "-p0"; @@ -45,7 +46,8 @@ in stdenv.mkDerivation rec { "NSS_ENABLE_ECC=1" "USE_SYSTEM_ZLIB=1" "NSS_USE_SYSTEM_SQLITE=1" - ] ++ stdenv.lib.optional stdenv.is64bit "USE_64=1"; + ] ++ stdenv.lib.optional stdenv.is64bit "USE_64=1" + ++ stdenv.lib.optional stdenv.isDarwin "CCC=clang++"; NIX_CFLAGS_COMPILE = "-Wno-error"; @@ -84,15 +86,22 @@ in stdenv.mkDerivation rec { 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" + do '' + + (if stdenv.isDarwin + then '' + libfile="$out/lib/lib$libname.dylib" + DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \ + '' else '' + libfile="$out/lib/lib$libname.so" + LD_LIBRARY_PATH=$out/lib:${nspr.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 + rm -f "$out"/lib/*.a ''; meta = { -- cgit 1.4.1