Ludovic Courtès (2016-05-16 15:45 +0300) wrote:

> Alex Kost <[email protected]> skribis:
>
>> To recap: we use "gnu/packages/patches/emacs-source-date-epoch.patch" to
>> modify 'autoload-insert-section-header' function, and it should work,
>> but it doesn't.  IIUC this happens because "autoload.elc" file was
>> compiled using the unpatched "autoload.el", but first things first.  Try
>> the following recipe in Emacs (installed with Guix):
[...]
> Ideally, we
> should remove all the .elc files and rebuild them, but maybe there are
> bootstrapping issues.

The attached patch does this.  Happily there were no any issues.  Now
emacs packages will honor SOURCE_DATE_EPOCH.  Even autoloads that comes
with emacs itself (loaddefs.el, cl-loaddefs.el, etc.) will have a proper
timestamp.

>From ca571f7631bf77ddc8ad6257fe165b4ff0ef5e6b Mon Sep 17 00:00:00 2001
From: Alex Kost <[email protected]>
Date: Thu, 19 May 2016 11:01:40 +0300
Subject: [PATCH] gnu: emacs: Remove *.elc from the release tarball.

* gnu/packages/emacs.scm (emacs)[arguments]: Add 'remove-compiled-elisp'
  phase.
---
 gnu/packages/emacs.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 32ed722..0c15f63 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -91,6 +91,15 @@
              (substitute* (find-files "." "^Makefile\\.in$")
                (("/bin/pwd")
                 "pwd"))))
+         (add-after 'configure 'remove-compiled-elisp
+           (lambda _
+             ;; Emacs comes with compiled elisp (*.elc) and generated
+             ;; autoloads (*loaddefs.el) files.  This does not allow us to use
+             ;; "emacs-source-date-epoch.patch" effectively, so remove these
+             ;; files (using 'make bootstrap-clean'), as 'make' will recreate
+             ;; them.
+             (with-directory-excursion "lisp"
+               (zero? (system* "make" "bootstrap-clean")))))
          (add-after 'install 'remove-info.info
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Remove 'info.info', which is provided by Texinfo <= 6.0.
-- 
2.7.3

Reply via email to