gnu: nsis: Respect SOURCE-DATE-EPOCH for reproducibility

* gnu/packages/patches/nsis-source-date-epoch.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/installers.scm (make-nsis)[source]: Apply it.
This commit is contained in:
Carl Dong 2021-05-29 01:28:10 -04:00
parent 9da90938c6
commit 20d9535e1b
No known key found for this signature in database
GPG key ID: 0CC52153197991A5
3 changed files with 26 additions and 1 deletions

View file

@ -1468,6 +1468,7 @@ dist_patch_DATA = \
%D%/packages/patches/network-manager-plugin-path.patch \
%D%/packages/patches/nginx-socket-cloexec.patch \
%D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nsis-source-date-epoch.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-3.56-pkgconfig.patch \
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \

View file

@ -42,7 +42,8 @@ (define (make-nsis machine target-arch nsis-target-type)
(sha256
(base32
"1sbwx5vzpddharkb7nj4q5z3i5fbg4lan63ng738cw4hmc4v7qdn"))
(patches (search-patches "nsis-env-passthru.patch"))))
(patches (search-patches "nsis-env-passthru.patch"
"nsis-source-date-epoch.patch"))))
(build-system scons-build-system)
(native-inputs `(("xgcc" ,xgcc)
("xbinutils" ,xbinutils)

View file

@ -0,0 +1,23 @@
Honour SOURCE_DATE_EPOCH for VERSION default
Merged upstream as cd3f1024a37a332f1d4fa96a817ca80dfa2a478c, but not yet in a
release. GitHub PR: https://github.com/kichik/nsis/pull/13
Python snippet from: https://reproducible-builds.org/docs/source-date-epoch/#python
diff --git a/SConstruct b/SConstruct
index e8252c9..41786f2 100755
--- a/SConstruct
+++ b/SConstruct
@@ -95,8 +95,8 @@ default_doctype = 'html'
if defenv.WhereIs('hhc', os.environ['PATH']):
default_doctype = 'chm'
-from time import strftime, gmtime
-cvs_version = strftime('%d-%b-%Y.cvs', gmtime())
+import time
+cvs_version = time.strftime('%d-%b-%Y.cvs', time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))))
opts = Variables()