Timestamps in ...-autoloads.el files
Commit Message
Ludovic Courtès (2016-05-19 15:56 +0300) wrote:
>> From ca571f7631bf77ddc8ad6257fe165b4ff0ef5e6b Mon Sep 17 00:00:00 2001
>> From: Alex Kost <alezost@gmail.com>
>> 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")))))
>
> I would rather do it in a ‘snippet’ so that ‘guix build -S emacs’
> returns the cleaned-up source.
Hm, I didn't think about it; yeah, I agree it would be better, thanks!
> However, the snippet would have to duplicate the logic of this makefile
> rule, which might not be desirable (depends on how complex this rule
> is). If you think it’s best to keep this way, please push!
The rule is rather simple, it just removes all compiled and generated
files, so attached is the version with snippet.
Comments
Alex Kost <alezost@gmail.com> skribis:
> From 13c2e7123d3b8f7dda5814c2ac00acfe806cec3b Mon Sep 17 00:00:00 2001
> From: Alex Kost <alezost@gmail.com>
> Date: Thu, 19 May 2016 11:01:40 +0300
> Subject: [PATCH] gnu: emacs: Remove *.elc and autoloads from the tarball.
>
> * gnu/packages/emacs.scm (emacs)[source]: Add 'snippet' to remove
> compiled and generated elisp files.
Perfect, thanks!
Ludo’.
Ludovic Courtès (2016-05-22 00:01 +0300) wrote:
> Alex Kost <alezost@gmail.com> skribis:
>
>> From 13c2e7123d3b8f7dda5814c2ac00acfe806cec3b Mon Sep 17 00:00:00 2001
>> From: Alex Kost <alezost@gmail.com>
>> Date: Thu, 19 May 2016 11:01:40 +0300
>> Subject: [PATCH] gnu: emacs: Remove *.elc and autoloads from the tarball.
>>
>> * gnu/packages/emacs.scm (emacs)[source]: Add 'snippet' to remove
>> compiled and generated elisp files.
>
> Perfect, thanks!
Committed.
From 13c2e7123d3b8f7dda5814c2ac00acfe806cec3b Mon Sep 17 00:00:00 2001
From: Alex Kost <alezost@gmail.com>
Date: Thu, 19 May 2016 11:01:40 +0300
Subject: [PATCH] gnu: emacs: Remove *.elc and autoloads from the tarball.
* gnu/packages/emacs.scm (emacs)[source]: Add 'snippet' to remove
compiled and generated elisp files.
---
gnu/packages/emacs.scm | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
@@ -80,7 +80,18 @@
(base32
"0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))
(patches (search-patches "emacs-exec-path.patch"
- "emacs-source-date-epoch.patch"))))
+ "emacs-source-date-epoch.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete the bundled byte-compiled elisp files and
+ ;; generated autoloads.
+ '(with-directory-excursion "lisp"
+ (for-each delete-file
+ (append (find-files "." "\\.elc$")
+ (find-files "." "loaddefs\\.el$")
+ ;; This is the only "autoloads" file that
+ ;; does not have "*loaddefs.el" name.
+ '("eshell/esh-groups.el")))))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
--
2.8.2