unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
@ 2023-10-19  4:06 ` Liliana Marie Prikler
  2023-10-23  8:41   ` Andrew Tropin
  2023-10-19  4:10 ` [bug#66624] [PATCH emacs-team 09/15] gnu: emacs-geiser-guile: Process autoloads in-tree Liliana Marie Prikler
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  4:06 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* guix/build/emacs-build-system.scm (ensure-package-description)
(patch-el-files, make-autoloads): Operate on the current working directory,
either implicitly, or through (getcwd).
(enable-autoloads-compilation): Deleted variable, logic moved into
make-autoloads.
(%standard-phases): Adjust accordingly.
---
 guix/build/emacs-build-system.scm | 85 +++++++++++++------------------
 1 file changed, 34 insertions(+), 51 deletions(-)

diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index 3808b60445..aa083c6409 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -132,29 +132,25 @@ (define* (build #:key outputs inputs #:allow-other-keys)
     (parameterize ((%emacs emacs))
       (emacs-compile-directory (elpa-directory out)))))
 
-(define* (patch-el-files #:key outputs #:allow-other-keys)
-  "Substitute the absolute \"/bin/\" directory with the right location in the
-store in '.el' files."
-
-  (let* ((out (assoc-ref outputs "out"))
-         (elpa-name-ver (store-directory->elpa-name-version out))
-         (el-dir (string-append out %install-dir "/" elpa-name-ver))
-         (el-files (find-files (getcwd) "\\.el$")))
-    (define (substitute-program-names)
-      (substitute* el-files
-        (("\"/bin/([^.]\\S*)\"" _ cmd-name)
-         (let ((cmd (which cmd-name)))
-           (unless cmd
-             (error "patch-el-files: unable to locate " cmd-name))
-           (string-append "\"" cmd "\"")))))
-
-    (with-directory-excursion el-dir
-      ;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still
-      ;; ISO-8859-1-encoded.
-      (unless (false-if-exception (substitute-program-names))
-        (with-fluids ((%default-port-encoding "ISO-8859-1"))
-          (substitute-program-names))))
-    #t))
+(define* (patch-el-files #:key inputs outputs #:allow-other-keys)
+  "Substitute the absolute \"/bin/\" and \"/sbin\" directories with the right
+locations in the store in '.el' files."
+
+  (define substitute-program-names
+    (let ((el-files (find-files (getcwd) "\\.el$")))
+      (lambda ()
+        (substitute* el-files
+          (("\"/(s?bin/[^.]\\S*)\"" _ cmd)
+           (let ((cmd (search-input-file inputs cmd)))
+             (unless cmd
+               (error "patch-el-files: unable to locate " (basename cmd)))
+             (string-append "\"" cmd "\"")))))))
+
+  (unless (false-if-exception (substitute-program-names))
+    ;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still
+    ;; ISO-8859-1-encoded.
+    (with-fluids ((%default-port-encoding "ISO-8859-1"))
+      (substitute-program-names))))
 
 (define (find-root-library-file name)
   (let loop ((parts (string-split
@@ -224,10 +220,8 @@ (define* (ensure-package-description #:key outputs #:allow-other-keys)
       (emacs-batch-edit-file (string-append name ".el")
         %write-pkg-file-form)))
 
-  (let* ((out (assoc-ref outputs "out"))
-         (elpa-name-ver (store-directory->elpa-name-version out)))
-    (with-directory-excursion (elpa-directory out)
-      (and=> (find-root-library-file elpa-name-ver) write-pkg-file))))
+  (let ((name (store-directory->elpa-name-version (assoc-ref outputs "out"))))
+    (and=> (find-root-library-file name) write-pkg-file)))
 
 (define* (check #:key tests? (test-command '("make" "check"))
                 (parallel-tests? #t) #:allow-other-keys)
@@ -306,24 +300,15 @@ (define* (move-doc #:key outputs #:allow-other-keys)
                   info-files)))
     #t))
 
-(define* (make-autoloads #:key outputs inputs #:allow-other-keys)
+(define* (make-autoloads #:key outputs #:allow-other-keys)
   "Generate the autoloads file."
-  (let* ((emacs (search-input-file inputs "/bin/emacs"))
-         (out (assoc-ref outputs "out"))
-         (elpa-name-ver (store-directory->elpa-name-version out))
-         (elpa-name (package-name->name+version elpa-name-ver))
-         (el-dir (elpa-directory out)))
-    (parameterize ((%emacs emacs))
-      (emacs-generate-autoloads elpa-name el-dir))))
-
-(define* (enable-autoloads-compilation #:key outputs #:allow-other-keys)
-  "Remove the NO-BYTE-COMPILATION local variable embedded in the generated
-autoload files."
-  (let* ((out (assoc-ref outputs "out"))
-         (autoloads (find-files out "-autoloads.el$")))
-    (substitute* autoloads
-      ((";; no-byte-compile.*") ""))
-    #t))
+  (emacs-generate-autoloads
+   (package-name->name+version (store-directory->elpa-name-version
+                                (assoc-ref outputs "out")))
+   (getcwd))
+  ;; Ensure that autoloads can be byte-compiled.
+  (substitute* (find-files "." "-autoloads\\.el$")
+    ((";; no-byte-compile.*") "")))
 
 (define* (validate-compiled-autoloads #:key outputs #:allow-other-keys)
   "Verify whether the byte compiled autoloads load fine."
@@ -358,7 +343,11 @@ (define (elpa-directory store-dir)
 (define %standard-phases
   (modify-phases gnu:%standard-phases
     (replace 'unpack unpack)
+    (add-after 'unpack 'ensure-package-description
+      ensure-package-description)
     (add-after 'unpack 'expand-load-path expand-load-path)
+    (add-after 'unpack 'patch-el-files patch-el-files)
+    (add-after 'expand-load-path 'make-autoloads make-autoloads)
     (add-after 'expand-load-path 'add-install-to-native-load-path
       add-install-to-native-load-path)
     (delete 'bootstrap)
@@ -366,14 +355,8 @@ (define %standard-phases
     (delete 'build)
     (replace 'check check)
     (replace 'install install)
-    (add-after 'install 'make-autoloads make-autoloads)
-    (add-after 'make-autoloads 'enable-autoloads-compilation
-      enable-autoloads-compilation)
-    (add-after 'enable-autoloads-compilation 'patch-el-files patch-el-files)
-    (add-after 'patch-el-files 'ensure-package-description
-      ensure-package-description)
     ;; The .el files are byte compiled directly in the store.
-    (add-after 'ensure-package-description 'build build)
+    (add-after 'install 'build build)
     (add-after 'build 'validate-compiled-autoloads validate-compiled-autoloads)
     (add-after 'validate-compiled-autoloads 'move-doc move-doc)))
 
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 09/15] gnu: emacs-geiser-guile: Process autoloads in-tree.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
  2023-10-19  4:06 ` [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree Liliana Marie Prikler
@ 2023-10-19  4:10 ` Liliana Marie Prikler
  2023-10-19  4:14 ` [bug#66624] [PATCH emacs-team 02/15] gnu: skktools: Build autoloads before installing them Liliana Marie Prikler
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  4:10 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-geiser-guile)[#:phases]<patch-autoloads>:
Resolve "geiser-guile-autoloads.el" in the current working directory.
---
 gnu/packages/emacs-xyz.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index bb8c25f9b5..73abffb916 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -542,8 +542,7 @@ (define-public emacs-geiser-guile
                          (search-input-file inputs "bin/guile"))))))
           (add-after 'make-autoloads 'patch-autoloads
             (lambda _
-              (substitute* (string-append (elpa-directory #$output)
-                                          "/geiser-guile-autoloads.el")
+              (substitute* "geiser-guile-autoloads.el"
                 ;; Activating implementations fails when Geiser is not yet
                 ;; loaded, so let's defer that until it is.
                 (("\\(geiser-activate-implementation .*\\)" all)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 02/15] gnu: skktools: Build autoloads before installing them.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
  2023-10-19  4:06 ` [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree Liliana Marie Prikler
  2023-10-19  4:10 ` [bug#66624] [PATCH emacs-team 09/15] gnu: emacs-geiser-guile: Process autoloads in-tree Liliana Marie Prikler
@ 2023-10-19  4:14 ` Liliana Marie Prikler
  2023-10-19  4:29 ` [bug#66624] [PATCH emacs-team 03/15] gnu: translate-shell: " Liliana Marie Prikler
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  4:14 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/language.scm (skktools)[#:phases]: Move ‘make-autoloads’ after ‘unpack’.
---
 gnu/packages/language.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index faf3114b84..275b1da422 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -1003,15 +1003,15 @@ (define-public skktools
                                                 "convert2skk/skk2list")
                                           (find-files "filters" "\\.rb$"))))))
                   ;; Install and make autoloads for skk-xml.el.
+                  (add-after 'unpack 'make-autoloads
+                    (assoc-ref emacs:%standard-phases
+                               'make-autoloads))
                   (add-after 'install 'install-emacs-files
                     (assoc-ref emacs:%standard-phases
                                'install))
                   (add-after 'install-emacs-files 'compile-emacs-files
                     (assoc-ref emacs:%standard-phases
                                'build))
-                  (add-after 'compile-emacs-files 'make-autoloads
-                    (assoc-ref emacs:%standard-phases
-                               'make-autoloads))
                   (add-after 'install 'install-docs
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let ((doc (string-append (assoc-ref outputs "out")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 03/15] gnu: translate-shell: Build autoloads before installing them.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (2 preceding siblings ...)
  2023-10-19  4:14 ` [bug#66624] [PATCH emacs-team 02/15] gnu: skktools: Build autoloads before installing them Liliana Marie Prikler
@ 2023-10-19  4:29 ` Liliana Marie Prikler
  2023-10-19  4:30 ` [bug#66624] [PATCH emacs-team 04/15] gnu: translate-shell: Compile emacs bytecode Liliana Marie Prikler
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  4:29 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/dictionaries.scm (translate-shell)[#:phases]: Move
‘emacs-make-autoloads’ before ‘unpack’.  Drop  ‘emacs-autoload-compilation’.
---
 gnu/packages/dictionaries.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 06b5c4362c..19fe9b6f11 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -272,12 +272,10 @@ (define-public translate-shell
                                                 curl "/bin:"
                                                 fribidi "/bin:"
                                                 rlwrap "/bin")))))))
+         (add-after 'unpack 'emacs-make-autoloads
+           (assoc-ref emacs:%standard-phases 'make-autoloads))
          (add-after 'install 'emacs-install
            (assoc-ref emacs:%standard-phases 'install))
-         (add-after 'emacs-install 'emacs-make-autoloads
-           (assoc-ref emacs:%standard-phases 'make-autoloads))
-         (add-after 'emacs-make-autoloads 'emacs-autoloads-compilation
-           (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation)))
        #:make-flags (list (string-append "PREFIX=" %output)
                           "NETWORK_ACCESS=no test")
        #:imported-modules (,@%gnu-build-system-modules
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 04/15] gnu: translate-shell: Compile emacs bytecode.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (3 preceding siblings ...)
  2023-10-19  4:29 ` [bug#66624] [PATCH emacs-team 03/15] gnu: translate-shell: " Liliana Marie Prikler
@ 2023-10-19  4:30 ` Liliana Marie Prikler
  2023-10-19  4:53 ` [bug#66624] [PATCH emacs-team 05/15] gnu: emacs-mew: Adjust to changes in emacs-build-system Liliana Marie Prikler
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  4:30 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/dictionaries.scm (translate-shell)[#:phases]: Add ‘emacs-build’.
---
 gnu/packages/dictionaries.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 19fe9b6f11..9f493d91ad 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -276,6 +276,8 @@ (define-public translate-shell
            (assoc-ref emacs:%standard-phases 'make-autoloads))
          (add-after 'install 'emacs-install
            (assoc-ref emacs:%standard-phases 'install))
+         (add-after 'emacs-install 'emacs-build
+           (assoc-ref emacs:%standard-phases 'build)))
        #:make-flags (list (string-append "PREFIX=" %output)
                           "NETWORK_ACCESS=no test")
        #:imported-modules (,@%gnu-build-system-modules
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 05/15] gnu: emacs-mew: Adjust to changes in emacs-build-system.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (4 preceding siblings ...)
  2023-10-19  4:30 ` [bug#66624] [PATCH emacs-team 04/15] gnu: translate-shell: Compile emacs bytecode Liliana Marie Prikler
@ 2023-10-19  4:53 ` Liliana Marie Prikler
  2023-10-19  5:03 ` [bug#66624] [PATCH emacs-team 06/15] gnu: crm114: " Liliana Marie Prikler
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  4:53 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/mail.scm (emacs-mew)[arguments]: Only let-bind icon-dir.
<#:modules>: Add (guix build emacs-build-system).
<#:imported-modules>: Use %emacs-build-system-modules.
<#:configure-flags>: Set elispdir with emacs:elpa-directory.
<#:phases>: Move ‘generate-autoloads’ after ‘unpack’.
Generate the autoloads locally.
Also enable compilation.
---
 gnu/packages/mail.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index be458a2d92..84c7275ef6 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1165,17 +1165,17 @@ (define-public emacs-mew
            "0xazygwdc328m5l31rxjazq9giv2xrygp2p2q455lf3jhdxwq1km"))))
       (build-system gnu-build-system)
       (arguments
-       (let ((elisp-dir #~(string-append #$output "/share/emacs/site-lisp"))
-             (icon-dir  #~(string-append #$output "/share/mew")))
+       (let ((icon-dir  #~(string-append #$output "/share/mew")))
          (list
           #:modules '((guix build gnu-build-system)
                       (guix build utils)
+                      ((guix build emacs-build-system) #:prefix emacs:)
                       (guix build emacs-utils))
-          #:imported-modules `(,@%gnu-build-system-modules
-                               (guix build emacs-utils))
+          #:imported-modules %emacs-build-system-modules
           #:tests? #f
           #:configure-flags
-          #~(list (string-append "--with-elispdir=" #$elisp-dir)
+          #~(list (string-append "--with-elispdir="
+                                 (emacs:elpa-directory #$output))
                   (string-append "--with-etcdir=" #$icon-dir))
           #:phases
           #~(modify-phases %standard-phases
@@ -1186,9 +1186,15 @@ (define-public emacs-mew
                      `(progn
                        (add-to-list 'image-load-path 'mew-icon-directory)
                        ,#$icon-dir)))))
-              (add-after 'install 'generate-autoloads
+              (add-after 'unpack 'generate-autoloads
                 (lambda _
-                  (emacs-generate-autoloads "mew" #$elisp-dir)))))))
+                  (emacs-generate-autoloads "mew" "elisp")
+                  (substitute* "elisp/mew-autoloads.el"
+                    ((";; no-byte-compile.*") ""))
+                  ;; Add generated autoloads to Makefile, so they get compiled
+                  (substitute* "elisp/Makefile"
+                    (("OBJS =") "OBJS = mew-autoloads.elc")
+                    (("SRCS =") "SRCS = mew-autoloads.el"))))))))
       (native-inputs
        (list emacs))
       (propagated-inputs
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 06/15] gnu: crm114: Adjust to changes in emacs-build-system.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (5 preceding siblings ...)
  2023-10-19  4:53 ` [bug#66624] [PATCH emacs-team 05/15] gnu: emacs-mew: Adjust to changes in emacs-build-system Liliana Marie Prikler
@ 2023-10-19  5:03 ` Liliana Marie Prikler
  2023-10-19  5:09 ` [bug#66624] [PATCH emacs-team 07/15] gnu: guile-wisp: Build autoloads before installing them Liliana Marie Prikler
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:03 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/mail.scm (crm114)[#:phases]: Move ‘make-autoloads’ after
‘unpack’.  Delete ‘enable-autoloads-compilation’.  Adjust ordering of other
phases accordingly.
---
 gnu/packages/mail.scm | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 84c7275ef6..4fedce5d9c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -4736,14 +4736,12 @@ (define-public crm114
                (for-each (lambda (file)
                            (install-file file (string-append out "/bin")))
                          (list "mailfilter.crm" "mailreaver.crm" "mailtrainer.crm")))))
-         (add-after 'install 'install-emacs-mode
-           (assoc-ref emacs:%standard-phases 'install))
          ;; Run phases from the emacs build system.
-         (add-after 'install-emacs-mode 'make-autoloads
+         (add-after 'unpack 'make-autoloads
            (assoc-ref emacs:%standard-phases 'make-autoloads))
-         (add-after 'make-autoloads 'enable-autoloads-compilation
-           (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
-         (add-after 'enable-autoloads-compilation 'emacs-build
+         (add-after 'install 'install-emacs-mode
+           (assoc-ref emacs:%standard-phases 'install))
+         (add-after 'install-emacs-mode 'emacs-build
            (assoc-ref emacs:%standard-phases 'build))
          (add-after 'emacs-build 'validate-compiled-autoloads
            (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 07/15] gnu: guile-wisp: Build autoloads before installing them.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (6 preceding siblings ...)
  2023-10-19  5:03 ` [bug#66624] [PATCH emacs-team 06/15] gnu: crm114: " Liliana Marie Prikler
@ 2023-10-19  5:09 ` Liliana Marie Prikler
  2023-10-19  5:16 ` [bug#66624] [PATCH emacs-team 08/15] gnu: uim: Keep Emacs files in subdirectory Liliana Marie Prikler
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:09 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/guile-xyz.scm (guile-wisp)[#:phases]: Move ‘make-autoloads’
after ‘unpack’.
---
 gnu/packages/guile-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 0dbab6d991..078ba5e641 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2179,12 +2179,12 @@ (define-public guile-wisp
                              (invoke "guild" "compile" "-L" module-dir
                                      file "-o" go)))
                          (find-files module-dir "\\.scm$")))))
+         (add-after 'unpack 'make-autoloads
+           (assoc-ref emacs:%standard-phases 'make-autoloads))
          (add-after 'install 'install-emacs-files
            (assoc-ref emacs:%standard-phases 'install))
          (add-after 'install-emacs-files 'compile-emacs-files
-           (assoc-ref emacs:%standard-phases 'build))
-         (add-after 'compile-emacs-files 'make-autoloads
-           (assoc-ref emacs:%standard-phases 'make-autoloads)))))
+           (assoc-ref emacs:%standard-phases 'build)))))
     (home-page "https://www.draketo.de/english/wisp")
     (inputs
      (list guile-3.0))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 08/15] gnu: uim: Keep Emacs files in subdirectory.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (7 preceding siblings ...)
  2023-10-19  5:09 ` [bug#66624] [PATCH emacs-team 07/15] gnu: guile-wisp: Build autoloads before installing them Liliana Marie Prikler
@ 2023-10-19  5:16 ` Liliana Marie Prikler
  2023-10-19  5:20 ` [bug#66624] [PATCH emacs-team 10/15] gnu: emacs-geiser-gauche: Process autoloads in-tree Liliana Marie Prikler
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:16 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/xorg.scm (uim)[arguments]<#:configure-flags>: Drop
“--with-lispdir”.
<#:phases>: Drop ‘fix-install-path’.  Adjust ‘make-autoloads’ accordingly.
---
 gnu/packages/xorg.scm | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 66ba88f773..4fefb6f123 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6298,7 +6298,6 @@ (define-public uim
                            (guix build emacs-utils))
        #:configure-flags
        (list "--with-anthy-utf8"
-             (string-append "--with-lispdir=" %output "/share/emacs")
              ;; Set proper runpath
              (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
              "CFLAGS=-O2 -g -fcommon")
@@ -6312,21 +6311,11 @@ (define-public uim
                  ("uim-el-agent" (string-append out "/bin/uim-el-agent"))
                  ("uim-el-helper-agent" (string-append out "/bin/uim-el-helper-agent"))))
              #t))
-         ;; Fix installation path by renaming share/emacs/uim-el to
-         ;; share/emacs/site-lisp
-         (add-after 'install 'fix-install-path
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((share-emacs (string-append (assoc-ref outputs "out")
-                                               "/share/emacs")))
-               (rename-file (string-append share-emacs "/uim-el")
-                            (string-append share-emacs "/site-lisp")))
-             #t))
-         ;; Generate emacs autoloads for uim.el
          (add-after 'fix-install-path 'make-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
              (emacs-generate-autoloads
               ,name (string-append (assoc-ref outputs "out")
-                                   "/share/emacs/site-lisp"))
+                                   "/share/emacs/site-lisp/uim-el"))
              #t)))))
     (home-page "https://github.com/uim/uim")
     (synopsis "Multilingual input method framework")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 10/15] gnu: emacs-geiser-gauche: Process autoloads in-tree.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (8 preceding siblings ...)
  2023-10-19  5:16 ` [bug#66624] [PATCH emacs-team 08/15] gnu: uim: Keep Emacs files in subdirectory Liliana Marie Prikler
@ 2023-10-19  5:20 ` Liliana Marie Prikler
  2023-10-19  5:20 ` [bug#66624] [PATCH emacs-team 11/15] gnu: emacs-geiser-racket: " Liliana Marie Prikler
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:20 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-geiser-gauche)[#:phases]<patch-autoloads>:
Resolve "geiser-gauche-autoloads.el" in the current working directory.
---
 gnu/packages/emacs-xyz.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 73abffb916..5d51dbae42 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -611,8 +611,7 @@ (define-public emacs-geiser-gauche
                    (search-input-file inputs "bin/gosh")))))
             (add-after 'make-autoloads 'patch-autoloads
               (lambda _
-                (substitute* (string-append (elpa-directory #$output)
-                                            "/geiser-gauche-autoloads.el")
+                (substitute* "geiser-gauche-autoloads.el"
                   ;; Activating implementations fails when Geiser is not yet
                   ;; loaded, so let's defer that until it is.
                   (("\\(geiser-activate-implementation .*\\)" all)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 11/15] gnu: emacs-geiser-racket: Process autoloads in-tree.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (9 preceding siblings ...)
  2023-10-19  5:20 ` [bug#66624] [PATCH emacs-team 10/15] gnu: emacs-geiser-gauche: Process autoloads in-tree Liliana Marie Prikler
@ 2023-10-19  5:20 ` Liliana Marie Prikler
  2023-10-19  5:21 ` [bug#66624] [PATCH emacs-team 12/15] gnu: emacs-geiser-chez: " Liliana Marie Prikler
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:20 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-geiser-racket)[#:phases]<patch-autoloads>:
Resolve "geiser-racket-autoloads.el" in the current working directory.
---
 gnu/packages/emacs-xyz.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 5d51dbae42..08367ed411 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -656,8 +656,7 @@ (define-public emacs-geiser-racket
                          (search-input-file inputs "bin/racket"))))))
           (add-after 'make-autoloads 'patch-autoloads
             (lambda _
-              (substitute* (string-append (elpa-directory #$output)
-                                          "/geiser-racket-autoloads.el")
+              (substitute* "geiser-racket-autoloads.el"
                 ;; Activating implementations fails when Geiser is not yet
                 ;; loaded, so let's defer that until it is.
                 (("\\(geiser-activate-implementation .*\\)" all)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 12/15] gnu: emacs-geiser-chez: Process autoloads in-tree.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (10 preceding siblings ...)
  2023-10-19  5:20 ` [bug#66624] [PATCH emacs-team 11/15] gnu: emacs-geiser-racket: " Liliana Marie Prikler
@ 2023-10-19  5:21 ` Liliana Marie Prikler
  2023-10-19  5:28 ` [bug#66624] [PATCH emacs-team 13/15] gnu: emacs-libgit: Adjust to changes in emacs-build-system Liliana Marie Prikler
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:21 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-geiser-chez)[#:phases]<patch-autoloads>:
Resolve "geiser-chez-autoloads.el" in the current working directory.
---
 gnu/packages/emacs-xyz.scm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 08367ed411..fc5bc3a7d4 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -694,9 +694,7 @@ (define-public emacs-geiser-chez
        (modify-phases %standard-phases
          (add-after 'make-autoloads 'patch-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* (string-append
-                           (elpa-directory (assoc-ref outputs "out"))
-                           "/geiser-chez-autoloads.el")
+             (substitute* "geiser-chez-autoloads.el"
                ;; Activating implementations fails when Geiser is not yet
                ;; loaded, so let's defer that until it is.
                ;; See <https://gitlab.com/emacs-geiser/chez/-/issues/7>.
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 13/15] gnu: emacs-libgit: Adjust to changes in emacs-build-system.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (11 preceding siblings ...)
  2023-10-19  5:21 ` [bug#66624] [PATCH emacs-team 12/15] gnu: emacs-geiser-chez: " Liliana Marie Prikler
@ 2023-10-19  5:28 ` Liliana Marie Prikler
  2023-10-19  5:31 ` [bug#66624] [PATCH emacs-team 14/15] gnu: emacs-eweouz: Build autoloads before installing them Liliana Marie Prikler
  2023-10-19  5:38 ` [bug#66624] [PATCH emacs-team 15/15] gnu: emacs-pdf-tools: " Liliana Marie Prikler
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:28 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-libgit)[#:phases]: Move ‘make-autoloads’
after ‘unpack’.  Drop ‘enable-autoloads-compilation’.  Move ‘emacs-build’
after ‘install’.
---
 gnu/packages/emacs-xyz.scm | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index fc5bc3a7d4..4a26cd0df6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1453,13 +1453,11 @@ (define-public emacs-libgit
                                            emacs:%default-include)))))
             (add-after 'unpack 'emacs-add-install-to-native-load-path
               (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
-            (add-after 'install 'make-autoloads
+            (add-after 'unpack 'make-autoloads
               (assoc-ref emacs:%standard-phases 'make-autoloads))
-            (add-after 'make-autoloads 'enable-autoloads-compilation
-              (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
-            (add-after 'enable-autoloads-compilation 'patch-el-files
+            (add-after 'unpack 'patch-el-files
               (assoc-ref emacs:%standard-phases 'patch-el-files))
-            (add-after 'patch-el-files 'emacs-build
+            (add-after 'install 'emacs-build
               (assoc-ref emacs:%standard-phases 'build))
             (add-after 'emacs-build 'validate-compiled-autoloads
               (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 14/15] gnu: emacs-eweouz: Build autoloads before installing them.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (12 preceding siblings ...)
  2023-10-19  5:28 ` [bug#66624] [PATCH emacs-team 13/15] gnu: emacs-libgit: Adjust to changes in emacs-build-system Liliana Marie Prikler
@ 2023-10-19  5:31 ` Liliana Marie Prikler
  2023-10-19  5:38 ` [bug#66624] [PATCH emacs-team 15/15] gnu: emacs-pdf-tools: " Liliana Marie Prikler
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:31 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-eweouz)[#:phases]: Move
‘emacs-make-autoloads’ after ‘enter-lisp-dir’.
---
 gnu/packages/emacs-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 4a26cd0df6..113d6ce2bf 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -3705,6 +3705,8 @@ (define-public emacs-eweouz
               (emacs-substitute-sexps "eweouz.el"
                 ("eweouz-helper-dirs"
                  `(list ,(string-append #$output "/libexec/eweouz"))))))
+          (add-after 'enter-lisp-dir 'emacs-make-autoloads
+            (assoc-ref emacs:%standard-phases 'make-autoloads))
           (add-after 'emacs-patch-variables 'emacs-expand-load-path
             (assoc-ref emacs:%standard-phases 'expand-load-path))
           (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
@@ -3712,9 +3714,7 @@ (define-public emacs-eweouz
           (add-after 'emacs-add-install-to-native-load-path 'emacs-install
             (assoc-ref emacs:%standard-phases 'install))
           (add-after 'emacs-install 'emacs-build
-            (assoc-ref emacs:%standard-phases 'build))
-          (add-after 'emacs-install 'emacs-make-autoloads
-            (assoc-ref emacs:%standard-phases 'make-autoloads)))))
+            (assoc-ref emacs:%standard-phases 'build)))))
     (native-inputs
      (list autoconf
            automake
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 15/15] gnu: emacs-pdf-tools: Build autoloads before installing them.
  2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
                   ` (13 preceding siblings ...)
  2023-10-19  5:31 ` [bug#66624] [PATCH emacs-team 14/15] gnu: emacs-eweouz: Build autoloads before installing them Liliana Marie Prikler
@ 2023-10-19  5:38 ` Liliana Marie Prikler
  14 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:38 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-pdf-tools)[#:phases]: Move
‘emacs-make-autoloads’ after ‘enter-lisp-dir’.
---
 gnu/packages/emacs-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 113d6ce2bf..f540d66f2a 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5228,6 +5228,8 @@ (define-public emacs-pdf-tools
              ;; upgrading" that pdf-tools tries to perform.
              (emacs-substitute-variables "pdf-tools.el"
                ("pdf-tools-handle-upgrades" '()))))
+         (add-after 'enter-lisp-dir 'emacs-make-autoloads
+           (assoc-ref emacs:%standard-phases 'make-autoloads))
          (add-after 'emacs-patch-variables 'emacs-expand-load-path
            (assoc-ref emacs:%standard-phases 'expand-load-path))
          (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
@@ -5235,9 +5237,7 @@ (define-public emacs-pdf-tools
          (add-after 'emacs-add-install-to-native-load-path 'emacs-install
            (assoc-ref emacs:%standard-phases 'install))
          (add-after 'emacs-install 'emacs-build
-           (assoc-ref emacs:%standard-phases 'build))
-         (add-after 'emacs-install 'emacs-make-autoloads
-           (assoc-ref emacs:%standard-phases 'make-autoloads)))))
+           (assoc-ref emacs:%standard-phases 'build)))))
     (native-inputs
      (list autoconf automake emacs-minimal pkg-config))
     (inputs
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system
@ 2023-10-19  5:42 Liliana Marie Prikler
  2023-10-19  4:06 ` [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree Liliana Marie Prikler
                   ` (14 more replies)
  0 siblings, 15 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-10-19  5:42 UTC (permalink / raw)
  To: 66624; +Cc: andrew, cox.katherine.e+guix, liliana.prikler

Hi Guix,

this has been on my back-burner for some while, but since we failed to
do Emacs build system changes during the 29 update, let's keep up the
struggle and refactor what we have.

This series makes it so that the build tree reflects what is actually
going to be installed.  I've updated most non-emacs-build-system
packages to follow suit, but a few very outdated ones are also in the
mix.  I didn't touch those; whoever needs them will have to take a look.

Anyhow, with this series the only strange thing about emacs-build-system
is the check → install → build cycle rather than the reverse.  I don't
think it'll be possible to move build before install, though, so that's
that.

Cheers

Liliana Marie Prikler (15):
  guix: emacs-build-system: Process package source in build tree.
  gnu: skktools: Build autoloads before installing them.
  gnu: translate-shell: Build autoloads before installing them.
  gnu: translate-shell: Compile emacs bytecode.
  gnu: emacs-mew: Adjust to changes in emacs-build-system.
  gnu: crm114: Adjust to changes in emacs-build-system.
  gnu: guile-wisp: Build autoloads before installing them.
  gnu: uim: Keep Emacs files in subdirectory.
  gnu: emacs-geiser-guile: Process autoloads in-tree.
  gnu: emacs-geiser-gauche: Process autoloads in-tree.
  gnu: emacs-geiser-racket: Process autoloads in-tree.
  gnu: emacs-geiser-chez: Process autoloads in-tree.
  gnu: emacs-libgit: Adjust to changes in emacs-build-system.
  gnu: emacs-eweouz: Build autoloads before installing them.
  gnu: emacs-pdf-tools: Build autoloads before installing them.

 gnu/packages/dictionaries.scm     |  8 +--
 gnu/packages/emacs-xyz.scm        | 33 +++++-------
 gnu/packages/guile-xyz.scm        |  6 +--
 gnu/packages/language.scm         |  6 +--
 gnu/packages/mail.scm             | 30 ++++++-----
 gnu/packages/xorg.scm             | 13 +----
 guix/build/emacs-build-system.scm | 85 +++++++++++++------------------
 7 files changed, 75 insertions(+), 106 deletions(-)


base-commit: 8d6b3dd0b863ccada887da8cd347727dd04cb456
-- 
2.41.0





^ permalink raw reply	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree.
  2023-10-19  4:06 ` [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree Liliana Marie Prikler
@ 2023-10-23  8:41   ` Andrew Tropin
  2023-11-01 19:54     ` Liliana Marie Prikler
  0 siblings, 1 reply; 19+ messages in thread
From: Andrew Tropin @ 2023-10-23  8:41 UTC (permalink / raw)
  To: Liliana Marie Prikler, 66624; +Cc: cox.katherine.e+guix, liliana.prikler

[-- Attachment #1: Type: text/plain, Size: 6794 bytes --]

On 2023-10-19 06:06, Liliana Marie Prikler wrote:

> * guix/build/emacs-build-system.scm (ensure-package-description)
> (patch-el-files, make-autoloads): Operate on the current working directory,
> either implicitly, or through (getcwd).

Sounds reasonable and seems to simplify build phases.

> (enable-autoloads-compilation): Deleted variable, logic moved into
> make-autoloads.
> (%standard-phases): Adjust accordingly.
> ---
>  guix/build/emacs-build-system.scm | 85 +++++++++++++------------------
>  1 file changed, 34 insertions(+), 51 deletions(-)
>
> diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
> index 3808b60445..aa083c6409 100644
> --- a/guix/build/emacs-build-system.scm
> +++ b/guix/build/emacs-build-system.scm
> @@ -132,29 +132,25 @@ (define* (build #:key outputs inputs #:allow-other-keys)
>      (parameterize ((%emacs emacs))
>        (emacs-compile-directory (elpa-directory out)))))
>  
> -(define* (patch-el-files #:key outputs #:allow-other-keys)
> -  "Substitute the absolute \"/bin/\" directory with the right location in the
> -store in '.el' files."
> -
> -  (let* ((out (assoc-ref outputs "out"))
> -         (elpa-name-ver (store-directory->elpa-name-version out))
> -         (el-dir (string-append out %install-dir "/" elpa-name-ver))
> -         (el-files (find-files (getcwd) "\\.el$")))
> -    (define (substitute-program-names)
> -      (substitute* el-files
> -        (("\"/bin/([^.]\\S*)\"" _ cmd-name)
> -         (let ((cmd (which cmd-name)))
> -           (unless cmd
> -             (error "patch-el-files: unable to locate " cmd-name))
> -           (string-append "\"" cmd "\"")))))
> -
> -    (with-directory-excursion el-dir
> -      ;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still
> -      ;; ISO-8859-1-encoded.
> -      (unless (false-if-exception (substitute-program-names))
> -        (with-fluids ((%default-port-encoding "ISO-8859-1"))
> -          (substitute-program-names))))
> -    #t))
> +(define* (patch-el-files #:key inputs outputs #:allow-other-keys)
> +  "Substitute the absolute \"/bin/\" and \"/sbin\" directories with the right
> +locations in the store in '.el' files."
> +
> +  (define substitute-program-names
> +    (let ((el-files (find-files (getcwd) "\\.el$")))
> +      (lambda ()
> +        (substitute* el-files
> +          (("\"/(s?bin/[^.]\\S*)\"" _ cmd)
> +           (let ((cmd (search-input-file inputs cmd)))
> +             (unless cmd
> +               (error "patch-el-files: unable to locate " (basename cmd)))
> +             (string-append "\"" cmd "\"")))))))
> +
> +  (unless (false-if-exception (substitute-program-names))
> +    ;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still
> +    ;; ISO-8859-1-encoded.
> +    (with-fluids ((%default-port-encoding "ISO-8859-1"))
> +      (substitute-program-names))))
>  
>  (define (find-root-library-file name)
>    (let loop ((parts (string-split
> @@ -224,10 +220,8 @@ (define* (ensure-package-description #:key outputs #:allow-other-keys)
>        (emacs-batch-edit-file (string-append name ".el")
>          %write-pkg-file-form)))
>  
> -  (let* ((out (assoc-ref outputs "out"))
> -         (elpa-name-ver (store-directory->elpa-name-version out)))
> -    (with-directory-excursion (elpa-directory out)
> -      (and=> (find-root-library-file elpa-name-ver) write-pkg-file))))
> +  (let ((name (store-directory->elpa-name-version (assoc-ref outputs "out"))))
> +    (and=> (find-root-library-file name) write-pkg-file)))
>  
>  (define* (check #:key tests? (test-command '("make" "check"))
>                  (parallel-tests? #t) #:allow-other-keys)
> @@ -306,24 +300,15 @@ (define* (move-doc #:key outputs #:allow-other-keys)
>                    info-files)))
>      #t))
>  
> -(define* (make-autoloads #:key outputs inputs #:allow-other-keys)
> +(define* (make-autoloads #:key outputs #:allow-other-keys)
>    "Generate the autoloads file."
> -  (let* ((emacs (search-input-file inputs "/bin/emacs"))
> -         (out (assoc-ref outputs "out"))
> -         (elpa-name-ver (store-directory->elpa-name-version out))
> -         (elpa-name (package-name->name+version elpa-name-ver))
> -         (el-dir (elpa-directory out)))
> -    (parameterize ((%emacs emacs))
> -      (emacs-generate-autoloads elpa-name el-dir))))
> -
> -(define* (enable-autoloads-compilation #:key outputs #:allow-other-keys)
> -  "Remove the NO-BYTE-COMPILATION local variable embedded in the generated
> -autoload files."
> -  (let* ((out (assoc-ref outputs "out"))
> -         (autoloads (find-files out "-autoloads.el$")))
> -    (substitute* autoloads
> -      ((";; no-byte-compile.*") ""))
> -    #t))
> +  (emacs-generate-autoloads
> +   (package-name->name+version (store-directory->elpa-name-version
> +                                (assoc-ref outputs "out")))
> +   (getcwd))
> +  ;; Ensure that autoloads can be byte-compiled.
> +  (substitute* (find-files "." "-autoloads\\.el$")
> +    ((";; no-byte-compile.*") "")))
>  
>  (define* (validate-compiled-autoloads #:key outputs #:allow-other-keys)
>    "Verify whether the byte compiled autoloads load fine."
> @@ -358,7 +343,11 @@ (define (elpa-directory store-dir)
>  (define %standard-phases
>    (modify-phases gnu:%standard-phases
>      (replace 'unpack unpack)
> +    (add-after 'unpack 'ensure-package-description
> +      ensure-package-description)
>      (add-after 'unpack 'expand-load-path expand-load-path)
> +    (add-after 'unpack 'patch-el-files patch-el-files)
> +    (add-after 'expand-load-path 'make-autoloads make-autoloads)
>      (add-after 'expand-load-path 'add-install-to-native-load-path
>        add-install-to-native-load-path)
>      (delete 'bootstrap)
> @@ -366,14 +355,8 @@ (define %standard-phases
>      (delete 'build)
>      (replace 'check check)
>      (replace 'install install)
> -    (add-after 'install 'make-autoloads make-autoloads)
> -    (add-after 'make-autoloads 'enable-autoloads-compilation
> -      enable-autoloads-compilation)
> -    (add-after 'enable-autoloads-compilation 'patch-el-files patch-el-files)
> -    (add-after 'patch-el-files 'ensure-package-description
> -      ensure-package-description)
>      ;; The .el files are byte compiled directly in the store.
> -    (add-after 'ensure-package-description 'build build)
> +    (add-after 'install 'build build)
>      (add-after 'build 'validate-compiled-autoloads validate-compiled-autoloads)
>      (add-after 'validate-compiled-autoloads 'move-doc move-doc)))

I didn't spot any obvious issues with the patch series.  Thank you for working on it!

-- 
Best regards,
Andrew Tropin

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree.
  2023-10-23  8:41   ` Andrew Tropin
@ 2023-11-01 19:54     ` Liliana Marie Prikler
  2023-11-02  9:32       ` bug#66624: " Liliana Marie Prikler
  0 siblings, 1 reply; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-11-01 19:54 UTC (permalink / raw)
  To: Andrew Tropin, 66624; +Cc: cox.katherine.e+guix

Am Montag, dem 23.10.2023 um 12:41 +0400 schrieb Andrew Tropin:
> On 2023-10-19 06:06, Liliana Marie Prikler wrote:
> 
> > * guix/build/emacs-build-system.scm (ensure-package-description)
> > (patch-el-files, make-autoloads): Operate on the current working
> > directory either implicitly, or through (getcwd).
> 
> Sounds reasonable and seems to simplify build phases.
> 
> > [...]
> 
> I didn't spot any obvious issues with the patch series.  Thank you
> for working on it!
Thanks for checking.

Pushed to emacs-team now.

Cheers





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#66624: [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree.
  2023-11-01 19:54     ` Liliana Marie Prikler
@ 2023-11-02  9:32       ` Liliana Marie Prikler
  0 siblings, 0 replies; 19+ messages in thread
From: Liliana Marie Prikler @ 2023-11-02  9:32 UTC (permalink / raw)
  To: Andrew Tropin, 66624-done; +Cc: cox.katherine.e+guix

Am Mittwoch, dem 01.11.2023 um 20:54 +0100 schrieb Liliana Marie
Prikler:
> Am Montag, dem 23.10.2023 um 12:41 +0400 schrieb Andrew Tropin:
> > On 2023-10-19 06:06, Liliana Marie Prikler wrote:
> > 
> > > * guix/build/emacs-build-system.scm (ensure-package-description)
> > > (patch-el-files, make-autoloads): Operate on the current working
> > > directory either implicitly, or through (getcwd).
> > 
> > Sounds reasonable and seems to simplify build phases.
> > 
> > > [...]
> > 
> > I didn't spot any obvious issues with the patch series.  Thank you
> > for working on it!
> Thanks for checking.
> 
> Pushed to emacs-team now.
> 
> Cheers
Forgot to mark as done.




^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2023-11-02  9:32 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-19  5:42 [bug#66624] [PATCH emacs-team 00/15] Start reworking emacs-build-system Liliana Marie Prikler
2023-10-19  4:06 ` [bug#66624] [PATCH emacs-team 01/15] guix: emacs-build-system: Process package source in build tree Liliana Marie Prikler
2023-10-23  8:41   ` Andrew Tropin
2023-11-01 19:54     ` Liliana Marie Prikler
2023-11-02  9:32       ` bug#66624: " Liliana Marie Prikler
2023-10-19  4:10 ` [bug#66624] [PATCH emacs-team 09/15] gnu: emacs-geiser-guile: Process autoloads in-tree Liliana Marie Prikler
2023-10-19  4:14 ` [bug#66624] [PATCH emacs-team 02/15] gnu: skktools: Build autoloads before installing them Liliana Marie Prikler
2023-10-19  4:29 ` [bug#66624] [PATCH emacs-team 03/15] gnu: translate-shell: " Liliana Marie Prikler
2023-10-19  4:30 ` [bug#66624] [PATCH emacs-team 04/15] gnu: translate-shell: Compile emacs bytecode Liliana Marie Prikler
2023-10-19  4:53 ` [bug#66624] [PATCH emacs-team 05/15] gnu: emacs-mew: Adjust to changes in emacs-build-system Liliana Marie Prikler
2023-10-19  5:03 ` [bug#66624] [PATCH emacs-team 06/15] gnu: crm114: " Liliana Marie Prikler
2023-10-19  5:09 ` [bug#66624] [PATCH emacs-team 07/15] gnu: guile-wisp: Build autoloads before installing them Liliana Marie Prikler
2023-10-19  5:16 ` [bug#66624] [PATCH emacs-team 08/15] gnu: uim: Keep Emacs files in subdirectory Liliana Marie Prikler
2023-10-19  5:20 ` [bug#66624] [PATCH emacs-team 10/15] gnu: emacs-geiser-gauche: Process autoloads in-tree Liliana Marie Prikler
2023-10-19  5:20 ` [bug#66624] [PATCH emacs-team 11/15] gnu: emacs-geiser-racket: " Liliana Marie Prikler
2023-10-19  5:21 ` [bug#66624] [PATCH emacs-team 12/15] gnu: emacs-geiser-chez: " Liliana Marie Prikler
2023-10-19  5:28 ` [bug#66624] [PATCH emacs-team 13/15] gnu: emacs-libgit: Adjust to changes in emacs-build-system Liliana Marie Prikler
2023-10-19  5:31 ` [bug#66624] [PATCH emacs-team 14/15] gnu: emacs-eweouz: Build autoloads before installing them Liliana Marie Prikler
2023-10-19  5:38 ` [bug#66624] [PATCH emacs-team 15/15] gnu: emacs-pdf-tools: " Liliana Marie Prikler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).