guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: emacs: Honor 'SOURCE_DATE_EPOCH'.


From: Alex Kost
Subject: 02/02: gnu: emacs: Honor 'SOURCE_DATE_EPOCH'.
Date: Sat, 14 Nov 2015 20:36:44 +0000

alezost pushed a commit to branch core-updates
in repository guix.

commit 6f4b23e674cefebf0ccefc301974e50db04ce5db
Author: Alex Kost <address@hidden>
Date:   Wed Oct 21 15:59:23 2015 +0300

    gnu: emacs: Honor 'SOURCE_DATE_EPOCH'.
    
    Suggested by Ludovic Courtès <address@hidden>.
    
    * 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.
---
 gnu-system.am                                      |    1 +
 gnu/packages/emacs.scm                             |    3 ++-
 gnu/packages/patches/emacs-source-date-epoch.patch |   20 ++++++++++++++++++++
 3 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index d43358d..92370a2 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 6416b00..9751125 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 0000000..41c03ef
--- /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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]