diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/nspr')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/nspr/0001-Makefile-use-SOURCE_DATE_EPOCH-for-reproducibility.patch | 84 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/nspr/default.nix | 52 |
2 files changed, 136 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/nspr/0001-Makefile-use-SOURCE_DATE_EPOCH-for-reproducibility.patch b/nixpkgs/pkgs/development/libraries/nspr/0001-Makefile-use-SOURCE_DATE_EPOCH-for-reproducibility.patch new file mode 100644 index 000000000000..d7fec73910fb --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/nspr/0001-Makefile-use-SOURCE_DATE_EPOCH-for-reproducibility.patch @@ -0,0 +1,84 @@ +From e5cc8f7c387e3238ebb8239e2555c933a41502c0 Mon Sep 17 00:00:00 2001 +From: Graham Christensen <graham@grahamc.com> +Date: Thu, 7 Mar 2019 08:11:32 -0500 +Subject: [PATCH] Makefile: use SOURCE_DATE_EPOCH for reproducibility + +--- + nspr/lib/ds/Makefile.in | 4 ++-- + nspr/lib/libc/src/Makefile.in | 4 ++-- + nspr/lib/prstreams/Makefile.in | 4 ++-- + nspr/pr/src/Makefile.in | 6 +++--- + 4 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/nspr/lib/ds/Makefile.in b/nspr/lib/ds/Makefile.in +index e737791..d56b0a7 100644 +--- a/nspr/lib/ds/Makefile.in ++++ b/nspr/lib/ds/Makefile.in +@@ -101,8 +101,8 @@ ECHO = echo + TINC = $(OBJDIR)/_pl_bld.h + PROD = $(notdir $(SHARED_LIBRARY)) + NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now +-SH_DATE = $(shell date "+%Y-%m-%d %T") +-SH_NOW = $(shell $(NOW)) ++SH_DATE = $(shell date "+%Y-%m-%d %T" --date $(SOURCE_DATE_EPOCH)) ++SH_NOW = $(SOURCE_DATE_EPOCH)000000 + + ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT) + SUF = i64 +diff --git a/nspr/lib/libc/src/Makefile.in b/nspr/lib/libc/src/Makefile.in +index e8a6d9f..0485737 100644 +--- a/nspr/lib/libc/src/Makefile.in ++++ b/nspr/lib/libc/src/Makefile.in +@@ -103,8 +103,8 @@ ECHO = echo + TINC = $(OBJDIR)/_pl_bld.h + PROD = $(notdir $(SHARED_LIBRARY)) + NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now +-SH_DATE = $(shell date "+%Y-%m-%d %T") +-SH_NOW = $(shell $(NOW)) ++SH_DATE = $(shell date "+%Y-%m-%d %T" --date $(SOURCE_DATE_EPOCH)) ++SH_NOW = $(SOURCE_DATE_EPOCH)000000 + + ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT) + SUF = i64 +diff --git a/nspr/lib/prstreams/Makefile.in b/nspr/lib/prstreams/Makefile.in +index aeb2944..83ae423 100644 +--- a/nspr/lib/prstreams/Makefile.in ++++ b/nspr/lib/prstreams/Makefile.in +@@ -105,8 +105,8 @@ ECHO = echo + TINC = $(OBJDIR)/_pl_bld.h + PROD = $(notdir $(SHARED_LIBRARY)) + NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now +-SH_DATE = $(shell date "+%Y-%m-%d %T") +-SH_NOW = $(shell $(NOW)) ++SH_DATE = $(shell date "+%Y-%m-%d %T" --date $(SOURCE_DATE_EPOCH)) ++SH_NOW = $(SOURCE_DATE_EPOCH)000000 + + ifeq ($(OS_ARCH), WINNT) + SUF = i64 +diff --git a/nspr/pr/src/Makefile.in b/nspr/pr/src/Makefile.in +index 19c5a69..989cc8c 100644 +--- a/nspr/pr/src/Makefile.in ++++ b/nspr/pr/src/Makefile.in +@@ -46,7 +46,7 @@ MKSHLIB += -M $(MAPFILE) + endif + # + # In Solaris 2.6 or earlier, -lrt is called -lposix4. +-# ++# + LIBRT_TEST=$(firstword $(sort 5.7 $(OS_RELEASE))) + ifeq (5.7, $(LIBRT_TEST)) + LIBRT=-lrt +@@ -311,8 +311,8 @@ PROD = $(notdir $(SHARED_LIBRARY)) + endif + + NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now +-SH_DATE = $(shell date "+%Y-%m-%d %T") +-SH_NOW = $(shell $(NOW)) ++SH_DATE = $(shell date "+%Y-%m-%d %T" --date $(SOURCE_DATE_EPOCH)) ++SH_NOW = $(SOURCE_DATE_EPOCH)000000 + + ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT) + SUF = i64 +-- +2.19.2 + diff --git a/nixpkgs/pkgs/development/libraries/nspr/default.nix b/nixpkgs/pkgs/development/libraries/nspr/default.nix new file mode 100644 index 000000000000..b62fa1cb704f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/nspr/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl +, CoreServices ? null +, buildPackages }: + +let version = "4.21"; in + +stdenv.mkDerivation { + pname = "nspr"; + inherit version; + + src = fetchurl { + url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; + sha256 = "0nkbgk0x31nfm4xl8la0a3vrnpa8gzkh7g4k65p7n880n73k5shm"; + }; + + patches = [ + ./0001-Makefile-use-SOURCE_DATE_EPOCH-for-reproducibility.patch + ]; + + outputs = [ "out" "dev" ]; + outputBin = "dev"; + + preConfigure = '' + cd nspr + '' + stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace configure --replace '@executable_path/' "$out/lib/" + substituteInPlace configure.in --replace '@executable_path/' "$out/lib/" + ''; + + HOST_CC = "cc"; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + configureFlags = [ + "--enable-optimize" + "--disable-debug" + ] ++ stdenv.lib.optional stdenv.is64bit "--enable-64bit"; + + postInstall = '' + find $out -name "*.a" -delete + moveToOutput share "$dev" # just aclocal + ''; + + buildInputs = [] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = http://www.mozilla.org/projects/nspr/; + description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions"; + platforms = platforms.all; + license = licenses.mpl20; + }; +} |