aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2015-10-21 15:59:23 +0300
committerAlex Kost <alezost@gmail.com>2015-11-14 21:59:37 +0300
commit6f4b23e674cefebf0ccefc301974e50db04ce5db (patch)
tree48bf12fdb25e09ed0841159bd5a1de756c7c41bb
parentf7dbeb376b42e95bc66dcf4cfa283e912f5e7aa4 (diff)
downloadgnu-guix-6f4b23e674cefebf0ccefc301974e50db04ce5db.tar
gnu-guix-6f4b23e674cefebf0ccefc301974e50db04ce5db.tar.gz
gnu: emacs: Honor 'SOURCE_DATE_EPOCH'.
Suggested by Ludovic Courtès <ludo@gnu.org>. * gnu/packages/patches/emacs-source-date-epoch.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/emacs.scm (emacs)[source]: Use it.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/emacs.scm3
-rw-r--r--gnu/packages/patches/emacs-source-date-epoch.patch20
3 files changed, 23 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index d43358df86..92370a2517 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -437,6 +437,7 @@ dist_patch_DATA = \
gnu/packages/patches/duplicity-test_selection-tmp.patch \
gnu/packages/patches/elfutils-tests-ptrace.patch \
gnu/packages/patches/emacs-exec-path.patch \
+ gnu/packages/patches/emacs-source-date-epoch.patch \
gnu/packages/patches/eudev-rules-directory.patch \
gnu/packages/patches/expat-CVE-2015-1283.patch \
gnu/packages/patches/fastcap-mulGlobal.patch \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6416b00ee0..9751125113 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -70,7 +70,8 @@
(sha256
(base32
"0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))
- (patches (list (search-patch "emacs-exec-path.patch")))))
+ (patches (list (search-patch "emacs-exec-path.patch")
+ (search-patch "emacs-source-date-epoch.patch")))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases (alist-cons-before
diff --git a/gnu/packages/patches/emacs-source-date-epoch.patch b/gnu/packages/patches/emacs-source-date-epoch.patch
new file mode 100644
index 0000000000..41c03ef514
--- /dev/null
+++ b/gnu/packages/patches/emacs-source-date-epoch.patch
@@ -0,0 +1,20 @@
+Honor SOURCE_DATE_EPOCH variable to avoid non-determinism in generated
+"autoloads" files.
+
+--- a/lisp/emacs-lisp/autoload.el
++++ b/lisp/emacs-lisp/autoload.el
+@@ -378,8 +378,12 @@
+ "Insert the section-header line,
+ which lists the file name and which functions are in it, etc."
+ (insert generate-autoload-section-header)
+- (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
+- outbuf)
++ (let* ((env (getenv "SOURCE_DATE_EPOCH"))
++ (time (if env
++ (seconds-to-time (string-to-number env))
++ time)))
++ (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
++ outbuf))
+ (terpri outbuf)
+ ;; Break that line at spaces, to avoid very long lines.
+ ;; Make each sub-line into a comment.