Ludovic Courtès (2016-05-19 15:56 +0300) wrote: >> From ca571f7631bf77ddc8ad6257fe165b4ff0ef5e6b Mon Sep 17 00:00:00 2001 >> From: Alex Kost >> 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.