unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#57086] [PATCH 1/6] gnu: Parameterize libgccjit.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
  2022-08-05  3:29   ` [bug#57086] [PATCH v3 1/7] gnu: Parameterize libgccjit Liliana Marie Prikler
@ 2022-08-05  3:29   ` Liliana Marie Prikler
  2022-08-05 18:27   ` [bug#57086] [PATCH 2/6] gnu: libgccjit: Build with bootstrapped gcc Liliana Marie Prikler
                     ` (12 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05  3:29 UTC (permalink / raw)
  To: 57086

* gnu/packages/gcc.scm (make-libgccjit): New variable.
(libgccjit): Define in terms of make-libgccjit.
---
 gnu/packages/gcc.scm | 38 +++++++++++++++++++++-----------------
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4c496e31b2..66f0766646 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -968,31 +968,33 @@ (define-public gdc-11
    (custom-gcc gcc-11 "gdc" '("d")
                %generic-search-paths)))
 
-(define-public libgccjit
+(define-public (make-libgccjit gcc)
   (package
-    (inherit gcc-9)
+    (inherit gcc)
     (name "libgccjit")
     (outputs (delete "lib" (package-outputs gcc)))
     (properties (alist-delete 'hidden? (package-properties gcc)))
     (arguments
-     (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system)
-                                                (guix build utils)
-                                                (ice-9 regex)
-                                                (srfi srfi-1)
-                                                (srfi srfi-26))
-                                     ,@(package-arguments gcc))
+     (substitute-keyword-arguments (package-arguments gcc)
+       ((#:modules _ '())
+        '((guix build gnu-build-system)
+          (guix build utils)
+          (ice-9 regex)
+          (srfi srfi-1)
+          (srfi srfi-26)))
        ((#:configure-flags flags)
-        `(append `("--enable-host-shared"
-                   ,(string-append "--enable-languages=jit"))
+        #~(cons* "--enable-host-shared"
+                 "--enable-languages=jit"
                  (remove (cut string-match "--enable-languages.*" <>)
-                         ,flags)))
+                         #$flags)))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'install 'remove-broken-or-conflicting-files
-             (lambda* (#:key outputs #:allow-other-keys)
-               (for-each delete-file
-                         (find-files (string-append (assoc-ref outputs "out") "/bin")
-                                     ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
+        #~(modify-phases #$phases
+            (add-after 'install 'remove-broken-or-conflicting-files
+              (lambda* (#:key outputs #:allow-other-keys)
+                (for-each delete-file
+                          (find-files
+                           (string-append (assoc-ref outputs "out") "/bin")
+                           ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
     (synopsis "GCC library generating machine code on-the-fly at runtime")
     (description
      "This package is part of the GNU Compiler Collection and provides an
@@ -1003,6 +1005,8 @@ (define-public libgccjit
 compilers.  The just-in-time (jit) part of the name is now something of a
 misnomer.")))
 
+(define-public libgccjit (make-libgccjit gcc-9))
+
 (define (make-gccgo gcc)
   "Return a gccgo package based on GCC."
   (let ((gccgo (custom-gcc gcc "gccgo" '("go") %generic-search-paths)))
-- 
2.37.0





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

* [bug#57086] [PATCH v3 1/7] gnu: Parameterize libgccjit.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
@ 2022-08-05  3:29   ` Liliana Marie Prikler
  2022-08-05  3:29   ` [bug#57086] [PATCH 1/6] " Liliana Marie Prikler
                     ` (13 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05  3:29 UTC (permalink / raw)
  To: 57086

* gnu/packages/gcc.scm (make-libgccjit): New variable.
(libgccjit): Define in terms of make-libgccjit.
---
 gnu/packages/gcc.scm | 38 +++++++++++++++++++++-----------------
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4c496e31b2..66f0766646 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -968,31 +968,33 @@ (define-public gdc-11
    (custom-gcc gcc-11 "gdc" '("d")
                %generic-search-paths)))
 
-(define-public libgccjit
+(define-public (make-libgccjit gcc)
   (package
-    (inherit gcc-9)
+    (inherit gcc)
     (name "libgccjit")
     (outputs (delete "lib" (package-outputs gcc)))
     (properties (alist-delete 'hidden? (package-properties gcc)))
     (arguments
-     (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system)
-                                                (guix build utils)
-                                                (ice-9 regex)
-                                                (srfi srfi-1)
-                                                (srfi srfi-26))
-                                     ,@(package-arguments gcc))
+     (substitute-keyword-arguments (package-arguments gcc)
+       ((#:modules _ '())
+        '((guix build gnu-build-system)
+          (guix build utils)
+          (ice-9 regex)
+          (srfi srfi-1)
+          (srfi srfi-26)))
        ((#:configure-flags flags)
-        `(append `("--enable-host-shared"
-                   ,(string-append "--enable-languages=jit"))
+        #~(cons* "--enable-host-shared"
+                 "--enable-languages=jit"
                  (remove (cut string-match "--enable-languages.*" <>)
-                         ,flags)))
+                         #$flags)))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'install 'remove-broken-or-conflicting-files
-             (lambda* (#:key outputs #:allow-other-keys)
-               (for-each delete-file
-                         (find-files (string-append (assoc-ref outputs "out") "/bin")
-                                     ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
+        #~(modify-phases #$phases
+            (add-after 'install 'remove-broken-or-conflicting-files
+              (lambda* (#:key outputs #:allow-other-keys)
+                (for-each delete-file
+                          (find-files
+                           (string-append (assoc-ref outputs "out") "/bin")
+                           ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
     (synopsis "GCC library generating machine code on-the-fly at runtime")
     (description
      "This package is part of the GNU Compiler Collection and provides an
@@ -1003,6 +1005,8 @@ (define-public libgccjit
 compilers.  The just-in-time (jit) part of the name is now something of a
 misnomer.")))
 
+(define-public libgccjit (make-libgccjit gcc-9))
+
 (define (make-gccgo gcc)
   "Return a gccgo package based on GCC."
   (let ((gccgo (custom-gcc gcc "gccgo" '("go") %generic-search-paths)))
-- 
2.37.2





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

* [bug#57086] [PATCH 2/6] gnu: libgccjit: Build with bootstrapped gcc.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
  2022-08-05  3:29   ` [bug#57086] [PATCH v3 1/7] gnu: Parameterize libgccjit Liliana Marie Prikler
  2022-08-05  3:29   ` [bug#57086] [PATCH 1/6] " Liliana Marie Prikler
@ 2022-08-05 18:27   ` Liliana Marie Prikler
  2022-08-05 18:27   ` [bug#57086] [PATCH v3 2/7] " Liliana Marie Prikler
                     ` (11 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05 18:27 UTC (permalink / raw)
  To: 57086

* gnu/packages/gcc.scm (make-libgccjit)[#:configure-flags]: Add
“--disable-bootstrap”, “--disable-libatomic”, “--disable-libgomp”,
“--disable-libquadmath”, “--disable-libssp”, and “--enable-checking=release”.
[inputs]: Remove libstdc++.
[native-inputs]: Add gcc.
---
 gnu/packages/gcc.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 66f0766646..4f7076d977 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -983,7 +983,13 @@ (define-public (make-libgccjit gcc)
           (srfi srfi-1)
           (srfi srfi-26)))
        ((#:configure-flags flags)
-        #~(cons* "--enable-host-shared"
+        #~(cons* "--disable-bootstrap"
+                 "--disable-libatomic"
+                 "--disable-libgomp"
+                 "--disable-libquadmath"
+                 "--disable-libssp"
+                 "--enable-host-shared"
+                 "--enable-checking=release"
                  "--enable-languages=jit"
                  (remove (cut string-match "--enable-languages.*" <>)
                          #$flags)))
@@ -995,6 +1001,10 @@ (define-public (make-libgccjit gcc)
                           (find-files
                            (string-append (assoc-ref outputs "out") "/bin")
                            ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
+    (inputs (modify-inputs (package-inputs gcc)
+              (delete "libstdc++")))
+    (native-inputs (modify-inputs (package-native-inputs gcc)
+                     (prepend gcc)))
     (synopsis "GCC library generating machine code on-the-fly at runtime")
     (description
      "This package is part of the GNU Compiler Collection and provides an
-- 
2.37.0





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

* [bug#57086] [PATCH v3 2/7] gnu: libgccjit: Build with bootstrapped gcc.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (2 preceding siblings ...)
  2022-08-05 18:27   ` [bug#57086] [PATCH 2/6] gnu: libgccjit: Build with bootstrapped gcc Liliana Marie Prikler
@ 2022-08-05 18:27   ` Liliana Marie Prikler
  2022-08-05 18:30   ` [bug#57086] [PATCH v3 3/7] gnu: libgccjit: Build multiple versions Liliana Marie Prikler
                     ` (10 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05 18:27 UTC (permalink / raw)
  To: 57086

* gnu/packages/gcc.scm (make-libgccjit)[#:configure-flags]: Add
“--disable-bootstrap”, “--disable-libatomic”, “--disable-libgomp”,
“--disable-libquadmath”, “--disable-libssp”, and “--enable-checking=release”.
[inputs]: Remove libstdc++.
[native-inputs]: Add gcc.
---
 gnu/packages/gcc.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 66f0766646..4f7076d977 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -983,7 +983,13 @@ (define-public (make-libgccjit gcc)
           (srfi srfi-1)
           (srfi srfi-26)))
        ((#:configure-flags flags)
-        #~(cons* "--enable-host-shared"
+        #~(cons* "--disable-bootstrap"
+                 "--disable-libatomic"
+                 "--disable-libgomp"
+                 "--disable-libquadmath"
+                 "--disable-libssp"
+                 "--enable-host-shared"
+                 "--enable-checking=release"
                  "--enable-languages=jit"
                  (remove (cut string-match "--enable-languages.*" <>)
                          #$flags)))
@@ -995,6 +1001,10 @@ (define-public (make-libgccjit gcc)
                           (find-files
                            (string-append (assoc-ref outputs "out") "/bin")
                            ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
+    (inputs (modify-inputs (package-inputs gcc)
+              (delete "libstdc++")))
+    (native-inputs (modify-inputs (package-native-inputs gcc)
+                     (prepend gcc)))
     (synopsis "GCC library generating machine code on-the-fly at runtime")
     (description
      "This package is part of the GNU Compiler Collection and provides an
-- 
2.37.2





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

* [bug#57086] [PATCH 3/6] gnu: libgccjit: Build multiple versions.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (4 preceding siblings ...)
  2022-08-05 18:30   ` [bug#57086] [PATCH v3 3/7] gnu: libgccjit: Build multiple versions Liliana Marie Prikler
@ 2022-08-05 18:30   ` Liliana Marie Prikler
  2022-08-05 22:37   ` [bug#57086] [PATCH v3 4/7] gnu: emacs: Build with native compilation Liliana Marie Prikler
                     ` (8 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05 18:30 UTC (permalink / raw)
  To: 57086

* gnu/packages/gcc.scm (libgccjit-9, libgccjit-10, libgccjit-11)
(libgccjit-12): New variables.
(libgccjit): Update to libgccjit-10.
---
 gnu/packages/gcc.scm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4f7076d977..7e4fb283d8 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1015,7 +1015,12 @@ (define-public (make-libgccjit gcc)
 compilers.  The just-in-time (jit) part of the name is now something of a
 misnomer.")))
 
-(define-public libgccjit (make-libgccjit gcc-9))
+(define-public libgccjit-9 (make-libgccjit gcc-9))
+(define-public libgccjit-10 (make-libgccjit gcc-10))
+(define-public libgccjit-11 (make-libgccjit gcc-11))
+(define-public libgccjit-12 (make-libgccjit gcc-12))
+
+(define-public libgccjit libgccjit-10)
 
 (define (make-gccgo gcc)
   "Return a gccgo package based on GCC."
-- 
2.37.0





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

* [bug#57086] [PATCH v3 3/7] gnu: libgccjit: Build multiple versions.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (3 preceding siblings ...)
  2022-08-05 18:27   ` [bug#57086] [PATCH v3 2/7] " Liliana Marie Prikler
@ 2022-08-05 18:30   ` Liliana Marie Prikler
  2022-08-05 18:30   ` [bug#57086] [PATCH 3/6] " Liliana Marie Prikler
                     ` (9 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05 18:30 UTC (permalink / raw)
  To: 57086

* gnu/packages/gcc.scm (libgccjit-9, libgccjit-10, libgccjit-11)
(libgccjit-12): New variables.
(libgccjit): Update to libgccjit-10.
---
 gnu/packages/gcc.scm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4f7076d977..7e4fb283d8 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1015,7 +1015,12 @@ (define-public (make-libgccjit gcc)
 compilers.  The just-in-time (jit) part of the name is now something of a
 misnomer.")))
 
-(define-public libgccjit (make-libgccjit gcc-9))
+(define-public libgccjit-9 (make-libgccjit gcc-9))
+(define-public libgccjit-10 (make-libgccjit gcc-10))
+(define-public libgccjit-11 (make-libgccjit gcc-11))
+(define-public libgccjit-12 (make-libgccjit gcc-12))
+
+(define-public libgccjit libgccjit-10)
 
 (define (make-gccgo gcc)
   "Return a gccgo package based on GCC."
-- 
2.37.2





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

* [bug#57086] [PATCH 4/6] gnu: emacs: Build with native compilation.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (6 preceding siblings ...)
  2022-08-05 22:37   ` [bug#57086] [PATCH v3 4/7] gnu: emacs: Build with native compilation Liliana Marie Prikler
@ 2022-08-05 22:37   ` Liliana Marie Prikler
  2022-08-09 18:26   ` [bug#57086] [PATCH 5/6] guix: emacs-utils: Add emacs-compile-directory Liliana Marie Prikler
                     ` (6 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05 22:37 UTC (permalink / raw)
  To: 57086

* gnu/packages/emacs.scm (%emacs-modules): New variable.
(emacs)[arguments]<#:modules>: Use it here.
<#:configure-flags> Add “--with-native-compilation”.
<#:make-flags>: Add “NATIVE_FULL_AOT=1”.
<#:phases>: Add ‘set-libgccjit-path’ and ‘patch-compilation-driver’.
[inputs]: Add explicit ld-wrapper, binutils, glibc, and libgccjit.
(emacs-minimal, emacs-xwidgets, emacs-no-x)
(emacs-no-x-toolkit): Adjust accordingly.
---
 gnu/packages/emacs.scm | 64 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 62 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ffd1eda08e..68afdb0446 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -45,6 +45,7 @@ (define-module (gnu packages emacs)
   #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
@@ -55,6 +56,7 @@ (define-module (gnu packages emacs)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -81,6 +83,13 @@ (define-module (gnu packages emacs)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define (%emacs-modules build-system)
+  (let ((which (build-system-name build-system)))
+    `((guix build ,(symbol-append which '-build-system))
+      (guix build utils)
+      (srfi srfi-1)
+      (ice-9 ftw))))
+
 (define-public emacs
   (package
     (name "emacs")
@@ -129,11 +138,33 @@ (define-public emacs
     (arguments
      (list
       #:tests? #f                      ; no check target
+      #:modules (%emacs-modules build-system)
       #:configure-flags #~(list "--with-modules"
                                 "--with-cairo"
+                                "--with-native-compilation"
                                 "--disable-build-details")
+      #:make-flags #~(list "NATIVE_FULL_AOT=1")
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'set-paths 'set-libgccjit-path
+            (lambda* (#:key inputs #:allow-other-keys)
+              (define (first-subdirectory/absolute directory)
+                (let ((files (scandir
+                              directory
+                              (lambda (file)
+                                (and (not (member file '("." "..")))
+                                     (file-is-directory? (string-append
+                                                          directory "/"
+                                                          file)))))))
+                  (and (not (null? files))
+                       (string-append directory "/" (car files)))))
+              (let* ((libgccjit-libdir
+                      (first-subdirectory/absolute ;; version
+                       (first-subdirectory/absolute ;; host type
+                        (search-input-directory inputs "lib/gcc")))))
+                (setenv "LIBRARY_PATH"
+                        (string-append (getenv "LIBRARY_PATH")
+                                       ":" libgccjit-libdir)))))
           (add-after 'unpack 'enable-elogind
             (lambda _
               (substitute* "configure.ac"
@@ -164,6 +195,20 @@ (define-public emacs
                 (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
                  (format #f "(or ~a (tramp-compat-process-running-p ~s))"
                          all (string-append "." process "-real"))))))
+          (add-after 'unpack 'patch-compilation-driver
+            (lambda _
+              (substitute* "lisp/emacs-lisp/comp.el"
+                (("\\(defcustom native-comp-driver-options nil")
+                 (format
+                  #f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
+                  (string-append
+                   "-B" #$(this-package-input "binutils") "/bin/")
+                  (string-append
+                   "-B" #$(this-package-input "glibc") "/lib/")
+                  (string-append
+                   "-B" #$(this-package-input "libgccjit") "/lib/")
+                  (string-append
+                   "-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))
           (add-before 'configure 'fix-/bin/pwd
             (lambda _
               ;; Use `pwd', not `/bin/pwd'.
@@ -256,6 +301,14 @@ (define* (emacs-byte-compile-directory dir)
      (list gnutls
            ncurses
 
+           ;; To "unshadow" ld-wrapper in native builds
+           (make-ld-wrapper "ld-wrapper" #:binutils binutils)
+
+           ;; For native compilation
+           binutils
+           glibc
+           libgccjit
+
            ;; Required for "core" functionality, such as dired and compression.
            coreutils
            gzip
@@ -377,12 +430,16 @@ (define-public emacs-minimal
     (arguments
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
-        #~(list "--with-gnutls=no" "--disable-build-details"))
+        #~(list "--with-gnutls=no" "--with-native-compilation"
+                "--disable-build-details"))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
             (delete 'restore-emacs-pdmp)
             (delete 'strip-double-wrap)))))
-    (inputs (list ncurses coreutils gzip))
+    (inputs (list ncurses coreutils gzip
+                  (make-ld-wrapper "ld-wrapper" #:binutils binutils)
+                  binutils glibc libgccjit zlib))
     (native-inputs (list autoconf pkg-config))))
 
 (define-public emacs-xwidgets
@@ -395,6 +452,7 @@ (define-public emacs-xwidgets
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
         #~(cons "--with-xwidgets" #$flags))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
             (delete 'restore-emacs-pdmp)
@@ -419,6 +477,7 @@ (define-public emacs-no-x
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
         #~(delete "--with-cairo" #$flags))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
             (delete 'restore-emacs-pdmp)
@@ -437,6 +496,7 @@ (define-public emacs-no-x-toolkit
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
         #~(cons "--with-x-toolkit=no" #$flags))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
            (delete 'restore-emacs-pdmp)
-- 
2.37.0





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

* [bug#57086] [PATCH v3 4/7] gnu: emacs: Build with native compilation.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (5 preceding siblings ...)
  2022-08-05 18:30   ` [bug#57086] [PATCH 3/6] " Liliana Marie Prikler
@ 2022-08-05 22:37   ` Liliana Marie Prikler
  2022-08-05 22:37   ` [bug#57086] [PATCH 4/6] " Liliana Marie Prikler
                     ` (7 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-05 22:37 UTC (permalink / raw)
  To: 57086

* gnu/packages/emacs.scm (%emacs-modules): New variable.
(emacs)[arguments]<#:modules>: Use it here.
<#:configure-flags> Add “--with-native-compilation”.
<#:make-flags>: Add “NATIVE_FULL_AOT=1”.
<#:phases>: Add ‘set-libgccjit-path’ and ‘patch-compilation-driver’.
[inputs]: Add explicit ld-wrapper, binutils, glibc, and libgccjit.
[search-paths]: Add EMACSNATIVELOADPATH.
(emacs-minimal, emacs-xwidgets, emacs-no-x)
(emacs-no-x-toolkit): Adjust accordingly.
---
 gnu/packages/emacs.scm | 67 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 65 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ffd1eda08e..6c3bee03d5 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -45,6 +45,7 @@ (define-module (gnu packages emacs)
   #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
@@ -55,6 +56,7 @@ (define-module (gnu packages emacs)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -81,6 +83,13 @@ (define-module (gnu packages emacs)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define (%emacs-modules build-system)
+  (let ((which (build-system-name build-system)))
+    `((guix build ,(symbol-append which '-build-system))
+      (guix build utils)
+      (srfi srfi-1)
+      (ice-9 ftw))))
+
 (define-public emacs
   (package
     (name "emacs")
@@ -129,11 +138,33 @@ (define-public emacs
     (arguments
      (list
       #:tests? #f                      ; no check target
+      #:modules (%emacs-modules build-system)
       #:configure-flags #~(list "--with-modules"
                                 "--with-cairo"
+                                "--with-native-compilation"
                                 "--disable-build-details")
+      #:make-flags #~(list "NATIVE_FULL_AOT=1")
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'set-paths 'set-libgccjit-path
+            (lambda* (#:key inputs #:allow-other-keys)
+              (define (first-subdirectory/absolute directory)
+                (let ((files (scandir
+                              directory
+                              (lambda (file)
+                                (and (not (member file '("." "..")))
+                                     (file-is-directory? (string-append
+                                                          directory "/"
+                                                          file)))))))
+                  (and (not (null? files))
+                       (string-append directory "/" (car files)))))
+              (let* ((libgccjit-libdir
+                      (first-subdirectory/absolute ;; version
+                       (first-subdirectory/absolute ;; host type
+                        (search-input-directory inputs "lib/gcc")))))
+                (setenv "LIBRARY_PATH"
+                        (string-append (getenv "LIBRARY_PATH")
+                                       ":" libgccjit-libdir)))))
           (add-after 'unpack 'enable-elogind
             (lambda _
               (substitute* "configure.ac"
@@ -164,6 +195,20 @@ (define-public emacs
                 (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
                  (format #f "(or ~a (tramp-compat-process-running-p ~s))"
                          all (string-append "." process "-real"))))))
+          (add-after 'unpack 'patch-compilation-driver
+            (lambda _
+              (substitute* "lisp/emacs-lisp/comp.el"
+                (("\\(defcustom native-comp-driver-options nil")
+                 (format
+                  #f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
+                  (string-append
+                   "-B" #$(this-package-input "binutils") "/bin/")
+                  (string-append
+                   "-B" #$(this-package-input "glibc") "/lib/")
+                  (string-append
+                   "-B" #$(this-package-input "libgccjit") "/lib/")
+                  (string-append
+                   "-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))
           (add-before 'configure 'fix-/bin/pwd
             (lambda _
               ;; Use `pwd', not `/bin/pwd'.
@@ -256,6 +301,14 @@ (define* (emacs-byte-compile-directory dir)
      (list gnutls
            ncurses
 
+           ;; To "unshadow" ld-wrapper in native builds
+           (make-ld-wrapper "ld-wrapper" #:binutils binutils)
+
+           ;; For native compilation
+           binutils
+           glibc
+           libgccjit
+
            ;; Required for "core" functionality, such as dired and compression.
            coreutils
            gzip
@@ -307,6 +360,9 @@ (define* (emacs-byte-compile-directory dir)
      (list (search-path-specification
             (variable "EMACSLOADPATH")
             (files '("share/emacs/site-lisp")))
+           (search-path-specification
+            (variable "EMACSNATIVELOADPATH")
+            (files '("lib/emacs/native-site-lisp")))
            (search-path-specification
             (variable "INFOPATH")
             (files '("share/info")))))
@@ -377,12 +433,16 @@ (define-public emacs-minimal
     (arguments
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
-        #~(list "--with-gnutls=no" "--disable-build-details"))
+        #~(list "--with-gnutls=no" "--with-native-compilation"
+                "--disable-build-details"))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
             (delete 'restore-emacs-pdmp)
             (delete 'strip-double-wrap)))))
-    (inputs (list ncurses coreutils gzip))
+    (inputs (list ncurses coreutils gzip
+                  (make-ld-wrapper "ld-wrapper" #:binutils binutils)
+                  binutils glibc libgccjit zlib))
     (native-inputs (list autoconf pkg-config))))
 
 (define-public emacs-xwidgets
@@ -395,6 +455,7 @@ (define-public emacs-xwidgets
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
         #~(cons "--with-xwidgets" #$flags))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
             (delete 'restore-emacs-pdmp)
@@ -419,6 +480,7 @@ (define-public emacs-no-x
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
         #~(delete "--with-cairo" #$flags))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
             (delete 'restore-emacs-pdmp)
@@ -437,6 +499,7 @@ (define-public emacs-no-x-toolkit
      (substitute-keyword-arguments (package-arguments emacs)
        ((#:configure-flags flags #~'())
         #~(cons "--with-x-toolkit=no" #$flags))
+       ((#:modules _) (%emacs-modules build-system))
        ((#:phases phases)
         #~(modify-phases #$phases
            (delete 'restore-emacs-pdmp)
-- 
2.37.2





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

* [bug#57086] [PATCH 5/6] guix: emacs-utils: Add emacs-compile-directory.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (7 preceding siblings ...)
  2022-08-05 22:37   ` [bug#57086] [PATCH 4/6] " Liliana Marie Prikler
@ 2022-08-09 18:26   ` Liliana Marie Prikler
  2022-08-09 18:26     ` [bug#57086] [PATCH v2 " Liliana Marie Prikler
  2022-08-09 18:26   ` [bug#57086] [PATCH v3 5/7] " Liliana Marie Prikler
                     ` (5 subsequent siblings)
  14 siblings, 1 reply; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-09 18:26 UTC (permalink / raw)
  To: 57086

* guix/build/emacs-utils.scm (emacs-compile-directory): New variable.
---
 guix/build/emacs-utils.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 8ee547f2b3..17155a0b8b 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -38,6 +38,7 @@ (define-module (guix build emacs-utils)
 
             emacs-generate-autoloads
             emacs-byte-compile-directory
+            emacs-compile-directory
             emacs-header-parse
 
             as-display
@@ -115,6 +116,31 @@ (define* (emacs-byte-compile-directory dir)
                 (byte-recompile-directory (file-name-as-directory ,dir) 0 1))))
     (emacs-batch-eval expr)))
 
+(define* (emacs-compile-directory dir)
+  "Compile all files in DIR to native code.
+
+If native code is not supported, compile to bytecode instead."
+  (emacs-batch-eval
+    `(let ((byte-compile-debug t)       ; for proper exit status
+           (byte+native-compile (native-comp-available-p))
+           (files (directory-files-recursively ,dir "\\.el$")))
+       (mapc
+        (lambda (file)
+          (let (byte-to-native-output-file)
+            (if byte+native-compile
+                (native-compile file (concat (file-name-sans-extension file)
+                                             ".eln"))
+                (byte-compile-file file))
+            ;; Sadly, we can't use pcase because quasiquote works different in
+            ;; Emacs.  See `batch-byte+native-compile' in comp.el for the
+            ;; actual shape of byte-to-native-output-file.
+            (unless (null byte-to-native-output-file)
+              (rename-file (car byte-to-native-output-file)
+                           (cdr byte-to-native-output-file)
+                           t))))
+       files))
+    #:dynamic? #t))
+
 (define (emacs-header-parse section file)
   "Parse the header SECTION in FILE and return it as a string."
   (emacs-batch-script
-- 
2.37.0





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

* [bug#57086] [PATCH v2 5/6] guix: emacs-utils: Add emacs-compile-directory.
  2022-08-09 18:26   ` [bug#57086] [PATCH 5/6] guix: emacs-utils: Add emacs-compile-directory Liliana Marie Prikler
@ 2022-08-09 18:26     ` Liliana Marie Prikler
  0 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-09 18:26 UTC (permalink / raw)
  To: 57086; +Cc: (

* guix/build/emacs-utils.scm (emacs-compile-directory): New variable.
---
 guix/build/emacs-utils.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 8ee547f2b3..2eb8f30120 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -38,6 +38,7 @@ (define-module (guix build emacs-utils)
 
             emacs-generate-autoloads
             emacs-byte-compile-directory
+            emacs-compile-directory
             emacs-header-parse
 
             as-display
@@ -115,6 +116,33 @@ (define* (emacs-byte-compile-directory dir)
                 (byte-recompile-directory (file-name-as-directory ,dir) 0 1))))
     (emacs-batch-eval expr)))
 
+(define* (emacs-compile-directory dir)
+  "Compile all files in DIR to native code.
+
+If native code is not supported, compile to bytecode instead."
+  (emacs-batch-eval
+    `(let ((byte-compile-debug t)       ; for proper exit status
+           (byte+native-compile (native-comp-available-p))
+           (files (directory-files-recursively ,dir "\\.el$")))
+       (mapc
+        (lambda (file)
+          (let (byte-to-native-output-file
+                ;; For trampoline compilations
+                (native-compile-target-directory (file-name-directory file)))
+            (if byte+native-compile
+                (native-compile file (concat (file-name-sans-extension file)
+                                             ".eln"))
+                (byte-compile-file file))
+            ;; Sadly, we can't use pcase because quasiquote works different in
+            ;; Emacs.  See `batch-byte+native-compile' in comp.el for the
+            ;; actual shape of byte-to-native-output-file.
+            (unless (null byte-to-native-output-file)
+              (rename-file (car byte-to-native-output-file)
+                           (cdr byte-to-native-output-file)
+                           t))))
+       files))
+    #:dynamic? #t))
+
 (define (emacs-header-parse section file)
   "Parse the header SECTION in FILE and return it as a string."
   (emacs-batch-script
-- 
2.37.0





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

* [bug#57086] [PATCH v3 5/7] guix: emacs-utils: Add emacs-compile-directory.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (8 preceding siblings ...)
  2022-08-09 18:26   ` [bug#57086] [PATCH 5/6] guix: emacs-utils: Add emacs-compile-directory Liliana Marie Prikler
@ 2022-08-09 18:26   ` Liliana Marie Prikler
  2022-08-09 18:32   ` [bug#57086] [PATCH v3 6/7] build-system: emacs: Use native compilation Liliana Marie Prikler
                     ` (4 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-09 18:26 UTC (permalink / raw)
  To: 57086

* guix/build/emacs-utils.scm (emacs-compile-directory): New variable.
---
 guix/build/emacs-utils.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 8ee547f2b3..fdca05602e 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -38,6 +38,7 @@ (define-module (guix build emacs-utils)
 
             emacs-generate-autoloads
             emacs-byte-compile-directory
+            emacs-compile-directory
             emacs-header-parse
 
             as-display
@@ -115,6 +116,35 @@ (define* (emacs-byte-compile-directory dir)
                 (byte-recompile-directory (file-name-as-directory ,dir) 0 1))))
     (emacs-batch-eval expr)))
 
+(define* (emacs-compile-directory dir)
+  "Compile all files in DIR to native code.
+
+If native code is not supported, compile to bytecode instead."
+  (emacs-batch-eval
+    `(let ((byte-compile-debug t)       ; for proper exit status
+           (byte+native-compile (native-comp-available-p))
+           (files (directory-files-recursively ,dir "\\.el$")))
+       (mapc
+        (lambda (file)
+          (let (byte-to-native-output-file
+                ;; First entry is the eln-cache of the homeless shelter,
+                ;; second entry is the install directory.
+                (eln-dir (and (native-comp-available-p)
+                              (cadr native-comp-eln-load-path))))
+            (if byte+native-compile
+                (native-compile file
+                                (comp-el-to-eln-filename file eln-dir))
+                (byte-compile-file file))
+            ;; Sadly, we can't use pcase because quasiquote works different in
+            ;; Emacs.  See `batch-byte+native-compile' in comp.el for the
+            ;; actual shape of byte-to-native-output-file.
+            (unless (null byte-to-native-output-file)
+              (rename-file (car byte-to-native-output-file)
+                           (cdr byte-to-native-output-file)
+                           t))))
+       files))
+    #:dynamic? #t))
+
 (define (emacs-header-parse section file)
   "Parse the header SECTION in FILE and return it as a string."
   (emacs-batch-script
-- 
2.37.2





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

* [bug#57086] [PATCH 6/6] build-system: emacs: Use native compilation.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (10 preceding siblings ...)
  2022-08-09 18:32   ` [bug#57086] [PATCH v3 6/7] build-system: emacs: Use native compilation Liliana Marie Prikler
@ 2022-08-09 18:32   ` Liliana Marie Prikler
  2022-08-09 21:19   ` [bug#57086] [PATCH 0/6] Add native compilation to Emacs ( via Guix-patches via
                     ` (2 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-09 18:32 UTC (permalink / raw)
  To: 57086

* guix/build/emacs-build-system.scm (build): Use ‘emacs-compile-directory’
rather than ‘emacs-byte-compile-directory’.  Also delete already compiled
files in the working directory prior to compilation.
---
 guix/build/emacs-build-system.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index 6a6918bfdd..9ecfceccf1 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -110,11 +110,14 @@ (define* (expand-load-path #:key (prepend-source? #t) #:allow-other-keys)
 
 (define* (build #:key outputs inputs #:allow-other-keys)
   "Compile .el files."
+  ;; Ensure that already compiled files in the working directory don't shadow
+  ;; the build.  Might happen, because check runs first.
+  (for-each delete-file (find-files "." "\\.el[cn]$"))
   (let* ((emacs (search-input-file inputs "/bin/emacs"))
          (out (assoc-ref outputs "out")))
     (setenv "SHELL" "sh")
     (parameterize ((%emacs emacs))
-      (emacs-byte-compile-directory (elpa-directory out)))))
+      (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
-- 
2.37.0





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

* [bug#57086] [PATCH v3 6/7] build-system: emacs: Use native compilation.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (9 preceding siblings ...)
  2022-08-09 18:26   ` [bug#57086] [PATCH v3 5/7] " Liliana Marie Prikler
@ 2022-08-09 18:32   ` Liliana Marie Prikler
  2022-08-09 18:32   ` [bug#57086] [PATCH 6/6] " Liliana Marie Prikler
                     ` (3 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-09 18:32 UTC (permalink / raw)
  To: 57086

* guix/build/emacs-build-system.scm (add-install-to-native-load-path):
New variable.
(build): Replace ‘emacs-byte-compile-directory’ with ‘emacs-compile-directory’.
Delete already compiled files in the working directory prior to compilation.
(%standard-phases): Add ‘add-install-to-native-load-path’ after
‘expand-load-path’.
---
 guix/build/emacs-build-system.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index 6a6918bfdd..3808b60445 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -108,13 +108,29 @@ (define* (expand-load-path #:key (prepend-source? #t) #:allow-other-keys)
         (format #t "expanded load paths for ~{~a~^, ~}\n"
                 (map basename diff))))))
 
+(define* (add-install-to-native-load-path #:key outputs #:allow-other-keys)
+  "Append the native-site-lisp of OUTPUT to EMACSNATIVELOADPATH."
+  (let ((native-load-path (or (false-if-exception
+                               (string-split (getenv "EMACSNATIVELOADPATH") #\:))
+                              '()))
+        (install-directory (string-append (assoc-ref outputs "out")
+                                          "/lib/emacs/native-site-lisp")))
+    (setenv "EMACSNATIVELOADPATH"
+            ;; Emacs pushes these directories in reverse order, so the
+            ;; last one will be the first.
+            (string-join `(,@native-load-path ,install-directory)
+                         ":"))))
+
 (define* (build #:key outputs inputs #:allow-other-keys)
   "Compile .el files."
+  ;; Ensure that already compiled files in the working directory don't shadow
+  ;; the build.  Might happen, because check runs first.
+  (for-each delete-file (find-files "." "\\.el[cn]$"))
   (let* ((emacs (search-input-file inputs "/bin/emacs"))
          (out (assoc-ref outputs "out")))
     (setenv "SHELL" "sh")
     (parameterize ((%emacs emacs))
-      (emacs-byte-compile-directory (elpa-directory out)))))
+      (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
@@ -343,6 +359,8 @@ (define %standard-phases
   (modify-phases gnu:%standard-phases
     (replace 'unpack unpack)
     (add-after 'unpack 'expand-load-path expand-load-path)
+    (add-after 'expand-load-path 'add-install-to-native-load-path
+      add-install-to-native-load-path)
     (delete 'bootstrap)
     (delete 'configure)
     (delete 'build)
-- 
2.37.2





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

* bug#55657: [PATCH 0/6] Add native compilation to Emacs
       [not found] <b4c6419964da360a33377d373f034f0061619cfd.camel@gmail.com>
@ 2022-08-09 18:37 ` Liliana Marie Prikler
  2022-08-05  3:29   ` [bug#57086] [PATCH v3 1/7] gnu: Parameterize libgccjit Liliana Marie Prikler
                     ` (14 more replies)
  0 siblings, 15 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-09 18:37 UTC (permalink / raw)
  To: guix-patches

Hi Guix,

at long last the following patch set should enable native compilation
for both Emacs and emacs-build-system.  I tested emacs-dash and at the
very least native code is generated, though I haven't yet checked
whether it is also loaded.

As with any shiny new Emacs feature, please verify that the Emacs
portion of your manifests/home configurations build and report any
related errors *before* I push this and curse your configuration.

Cheers

Liliana Marie Prikler (6):
  gnu: Parameterize libgccjit.
  gnu: libgccjit: Build with bootstrapped gcc.
  gnu: libgccjit: Build multiple versions.
  gnu: emacs: Build with native compilation.
  guix: emacs-utils: Add emacs-compile-directory.
  build-system: emacs: Use native compilation.

 gnu/packages/emacs.scm            | 64 ++++++++++++++++++++++++++++++-
 gnu/packages/gcc.scm              | 53 +++++++++++++++++--------
 guix/build/emacs-build-system.scm |  5 ++-
 guix/build/emacs-utils.scm        | 26 +++++++++++++
 4 files changed, 128 insertions(+), 20 deletions(-)

-- 
2.37.0





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

* [bug#57086] [PATCH 0/6] Add native compilation to Emacs
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (11 preceding siblings ...)
  2022-08-09 18:32   ` [bug#57086] [PATCH 6/6] " Liliana Marie Prikler
@ 2022-08-09 21:19   ` ( via Guix-patches via
  2022-08-10  4:19     ` Liliana Marie Prikler
  2022-08-23 20:07     ` Liliana Marie Prikler
  2022-08-24 21:59   ` [bug#57086] [PATCH v3 7/7] gnu: emacs-yasnippet: Fix build Liliana Marie Prikler
  2022-08-25  7:08   ` [bug#57086] [PATCH v3 0/7] Add native compilation to Emacs Liliana Marie Prikler
  14 siblings, 2 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-08-09 21:19 UTC (permalink / raw)
  To: Liliana Marie Prikler, 57086

Hi Liliana,

On Tue Aug 9, 2022 at 7:37 PM BST, Liliana Marie Prikler wrote:
> As with any shiny new Emacs feature, please verify that the Emacs
> portion of your manifests/home configurations build and report any
> related errors *before* I push this and curse your configuration.

Nice work! :D Unfortunately, Geiser fails to build with this patchset
applied:

```
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/bin:/gnu/store/22n2s0vfvqg9v0as9h7fpdn1i9dmryvi-texinfo-6.7/bin:/gnu/store/g2ajyl8xk9aarxrgjbng2hkj3qm2v0z2-tar-1.34/bin:/gnu/store/iixwcv3k49ks1rf34pjgfzmzyhhgwng3-gzip-1.10/bin:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/bin:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/bin:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/bin:/gnu/store/ahmmvw21p11ik80lg1f953y7fd8bqkjm-diffutils-3.8/bin:/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-patch-2.7.6/bin:/gnu/store/39rsx3nl4c31952jybbjb8d6idr5hx7r-findutils-4.8.0/bin:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/bin:/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/bin:/gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6/bin:/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/bin:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/bin:/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin:/gnu/store/s2pg5k98fl2g2szg9dykxyd9zl3xihv9-ld-wrapper-0/bin:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/bin:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/bin:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/bin:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/sbin'
environment variable `EMACSLOADPATH' set to `/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/share/emacs/site-lisp'
environment variable `INFOPATH' set to `/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/share/info:/gnu/store/22n2s0vfvqg9v0as9h7fpdn1i9dmryvi-texinfo-6.7/share/info:/gnu/store/g2ajyl8xk9aarxrgjbng2hkj3qm2v0z2-tar-1.34/share/info:/gnu/store/iixwcv3k49ks1rf34pjgfzmzyhhgwng3-gzip-1.10/share/info:/gnu/store/ahmmvw21p11ik80lg1f953y7fd8bqkjm-diffutils-3.8/share/info:/gnu/store/39rsx3nl4c31952jybbjb8d6idr5hx7r-findutils-4.8.0/share/info:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/share/info:/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/share/info:/gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6/share/info:/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/share/info:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/share/info:/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/share/info:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/share/info:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/share/info:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/share/info'
environment variable `BASH_LOADABLES_PATH' unset
environment variable `C_INCLUDE_PATH' set to `/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/include:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/include:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/include:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/include:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/include:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/include:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/include:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/include'
environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/include:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/include:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/include:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/include:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/include:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/include:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/include:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include/c++:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/lib:/gnu/store/22n2s0vfvqg9v0as9h7fpdn1i9dmryvi-texinfo-6.7/lib:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/lib:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/lib:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/lib:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/lib:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/lib:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib:/gnu/store/4jdghmc65q7i7ib89zmvq66l0ghf7jc4-glibc-2.33-static/lib:/gnu/store/fnr1z6xsan0437r0yg48d0y8k32kqxby-glibc-utf8-locales-2.33/lib'
environment variable `GUIX_LOCPATH' set to `/gnu/store/fnr1z6xsan0437r0yg48d0y8k32kqxby-glibc-utf8-locales-2.33/lib/locale'
phase `set-paths' succeeded after 0.0 seconds
starting phase `install-locale'
using 'en_US.utf8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/readme.org' -> `./readme.org'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/.gitignore' -> `./.gitignore'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/.dir-locals.el' -> `./.dir-locals.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/license' -> `./license'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/news.org' -> `./news.org'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/site.conf' -> `./doc/site.conf'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/web.texi' -> `./doc/web.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/parens.texi' -> `./doc/parens.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/macros.texi' -> `./doc/macros.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/geiser.texi' -> `./doc/geiser.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/cheat.texi' -> `./doc/cheat.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/geiser.css' -> `./doc/geiser.css'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/dir' -> `./doc/dir'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/top.texi' -> `./doc/top.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/index.texi' -> `./doc/index.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/repl.texi' -> `./doc/repl.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/install.texi' -> `./doc/install.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/intro.texi' -> `./doc/intro.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/makefile' -> `./doc/makefile'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/thanks.texi' -> `./doc/thanks.texi'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/repl-mod.png' -> `./doc/img/repl-mod.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/repl-images.png' -> `./doc/img/repl-images.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/repl-menu.png' -> `./doc/img/repl-menu.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/geiser-mode.png' -> `./doc/img/geiser-mode.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/docstring.png' -> `./doc/img/docstring.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/repls.png' -> `./doc/img/repls.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/autodoc-multi.png' -> `./doc/img/autodoc-multi.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/autodoc-var.png' -> `./doc/img/autodoc-var.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/docstring-racket.png' -> `./doc/img/docstring-racket.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/autodoc-scm.png' -> `./doc/img/autodoc-scm.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/eval-error.png' -> `./doc/img/eval-error.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/repl-autodoc.png' -> `./doc/img/repl-autodoc.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/guile-eval-error.png' -> `./doc/img/guile-eval-error.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/autodoc-req.png' -> `./doc/img/autodoc-req.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/doc/img/mod-completion.png' -> `./doc/img/mod-completion.png'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-base.el' -> `./elisp/geiser-base.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-popup.el' -> `./elisp/geiser-popup.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-company.el' -> `./elisp/geiser-company.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-autodoc.el' -> `./elisp/geiser-autodoc.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-repl.el' -> `./elisp/geiser-repl.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-custom.el' -> `./elisp/geiser-custom.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-reload.el' -> `./elisp/geiser-reload.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-menu.el' -> `./elisp/geiser-menu.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-impl.el' -> `./elisp/geiser-impl.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-edit.el' -> `./elisp/geiser-edit.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-syntax.el' -> `./elisp/geiser-syntax.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-table.el' -> `./elisp/geiser-table.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser.el' -> `./elisp/geiser.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-connection.el' -> `./elisp/geiser-connection.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-log.el' -> `./elisp/geiser-log.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-mode.el' -> `./elisp/geiser-mode.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-eval.el' -> `./elisp/geiser-eval.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-debug.el' -> `./elisp/geiser-debug.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-xref.el' -> `./elisp/geiser-xref.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-doc.el' -> `./elisp/geiser-doc.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-compile.el' -> `./elisp/geiser-compile.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-image.el' -> `./elisp/geiser-image.el'
`/gnu/store/37f6mcyinhdfs063kqd9shnv0xj1fwf8-emacs-geiser-0.23.2-checkout/elisp/geiser-completion.el' -> `./elisp/geiser-completion.el'
phase `unpack' succeeded after 0.0 seconds
starting phase `move-source-files'
phase `move-source-files' succeeded after 0.0 seconds
starting phase `expand-load-path'
source directory "/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source" prepended to the `EMACSLOADPATH' environment variable
phase `expand-load-path' succeeded after 0.0 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `check'
test suite not run
phase `check' succeeded after 0.0 seconds
starting phase `make-info'
phase `make-info' succeeded after 0.6 seconds
starting phase `install'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/doc/geiser.info' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/doc/geiser.info'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-autodoc.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-autodoc.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-base.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-base.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-company.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-company.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-compile.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-compile.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-completion.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-completion.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-connection.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-connection.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-custom.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-custom.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-debug.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-debug.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-doc.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-doc.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-edit.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-edit.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-eval.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-eval.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-image.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-image.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-impl.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-impl.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-log.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-log.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-menu.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-menu.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-mode.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-mode.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-popup.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-popup.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-reload.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-reload.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-repl.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-repl.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-syntax.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-syntax.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-table.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-table.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser-xref.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser-xref.el'
`/tmp/guix-build-emacs-geiser-0.23.2.drv-0/source/geiser.el' -> `/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2/geiser.el'
phase `install' succeeded after 0.0 seconds
starting phase `make-autoloads'
  INFO     Scraping files for geiser-autoloads.el... 
  INFO     Scraping files for geiser-autoloads.el...done
phase `make-autoloads' succeeded after 0.2 seconds
starting phase `enable-autoloads-compilation'
phase `enable-autoloads-compilation' succeeded after 0.0 seconds
starting phase `patch-el-files'
phase `patch-el-files' succeeded after 0.0 seconds
starting phase `ensure-package-description'
geiser-pkg.el file generated.
phase `ensure-package-description' succeeded after 0.3 seconds
starting phase `build'

In geiser-autodoc--show-signatures:
geiser-autodoc.el:69:12: Warning: ‘eldoc-message’ is an obsolete function (as
    of eldoc-1.1.0); use ‘eldoc-documentation-functions’ instead.
Debugger entered--Lisp error: (error "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "Cannot find suitable directory for output in ‘nati...")
  signal(error ("/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "Cannot find suitable directory for output in ‘nati..."))
  comp--native-compile("/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." nil "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-...")
  native-compile("/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-...")
  (if byte+native-compile (native-compile file (concat (file-name-sans-extension file) ".eln")) (byte-compile-file file))
  (let (byte-to-native-output-file) (if byte+native-compile (native-compile file (concat (file-name-sans-extension file) ".eln")) (byte-compile-file file)) (unless (null byte-to-native-output-file) (rename-file (car byte-to-native-output-file) (cdr byte-to-native-output-file) t)))
  (lambda (file) (let (byte-to-native-output-file) (if byte+native-compile (native-compile file (concat (file-name-sans-extension file) ".eln")) (byte-compile-file file)) (unless (null byte-to-native-output-file) (rename-file (car byte-to-native-output-file) (cdr byte-to-native-output-file) t))))("/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-...")
  mapc((lambda (file) (let (byte-to-native-output-file) (if byte+native-compile (native-compile file (concat (file-name-sans-extension file) ".eln")) (byte-compile-file file)) (unless (null byte-to-native-output-file) (rename-file (car byte-to-native-output-file) (cdr byte-to-native-output-file) t)))) ("/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..."))
  (let ((byte-compile-debug t) (byte+native-compile (native-comp-available-p)) (files (directory-files-recursively "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "\\.el$"))) (mapc (lambda (file) (let (byte-to-native-output-file) (if byte+native-compile (native-compile file (concat (file-name-sans-extension file) ".eln")) (byte-compile-file file)) (unless (null byte-to-native-output-file) (rename-file (car byte-to-native-output-file) (cdr byte-to-native-output-file) t)))) files))
  eval((let ((byte-compile-debug t) (byte+native-compile (native-comp-available-p)) (files (directory-files-recursively "/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-..." "\\.el$"))) (mapc (lambda (file) (let (byte-to-native-output-file) (if byte+native-compile (native-compile file (concat ... ".eln")) (byte-compile-file file)) (unless (null byte-to-native-output-file) (rename-file (car byte-to-native-output-file) (cdr byte-to-native-output-file) t)))) files)) nil)
  command-line-1(("--eval=(eval '(let ((byte-compile-debug t) (byte+n..."))
  command-line()
  normal-top-level()

error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/bin/emacs" arguments: ("--quick" "--batch" "--eval=(eval '(let ((byte-compile-debug t) (byte+native-compile (native-comp-available-p)) (files (directory-files-recursively \"/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2\" \"\\\\.el$\"))) (mapc (lambda (file) (let (byte-to-native-output-file) (if byte+native-compile (native-compile file (concat (file-name-sans-extension file) \".eln\")) (byte-compile-file file)) (unless (null byte-to-native-output-file) (rename-file (car byte-to-native-output-file) (cdr byte-to-native-output-file) t)))) files)) nil)") exit-status: 255 term-signal: #f stop-signal: #f> 
phase `build' failed after 3.6 seconds
command "/gnu/store/4pwp9rw1y1dyf1w7z0w7qq38z7f4bcic-emacs-minimal-28.1/bin/emacs" "--quick" "--batch" "--eval=(eval '(let ((byte-compile-debug t) (byte+native-compile (native-comp-available-p)) (files (directory-files-recursively \"/gnu/store/i0gdgbcdgki015p4b9vdq6rc9mrflyqq-emacs-geiser-0.23.2/share/emacs/site-lisp/geiser-0.23.2\" \"\\\\.el$\"))) (mapc (lambda (file) (let (byte-to-native-output-file) (if byte+native-compile (native-compile file (concat (file-name-sans-extension file) \".eln\")) (byte-compile-file file)) (unless (null byte-to-native-output-file) (rename-file (car byte-to-native-output-file) (cdr byte-to-native-output-file) t)))) files)) nil)" failed with status 255
```

Unfortunately, the error message is truncated, so I have no idea
what's going on :(

    -- (




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

* [bug#57086] [PATCH 0/6] Add native compilation to Emacs
  2022-08-09 21:19   ` [bug#57086] [PATCH 0/6] Add native compilation to Emacs ( via Guix-patches via
@ 2022-08-10  4:19     ` Liliana Marie Prikler
  2022-08-10  6:11       ` ( via Guix-patches via
  2022-08-23 20:07     ` Liliana Marie Prikler
  1 sibling, 1 reply; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-10  4:19 UTC (permalink / raw)
  To: (, 57086

Am Dienstag, dem 09.08.2022 um 22:19 +0100 schrieb (:
> Hi Liliana,
> 
> On Tue Aug 9, 2022 at 7:37 PM BST, Liliana Marie Prikler wrote:
> > As with any shiny new Emacs feature, please verify that the Emacs
> > portion of your manifests/home configurations build and report any
> > related errors *before* I push this and curse your configuration.
> 
> Nice work! :D Unfortunately, Geiser fails to build with this patchset
> applied:
> 
> [...]
> Unfortunately, the error message is truncated, so I have no idea
> what's going on :(
It seems to want to write to the emacs package rather than its own
store path.  Does this thing compile recursively?

Cheers




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

* [bug#57086] [PATCH 0/6] Add native compilation to Emacs
  2022-08-10  4:19     ` Liliana Marie Prikler
@ 2022-08-10  6:11       ` ( via Guix-patches via
  0 siblings, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-08-10  6:11 UTC (permalink / raw)
  To: Liliana Marie Prikler, 57086

On Wed Aug 10, 2022 at 5:19 AM BST, Liliana Marie Prikler wrote:
> It seems to want to write to the emacs package rather than its own
> store path.  Does this thing compile recursively?

I have no idea, sorry. But it would be very fitting for Lisp if it
did :P

    -- (




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

* [bug#57086] [PATCH 0/6] Add native compilation to Emacs
  2022-08-09 21:19   ` [bug#57086] [PATCH 0/6] Add native compilation to Emacs ( via Guix-patches via
  2022-08-10  4:19     ` Liliana Marie Prikler
@ 2022-08-23 20:07     ` Liliana Marie Prikler
  1 sibling, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-23 20:07 UTC (permalink / raw)
  To: (, 57086

Am Dienstag, dem 09.08.2022 um 22:19 +0100 schrieb (:
> Hi Liliana,
> 
> On Tue Aug 9, 2022 at 7:37 PM BST, Liliana Marie Prikler wrote:
> > As with any shiny new Emacs feature, please verify that the Emacs
> > portion of your manifests/home configurations build and report any
> > related errors *before* I push this and curse your configuration.
> 
> Nice work! :D Unfortunately, Geiser fails to build with this patchset
> applied:
So Geiser should compile with v2, but emacs-guix still fails to build.
emacs-org also fails.  Since these packages do seem somewhat popular, I
think we should try to fix it or even better fix the way emacs finds
its output directory.

Cheers




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

* [bug#57086] [PATCH v3 7/7] gnu: emacs-yasnippet: Fix build.
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (12 preceding siblings ...)
  2022-08-09 21:19   ` [bug#57086] [PATCH 0/6] Add native compilation to Emacs ( via Guix-patches via
@ 2022-08-24 21:59   ` Liliana Marie Prikler
  2022-08-25  7:08   ` [bug#57086] [PATCH v3 0/7] Add native compilation to Emacs Liliana Marie Prikler
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-24 21:59 UTC (permalink / raw)
  To: 57086

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3815 bytes --]

* gnu/packages/patches/emacs-yasnippet-fix-tests.patch: Handle arguments
in buffer-list.
---
 .../patches/emacs-yasnippet-fix-tests.patch   | 30 +++++++++++++++----
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/patches/emacs-yasnippet-fix-tests.patch b/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
index 475352d8db..c70cc75d92 100644
--- a/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
+++ b/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
@@ -9,12 +9,13 @@ Content-Transfer-Encoding: 8bit
 - Emacs 28 has a new mode ‘lisp-data-mode’ for Lisp data.
 - A test that was temporarily broken passes again.
 - The default for ‘org-adapt-indentation’ has changed.
+- buffer-list may be called with arguments when native-comp is enabled.
 ---
- yasnippet-tests.el | 41 ++++++++++++++++++++++++++---------------
- 1 file changed, 26 insertions(+), 15 deletions(-)
+ yasnippet-tests.el | 45 ++++++++++++++++++++++++++++-----------------
+ 1 file changed, 28 insertions(+), 17 deletions(-)
 
 diff --git a/yasnippet-tests.el b/yasnippet-tests.el
-index b8a7980f..9fadf00c 100644
+index f7ca2bb..7618ab7 100644
 --- a/yasnippet-tests.el
 +++ b/yasnippet-tests.el
 @@ -1,6 +1,6 @@
@@ -55,7 +56,21 @@ index b8a7980f..9fadf00c 100644
        ;; Some org-mode versions leave trailing whitespace, some don't.
        (delete-trailing-whitespace)
        (should (equal expected (buffer-string))))))
-@@ -1390,7 +1393,9 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
+@@ -1195,11 +1198,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
+   (let ((saved-sym (make-symbol "yas--buffer-list")))
+     `(let ((,saved-sym (symbol-function 'buffer-list)))
+        (cl-letf (((symbol-function 'buffer-list)
+-                  (lambda ()
++                  (lambda (&rest args)
+                     (cl-remove-if (lambda (buf)
+                                     (with-current-buffer buf
+                                       (eq major-mode 'lisp-interaction-mode)))
+-                                  (funcall ,saved-sym)))))
++                                  (funcall ,saved-sym args)))))
+          ,@body))))
+ 
+ 
+@@ -1356,7 +1359,9 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
                            ,@(if (fboundp 'prog-mode)
                                  '(prog-mode))
                            emacs-lisp-mode
@@ -66,7 +81,7 @@ index b8a7980f..9fadf00c 100644
                (observed (yas--modes-to-activate)))
           (should (equal major-mode (car observed)))
           (should (equal (sort expected #'string<) (sort observed #'string<))))))))
-@@ -1418,7 +1423,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
+@@ -1384,7 +1389,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
                                       '(prog-mode))
                                 emacs-lisp-mode
                                 and-also-this-one
@@ -79,7 +94,7 @@ index b8a7980f..9fadf00c 100644
                (observed (yas--modes-to-activate)))
           (should (equal expected-first
                          (cl-subseq observed 0 (length expected-first))))
-@@ -1691,9 +1700,11 @@ TODO: be meaner"
+@@ -1657,9 +1666,11 @@ TODO: be meaner"
    "Test expansion of snippets in org source blocks."
    ;; org 9+ no longer runs fontification for text-mode, so our hacks
    ;; don't work.  Note that old ert doesn't have skipping, so we have
@@ -93,3 +108,6 @@ index b8a7980f..9fadf00c 100644
                         :passed :failed)
    (let ((text-mode-hook #'yas-minor-mode))
      (do-yas-org-native-tab-in-source-block "text")))
+-- 
+2.37.2
+
-- 
2.37.2





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

* [bug#57086] [PATCH v3 0/7] Add native compilation to Emacs
  2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
                     ` (13 preceding siblings ...)
  2022-08-24 21:59   ` [bug#57086] [PATCH v3 7/7] gnu: emacs-yasnippet: Fix build Liliana Marie Prikler
@ 2022-08-25  7:08   ` Liliana Marie Prikler
  14 siblings, 0 replies; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-08-25  7:08 UTC (permalink / raw)
  To: 57086

Hi Guix,

After fixing some minor issues like emacs-guix, emacs-org and
emacs-yasnippet not building, this series is somewhat closer to
completion.  However, I've noticed that using emacs-minimal for
native compilation and regular emacs for running things is somewhat
suboptimal, as the two have different hashes.  There are some
remedies, such as using regular emacs as #:emacs when natively
compiling and emacs-minimal for cross-compiling – and also
removing native-compilation from the "minimal" packages – but
before I put those plans into actions I'd like to hear some
bug reports for this series.

My own emacs manifest builds now, so I consider this otherwise stable.

Cheers

Liliana Marie Prikler (7):
  gnu: Parameterize libgccjit.
  gnu: libgccjit: Build with bootstrapped gcc.
  gnu: libgccjit: Build multiple versions.
  gnu: emacs: Build with native compilation.
  guix: emacs-utils: Add emacs-compile-directory.
  build-system: emacs: Use native compilation.
  gnu: emacs-yasnippet: Fix build.

 gnu/packages/emacs.scm                        | 67 ++++++++++++++++++-
 gnu/packages/gcc.scm                          | 53 ++++++++++-----
 .../patches/emacs-yasnippet-fix-tests.patch   | 30 +++++++--
 guix/build/emacs-build-system.scm             | 20 +++++-
 guix/build/emacs-utils.scm                    | 30 +++++++++
 5 files changed, 174 insertions(+), 26 deletions(-)

-- 
2.37.2





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

end of thread, other threads:[~2022-08-25  7:31 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <b4c6419964da360a33377d373f034f0061619cfd.camel@gmail.com>
2022-08-09 18:37 ` bug#55657: [PATCH 0/6] Add native compilation to Emacs Liliana Marie Prikler
2022-08-05  3:29   ` [bug#57086] [PATCH v3 1/7] gnu: Parameterize libgccjit Liliana Marie Prikler
2022-08-05  3:29   ` [bug#57086] [PATCH 1/6] " Liliana Marie Prikler
2022-08-05 18:27   ` [bug#57086] [PATCH 2/6] gnu: libgccjit: Build with bootstrapped gcc Liliana Marie Prikler
2022-08-05 18:27   ` [bug#57086] [PATCH v3 2/7] " Liliana Marie Prikler
2022-08-05 18:30   ` [bug#57086] [PATCH v3 3/7] gnu: libgccjit: Build multiple versions Liliana Marie Prikler
2022-08-05 18:30   ` [bug#57086] [PATCH 3/6] " Liliana Marie Prikler
2022-08-05 22:37   ` [bug#57086] [PATCH v3 4/7] gnu: emacs: Build with native compilation Liliana Marie Prikler
2022-08-05 22:37   ` [bug#57086] [PATCH 4/6] " Liliana Marie Prikler
2022-08-09 18:26   ` [bug#57086] [PATCH 5/6] guix: emacs-utils: Add emacs-compile-directory Liliana Marie Prikler
2022-08-09 18:26     ` [bug#57086] [PATCH v2 " Liliana Marie Prikler
2022-08-09 18:26   ` [bug#57086] [PATCH v3 5/7] " Liliana Marie Prikler
2022-08-09 18:32   ` [bug#57086] [PATCH v3 6/7] build-system: emacs: Use native compilation Liliana Marie Prikler
2022-08-09 18:32   ` [bug#57086] [PATCH 6/6] " Liliana Marie Prikler
2022-08-09 21:19   ` [bug#57086] [PATCH 0/6] Add native compilation to Emacs ( via Guix-patches via
2022-08-10  4:19     ` Liliana Marie Prikler
2022-08-10  6:11       ` ( via Guix-patches via
2022-08-23 20:07     ` Liliana Marie Prikler
2022-08-24 21:59   ` [bug#57086] [PATCH v3 7/7] gnu: emacs-yasnippet: Fix build Liliana Marie Prikler
2022-08-25  7:08   ` [bug#57086] [PATCH v3 0/7] Add native compilation to Emacs 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).