all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#47661] [PATCH 00/33] Improve Emacs UX.
@ 2021-04-08 17:46 Leo Prikler
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                   ` (2 more replies)
  0 siblings, 3 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:46 UTC (permalink / raw)
  To: 47661

This patch set supersedes the wip-emacs branch.  It can be deleted,
once it's merged.

Hi Guix,

as you all recall, I recently put in some efforts into improving the
Emacs user experience in Guix.  There are three bugs addressed by this
patch set:

1. Emacs libraries may inadvertently overwrite files in other libraries
   (solved by using ELPA-style subdirectories)
2. Emacs cannot find its own load-path after an update.  (Solved with a
   wrapper).
3. Emacs can't find core programs, such as "ls" or "gzip".

Below are some git statistics, have fun with them while I'm waiting for
a bug number to send the patches :)

Regards,
Leo

Leo Prikler (27):
  profiles: Add hook for Emacs subdirs.
  gnu: emacs: Wrap EMACSLOADPATH.
  gnu: emacs: Patch more program file names.
  build-system: emacs: Use subdirectories again.
  gnu: emacs-libgit: Adjust to changes in emacs-build-system.
  gnu: emacs-guix: Adjust to changes in emacs-build-system.
  gnu: emacs-telega: Adjust to changes in emacs-build-system.
  gnu: Add emacs-telega-contrib.
  gnu: emacs-emacsql: Adjust to changes in emacs-build-system.
  gnu: emacs-howm: Adjust to changes in emacs-build-system.
  gnu: emacs-ert-runner: Adjust to changes in emacs-build-system.
  gnu: emacs-shroud: Adjust to changes in emacs-build-system.
  gnu: emacs-sly-stepper: Adjust to changes in emacs-build-system.
  gnu: emacs-sly-stepper: Remove generated sources.
  gnu: emacs-org-contrib: Adjust to changes in emacs-build-system.
  gnu: emacs-edbi: Adjust to changes in emacs-build-system.
  gnu: emacs-scel: Adjust to changes in emacs-build-system.
  gnu: emacs-vterm: Adjust to changes in emacs-build-system.
  gnu: notmuch: Adjust to changes in emacs-build-system.
  gnu: emacs-pyim: Update to 3.6.
  gnu: emacs-realgud: Adjust to changes in emacs-build-system.
  gnu: geiser-gauche: Adjust to changes in emacs-build-system.
  gnu: emacs-dvc: Adjust to changes in emacs-build-system.
  gnu: emacs-w3m: Adjust to changes in emacs-build-system.
  gnu: emacs-wget: Port to emacs-build-system.
  gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system.
  gnu: emacs-julia-snail: Adjust to changes in emacs-build-system.

Morgan Smith (5):
  gnu: emacs-geiser: Update to 0.13.
  gnu: Add emacs-geiser-guile.
  gnu: emacs-guix: Update to 0.5.2-4.8ce6d21.
  gnu: emacs-flycheck-guile: Add missing input.
  gnu: guile-studio: Add missing input.

Xinglu Chen (1):
  gnu: emacs-pdf-tools: Adjust to changes in emacs-build-system.

 gnu/local.mk                                  |   2 +
 gnu/packages/emacs-xyz.scm                    | 369 ++++++++++--------
 gnu/packages/emacs.scm                        |  52 ++-
 gnu/packages/guile-xyz.scm                    |   1 +
 gnu/packages/mail.scm                         |   3 +-
 ...ser-autoload-activate-implementation.patch |  26 ++
 .../emacs-geiser-guile-auto-activate.patch    |  34 ++
 guix/build/emacs-build-system.scm             |  70 ++--
 guix/profiles.scm                             |  41 ++
 guix/status.scm                               |   2 +
 10 files changed, 391 insertions(+), 209 deletions(-)
 create mode 100644 gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch
 create mode 100644 gnu/packages/patches/emacs-geiser-guile-auto-activate.patch

--
2.31.1




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

* [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs.
  2021-04-08 17:46 [bug#47661] [PATCH 00/33] Improve Emacs UX Leo Prikler
@ 2021-04-08 17:49 ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
                     ` (31 more replies)
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
  2021-04-29 12:16 ` [bug#47661] [PATCH 00/33] Improve Emacs UX Xinglu Chen
  2 siblings, 32 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* guix/profiles.scm (emacs-subdirs): New variable.
(%default-profile-hooks): Add it here.
* guix/status.scm (hook-message): Add a message for emacs-subdirs.
---
 guix/profiles.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 guix/status.scm   |  2 ++
 2 files changed, 43 insertions(+)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 67d90532c1..26fe266a61 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1115,6 +1115,46 @@ MANIFEST.  Single-file bundles are required by programs such as Git and Lynx."
                     `((type . profile-hook)
                       (hook . ca-certificate-bundle))))
 
+(define (emacs-subdirs manifest)
+  (define build
+    (with-imported-modules (source-module-closure
+                            '((guix build profiles)
+                              (guix build utils)))
+      #~(begin
+          (use-modules (guix build utils)
+                       (guix build profiles)
+                       (ice-9 ftw) ; scandir
+                       (srfi srfi-1) ; append-map
+                       (srfi srfi-26))
+
+          (let ((destdir (string-append #$output "/share/emacs/site-lisp"))
+                (subdirs
+                 (append-map
+                  (lambda (dir)
+                    (filter
+                     file-is-directory?
+                     (map (cute string-append dir "/" <>)
+                          (scandir dir (negate (cute member <> '("." "..")))))))
+                  (filter file-exists?
+                          (map (cute string-append <> "/share/emacs/site-lisp")
+                               '#$(manifest-inputs manifest))))))
+            (mkdir-p destdir)
+            (with-directory-excursion destdir
+              (call-with-output-file "subdirs.el"
+                (lambda (port)
+                  (write
+                   `(normal-top-level-add-to-load-path
+                     (list ,@subdirs))
+                   port)
+                  (newline port)
+                  #t)))))))
+  (gexp->derivation "emacs-subdirs" build
+                    #:local-build? #t
+                    #:substitutable? #f
+                    #:properties
+                    `((type . profile-hook)
+                      (hook . emacs-subdirs))))
+
 (define (glib-schemas manifest)
   "Return a derivation that unions all schemas from manifest entries and
 creates the Glib 'gschemas.compiled' file."
@@ -1672,6 +1712,7 @@ MANIFEST."
         fonts-dir-file
         ghc-package-cache-file
         ca-certificate-bundle
+        emacs-subdirs
         glib-schemas
         gtk-icon-themes
         gtk-im-modules
diff --git a/guix/status.scm b/guix/status.scm
index 362ae2882c..2683678201 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -379,6 +379,8 @@ the current build phase."
      (G_ "building GHC package cache..."))
     ('ca-certificate-bundle
      (G_ "building CA certificate bundle..."))
+    ('emacs-subdirs
+     (G_ "listing Emacs subdirs..."))
     ('glib-schemas
      (G_ "generating GLib schema cache..."))
     ('gtk-icon-themes
-- 
2.31.1





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

* [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 03/33] gnu: emacs: Patch more program file names Leo Prikler
                     ` (30 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

With this, the search path specification of EMACSLOADPATH does no longer
depend on the version of Emacs, which should make upgrading major versions
less painful.  See also:
- <https://bugs.gnu.org/43627>
- <https://bugs.gnu.org/47458>

* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘wrap-load-path’.
[native-search-path]<EMACSLOADPATH>: Do not search for builtin libraries.
(emacs-next)[native-search-path]: Inherit from emacs.
---
 gnu/packages/emacs.scm | 35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7447cfe33a..e1b01ac22b 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -201,6 +201,24 @@
                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
                 "bin/emacs")
                #t)))
+         (add-after 'strip-double-wrap 'wrap-load-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lisp-dirs (find-files (string-append out "/share/emacs")
+                                           "^lisp$"
+                                           #:directories? #t)))
+               (for-each
+                (lambda (prog)
+                  (wrap-program prog
+                    `("EMACSLOADPATH" suffix ,lisp-dirs)))
+                (find-files (string-append out "/bin")
+                            ;; Matches versioned and unversioned emacs binaries.
+                            ;; We don't patch emacsclient, because it takes its
+                            ;; environment variables from emacs.
+                            ;; Likewise, we don't need to patch helper binaries
+                            ;; like etags, ctags or ebrowse.
+                            "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))
+               #t)))
          (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
            ;; The 'reset-gzip-timestamps phase will throw a permission error
            ;; if gzip files aren't writable then.  This phase is needed when
@@ -255,9 +273,7 @@
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-            ;; The versioned entry is for the Emacs' builtin libraries.
-            (files (list "share/emacs/site-lisp"
-                         (string-append "share/emacs/" version "/lisp"))))
+            (files '("share/emacs/site-lisp")))
            (search-path-specification
             (variable "INFOPATH")
             (files '("share/info")))))
@@ -294,18 +310,7 @@ languages.")
            "0igjm9kwiswn2dpiy2k9xikbdfc7njs07ry48fqz70anljj8y7y3"))))
       (native-inputs
        `(("autoconf" ,autoconf)
-         ,@(package-native-inputs emacs)))
-      (native-search-paths
-       (list (search-path-specification
-              (variable "EMACSLOADPATH")
-              ;; The versioned entry is for the Emacs' builtin libraries.
-              (files (list "share/emacs/site-lisp"
-                           (string-append "share/emacs/"
-                                          (version-major+minor+point version)
-                                          "/lisp"))))
-             (search-path-specification
-              (variable "INFOPATH")
-              (files '("share/info"))))))))
+         ,@(package-native-inputs emacs))))))
 
 (define-public emacs-next-pgtk
   (let ((commit "ae18c8ec4f0ef37c8c9cda473770ff47e41291e2")
-- 
2.31.1





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

* [bug#47661] [PATCH 03/33] gnu: emacs: Patch more program file names.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 04/33] build-system: emacs: Use subdirectories again Leo Prikler
                     ` (29 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs.scm (patch-program-file-names): Patch "ls", "sh" and
"gzip".
---
 gnu/packages/emacs.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e1b01ac22b..93db9fa242 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -136,6 +136,15 @@
                             "lisp/progmodes/sh-script.el")
                (("\"/bin/sh\"")
                 (format #f "~s" (which "sh"))))
+             (substitute* "lisp/files.el"
+               (("\\(purecopy \"ls\"\\)")
+                (format #f "(purecopy ~s)" (which "ls"))))
+             (substitute* '("src/filelock.c"
+                            "lisp/dired-aux.el"
+                            "lisp/jka-compr.el"
+                            "lisp/jka-cmpr-hook.el")
+               (("\"(sh\|gzip)\"" all cmd)
+                (format #f "~s" (which cmd))))
              #t))
          (add-before 'configure 'fix-/bin/pwd
            (lambda _
@@ -231,6 +240,10 @@
      `(("gnutls" ,gnutls)
        ("ncurses" ,ncurses)
 
+       ;; Required for "core" functionality, such as dired and compression.
+       ("coreutils" ,coreutils)
+       ("gzip" ,gzip)
+
        ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
        ;; only via insecure channels.  This is not needed for (modern) IMAP.
        ("mailutils" ,mailutils)
@@ -361,7 +374,9 @@ also enabled and works without glitches even on X server."))))
            (delete 'strip-double-wrap)))))
     (inputs
      `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
-       ("ncurses" ,ncurses)))
+       ("ncurses" ,ncurses)
+       ("coreutils" ,coreutils)
+       ("gzip" ,gzip)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))))
 
-- 
2.31.1





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

* [bug#47661] [PATCH 04/33] build-system: emacs: Use subdirectories again.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 03/33] gnu: emacs: Patch more program file names Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
                     ` (28 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

With this, Emacs libraries are installed in the ELPA_NAME-VERSION subdirectory
of site-lisp and potential subdirectories should no longer collide.

* guix/build/emacs-build-system.scm (add-source-to-load-path): Rename to...
(expand-load-path): ... this.  Also expand lone subdirectories of site-lisp.
(%standard-phases): Adjust accordingly.
(elpa-directory): New variable.  Export it publicly for use in other build
systems.
(build, patch-el-files, make-autoloads): Use ELPA name and version to
construct subdirectories of %install-dir.
(install): Install in subdirectory.
---
 guix/build/emacs-build-system.scm | 70 ++++++++++++++++++++-----------
 1 file changed, 45 insertions(+), 25 deletions(-)

diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index 26ea59bc25..ae0f2e569e 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -26,13 +26,16 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-26)
+  #:use-module (ice-9 format)
+  #:use-module (ice-9 ftw)
   #:use-module (ice-9 rdelim)
   #:use-module (ice-9 regex)
   #:use-module (ice-9 match)
   #:export (%standard-phases
             %default-include
             %default-exclude
-            emacs-build))
+            emacs-build
+            elpa-directory))
 
 ;; Commentary:
 ;;
@@ -73,33 +76,43 @@ archive, a directory, or an Emacs Lisp file."
         #t)
       (gnu:unpack #:source source)))
 
-(define* (add-source-to-load-path #:key dummy #:allow-other-keys)
-  "Augment the EMACSLOADPATH environment variable with the source directory."
+(define* (expand-load-path #:key (prepend-source? #t) #:allow-other-keys)
+  "Expand EMACSLOADPATH, so that inputs, whose code resides in subdirectories,
+are properly found.
+If @var{prepend-source?} is @code{#t} (the default), also add the current
+directory to EMACSLOADPATH in front of any other directories."
   (let* ((source-directory (getcwd))
          (emacs-load-path (string-split (getenv "EMACSLOADPATH") #\:))
-         ;; XXX: Make sure the Emacs core libraries appear at the end of
-         ;; EMACSLOADPATH, to avoid shadowing any other libraries depended
-         ;; upon.
-         (emacs-load-path-non-core (filter (cut string-contains <>
-                                                "/share/emacs/site-lisp")
-                                           emacs-load-path))
+         (emacs-load-path*
+          (map
+           (lambda (dir)
+             (match (scandir dir (negate (cute member <> '("." ".."))))
+               ((sub) (string-append dir "/" sub))
+               (_ dir)))
+           emacs-load-path))
          (emacs-load-path-value (string-append
-                                 (string-join (cons source-directory
-                                                    emacs-load-path-non-core)
-                                              ":")
+                                 (string-join
+                                  (if prepend-source?
+                                      (cons source-directory emacs-load-path*)
+                                      emacs-load-path*)
+                                  ":")
                                  ":")))
     (setenv "EMACSLOADPATH" emacs-load-path-value)
-    (format #t "source directory ~s prepended to the `EMACSLOADPATH' \
-environment variable\n" source-directory)))
+    (when prepend-source?
+      (format #t "source directory ~s prepended to the `EMACSLOADPATH' \
+environment variable\n" source-directory))
+    (let ((diff (lset-difference string=? emacs-load-path* emacs-load-path)))
+      (unless (null? diff)
+        (format #t "expanded load paths for ~{~a~^, ~}\n"
+                (map basename diff))))))
 
 (define* (build #:key outputs inputs #:allow-other-keys)
   "Compile .el files."
   (let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
-         (out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir)))
+         (out (assoc-ref outputs "out")))
     (setenv "SHELL" "sh")
     (parameterize ((%emacs emacs))
-      (emacs-byte-compile-directory site-lisp))))
+      (emacs-byte-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
@@ -116,7 +129,8 @@ store in '.el' files."
       #:binary #t))
 
   (let* ((out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir))
+         (elpa-name-ver (store-directory->elpa-name-version out))
+         (el-dir (string-append out %install-dir "/" elpa-name-ver))
          ;; (ice-9 regex) uses libc's regexp routines, which cannot deal with
          ;; strings containing NULs.  Filter out such files.  TODO: Remove
          ;; this workaround when <https://bugs.gnu.org/30116> is fixed.
@@ -130,7 +144,7 @@ store in '.el' files."
              (error "patch-el-files: unable to locate " cmd-name))
            (string-append "\"" cmd "\"")))))
 
-    (with-directory-excursion site-lisp
+    (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))
@@ -181,14 +195,14 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
            (not (any (cut match-stripped-file "excluded" <>) exclude)))))
 
   (let* ((out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir))
+         (el-dir (elpa-directory out))
          (files-to-install (find-files source install-file?)))
     (cond
      ((not (null? files-to-install))
       (for-each
        (lambda (file)
          (let* ((stripped-file (string-drop file (string-length source)))
-                (target-file (string-append site-lisp stripped-file)))
+                (target-file (string-append el-dir stripped-file)))
            (format #t "`~a' -> `~a'~%" file target-file)
            (install-file file (dirname target-file))))
        files-to-install)
@@ -219,11 +233,11 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
   "Generate the autoloads file."
   (let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
          (out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir))
          (elpa-name-ver (store-directory->elpa-name-version out))
-         (elpa-name (package-name->name+version elpa-name-ver)))
+         (elpa-name (package-name->name+version elpa-name-ver))
+         (el-dir (elpa-directory out)))
     (parameterize ((%emacs emacs))
-      (emacs-generate-autoloads elpa-name site-lisp))))
+      (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
@@ -258,10 +272,16 @@ second hyphen.  This corresponds to 'name-version' as used in ELPA packages."
             strip-store-file-name)
    store-dir))
 
+(define (elpa-directory store-dir)
+  "Given the store directory STORE-DIR return the absolute install directory
+for libraries following the ELPA convention."
+  (string-append store-dir %install-dir "/"
+                 (store-directory->elpa-name-version store-dir)))
+
 (define %standard-phases
   (modify-phases gnu:%standard-phases
     (replace 'unpack unpack)
-    (add-after 'unpack 'add-source-to-load-path add-source-to-load-path)
+    (add-after 'unpack 'expand-load-path expand-load-path)
     (delete 'bootstrap)
     (delete 'configure)
     (delete 'build)
-- 
2.31.1





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

* [bug#47661] [PATCH 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (2 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 04/33] build-system: emacs: Use subdirectories again Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 06/33] gnu: emacs-guix: " Leo Prikler
                     ` (27 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-libgit)[set-libgit--module-file]: Use
elpa-directory for libgit--module-file path.
---
 gnu/packages/emacs-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8e80ccbb56..b0d5e0189c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -501,7 +501,7 @@ on stdout instead of using a socket as the Emacsclient does.")
                  (make-file-writable "libgit.el")
                  (emacs-substitute-variables "libgit.el"
                    ("libgit--module-file"
-                    (string-append out "/share/emacs/site-lisp/libegit2.so")))
+                    (string-append (emacs:elpa-directory out) "/libegit2.so")))
                  #t)))
            (add-before 'install 'prepare-for-install
              (lambda _
-- 
2.31.1





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

* [bug#47661] [PATCH 06/33] gnu: emacs-guix: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (3 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 07/33] gnu: emacs-telega: " Leo Prikler
                     ` (26 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-guix)[#:phases]: Add expand-load-path.
[#:configure-flags]: Install to elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b0d5e0189c..f918ade782 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -3009,6 +3009,23 @@ type, for example: packages, buffers, files, etc.")
                  (base32
                   "1pqw7zbgxzwpig4xr0izc3z8h80c72i6bl5yi12br0d7aq6dbkvj"))))
       (build-system gnu-build-system)
+      (arguments
+       `(#:modules ((guix build gnu-build-system)
+                    ((guix build emacs-build-system) #:prefix emacs:)
+                    (guix build utils))
+         #:imported-modules (,@%gnu-build-system-modules
+                             (guix build emacs-build-system)
+                             (guix build emacs-utils))
+         #:configure-flags
+         (list (string-append "--with-lispdir="
+                              (emacs:elpa-directory (assoc-ref %outputs "out"))))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'expand-load-path
+             (lambda _
+               ((assoc-ref emacs:%standard-phases 'expand-load-path)
+                #:prepend-source? #f)
+               #t)))))
       (native-inputs
        `(("autoconf" ,autoconf)
          ("automake" ,automake)
-- 
2.31.1





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

* [bug#47661] [PATCH 07/33] gnu: emacs-telega: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (4 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 06/33] gnu: emacs-guix: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 08/33] gnu: Add emacs-telega-contrib Leo Prikler
                     ` (25 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-telega.scm (emacs-telega)[#:phases]: Reorder.
<telega-paths-patch>: Rename to...
<patch-sources>: ... this.  Also don't patch paths to subdirs.
Remove the snippet, that would push contrib to the load path.
<server-suite-patch>: Rename to...
<patch-test-suite>: ... this.
<emacs-install>: Also install etc.
<emacs-bytecomp-contrib, telega-install-contrib, telega-install-data>: Removed
phases.
---
 gnu/packages/emacs-xyz.scm | 62 +++++++++-----------------------------
 1 file changed, 15 insertions(+), 47 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f918ade782..fd38f023d3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -25131,7 +25131,9 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
                  (("python3 run_tests.py")
                   ""))
                #t))
-           (add-after 'check 'telega-paths-patch
+           (add-after 'unpack 'expand-load-path
+             (assoc-ref emacs:%standard-phases 'expand-load-path))
+           (add-after 'unpack 'patch-sources
              (lambda* (#:key inputs #:allow-other-keys)
                ;; Hard-code paths to `ffplay` and `ffmpeg`.
                (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
@@ -25147,24 +25149,15 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
                     (string-append
                      "(and (file-executable-p \"" ffmpeg-bin "\")"
                      "\"" ffmpeg-bin "\")"))))
-               ;; Modify telega-util to reflect unique dir name in
-               ;; `telega-install-data' phase.
-               (substitute* "telega-util.el"
-                 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
-                  "(concat \"telega-data/\" filename)
-                    (locate-dominating-file telega--lib-directory
-                                            \"telega-data\")"))
-               ;; Modify telega.el to reflect unique dir name in
-               ;; `telega-install-contrib' phase.
+               ;; This would push the "contrib" sources to the load path,
+               ;; but as contrib is not installed alongside telega, it does
+               ;; nothing.
                (substitute* "telega.el"
-                 (("\\(push \\(expand-file-name \"contrib\" telega--lib-directory\\) load-path\\)")
-                  "(push (expand-file-name \"telega-contrib\"
-                     (locate-dominating-file telega--lib-directory
-                                             \"telega-contrib\")) load-path)"))
+                 (("\\(push .* load-path\\)") ""))
                #t))
            ;; The server test suite has a hardcoded path.
            ;; Reset this behavior to use the proper path.
-           (add-after 'unpack 'server-suite-patch
+           (add-after 'unpack 'patch-test-suite
              (lambda _
                (substitute* "server/run_tests.py"
                  (("~/.telega/telega-server")
@@ -25176,39 +25169,14 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
                (invoke "python3" "server/run_tests.py")
                #t))
            (delete 'configure)
-           ;; Build emacs-side using `emacs-build-system'
-           (add-after 'compress-documentation 'emacs-add-source-to-load-path
-             (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
-	   ;; Manually invoke bytecompilation for the contrib
-	   ;; subdirectory.
-           (add-after 'emacs-add-source-to-load-path 'emacs-bytecomp-contrib
-             (lambda _
-	       (substitute* "Makefile"
-                 (("byte-recompile-directory \".\"")
-                  "byte-recompile-directory \"contrib\""))
-               (invoke "make" "compile")
-	       #t))
-           (add-after 'emacs-bytecomp-contrib 'emacs-install
-             (assoc-ref emacs:%standard-phases 'install))
-           ;; This step installs subdir /etc, which contains images, sounds and
-           ;; various other data, next to the site-lisp dir.
-           (add-after 'emacs-install 'telega-install-data
-             (lambda* (#:key outputs #:allow-other-keys)
-               (copy-recursively
-                "etc"
-                (string-append (assoc-ref outputs "out")
-                               "/share/emacs/telega-data/"))
-               #t))
-           (add-after 'emacs-install 'telega-install-contrib
-             (lambda* (#:key outputs #:allow-other-keys)
-               (copy-recursively
-                "contrib"
-                (string-append (assoc-ref outputs "out")
-                               "/share/emacs/telega-contrib"))
-               #t))
-           (add-after 'telega-install-contrib 'emacs-build
+           (add-after 'expand-load-path 'emacs-install
+             (lambda args
+               (apply (assoc-ref emacs:%standard-phases 'install)
+                      #:include `("etc" ,@emacs:%default-include)
+                      args)))
+           (add-after 'emacs-install 'emacs-build
              (assoc-ref emacs:%standard-phases 'build))
-           (add-after 'telega-install-contrib 'emacs-make-autoloads
+           (add-after 'emacs-install 'emacs-make-autoloads
              (assoc-ref emacs:%standard-phases 'make-autoloads)))))
       (inputs
        `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
-- 
2.31.1





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

* [bug#47661] [PATCH 08/33] gnu: Add emacs-telega-contrib.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (5 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 07/33] gnu: emacs-telega: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
                     ` (24 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-telega-contrib): New variable.
---
 gnu/packages/emacs-xyz.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index fd38f023d3..8861909bf1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -25202,6 +25202,21 @@ Telegram messaging platform.")
       (home-page "https://zevlg.github.io/telega.el/")
       (license license:gpl3+))))
 
+(define-public emacs-telega-contrib
+  (package/inherit emacs-telega
+    (name "emacs-telega-contrib")
+    (build-system emacs-build-system)
+    (arguments
+     `(#:exclude '("telega-live-location.el")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _ (chdir "contrib") #t)))))
+    (propagated-inputs
+     `(("emacs-telega" ,emacs-telega)
+       ("emacs-alert" ,emacs-alert)
+       ("emacs-all-the-icons" ,emacs-all-the-icons)))))
+
 (define-public emacs-doom-modeline
   (package
     (name "emacs-doom-modeline")
-- 
2.31.1





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

* [bug#47661] [PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (6 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 08/33] gnu: Add emacs-telega-contrib Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 10/33] gnu: emacs-howm: " Leo Prikler
                     ` (23 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-emacsql)[#:phases]: Use standard build and
install phases.
[build-emacsql-sqlite]: Use cc-for-target.
---
 gnu/packages/emacs-xyz.scm | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8861909bf1..79c3c42613 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -15490,7 +15490,6 @@ object has been freed.")
                   (srfi srfi-26))
        #:phases
        (modify-phases %standard-phases
-         (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
          (add-before 'install 'patch-elisp-shell-shebangs
            (lambda _
              (substitute* (find-files "." "\\.el")
@@ -15501,7 +15500,7 @@ object has been freed.")
              (setenv "SHELL" "sh")))
          (add-after 'setenv-shell 'build-emacsql-sqlite
            (lambda _
-             (invoke "make" "binary" "CC=gcc")))
+             (invoke "make" "binary" (string-append "CC=" ,(cc-for-target)))))
          (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
            ;; This build phase installs emacs-emacsql binary.
            (lambda* (#:key outputs #:allow-other-keys)
@@ -15522,16 +15521,7 @@ object has been freed.")
                  ;; in the right place.
                  ("(defvar emacsql-sqlite-executable"
                   (string-append (assoc-ref outputs "out")
-                                 "/bin/emacsql-sqlite"))))))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out")))
-               (install-file "sqlite/emacsql-sqlite"
-                             (string-append out "/bin"))
-               (for-each (cut install-file <>
-                              (string-append out "/share/emacs/site-lisp"))
-                         (find-files "." "\\.elc*$")))
-             #t)))))
+                                 "/bin/emacsql-sqlite")))))))))
     (inputs
      `(("emacs-minimal" ,emacs-minimal)
        ("mariadb" ,mariadb "lib")
-- 
2.31.1





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

* [bug#47661] [PATCH 10/33] gnu: emacs-howm: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (7 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 11/33] gnu: emacs-ert-runner: " Leo Prikler
                     ` (22 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-howm)[#:configure-flags]: Install to
elpa-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 79c3c42613..ecf0e7ace6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -2348,8 +2348,7 @@ a set of simplified face specifications and a user-supplied color palette")
      `(("emacs" ,emacs-minimal)))
     (arguments
      `(#:configure-flags
-       (list (string-append "--with-howmdir=" %output
-                            "/share/emacs/site-lisp/"))
+       (list (string-append "--with-howmdir=" (emacs:elpa-directory %output)))
        #:modules ((guix build gnu-build-system)
                   ((guix build emacs-build-system) #:prefix emacs:)
                   (guix build utils))
-- 
2.31.1





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

* [bug#47661] [PATCH 11/33] gnu: emacs-ert-runner: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (8 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 10/33] gnu: emacs-howm: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 12/33] gnu: emacs-pdf-tools: " Leo Prikler
                     ` (21 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-ert-runner)[install-executable]: Use
elpa-directory for the value of ERT_RUNNER.
---
 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 ecf0e7ace6..7c26e872fe 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -13181,8 +13181,7 @@ variable instead, to remind you of that variable's meaning.")
 				      (getenv "TMPDIR") "/source")))
 	       (substitute* "bin/ert-runner"
 		 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
-		  (string-append "ERT_RUNNER=\"" out
-				 "/share/emacs/site-lisp")))
+		  (string-append "ERT_RUNNER=\"" (elpa-directory out))))
 	       (install-file "bin/ert-runner" (string-append out "/bin"))
 	       (wrap-program (string-append out "/bin/ert-runner")
 		 (list "EMACSLOADPATH" ":" 'prefix
-- 
2.31.1





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

* [bug#47661] [PATCH 12/33] gnu: emacs-pdf-tools: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (9 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 11/33] gnu: emacs-ert-runner: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 13/33] gnu: emacs-shroud: " Leo Prikler
                     ` (20 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661; +Cc: Xinglu Chen

From: Xinglu Chen <public@yoctocell.xyz>

* gnu/packages/emacs-xyz.scm (emacs-pdf-tools)[#:phases]: Rename
'emacs-add-source-to-load-path' to 'emacs-expand-load-path'.
Use expand-load-path, which replaces add-source-to-load-path.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/emacs-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7c26e872fe..1902327265 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -2917,8 +2917,8 @@ during idle time, while Emacs is doing nothing else.")
                ;; upgrading" that pdf-tools tries to perform.
                (emacs-substitute-variables "pdf-tools.el"
                  ("pdf-tools-handle-upgrades" '()))))
-           (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
-             (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
+           (add-after 'emacs-patch-variables 'emacs-expand-load-path
+             (assoc-ref emacs:%standard-phases 'expand-load-path))
            (add-after 'emacs-add-source-to-load-path 'emacs-install
              (assoc-ref emacs:%standard-phases 'install))
            (add-after 'emacs-install 'emacs-build
-- 
2.31.1





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

* [bug#47661] [PATCH 13/33] gnu: emacs-shroud: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (10 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 12/33] gnu: emacs-pdf-tools: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 14/33] gnu: emacs-sly-stepper: " Leo Prikler
                     ` (19 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-shroud)[#:phases]: Add ‘expand-load-path’.
[#:configure-flags]: Use elpa-directory for lispdir.
---
 gnu/packages/emacs-xyz.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 1902327265..96df1ecadd 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1049,6 +1049,19 @@ for editing Racket's Scribble documentation syntax in Emacs.")
        (sha256
         (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  ((guix build emacs-build-system) #:prefix emacs:)
+                  (guix build utils))
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-build-system)
+                           (guix build emacs-utils))
+       #:configure-flags (list (string-append "--with-lispdir="
+                                              (emacs:elpa-directory %output)))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'expand-load-path
+           (assoc-ref emacs:%standard-phases 'expand-load-path)))))
     (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
-- 
2.31.1





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

* [bug#47661] [PATCH 14/33] gnu: emacs-sly-stepper: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (11 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 13/33] gnu: emacs-shroud: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
                     ` (18 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-sly-stepper)[#:phases]:
<add-contrib-to-emacs-load-path>: Rename to...
<expand-sly-contrib>: ... this.  Use find-files to find contrib directory.
<install>: Find slynk-stepper.lisp in elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 96df1ecadd..8615269546 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10333,24 +10333,26 @@ inside the source file.")
       (propagated-inputs
        `(("emacs-sly" ,emacs-sly)))
       (arguments
-       '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
+       `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
          #:phases
          (modify-phases %standard-phases
            ;; The package provides autoloads.
            (delete 'make-autoloads)
            (delete 'enable-autoloads-compilation)
-           (add-after 'add-source-to-load-path 'add-contrib-to-emacs-load-path
+           (add-after 'expand-load-path 'expand-sly-contrib
              (lambda* (#:key inputs #:allow-other-keys)
-               (let ((sly (assoc-ref inputs "emacs-sly")))
+               (let* ((sly (assoc-ref inputs "emacs-sly"))
+                      (contrib (find-files sly "^contrib$" #:directories? #t)))
                  (setenv "EMACSLOADPATH"
-                         (string-append sly "/share/emacs/site-lisp/contrib:"
-                                        (getenv "EMACSLOADPATH"))))
-               #t))
+                         (string-append (string-join contrib ":")
+                                        ":"
+                                        (getenv "EMACSLOADPATH")))
+                 #t)))
            (add-after 'install 'find-agnostic-lizard
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
-                      (file (string-append out "/share/emacs/site-lisp/"
-                                           "slynk-stepper.lisp"))
+                      (file (string-append (elpa-directory out)
+                                           "/slynk-stepper.lisp"))
                       (asd (string-append
                             (assoc-ref inputs "cl-agnostic-lizard")
                             "/share/common-lisp/systems/agnostic-lizard.asd")))
-- 
2.31.1





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

* [bug#47661] [PATCH 15/33] gnu: emacs-sly-stepper: Remove generated sources.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (12 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 14/33] gnu: emacs-sly-stepper: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
                     ` (17 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (sly-stepper)[source]: Add snippet to remove
autoloads.
[#:phases]: Do not delete ‘make-autoloads’ or ‘enable-autoloads-compilation’.
---
 gnu/packages/emacs-xyz.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8615269546..53dd61e924 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10326,7 +10326,12 @@ inside the source file.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1hxniaxifdw3m4y4yssgy22xcmmf558wx7rpz66wy5hwybjslf7b"))))
+           "1hxniaxifdw3m4y4yssgy22xcmmf558wx7rpz66wy5hwybjslf7b"))
+         (modules '((guix build utils)))
+         (snippet
+          '(begin
+             (map delete-file (find-files "." ".*-autoloads\\.elc?$"))
+             #t))))
       (build-system emacs-build-system)
       (inputs
        `(("cl-agnostic-lizard" ,cl-agnostic-lizard)))
@@ -10336,9 +10341,6 @@ inside the source file.")
        `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
          #:phases
          (modify-phases %standard-phases
-           ;; The package provides autoloads.
-           (delete 'make-autoloads)
-           (delete 'enable-autoloads-compilation)
            (add-after 'expand-load-path 'expand-sly-contrib
              (lambda* (#:key inputs #:allow-other-keys)
                (let* ((sly (assoc-ref inputs "emacs-sly"))
-- 
2.31.1





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

* [bug#47661] [PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (13 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 17/33] gnu: emacs-edbi: " Leo Prikler
                     ` (16 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-org-contrib)[delete-org-files]: Excurse
into elpa-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 53dd61e924..be000dede3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -11116,8 +11116,7 @@ programming and reproducible research.")
                     (duplicates (lset-intersection string=?
                                                    contrib-files
                                                    org+contrib-files)))
-               (with-directory-excursion
-                   (string-append out "/share/emacs/site-lisp")
+               (with-directory-excursion (elpa-directory out)
                  (for-each delete-file duplicates))
                #t))))))
     (propagated-inputs
-- 
2.31.1





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

* [bug#47661] [PATCH 17/33] gnu: emacs-edbi: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (14 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 18/33] gnu: emacs-scel: " Leo Prikler
                     ` (15 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-edbi)[patch-path]: Execute after unpack.
[wrap-edbi-bridge]: New phase (after wrap).  Find edbi-bridge in elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index be000dede3..f3d9f98189 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21419,17 +21419,21 @@ asynchronous communications, the RPC response is fairly good.")
        `(#:include '("\\.el$" "\\.pl$")
          #:phases
          (modify-phases %standard-phases
-           (add-after 'install 'patch-path
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let ((perl (assoc-ref inputs "perl"))
-                     (dir (string-append  (assoc-ref outputs "out")
-                                          "/share/emacs/site-lisp")))
-                 (substitute* (string-append dir  "/edbi.el")
+           (add-after 'unpack 'patch-path
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((perl (assoc-ref inputs "perl")))
+                 (substitute* "edbi.el"
                    (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
-                 (chmod (string-append dir "/edbi-bridge.pl") #o555)
-                 (wrap-program (string-append dir "/edbi-bridge.pl")
-                   `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
-                 #t))))))
+                 #t)))
+           (add-after 'wrap 'wrap-edbi-bridge
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bridge (string-append (elpa-directory out)
+                                             "/edbi-bridge.pl")))
+                 (chmod bridge #o555)
+                 (wrap-program bridge
+                   `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
+               #t)))))
       (synopsis "Database Interface for Emacs Lisp")
       (description "This program connects the database server through Perl's
 DBI, and provides DB-accessing API and the simple management UI.")
-- 
2.31.1





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

* [bug#47661] [PATCH 18/33] gnu: emacs-scel: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (15 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 17/33] gnu: emacs-edbi: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 19/33] gnu: emacs-vterm: " Leo Prikler
                     ` (14 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-scel)[#:phases]<configure>: Use
elpa-directory.
<add-el-dir-to-emacs-load-path>: Adjust location.
---
 gnu/packages/emacs-xyz.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f3d9f98189..3e0650e87e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6087,12 +6087,11 @@ to a key in your preferred mode.")
              (lambda* (#:key outputs #:allow-other-keys)
                (substitute* "el/CMakeLists.txt"
                  (("share/emacs/site-lisp/SuperCollider")
-                  (string-append
-                   "share/emacs/site-lisp")))
+                  (elpa-directory (assoc-ref outputs "out"))))
                ((assoc-ref cmake:%standard-phases 'configure)
                 #:outputs outputs
                 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
-           (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
+           (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path
              (lambda _
                (setenv "EMACSLOADPATH"
                        (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
-- 
2.31.1





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

* [bug#47661] [PATCH 19/33] gnu: emacs-vterm: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (16 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 18/33] gnu: emacs-scel: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 20/33] gnu: notmuch: " Leo Prikler
                     ` (13 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-vterm)[substitute-vterm-module-path]:
Move after ‘unpack’.
---
 gnu/packages/emacs-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 3e0650e87e..16e17bac0c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21585,7 +21585,7 @@ stored playlists.")
                              (guix build cmake-build-system))
          #:phases
          (modify-phases %standard-phases
-           (add-before 'add-source-to-load-path 'substitute-vterm-module-path
+           (add-after 'unpack 'substitute-vterm-module-path
              (lambda* (#:key outputs #:allow-other-keys)
                (chmod "vterm.el" #o644)
                (emacs-substitute-sexps "vterm.el"
-- 
2.31.1





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

* [bug#47661] [PATCH 20/33] gnu: notmuch: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (17 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 19/33] gnu: emacs-vterm: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
                     ` (12 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/mail.scm (notmuch)[configure]: Use elpa-directory.
---
 gnu/packages/mail.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 56fae3fcba..abef94baf8 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1317,8 +1317,7 @@ invoking @command{notifymuch} from the post-new hook.")
                       (setenv "CONFIG_SHELL" (which "sh"))
 
                       (let* ((out (assoc-ref outputs "out"))
-                             (elisp
-                              (string-append out "/share/emacs/site-lisp/")))
+                             (elisp (emacs:elpa-directory out)))
                         (invoke "./configure"
                                 (string-append "--prefix=" out)
                                 (string-append "--emacslispdir=" elisp)
-- 
2.31.1





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

* [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (18 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 20/33] gnu: notmuch: " Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
                     ` (11 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-pyim): Update to 3.6.
---
 gnu/packages/emacs-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 16e17bac0c..c92277854d 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -12582,13 +12582,13 @@ containing words from the Rime project.")
 (define-public emacs-pyim
   (package
     (name "emacs-pyim")
-    (version "3.2")
+    (version "3.6")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
        (sha256
-        (base32 "1rr9mq334dqf7mx1ii7910zkigw7chl63iws4sw0qsn014kjlb0a"))))
+        (base32 "1fmbzh33s9xdvrfjhkqr9ydcqbiv8lr04k5idvbpc9vwjjjan5y0"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-async" ,emacs-async)
-- 
2.31.1





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

* [bug#47661] [PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (19 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
                     ` (10 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-realgud)[fix-autogen-script]: Move after
‘expand-load-path’.
---
 gnu/packages/emacs-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c92277854d..ed731267dc 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7708,7 +7708,7 @@ after buffer changes.")
                                "(require-relative-list \
 '(\"../../common/run\") \"realgud:\")\n")))
              #t))
-         (add-after 'unpack 'fix-autogen-script
+         (add-after 'expand-load-path 'fix-autogen-script
            (lambda _
              (substitute* "autogen.sh"
                (("./configure") "sh configure"))
-- 
2.31.1





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

* [bug#47661] [PATCH 23/33] gnu: emacs-geiser: Update to 0.13.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (20 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 24/33] gnu: Add emacs-geiser-guile Leo Prikler
                     ` (9 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/emacs-xyz.scm (emacs-geiser): Update to 0.13.
[source]: Change upstream URL.
[build-system]: Change to emacs-build-system.
[arguments]: Adjust accordingly.
[native-inputs]: Remove emacs, autoconf, and automake.
[description]: State that other packages are needed for geiser to be useful.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/emacs-xyz.scm                    | 46 +++++++++++--------
 ...ser-autoload-activate-implementation.patch | 26 +++++++++++
 3 files changed, 54 insertions(+), 19 deletions(-)
 create mode 100644 gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 075504e302..c4eb1ab1f5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -967,6 +967,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch	\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
+  %D%/packages/patches/emacs-geiser-autoload-activate-implementation.patch	\
   %D%/packages/patches/emacs-ignore-empty-xim-styles.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ed731267dc..74f82293fc 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -217,43 +217,51 @@
 (define-public emacs-geiser
   (package
     (name "emacs-geiser")
-    (version "0.12")
+    (version "0.13")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://gitlab.com/jaor/geiser/")
+             (url "https://gitlab.com/emacs-geiser/geiser.git")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0n718xpys7v94zaf9lpmsx97qgn6qxif1acr718wyvpmfr4hiv08"))))
-    (build-system gnu-build-system)
+        (base32 "0bwjcfmcyv6z0i5ivqirgcibxdkrlf5vyxcbj7k8dk7flwg1fpd9"))
+       (patches
+        (search-patches "emacs-geiser-autoload-activate-implementation.patch"))))
+    (build-system emacs-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         (add-after 'install 'post-install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (symlink "geiser-install.el"
-                      (string-append (assoc-ref outputs "out")
-                                     "/share/emacs/site-lisp/"
-                                     "geiser-autoloads.el"))
-             #t)))))
-    (inputs
-     `(("guile" ,guile-2.2)))
+         ;; Move the source files to the top level, which is included in
+         ;; the EMACSLOADPATH.
+         (add-after 'unpack 'move-source-files
+           (lambda _
+             (let ((el-files (find-files "./elisp" ".*\\.el$")))
+               (for-each (lambda (f)
+                           (rename-file f (basename f)))
+                         el-files))
+             #t))
+         (add-before 'install 'make-info
+           (lambda _
+             (with-directory-excursion "doc"
+               (invoke "makeinfo" "--no-split"
+                       "-o" "geiser.info" "geiser.texi")))))))
     (native-inputs
-     `(("emacs" ,emacs-minimal)
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("texinfo" ,texinfo)))
+     `(("texinfo" ,texinfo)))
     (home-page "https://nongnu.org/geiser/")
-    (synopsis "Collection of Emacs modes for Guile and Racket hacking")
+    (synopsis "Collection of Emacs modes for Scheme hacking")
     (description
      "Geiser is a collection of Emacs major and minor modes that conspire with
 one or more Scheme implementations to keep the Lisp Machine Spirit alive.  The
 continuously running Scheme interpreter takes the center of the stage in
 Geiser.  A bundle of Elisp shims orchestrates the dialog between the Scheme
 implementation, Emacs and, ultimately, the schemer, giving them access to live
-metadata.")
+metadata.
+
+This package provides just the core of Geiser.  To effectively use it with your
+favourite Scheme implementation, you also need the corresponding geiser package,
+e.g. emacs-geiser-guile for Guile.")
     (license license:bsd-3)))
 
 (define-public emacs-ac-geiser
diff --git a/gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch b/gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch
new file mode 100644
index 0000000000..47d513b3a3
--- /dev/null
+++ b/gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch
@@ -0,0 +1,26 @@
+From 9fd3174cead8bfa17a8413bffa38362853d71a02 Mon Sep 17 00:00:00 2001
+From: jao <jao@gnu.org>
+Date: Mon, 5 Apr 2021 23:06:56 +0100
+Subject: [PATCH] autoload geiser activate implementation
+
+---
+ elisp/geiser.el | 3 +++
+ readme.org      | 4 ++--
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/elisp/geiser.el b/elisp/geiser.el
+index 887b8da..96c1dd6 100644
+--- a/elisp/geiser.el
++++ b/elisp/geiser.el
+@@ -104,6 +104,9 @@
+ ;;;###autoload
+ (autoload 'geiser-mode--maybe-activate "geiser-mode")
+
++;;;###autoload
++(autoload 'geiser-activate-implementation "geiser-impl")
++
+ ;;;###autoload
+ (mapc (lambda (group)
+         (custom-add-load group (symbol-name group))
+--
+GitLab
-- 
2.31.1





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

* [bug#47661] [PATCH 24/33] gnu: Add emacs-geiser-guile.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (21 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:49   ` [bug#47661] [PATCH 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
                     ` (8 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/patches/emacs-geiser-guile-auto-activate.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/emacs-xyz.scm (emacs-geiser-guile): New variable.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/emacs-xyz.scm                    | 42 +++++++++++++++++++
 .../emacs-geiser-guile-auto-activate.patch    | 34 +++++++++++++++
 3 files changed, 77 insertions(+)
 create mode 100644 gnu/packages/patches/emacs-geiser-guile-auto-activate.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c4eb1ab1f5..2175e542d9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -967,6 +967,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch	\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
+  %D%/packages/patches/emacs-geiser-guile-auto-activate.patch	\
   %D%/packages/patches/emacs-geiser-autoload-activate-implementation.patch	\
   %D%/packages/patches/emacs-ignore-empty-xim-styles.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 74f82293fc..dc1b1e0c7e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -264,6 +264,48 @@ favourite Scheme implementation, you also need the corresponding geiser package,
 e.g. emacs-geiser-guile for Guile.")
     (license license:bsd-3)))
 
+(define-public emacs-geiser-guile
+  (package
+    (name "emacs-geiser-guile")
+    (version "0.13")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.com/emacs-geiser/guile.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0w264pjwlxna31260ll6gd0n77jlynhzf3h2dws5wr7jflns5mbc"))
+       (patches (search-patches
+                 "emacs-geiser-guile-auto-activate.patch"))))
+    (build-system emacs-build-system)
+    (arguments
+     '(#:include (cons "^src/" %default-include)
+       #:phases
+       (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-guile-autoloads.el")
+               ;; Activating implementations fails when Geiser is not yet
+               ;; loaded, so let's defer that until it is.
+               (("\\(geiser-activate-implementation .*\\)" all)
+                (string-append
+                 "(eval-after-load 'geiser-impl '" all ")")))
+             #t)))))
+    (inputs
+     `(("guile" ,guile-2.2)))
+    (propagated-inputs
+     `(("geiser" ,emacs-geiser)))
+    (home-page "https://nongnu.org/geiser/")
+    (synopsis "Guile Scheme support for Geiser")
+    (description
+     "This package adds support for the Guile Scheme implementation to Geiser,
+a generic Scheme interaction mode for the GNU Emacs editor.")
+    (license license:bsd-3)))
+
 (define-public emacs-ac-geiser
   (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
         (revision "0"))
diff --git a/gnu/packages/patches/emacs-geiser-guile-auto-activate.patch b/gnu/packages/patches/emacs-geiser-guile-auto-activate.patch
new file mode 100644
index 0000000000..44837f90df
--- /dev/null
+++ b/gnu/packages/patches/emacs-geiser-guile-auto-activate.patch
@@ -0,0 +1,34 @@
+From 93ef7101fdfcc7eac6f465b4b9788c384a323c14 Mon Sep 17 00:00:00 2001
+From: jao <jao@gnu.org>
+Date: Mon, 5 Apr 2021 20:17:50 +0100
+Subject: [PATCH] fix: auto-activate guile implementation
+
+---
+ geiser-guile.el | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/geiser-guile.el b/geiser-guile.el
+index 340442b..deeb76f 100644
+--- a/geiser-guile.el
++++ b/geiser-guile.el
+@@ -25,6 +25,7 @@
+ (require 'geiser-syntax)
+ (require 'geiser-custom)
+ (require 'geiser-repl)
++(require 'geiser-impl)
+ (require 'geiser-base)
+ (require 'geiser-eval)
+ (require 'geiser-edit)
+@@ -474,6 +475,9 @@ it spawn a server thread."
+ 
+ (geiser-impl--add-to-alist 'regexp "\\.scm$" 'guile t)
+ 
++;;;###autoload
++(geiser-activate-implementation 'guile)
++
+ ;;;###autoload
+ (autoload 'run-guile "geiser-guile" "Start a Geiser Guile REPL." t)
+ 
+-- 
+GitLab
+
-- 
2.31.1





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

* [bug#47661] [PATCH 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (22 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 24/33] gnu: Add emacs-geiser-guile Leo Prikler
@ 2021-04-08 17:49   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
                     ` (7 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:49 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/emacs-xyz.scm (emacs-guix): Update to 0.5.2-4.8ce6d21.
[source]: Update upstream URL.
[propagated-inputs]: Add emacs-geiser-guile.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/emacs-xyz.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index dc1b1e0c7e..95699088f1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -3055,8 +3055,8 @@ type, for example: packages, buffers, files, etc.")
     (license license:gpl3+)))
 
 (define-public emacs-guix
-  (let* ((commit "a694fdbcedb6edd2239a31d326e475c763ee32f8")
-         (revision "3"))
+  (let ((commit "8ce6d219e87c5097abff9ce6f1f5a4293cdfcb31")
+        (revision "4"))
     (package
       (name "emacs-guix")
       (version (git-version "0.5.2" revision commit))
@@ -3064,12 +3064,12 @@ type, for example: packages, buffers, files, etc.")
                 (method git-fetch)
                 (uri (git-reference
                       ;; TODO: Use the official version when it has a new home
-                      (url "https://github.com/jsoo1/guix.el")
+                      (url "https://github.com/alezost/guix.el")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1pqw7zbgxzwpig4xr0izc3z8h80c72i6bl5yi12br0d7aq6dbkvj"))))
+                  "0awbd8x154c4dk4av7inpgd63n07xzng84vvc8qckmgljknc0j7k"))))
       (build-system gnu-build-system)
       (arguments
        `(#:modules ((guix build gnu-build-system)
@@ -3100,6 +3100,7 @@ type, for example: packages, buffers, files, etc.")
          ("guix" ,guix)))
       (propagated-inputs
        `(("geiser" ,emacs-geiser)
+         ("geiser-guile" ,emacs-geiser-guile)
          ("guile-gcrypt" ,guile-gcrypt)
          ("dash" ,emacs-dash)
          ("bui" ,emacs-bui)
-- 
2.31.1





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

* [bug#47661] [PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (23 preceding siblings ...)
  2021-04-08 17:49   ` [bug#47661] [PATCH 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 27/33] gnu: guile-studio: " Leo Prikler
                     ` (6 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/emacs-xyz.scm (emacs-flycheck-guile)[propagated-inputs]:
Add emacs-geiser-guile.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/emacs-xyz.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 95699088f1..29238e1b16 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5060,7 +5060,8 @@ repetitions for example).")
         (base32 "0cs5r0ik6a3bl1k3imjl0r8y1i69kx9x9m9cgxj470qk34brwyj5"))))
     (propagated-inputs
      `(("emacs-flycheck" ,emacs-flycheck)
-       ("emacs-geiser" ,emacs-geiser)))
+       ("emacs-geiser" ,emacs-geiser)
+       ("emacs-geiser-guile" ,emacs-geiser-guile)))
     (build-system emacs-build-system)
     (home-page "https://github.com/flatwhatson/flycheck-guile")
     (synopsis "GNU Guile support for Flycheck")
-- 
2.31.1





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

* [bug#47661] [PATCH 27/33] gnu: guile-studio: Add missing input.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (24 preceding siblings ...)
  2021-04-08 17:50   ` [bug#47661] [PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
                     ` (5 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/guile-xyz.scm (guile-studio)[inputs]:
Add emacs-geiser-guile.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/guile-xyz.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index e2ee5454a0..9bfb19c333 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2750,6 +2750,7 @@ The picture values can directly be displayed in Geiser.")
          ("emacs-doom-modeline" ,emacs-doom-modeline)
          ("emacs-modus-themes" ,emacs-modus-themes)
          ("emacs-geiser" ,emacs-geiser)
+         ("emacs-geiser-guile" ,emacs-geiser-guile)
          ("emacs-company" ,emacs-company)
          ("emacs-ivy" ,emacs-ivy)
          ("emacs-flycheck" ,emacs-flycheck)
-- 
2.31.1





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

* [bug#47661] [PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (25 preceding siblings ...)
  2021-04-08 17:50   ` [bug#47661] [PATCH 27/33] gnu: guile-studio: " Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 29/33] gnu: emacs-dvc: " Leo Prikler
                     ` (4 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (geiser-gauche)[arguments]: Use #:include rather
than #:phases to add geiser-gauche.scm.
---
 gnu/packages/emacs-xyz.scm | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 29238e1b16..074fb9ba89 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -347,16 +347,7 @@ using geiser.")
         (base32 "0rxncnzx7qgcpvc8nz0sd8r0hwrplazzraahdwhbpq0q6z8ywqgg"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'install-scheme
-           (lambda* (#:key outputs #:allow-other-keys)
-             (install-file
-              "geiser-gauche.scm"
-              (string-append
-               (assoc-ref outputs "out")
-               "/share/emacs/site-lisp"))
-             #t)))))
+     `(#:include (cons "^geiser-gauche\\.scm$" %default-include)))
     (native-inputs
      `(("geiser" ,emacs-geiser)))
     (home-page "https://gitlab.com/emacs-geiser/gauche")
-- 
2.31.1





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

* [bug#47661] [PATCH 29/33] gnu: emacs-dvc: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (26 preceding siblings ...)
  2021-04-08 17:50   ` [bug#47661] [PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 30/33] gnu: emacs-w3m: " Leo Prikler
                     ` (3 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-dvc)[#:configure-flags]: Use elpa-directory
for lispdir.
---
 gnu/packages/emacs-xyz.scm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 074fb9ba89..31312e9001 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5192,9 +5192,15 @@ completion of relevant keywords.")
          (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
-       `(#:configure-flags
-         (list (string-append "--with-lispdir=" (assoc-ref %outputs "out")
-                              "/share/emacs/site-lisp/"))
+       `(#:modules ((guix build gnu-build-system)
+                    ((guix build emacs-build-system) #:prefix emacs:)
+                    (guix build utils))
+         #:imported-modules (,@%gnu-build-system-modules
+                             (guix build emacs-build-system)
+                             (guix build emacs-utils))
+         #:configure-flags
+         (list (string-append "--with-lispdir="
+                              (emacs:elpa-directory (assoc-ref %outputs "out"))))
          #:tests? #f                    ;no test suite
          #:phases
          (modify-phases %standard-phases
-- 
2.31.1





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

* [bug#47661] [PATCH 30/33] gnu: emacs-w3m: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (27 preceding siblings ...)
  2021-04-08 17:50   ` [bug#47661] [PATCH 29/33] gnu: emacs-dvc: " Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
                     ` (2 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-w3m)[#:configure-flags]: Use
elpa-directory to determine lispdir.
[#:phases]<install>: Likewise.
---
 gnu/packages/emacs-xyz.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 31312e9001..a7a1925c8e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1696,14 +1696,16 @@ or unexpected behavior inside an elisp configuration file (typically
               ("imagemagick" ,imagemagick)))
     (arguments
      `(#:modules ((guix build gnu-build-system)
+                  ((guix build emacs-build-system) #:prefix emacs:)
                   (guix build utils)
                   (guix build emacs-utils))
        #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-build-system)
                            (guix build emacs-utils))
        #:configure-flags
        (let ((out (assoc-ref %outputs "out")))
          (list (string-append "--with-lispdir="
-                              out "/share/emacs/site-lisp")
+                              (emacs:elpa-directory out))
                (string-append "--with-icondir="
                               out "/share/images/emacs-w3m")
                ;; Leave .el files uncompressed, otherwise GC can't
@@ -1748,8 +1750,7 @@ or unexpected behavior inside an elisp configuration file (typically
            (lambda* (#:key outputs #:allow-other-keys)
              (invoke "make" "install" "install-icons")
              (with-directory-excursion
-                 (string-append (assoc-ref outputs "out")
-                                "/share/emacs/site-lisp")
+                 (emacs:elpa-directory (assoc-ref outputs "out"))
                (for-each delete-file '("ChangeLog" "ChangeLog.1"))
                (symlink "w3m-load.el" "w3m-autoloads.el")
                #t))))))
-- 
2.31.1





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

* [bug#47661] [PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (28 preceding siblings ...)
  2021-04-08 17:50   ` [bug#47661] [PATCH 30/33] gnu: emacs-w3m: " Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 33/33] gnu: emacs-julia-snail: " Leo Prikler
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-wget)[build-system]: Use
emacs-build-system.
[arguments]: Drop #:modules and #:imported-modules.
Adjust #:phases accordingly.
---
 gnu/packages/emacs-xyz.scm | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index a7a1925c8e..e940c75303 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1770,35 +1770,18 @@ or unexpected behavior inside an elisp configuration file (typically
                                   version ".orig.tar.gz"))
               (sha256
                (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
-    (build-system gnu-build-system)
+    (build-system emacs-build-system)
     (inputs `(("wget" ,wget)))
     (native-inputs `(("emacs" ,emacs-minimal)))
     (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (guix build emacs-utils))
-       #:imported-modules (,@%gnu-build-system-modules
-                           (guix build emacs-utils))
-       #:tests? #f  ; no check target
+     `(#:tests? #f  ; no check target
        #:phases
        (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "Makefile"
-               (("/usr/local") (assoc-ref outputs "out"))
-               (("/site-lisp/emacs-wget") "/site-lisp"))
-             #t))
-         (add-before 'build 'patch-exec-paths
+         (add-after 'unpack 'patch-exec-paths
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((wget (assoc-ref inputs "wget")))
                (emacs-substitute-variables "wget.el"
                  ("wget-command" (string-append wget "/bin/wget"))))
-             #t))
-         (add-after 'install 'post-install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (emacs-generate-autoloads
-              "wget" (string-append (assoc-ref outputs "out")
-                                    "/share/emacs/site-lisp/"))
              #t)))))
     (home-page "https://www.emacswiki.org/emacs/EmacsWget")
     (synopsis "Simple file downloader for Emacs based on wget")
-- 
2.31.1





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

* [bug#47661] [PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (29 preceding siblings ...)
  2021-04-08 17:50   ` [bug#47661] [PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  2021-04-08 17:50   ` [bug#47661] [PATCH 33/33] gnu: emacs-julia-snail: " Leo Prikler
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-haskell-mode)[#:phases]<install>: Install
to elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e940c75303..86b18401ed 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1216,7 +1216,11 @@ replacement.")
                                          "/bin/emacs"))
        #:modules ((ice-9 match)
                   (srfi srfi-26)
+                  ((guix build emacs-build-system) #:prefix emacs:)
                   ,@%gnu-build-system-modules)
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-build-system)
+                           (guix build emacs-utils))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
@@ -1257,7 +1261,7 @@ replacement.")
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-                    (el-dir (string-append out "/share/emacs/site-lisp"))
+                    (el-dir (emacs:elpa-directory out))
                     (doc (string-append
                           out "/share/doc/haskell-mode-" ,version))
                     (info (string-append out "/share/info")))
-- 
2.31.1





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

* [bug#47661] [PATCH 33/33] gnu: emacs-julia-snail: Adjust to changes in emacs-build-system.
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (30 preceding siblings ...)
  2021-04-08 17:50   ` [bug#47661] [PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-08 17:50   ` Leo Prikler
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-08 17:50 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-julia-snail)[arguments]: Drop #:phases.
Use #:include to add julia sources.
---
 gnu/packages/emacs-xyz.scm | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 86b18401ed..31e0a407e5 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8840,14 +8840,7 @@ mode with the package emacs-julia-mode.")
                 "065ix3jycsx3wvkq7a6060i93caxisdvgxgqb1l6rq15n4qln78y"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'JuliaSnail-jl
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (install-file "JuliaSnail.jl"
-                             (string-append out "/share/emacs/site-lisp/")))
-             #t)))))
+     `(#:include (cons "^JuliaSnail\\.jl" %default-include)))
     (inputs
      `(("emacs-dash" ,emacs-dash)
        ("emacs-s" ,emacs-s)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs.
  2021-04-08 17:46 [bug#47661] [PATCH 00/33] Improve Emacs UX Leo Prikler
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
@ 2021-04-17 17:06 ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
                     ` (31 more replies)
  2021-04-29 12:16 ` [bug#47661] [PATCH 00/33] Improve Emacs UX Xinglu Chen
  2 siblings, 32 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* guix/profiles.scm (emacs-subdirs): New variable.
(%default-profile-hooks): Add it here.
* guix/status.scm (hook-message): Add a message for emacs-subdirs.
---
 guix/profiles.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 guix/status.scm   |  2 ++
 2 files changed, 43 insertions(+)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 67d90532c1..26fe266a61 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1115,6 +1115,46 @@ MANIFEST.  Single-file bundles are required by programs such as Git and Lynx."
                     `((type . profile-hook)
                       (hook . ca-certificate-bundle))))
 
+(define (emacs-subdirs manifest)
+  (define build
+    (with-imported-modules (source-module-closure
+                            '((guix build profiles)
+                              (guix build utils)))
+      #~(begin
+          (use-modules (guix build utils)
+                       (guix build profiles)
+                       (ice-9 ftw) ; scandir
+                       (srfi srfi-1) ; append-map
+                       (srfi srfi-26))
+
+          (let ((destdir (string-append #$output "/share/emacs/site-lisp"))
+                (subdirs
+                 (append-map
+                  (lambda (dir)
+                    (filter
+                     file-is-directory?
+                     (map (cute string-append dir "/" <>)
+                          (scandir dir (negate (cute member <> '("." "..")))))))
+                  (filter file-exists?
+                          (map (cute string-append <> "/share/emacs/site-lisp")
+                               '#$(manifest-inputs manifest))))))
+            (mkdir-p destdir)
+            (with-directory-excursion destdir
+              (call-with-output-file "subdirs.el"
+                (lambda (port)
+                  (write
+                   `(normal-top-level-add-to-load-path
+                     (list ,@subdirs))
+                   port)
+                  (newline port)
+                  #t)))))))
+  (gexp->derivation "emacs-subdirs" build
+                    #:local-build? #t
+                    #:substitutable? #f
+                    #:properties
+                    `((type . profile-hook)
+                      (hook . emacs-subdirs))))
+
 (define (glib-schemas manifest)
   "Return a derivation that unions all schemas from manifest entries and
 creates the Glib 'gschemas.compiled' file."
@@ -1672,6 +1712,7 @@ MANIFEST."
         fonts-dir-file
         ghc-package-cache-file
         ca-certificate-bundle
+        emacs-subdirs
         glib-schemas
         gtk-icon-themes
         gtk-im-modules
diff --git a/guix/status.scm b/guix/status.scm
index 362ae2882c..2683678201 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -379,6 +379,8 @@ the current build phase."
      (G_ "building GHC package cache..."))
     ('ca-certificate-bundle
      (G_ "building CA certificate bundle..."))
+    ('emacs-subdirs
+     (G_ "listing Emacs subdirs..."))
     ('glib-schemas
      (G_ "generating GLib schema cache..."))
     ('gtk-icon-themes
-- 
2.31.1





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

* [bug#47661] [PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH Leo Prikler
                     ` (30 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

With this, the search path specification of EMACSLOADPATH does no longer
depend on the version of Emacs, which should make upgrading major versions
less painful.  See also:
- <https://bugs.gnu.org/43627>
- <https://bugs.gnu.org/47458>

* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘wrap-load-path’.
[native-search-path]<EMACSLOADPATH>: Do not search for builtin libraries.
(emacs-next)[native-search-path]: Inherit from emacs.
---
 gnu/packages/emacs.scm | 35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7447cfe33a..e1b01ac22b 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -201,6 +201,24 @@
                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
                 "bin/emacs")
                #t)))
+         (add-after 'strip-double-wrap 'wrap-load-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lisp-dirs (find-files (string-append out "/share/emacs")
+                                           "^lisp$"
+                                           #:directories? #t)))
+               (for-each
+                (lambda (prog)
+                  (wrap-program prog
+                    `("EMACSLOADPATH" suffix ,lisp-dirs)))
+                (find-files (string-append out "/bin")
+                            ;; Matches versioned and unversioned emacs binaries.
+                            ;; We don't patch emacsclient, because it takes its
+                            ;; environment variables from emacs.
+                            ;; Likewise, we don't need to patch helper binaries
+                            ;; like etags, ctags or ebrowse.
+                            "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))
+               #t)))
          (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
            ;; The 'reset-gzip-timestamps phase will throw a permission error
            ;; if gzip files aren't writable then.  This phase is needed when
@@ -255,9 +273,7 @@
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")
-            ;; The versioned entry is for the Emacs' builtin libraries.
-            (files (list "share/emacs/site-lisp"
-                         (string-append "share/emacs/" version "/lisp"))))
+            (files '("share/emacs/site-lisp")))
            (search-path-specification
             (variable "INFOPATH")
             (files '("share/info")))))
@@ -294,18 +310,7 @@ languages.")
            "0igjm9kwiswn2dpiy2k9xikbdfc7njs07ry48fqz70anljj8y7y3"))))
       (native-inputs
        `(("autoconf" ,autoconf)
-         ,@(package-native-inputs emacs)))
-      (native-search-paths
-       (list (search-path-specification
-              (variable "EMACSLOADPATH")
-              ;; The versioned entry is for the Emacs' builtin libraries.
-              (files (list "share/emacs/site-lisp"
-                           (string-append "share/emacs/"
-                                          (version-major+minor+point version)
-                                          "/lisp"))))
-             (search-path-specification
-              (variable "INFOPATH")
-              (files '("share/info"))))))))
+         ,@(package-native-inputs emacs))))))
 
 (define-public emacs-next-pgtk
   (let ((commit "ae18c8ec4f0ef37c8c9cda473770ff47e41291e2")
-- 
2.31.1





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

* [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 04/33] build-system: emacs: Use subdirectories again Leo Prikler
                     ` (29 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

Some parts of Emacs (dired, compression handling, Tramp) shell out to commands
and patching them all is a daunting task.  Also, w.r.t. Tramp, we need those
commands to be portable across multiple machines, which need not only be Guix
machines (and even if they are, store items can be different).  This patch
ensures a ‘sane’ setup FSVO ‘sane’.

* gnu/packages/emacs.scm (emacs)[wrap-load-path]: Rename to...
[wrap-emacs-paths] ... this.  Also patch PATH.
---
 gnu/packages/emacs.scm | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e1b01ac22b..5316d25151 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -201,8 +201,8 @@
                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
                 "bin/emacs")
                #t)))
-         (add-after 'strip-double-wrap 'wrap-load-path
-           (lambda* (#:key outputs #:allow-other-keys)
+         (add-after 'strip-double-wrap 'wrap-emacs-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (lisp-dirs (find-files (string-append out "/share/emacs")
                                            "^lisp$"
@@ -210,6 +210,13 @@
                (for-each
                 (lambda (prog)
                   (wrap-program prog
+                    ;; emacs-next and variants rely on uname being in PATH for
+                    ;; Tramp.  Tramp paths can't be hardcoded, because they
+                    ;; need to be portable.
+                    `("PATH" suffix
+                      ,(map (lambda (in) (string-append in "/bin"))
+                            (list (assoc-ref inputs "gzip")
+                                  (assoc-ref inputs "coreutils"))))
                     `("EMACSLOADPATH" suffix ,lisp-dirs)))
                 (find-files (string-append out "/bin")
                             ;; Matches versioned and unversioned emacs binaries.
@@ -231,6 +238,10 @@
      `(("gnutls" ,gnutls)
        ("ncurses" ,ncurses)
 
+       ;; Required for "core" functionality, such as dired and compression.
+       ("coreutils" ,coreutils)
+       ("gzip" ,gzip)
+
        ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
        ;; only via insecure channels.  This is not needed for (modern) IMAP.
        ("mailutils" ,mailutils)
@@ -361,7 +372,9 @@ also enabled and works without glitches even on X server."))))
            (delete 'strip-double-wrap)))))
     (inputs
      `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
-       ("ncurses" ,ncurses)))
+       ("ncurses" ,ncurses)
+       ("coreutils" ,coreutils)
+       ("gzip" ,gzip)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))))
 
-- 
2.31.1





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

* [bug#47661] [PATCH v2 04/33] build-system: emacs: Use subdirectories again.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
                     ` (28 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

With this, Emacs libraries are installed in the ELPA_NAME-VERSION subdirectory
of site-lisp and potential subdirectories should no longer collide.

* guix/build/emacs-build-system.scm (add-source-to-load-path): Rename to...
(expand-load-path): ... this.  Also expand lone subdirectories of site-lisp.
(%standard-phases): Adjust accordingly.
(elpa-directory): New variable.  Export it publicly for use in other build
systems.
(build, patch-el-files, make-autoloads): Use ELPA name and version to
construct subdirectories of %install-dir.
(install): Install in subdirectory.
---
 guix/build/emacs-build-system.scm | 70 ++++++++++++++++++++-----------
 1 file changed, 45 insertions(+), 25 deletions(-)

diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index 26ea59bc25..ae0f2e569e 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -26,13 +26,16 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-26)
+  #:use-module (ice-9 format)
+  #:use-module (ice-9 ftw)
   #:use-module (ice-9 rdelim)
   #:use-module (ice-9 regex)
   #:use-module (ice-9 match)
   #:export (%standard-phases
             %default-include
             %default-exclude
-            emacs-build))
+            emacs-build
+            elpa-directory))
 
 ;; Commentary:
 ;;
@@ -73,33 +76,43 @@ archive, a directory, or an Emacs Lisp file."
         #t)
       (gnu:unpack #:source source)))
 
-(define* (add-source-to-load-path #:key dummy #:allow-other-keys)
-  "Augment the EMACSLOADPATH environment variable with the source directory."
+(define* (expand-load-path #:key (prepend-source? #t) #:allow-other-keys)
+  "Expand EMACSLOADPATH, so that inputs, whose code resides in subdirectories,
+are properly found.
+If @var{prepend-source?} is @code{#t} (the default), also add the current
+directory to EMACSLOADPATH in front of any other directories."
   (let* ((source-directory (getcwd))
          (emacs-load-path (string-split (getenv "EMACSLOADPATH") #\:))
-         ;; XXX: Make sure the Emacs core libraries appear at the end of
-         ;; EMACSLOADPATH, to avoid shadowing any other libraries depended
-         ;; upon.
-         (emacs-load-path-non-core (filter (cut string-contains <>
-                                                "/share/emacs/site-lisp")
-                                           emacs-load-path))
+         (emacs-load-path*
+          (map
+           (lambda (dir)
+             (match (scandir dir (negate (cute member <> '("." ".."))))
+               ((sub) (string-append dir "/" sub))
+               (_ dir)))
+           emacs-load-path))
          (emacs-load-path-value (string-append
-                                 (string-join (cons source-directory
-                                                    emacs-load-path-non-core)
-                                              ":")
+                                 (string-join
+                                  (if prepend-source?
+                                      (cons source-directory emacs-load-path*)
+                                      emacs-load-path*)
+                                  ":")
                                  ":")))
     (setenv "EMACSLOADPATH" emacs-load-path-value)
-    (format #t "source directory ~s prepended to the `EMACSLOADPATH' \
-environment variable\n" source-directory)))
+    (when prepend-source?
+      (format #t "source directory ~s prepended to the `EMACSLOADPATH' \
+environment variable\n" source-directory))
+    (let ((diff (lset-difference string=? emacs-load-path* emacs-load-path)))
+      (unless (null? diff)
+        (format #t "expanded load paths for ~{~a~^, ~}\n"
+                (map basename diff))))))
 
 (define* (build #:key outputs inputs #:allow-other-keys)
   "Compile .el files."
   (let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
-         (out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir)))
+         (out (assoc-ref outputs "out")))
     (setenv "SHELL" "sh")
     (parameterize ((%emacs emacs))
-      (emacs-byte-compile-directory site-lisp))))
+      (emacs-byte-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
@@ -116,7 +129,8 @@ store in '.el' files."
       #:binary #t))
 
   (let* ((out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir))
+         (elpa-name-ver (store-directory->elpa-name-version out))
+         (el-dir (string-append out %install-dir "/" elpa-name-ver))
          ;; (ice-9 regex) uses libc's regexp routines, which cannot deal with
          ;; strings containing NULs.  Filter out such files.  TODO: Remove
          ;; this workaround when <https://bugs.gnu.org/30116> is fixed.
@@ -130,7 +144,7 @@ store in '.el' files."
              (error "patch-el-files: unable to locate " cmd-name))
            (string-append "\"" cmd "\"")))))
 
-    (with-directory-excursion site-lisp
+    (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))
@@ -181,14 +195,14 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
            (not (any (cut match-stripped-file "excluded" <>) exclude)))))
 
   (let* ((out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir))
+         (el-dir (elpa-directory out))
          (files-to-install (find-files source install-file?)))
     (cond
      ((not (null? files-to-install))
       (for-each
        (lambda (file)
          (let* ((stripped-file (string-drop file (string-length source)))
-                (target-file (string-append site-lisp stripped-file)))
+                (target-file (string-append el-dir stripped-file)))
            (format #t "`~a' -> `~a'~%" file target-file)
            (install-file file (dirname target-file))))
        files-to-install)
@@ -219,11 +233,11 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
   "Generate the autoloads file."
   (let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
          (out (assoc-ref outputs "out"))
-         (site-lisp (string-append out %install-dir))
          (elpa-name-ver (store-directory->elpa-name-version out))
-         (elpa-name (package-name->name+version elpa-name-ver)))
+         (elpa-name (package-name->name+version elpa-name-ver))
+         (el-dir (elpa-directory out)))
     (parameterize ((%emacs emacs))
-      (emacs-generate-autoloads elpa-name site-lisp))))
+      (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
@@ -258,10 +272,16 @@ second hyphen.  This corresponds to 'name-version' as used in ELPA packages."
             strip-store-file-name)
    store-dir))
 
+(define (elpa-directory store-dir)
+  "Given the store directory STORE-DIR return the absolute install directory
+for libraries following the ELPA convention."
+  (string-append store-dir %install-dir "/"
+                 (store-directory->elpa-name-version store-dir)))
+
 (define %standard-phases
   (modify-phases gnu:%standard-phases
     (replace 'unpack unpack)
-    (add-after 'unpack 'add-source-to-load-path add-source-to-load-path)
+    (add-after 'unpack 'expand-load-path expand-load-path)
     (delete 'bootstrap)
     (delete 'configure)
     (delete 'build)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (2 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 04/33] build-system: emacs: Use subdirectories again Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 06/33] gnu: emacs-guix: " Leo Prikler
                     ` (27 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-libgit)[set-libgit--module-file]: Use
elpa-directory for libgit--module-file path.
---
 gnu/packages/emacs-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7548c26eab..9f96a22e09 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -503,7 +503,7 @@ on stdout instead of using a socket as the Emacsclient does.")
                  (make-file-writable "libgit.el")
                  (emacs-substitute-variables "libgit.el"
                    ("libgit--module-file"
-                    (string-append out "/share/emacs/site-lisp/libegit2.so")))
+                    (string-append (emacs:elpa-directory out) "/libegit2.so")))
                  #t)))
            (add-before 'install 'prepare-for-install
              (lambda _
-- 
2.31.1





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

* [bug#47661] [PATCH v2 06/33] gnu: emacs-guix: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (3 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 07/33] gnu: emacs-telega: " Leo Prikler
                     ` (26 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-guix)[#:phases]: Add expand-load-path.
[#:configure-flags]: Install to elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9f96a22e09..f825436f5e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -3034,6 +3034,23 @@ type, for example: packages, buffers, files, etc.")
                  (base32
                   "1pqw7zbgxzwpig4xr0izc3z8h80c72i6bl5yi12br0d7aq6dbkvj"))))
       (build-system gnu-build-system)
+      (arguments
+       `(#:modules ((guix build gnu-build-system)
+                    ((guix build emacs-build-system) #:prefix emacs:)
+                    (guix build utils))
+         #:imported-modules (,@%gnu-build-system-modules
+                             (guix build emacs-build-system)
+                             (guix build emacs-utils))
+         #:configure-flags
+         (list (string-append "--with-lispdir="
+                              (emacs:elpa-directory (assoc-ref %outputs "out"))))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'expand-load-path
+             (lambda _
+               ((assoc-ref emacs:%standard-phases 'expand-load-path)
+                #:prepend-source? #f)
+               #t)))))
       (native-inputs
        `(("autoconf" ,autoconf)
          ("automake" ,automake)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 07/33] gnu: emacs-telega: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (4 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 06/33] gnu: emacs-guix: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 08/33] gnu: Add emacs-telega-contrib Leo Prikler
                     ` (25 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-telega.scm (emacs-telega)[#:phases]: Reorder.
<telega-paths-patch>: Rename to...
<patch-sources>: ... this.  Also don't patch paths to subdirs.
Remove the snippet, that would push contrib to the load path.
<server-suite-patch>: Rename to...
<patch-test-suite>: ... this.
<emacs-install>: Also install etc.
<emacs-bytecomp-contrib, telega-install-contrib, telega-install-data>: Removed
phases.
---
 gnu/packages/emacs-xyz.scm | 62 +++++++++-----------------------------
 1 file changed, 15 insertions(+), 47 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f825436f5e..6740657eb0 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -25206,7 +25206,9 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
                  (("python3 run_tests.py")
                   ""))
                #t))
-           (add-after 'check 'telega-paths-patch
+           (add-after 'unpack 'expand-load-path
+             (assoc-ref emacs:%standard-phases 'expand-load-path))
+           (add-after 'unpack 'patch-sources
              (lambda* (#:key inputs #:allow-other-keys)
                ;; Hard-code paths to `ffplay` and `ffmpeg`.
                (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
@@ -25222,24 +25224,15 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
                     (string-append
                      "(and (file-executable-p \"" ffmpeg-bin "\")"
                      "\"" ffmpeg-bin "\")"))))
-               ;; Modify telega-util to reflect unique dir name in
-               ;; `telega-install-data' phase.
-               (substitute* "telega-util.el"
-                 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
-                  "(concat \"telega-data/\" filename)
-                    (locate-dominating-file telega--lib-directory
-                                            \"telega-data\")"))
-               ;; Modify telega.el to reflect unique dir name in
-               ;; `telega-install-contrib' phase.
+               ;; This would push the "contrib" sources to the load path,
+               ;; but as contrib is not installed alongside telega, it does
+               ;; nothing.
                (substitute* "telega.el"
-                 (("\\(push \\(expand-file-name \"contrib\" telega--lib-directory\\) load-path\\)")
-                  "(push (expand-file-name \"telega-contrib\"
-                     (locate-dominating-file telega--lib-directory
-                                             \"telega-contrib\")) load-path)"))
+                 (("\\(push .* load-path\\)") ""))
                #t))
            ;; The server test suite has a hardcoded path.
            ;; Reset this behavior to use the proper path.
-           (add-after 'unpack 'server-suite-patch
+           (add-after 'unpack 'patch-test-suite
              (lambda _
                (substitute* "server/run_tests.py"
                  (("~/.telega/telega-server")
@@ -25251,39 +25244,14 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
                (invoke "python3" "server/run_tests.py")
                #t))
            (delete 'configure)
-           ;; Build emacs-side using `emacs-build-system'
-           (add-after 'compress-documentation 'emacs-add-source-to-load-path
-             (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
-	   ;; Manually invoke bytecompilation for the contrib
-	   ;; subdirectory.
-           (add-after 'emacs-add-source-to-load-path 'emacs-bytecomp-contrib
-             (lambda _
-	       (substitute* "Makefile"
-                 (("byte-recompile-directory \".\"")
-                  "byte-recompile-directory \"contrib\""))
-               (invoke "make" "compile")
-	       #t))
-           (add-after 'emacs-bytecomp-contrib 'emacs-install
-             (assoc-ref emacs:%standard-phases 'install))
-           ;; This step installs subdir /etc, which contains images, sounds and
-           ;; various other data, next to the site-lisp dir.
-           (add-after 'emacs-install 'telega-install-data
-             (lambda* (#:key outputs #:allow-other-keys)
-               (copy-recursively
-                "etc"
-                (string-append (assoc-ref outputs "out")
-                               "/share/emacs/telega-data/"))
-               #t))
-           (add-after 'emacs-install 'telega-install-contrib
-             (lambda* (#:key outputs #:allow-other-keys)
-               (copy-recursively
-                "contrib"
-                (string-append (assoc-ref outputs "out")
-                               "/share/emacs/telega-contrib"))
-               #t))
-           (add-after 'telega-install-contrib 'emacs-build
+           (add-after 'expand-load-path 'emacs-install
+             (lambda args
+               (apply (assoc-ref emacs:%standard-phases 'install)
+                      #:include `("etc" ,@emacs:%default-include)
+                      args)))
+           (add-after 'emacs-install 'emacs-build
              (assoc-ref emacs:%standard-phases 'build))
-           (add-after 'telega-install-contrib 'emacs-make-autoloads
+           (add-after 'emacs-install 'emacs-make-autoloads
              (assoc-ref emacs:%standard-phases 'make-autoloads)))))
       (inputs
        `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
-- 
2.31.1





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

* [bug#47661] [PATCH v2 08/33] gnu: Add emacs-telega-contrib.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (5 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 07/33] gnu: emacs-telega: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
                     ` (24 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-telega-contrib): New variable.
---
 gnu/packages/emacs-xyz.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6740657eb0..32492a5535 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -25277,6 +25277,21 @@ Telegram messaging platform.")
       (home-page "https://zevlg.github.io/telega.el/")
       (license license:gpl3+))))
 
+(define-public emacs-telega-contrib
+  (package/inherit emacs-telega
+    (name "emacs-telega-contrib")
+    (build-system emacs-build-system)
+    (arguments
+     `(#:exclude '("telega-live-location.el")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _ (chdir "contrib") #t)))))
+    (propagated-inputs
+     `(("emacs-telega" ,emacs-telega)
+       ("emacs-alert" ,emacs-alert)
+       ("emacs-all-the-icons" ,emacs-all-the-icons)))))
+
 (define-public emacs-doom-modeline
   (package
     (name "emacs-doom-modeline")
-- 
2.31.1





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

* [bug#47661] [PATCH v2 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (6 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 08/33] gnu: Add emacs-telega-contrib Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 10/33] gnu: emacs-howm: " Leo Prikler
                     ` (23 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-emacsql)[#:phases]: Use standard build and
install phases.
[build-emacsql-sqlite]: Use cc-for-target.
---
 gnu/packages/emacs-xyz.scm | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 32492a5535..360c7d0a2b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -15565,7 +15565,6 @@ object has been freed.")
                   (srfi srfi-26))
        #:phases
        (modify-phases %standard-phases
-         (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
          (add-before 'install 'patch-elisp-shell-shebangs
            (lambda _
              (substitute* (find-files "." "\\.el")
@@ -15576,7 +15575,7 @@ object has been freed.")
              (setenv "SHELL" "sh")))
          (add-after 'setenv-shell 'build-emacsql-sqlite
            (lambda _
-             (invoke "make" "binary" "CC=gcc")))
+             (invoke "make" "binary" (string-append "CC=" ,(cc-for-target)))))
          (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
            ;; This build phase installs emacs-emacsql binary.
            (lambda* (#:key outputs #:allow-other-keys)
@@ -15597,16 +15596,7 @@ object has been freed.")
                  ;; in the right place.
                  ("(defvar emacsql-sqlite-executable"
                   (string-append (assoc-ref outputs "out")
-                                 "/bin/emacsql-sqlite"))))))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out")))
-               (install-file "sqlite/emacsql-sqlite"
-                             (string-append out "/bin"))
-               (for-each (cut install-file <>
-                              (string-append out "/share/emacs/site-lisp"))
-                         (find-files "." "\\.elc*$")))
-             #t)))))
+                                 "/bin/emacsql-sqlite")))))))))
     (inputs
      `(("emacs-minimal" ,emacs-minimal)
        ("mariadb" ,mariadb "lib")
-- 
2.31.1





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

* [bug#47661] [PATCH v2 10/33] gnu: emacs-howm: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (7 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 11/33] gnu: emacs-ert-runner: " Leo Prikler
                     ` (22 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-howm)[#:configure-flags]: Install to
elpa-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 360c7d0a2b..66a981cae6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -2373,8 +2373,7 @@ a set of simplified face specifications and a user-supplied color palette")
      `(("emacs" ,emacs-minimal)))
     (arguments
      `(#:configure-flags
-       (list (string-append "--with-howmdir=" %output
-                            "/share/emacs/site-lisp/"))
+       (list (string-append "--with-howmdir=" (emacs:elpa-directory %output)))
        #:modules ((guix build gnu-build-system)
                   ((guix build emacs-build-system) #:prefix emacs:)
                   (guix build utils))
-- 
2.31.1





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

* [bug#47661] [PATCH v2 11/33] gnu: emacs-ert-runner: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (8 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 10/33] gnu: emacs-howm: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 12/33] gnu: emacs-pdf-tools: " Leo Prikler
                     ` (21 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-ert-runner)[install-executable]: Use
elpa-directory for the value of ERT_RUNNER.
---
 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 66a981cae6..626ad5e329 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -13256,8 +13256,7 @@ variable instead, to remind you of that variable's meaning.")
 				      (getenv "TMPDIR") "/source")))
 	       (substitute* "bin/ert-runner"
 		 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
-		  (string-append "ERT_RUNNER=\"" out
-				 "/share/emacs/site-lisp")))
+		  (string-append "ERT_RUNNER=\"" (elpa-directory out))))
 	       (install-file "bin/ert-runner" (string-append out "/bin"))
 	       (wrap-program (string-append out "/bin/ert-runner")
 		 (list "EMACSLOADPATH" ":" 'prefix
-- 
2.31.1





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

* [bug#47661] [PATCH v2 12/33] gnu: emacs-pdf-tools: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (9 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 11/33] gnu: emacs-ert-runner: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 13/33] gnu: emacs-shroud: " Leo Prikler
                     ` (20 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661; +Cc: Xinglu Chen

From: Xinglu Chen <public@yoctocell.xyz>

* gnu/packages/emacs-xyz.scm (emacs-pdf-tools)[#:phases]: Rename
'emacs-add-source-to-load-path' to 'emacs-expand-load-path'.
Use expand-load-path, which replaces add-source-to-load-path.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/emacs-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 626ad5e329..0f8b7654ba 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -2942,8 +2942,8 @@ during idle time, while Emacs is doing nothing else.")
                ;; upgrading" that pdf-tools tries to perform.
                (emacs-substitute-variables "pdf-tools.el"
                  ("pdf-tools-handle-upgrades" '()))))
-           (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
-             (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
+           (add-after 'emacs-patch-variables 'emacs-expand-load-path
+             (assoc-ref emacs:%standard-phases 'expand-load-path))
            (add-after 'emacs-add-source-to-load-path 'emacs-install
              (assoc-ref emacs:%standard-phases 'install))
            (add-after 'emacs-install 'emacs-build
-- 
2.31.1





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

* [bug#47661] [PATCH v2 13/33] gnu: emacs-shroud: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (10 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 12/33] gnu: emacs-pdf-tools: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 14/33] gnu: emacs-sly-stepper: " Leo Prikler
                     ` (19 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-shroud)[#:phases]: Add ‘expand-load-path’.
[#:configure-flags]: Use elpa-directory for lispdir.
---
 gnu/packages/emacs-xyz.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0f8b7654ba..ed22832fcb 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1074,6 +1074,19 @@ for editing Racket's Scribble documentation syntax in Emacs.")
        (sha256
         (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  ((guix build emacs-build-system) #:prefix emacs:)
+                  (guix build utils))
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-build-system)
+                           (guix build emacs-utils))
+       #:configure-flags (list (string-append "--with-lispdir="
+                                              (emacs:elpa-directory %output)))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'expand-load-path
+           (assoc-ref emacs:%standard-phases 'expand-load-path)))))
     (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 14/33] gnu: emacs-sly-stepper: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (11 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 13/33] gnu: emacs-shroud: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
                     ` (18 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-sly-stepper)[#:phases]:
<add-contrib-to-emacs-load-path>: Rename to...
<expand-sly-contrib>: ... this.  Use find-files to find contrib directory.
<install>: Find slynk-stepper.lisp in elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ed22832fcb..9ffae08600 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10408,24 +10408,26 @@ inside the source file.")
       (propagated-inputs
        `(("emacs-sly" ,emacs-sly)))
       (arguments
-       '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
+       `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
          #:phases
          (modify-phases %standard-phases
            ;; The package provides autoloads.
            (delete 'make-autoloads)
            (delete 'enable-autoloads-compilation)
-           (add-after 'add-source-to-load-path 'add-contrib-to-emacs-load-path
+           (add-after 'expand-load-path 'expand-sly-contrib
              (lambda* (#:key inputs #:allow-other-keys)
-               (let ((sly (assoc-ref inputs "emacs-sly")))
+               (let* ((sly (assoc-ref inputs "emacs-sly"))
+                      (contrib (find-files sly "^contrib$" #:directories? #t)))
                  (setenv "EMACSLOADPATH"
-                         (string-append sly "/share/emacs/site-lisp/contrib:"
-                                        (getenv "EMACSLOADPATH"))))
-               #t))
+                         (string-append (string-join contrib ":")
+                                        ":"
+                                        (getenv "EMACSLOADPATH")))
+                 #t)))
            (add-after 'install 'find-agnostic-lizard
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
-                      (file (string-append out "/share/emacs/site-lisp/"
-                                           "slynk-stepper.lisp"))
+                      (file (string-append (elpa-directory out)
+                                           "/slynk-stepper.lisp"))
                       (asd (string-append
                             (assoc-ref inputs "cl-agnostic-lizard")
                             "/share/common-lisp/systems/agnostic-lizard.asd")))
-- 
2.31.1





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

* [bug#47661] [PATCH v2 15/33] gnu: emacs-sly-stepper: Remove generated sources.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (12 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 14/33] gnu: emacs-sly-stepper: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
                     ` (17 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (sly-stepper)[source]: Add snippet to remove
autoloads.
[#:phases]: Do not delete ‘make-autoloads’ or ‘enable-autoloads-compilation’.
---
 gnu/packages/emacs-xyz.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9ffae08600..76b7517566 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10401,7 +10401,12 @@ inside the source file.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1hxniaxifdw3m4y4yssgy22xcmmf558wx7rpz66wy5hwybjslf7b"))))
+           "1hxniaxifdw3m4y4yssgy22xcmmf558wx7rpz66wy5hwybjslf7b"))
+         (modules '((guix build utils)))
+         (snippet
+          '(begin
+             (map delete-file (find-files "." ".*-autoloads\\.elc?$"))
+             #t))))
       (build-system emacs-build-system)
       (inputs
        `(("cl-agnostic-lizard" ,cl-agnostic-lizard)))
@@ -10411,9 +10416,6 @@ inside the source file.")
        `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
          #:phases
          (modify-phases %standard-phases
-           ;; The package provides autoloads.
-           (delete 'make-autoloads)
-           (delete 'enable-autoloads-compilation)
            (add-after 'expand-load-path 'expand-sly-contrib
              (lambda* (#:key inputs #:allow-other-keys)
                (let* ((sly (assoc-ref inputs "emacs-sly"))
-- 
2.31.1





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

* [bug#47661] [PATCH v2 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (13 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 17/33] gnu: emacs-edbi: " Leo Prikler
                     ` (16 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-org-contrib)[delete-org-files]: Excurse
into elpa-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 76b7517566..fd38b70c59 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -11191,8 +11191,7 @@ programming and reproducible research.")
                     (duplicates (lset-intersection string=?
                                                    contrib-files
                                                    org+contrib-files)))
-               (with-directory-excursion
-                   (string-append out "/share/emacs/site-lisp")
+               (with-directory-excursion (elpa-directory out)
                  (for-each delete-file duplicates))
                #t))))))
     (propagated-inputs
-- 
2.31.1





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

* [bug#47661] [PATCH v2 17/33] gnu: emacs-edbi: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (14 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 18/33] gnu: emacs-scel: " Leo Prikler
                     ` (15 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-edbi)[patch-path]: Execute after unpack.
[wrap-edbi-bridge]: New phase (after wrap).  Find edbi-bridge in elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index fd38b70c59..00a3368620 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21494,17 +21494,21 @@ asynchronous communications, the RPC response is fairly good.")
        `(#:include '("\\.el$" "\\.pl$")
          #:phases
          (modify-phases %standard-phases
-           (add-after 'install 'patch-path
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let ((perl (assoc-ref inputs "perl"))
-                     (dir (string-append  (assoc-ref outputs "out")
-                                          "/share/emacs/site-lisp")))
-                 (substitute* (string-append dir  "/edbi.el")
+           (add-after 'unpack 'patch-path
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((perl (assoc-ref inputs "perl")))
+                 (substitute* "edbi.el"
                    (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
-                 (chmod (string-append dir "/edbi-bridge.pl") #o555)
-                 (wrap-program (string-append dir "/edbi-bridge.pl")
-                   `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
-                 #t))))))
+                 #t)))
+           (add-after 'wrap 'wrap-edbi-bridge
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bridge (string-append (elpa-directory out)
+                                             "/edbi-bridge.pl")))
+                 (chmod bridge #o555)
+                 (wrap-program bridge
+                   `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
+               #t)))))
       (synopsis "Database Interface for Emacs Lisp")
       (description "This program connects the database server through Perl's
 DBI, and provides DB-accessing API and the simple management UI.")
-- 
2.31.1





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

* [bug#47661] [PATCH v2 18/33] gnu: emacs-scel: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (15 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 17/33] gnu: emacs-edbi: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 19/33] gnu: emacs-vterm: " Leo Prikler
                     ` (14 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-scel)[#:phases]<configure>: Use
elpa-directory.
<add-el-dir-to-emacs-load-path>: Adjust location.
---
 gnu/packages/emacs-xyz.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 00a3368620..90031faf15 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6138,12 +6138,11 @@ to a key in your preferred mode.")
              (lambda* (#:key outputs #:allow-other-keys)
                (substitute* "el/CMakeLists.txt"
                  (("share/emacs/site-lisp/SuperCollider")
-                  (string-append
-                   "share/emacs/site-lisp")))
+                  (elpa-directory (assoc-ref outputs "out"))))
                ((assoc-ref cmake:%standard-phases 'configure)
                 #:outputs outputs
                 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
-           (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
+           (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path
              (lambda _
                (setenv "EMACSLOADPATH"
                        (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
-- 
2.31.1





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

* [bug#47661] [PATCH v2 19/33] gnu: emacs-vterm: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (16 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 18/33] gnu: emacs-scel: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 20/33] gnu: notmuch: " Leo Prikler
                     ` (13 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-vterm)[substitute-vterm-module-path]:
Move after ‘unpack’.
---
 gnu/packages/emacs-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 90031faf15..3dbb37e377 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21660,7 +21660,7 @@ stored playlists.")
                              (guix build cmake-build-system))
          #:phases
          (modify-phases %standard-phases
-           (add-before 'add-source-to-load-path 'substitute-vterm-module-path
+           (add-after 'unpack 'substitute-vterm-module-path
              (lambda* (#:key outputs #:allow-other-keys)
                (chmod "vterm.el" #o644)
                (emacs-substitute-sexps "vterm.el"
-- 
2.31.1





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

* [bug#47661] [PATCH v2 20/33] gnu: notmuch: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (17 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 19/33] gnu: emacs-vterm: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
                     ` (12 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/mail.scm (notmuch)[configure]: Use elpa-directory.
---
 gnu/packages/mail.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c8f29b80d6..43dec741a0 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1362,8 +1362,7 @@ invoking @command{notifymuch} from the post-new hook.")
                       (setenv "CONFIG_SHELL" (which "sh"))
 
                       (let* ((out (assoc-ref outputs "out"))
-                             (elisp
-                              (string-append out "/share/emacs/site-lisp/")))
+                             (elisp (emacs:elpa-directory out)))
                         (invoke "./configure"
                                 (string-append "--prefix=" out)
                                 (string-append "--emacslispdir=" elisp)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (18 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 20/33] gnu: notmuch: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
                     ` (11 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-pyim): Update to 3.6.
---
 gnu/packages/emacs-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 3dbb37e377..40ab1f38a1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -12657,13 +12657,13 @@ containing words from the Rime project.")
 (define-public emacs-pyim
   (package
     (name "emacs-pyim")
-    (version "3.2")
+    (version "3.6")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
        (sha256
-        (base32 "1rr9mq334dqf7mx1ii7910zkigw7chl63iws4sw0qsn014kjlb0a"))))
+        (base32 "1fmbzh33s9xdvrfjhkqr9ydcqbiv8lr04k5idvbpc9vwjjjan5y0"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-async" ,emacs-async)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (19 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
                     ` (10 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-realgud)[fix-autogen-script]: Move after
‘expand-load-path’.
---
 gnu/packages/emacs-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 40ab1f38a1..0dc7b8961b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7759,7 +7759,7 @@ after buffer changes.")
                                "(require-relative-list \
 '(\"../../common/run\") \"realgud:\")\n")))
              #t))
-         (add-after 'unpack 'fix-autogen-script
+         (add-after 'expand-load-path 'fix-autogen-script
            (lambda _
              (substitute* "autogen.sh"
                (("./configure") "sh configure"))
-- 
2.31.1





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

* [bug#47661] [PATCH v2 23/33] gnu: emacs-geiser: Update to 0.13.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (20 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 24/33] gnu: Add emacs-geiser-guile Leo Prikler
                     ` (9 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/emacs-xyz.scm (emacs-geiser): Update to 0.13.
[source]: Change upstream URL.
[build-system]: Change to emacs-build-system.
[arguments]: Adjust accordingly.
[native-inputs]: Remove emacs, autoconf, and automake.
[description]: State that other packages are needed for geiser to be useful.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/emacs-xyz.scm                    | 46 +++++++++++--------
 ...ser-autoload-activate-implementation.patch | 26 +++++++++++
 3 files changed, 54 insertions(+), 19 deletions(-)
 create mode 100644 gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 50b11a8ca2..393fa61bf5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -968,6 +968,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch	\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
+  %D%/packages/patches/emacs-geiser-autoload-activate-implementation.patch	\
   %D%/packages/patches/emacs-ignore-empty-xim-styles.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0dc7b8961b..85295524a5 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -219,43 +219,51 @@
 (define-public emacs-geiser
   (package
     (name "emacs-geiser")
-    (version "0.12")
+    (version "0.13")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://gitlab.com/jaor/geiser/")
+             (url "https://gitlab.com/emacs-geiser/geiser.git")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0n718xpys7v94zaf9lpmsx97qgn6qxif1acr718wyvpmfr4hiv08"))))
-    (build-system gnu-build-system)
+        (base32 "0bwjcfmcyv6z0i5ivqirgcibxdkrlf5vyxcbj7k8dk7flwg1fpd9"))
+       (patches
+        (search-patches "emacs-geiser-autoload-activate-implementation.patch"))))
+    (build-system emacs-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         (add-after 'install 'post-install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (symlink "geiser-install.el"
-                      (string-append (assoc-ref outputs "out")
-                                     "/share/emacs/site-lisp/"
-                                     "geiser-autoloads.el"))
-             #t)))))
-    (inputs
-     `(("guile" ,guile-2.2)))
+         ;; Move the source files to the top level, which is included in
+         ;; the EMACSLOADPATH.
+         (add-after 'unpack 'move-source-files
+           (lambda _
+             (let ((el-files (find-files "./elisp" ".*\\.el$")))
+               (for-each (lambda (f)
+                           (rename-file f (basename f)))
+                         el-files))
+             #t))
+         (add-before 'install 'make-info
+           (lambda _
+             (with-directory-excursion "doc"
+               (invoke "makeinfo" "--no-split"
+                       "-o" "geiser.info" "geiser.texi")))))))
     (native-inputs
-     `(("emacs" ,emacs-minimal)
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("texinfo" ,texinfo)))
+     `(("texinfo" ,texinfo)))
     (home-page "https://nongnu.org/geiser/")
-    (synopsis "Collection of Emacs modes for Guile and Racket hacking")
+    (synopsis "Collection of Emacs modes for Scheme hacking")
     (description
      "Geiser is a collection of Emacs major and minor modes that conspire with
 one or more Scheme implementations to keep the Lisp Machine Spirit alive.  The
 continuously running Scheme interpreter takes the center of the stage in
 Geiser.  A bundle of Elisp shims orchestrates the dialog between the Scheme
 implementation, Emacs and, ultimately, the schemer, giving them access to live
-metadata.")
+metadata.
+
+This package provides just the core of Geiser.  To effectively use it with your
+favourite Scheme implementation, you also need the corresponding geiser package,
+e.g. emacs-geiser-guile for Guile.")
     (license license:bsd-3)))
 
 (define-public emacs-ac-geiser
diff --git a/gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch b/gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch
new file mode 100644
index 0000000000..47d513b3a3
--- /dev/null
+++ b/gnu/packages/patches/emacs-geiser-autoload-activate-implementation.patch
@@ -0,0 +1,26 @@
+From 9fd3174cead8bfa17a8413bffa38362853d71a02 Mon Sep 17 00:00:00 2001
+From: jao <jao@gnu.org>
+Date: Mon, 5 Apr 2021 23:06:56 +0100
+Subject: [PATCH] autoload geiser activate implementation
+
+---
+ elisp/geiser.el | 3 +++
+ readme.org      | 4 ++--
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/elisp/geiser.el b/elisp/geiser.el
+index 887b8da..96c1dd6 100644
+--- a/elisp/geiser.el
++++ b/elisp/geiser.el
+@@ -104,6 +104,9 @@
+ ;;;###autoload
+ (autoload 'geiser-mode--maybe-activate "geiser-mode")
+
++;;;###autoload
++(autoload 'geiser-activate-implementation "geiser-impl")
++
+ ;;;###autoload
+ (mapc (lambda (group)
+         (custom-add-load group (symbol-name group))
+--
+GitLab
-- 
2.31.1





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

* [bug#47661] [PATCH v2 24/33] gnu: Add emacs-geiser-guile.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (21 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
                     ` (8 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/patches/emacs-geiser-guile-auto-activate.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/emacs-xyz.scm (emacs-geiser-guile): New variable.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/emacs-xyz.scm                    | 42 +++++++++++++++++++
 .../emacs-geiser-guile-auto-activate.patch    | 34 +++++++++++++++
 3 files changed, 77 insertions(+)
 create mode 100644 gnu/packages/patches/emacs-geiser-guile-auto-activate.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 393fa61bf5..9c632fc2d7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -968,6 +968,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch	\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
+  %D%/packages/patches/emacs-geiser-guile-auto-activate.patch	\
   %D%/packages/patches/emacs-geiser-autoload-activate-implementation.patch	\
   %D%/packages/patches/emacs-ignore-empty-xim-styles.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 85295524a5..38b3ed0687 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -266,6 +266,48 @@ favourite Scheme implementation, you also need the corresponding geiser package,
 e.g. emacs-geiser-guile for Guile.")
     (license license:bsd-3)))
 
+(define-public emacs-geiser-guile
+  (package
+    (name "emacs-geiser-guile")
+    (version "0.13")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.com/emacs-geiser/guile.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0w264pjwlxna31260ll6gd0n77jlynhzf3h2dws5wr7jflns5mbc"))
+       (patches (search-patches
+                 "emacs-geiser-guile-auto-activate.patch"))))
+    (build-system emacs-build-system)
+    (arguments
+     '(#:include (cons "^src/" %default-include)
+       #:phases
+       (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-guile-autoloads.el")
+               ;; Activating implementations fails when Geiser is not yet
+               ;; loaded, so let's defer that until it is.
+               (("\\(geiser-activate-implementation .*\\)" all)
+                (string-append
+                 "(eval-after-load 'geiser-impl '" all ")")))
+             #t)))))
+    (inputs
+     `(("guile" ,guile-2.2)))
+    (propagated-inputs
+     `(("geiser" ,emacs-geiser)))
+    (home-page "https://nongnu.org/geiser/")
+    (synopsis "Guile Scheme support for Geiser")
+    (description
+     "This package adds support for the Guile Scheme implementation to Geiser,
+a generic Scheme interaction mode for the GNU Emacs editor.")
+    (license license:bsd-3)))
+
 (define-public emacs-ac-geiser
   (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
         (revision "0"))
diff --git a/gnu/packages/patches/emacs-geiser-guile-auto-activate.patch b/gnu/packages/patches/emacs-geiser-guile-auto-activate.patch
new file mode 100644
index 0000000000..44837f90df
--- /dev/null
+++ b/gnu/packages/patches/emacs-geiser-guile-auto-activate.patch
@@ -0,0 +1,34 @@
+From 93ef7101fdfcc7eac6f465b4b9788c384a323c14 Mon Sep 17 00:00:00 2001
+From: jao <jao@gnu.org>
+Date: Mon, 5 Apr 2021 20:17:50 +0100
+Subject: [PATCH] fix: auto-activate guile implementation
+
+---
+ geiser-guile.el | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/geiser-guile.el b/geiser-guile.el
+index 340442b..deeb76f 100644
+--- a/geiser-guile.el
++++ b/geiser-guile.el
+@@ -25,6 +25,7 @@
+ (require 'geiser-syntax)
+ (require 'geiser-custom)
+ (require 'geiser-repl)
++(require 'geiser-impl)
+ (require 'geiser-base)
+ (require 'geiser-eval)
+ (require 'geiser-edit)
+@@ -474,6 +475,9 @@ it spawn a server thread."
+ 
+ (geiser-impl--add-to-alist 'regexp "\\.scm$" 'guile t)
+ 
++;;;###autoload
++(geiser-activate-implementation 'guile)
++
+ ;;;###autoload
+ (autoload 'run-guile "geiser-guile" "Start a Geiser Guile REPL." t)
+ 
+-- 
+GitLab
+
-- 
2.31.1





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

* [bug#47661] [PATCH v2 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (22 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 24/33] gnu: Add emacs-geiser-guile Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
                     ` (7 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/emacs-xyz.scm (emacs-guix): Update to 0.5.2-4.8ce6d21.
[source]: Update upstream URL.
[propagated-inputs]: Add emacs-geiser-guile.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/emacs-xyz.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 38b3ed0687..46716f9b5d 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -3080,8 +3080,8 @@ type, for example: packages, buffers, files, etc.")
     (license license:gpl3+)))
 
 (define-public emacs-guix
-  (let* ((commit "a694fdbcedb6edd2239a31d326e475c763ee32f8")
-         (revision "3"))
+  (let ((commit "8ce6d219e87c5097abff9ce6f1f5a4293cdfcb31")
+        (revision "4"))
     (package
       (name "emacs-guix")
       (version (git-version "0.5.2" revision commit))
@@ -3089,12 +3089,12 @@ type, for example: packages, buffers, files, etc.")
                 (method git-fetch)
                 (uri (git-reference
                       ;; TODO: Use the official version when it has a new home
-                      (url "https://github.com/jsoo1/guix.el")
+                      (url "https://github.com/alezost/guix.el")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1pqw7zbgxzwpig4xr0izc3z8h80c72i6bl5yi12br0d7aq6dbkvj"))))
+                  "0awbd8x154c4dk4av7inpgd63n07xzng84vvc8qckmgljknc0j7k"))))
       (build-system gnu-build-system)
       (arguments
        `(#:modules ((guix build gnu-build-system)
@@ -3125,6 +3125,7 @@ type, for example: packages, buffers, files, etc.")
          ("guix" ,guix)))
       (propagated-inputs
        `(("geiser" ,emacs-geiser)
+         ("geiser-guile" ,emacs-geiser-guile)
          ("guile-gcrypt" ,guile-gcrypt)
          ("dash" ,emacs-dash)
          ("bui" ,emacs-bui)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 26/33] gnu: emacs-flycheck-guile: Add missing input.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (23 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 27/33] gnu: guile-studio: " Leo Prikler
                     ` (6 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/emacs-xyz.scm (emacs-flycheck-guile)[propagated-inputs]:
Add emacs-geiser-guile.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/emacs-xyz.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 46716f9b5d..2a28e98bff 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5111,7 +5111,8 @@ repetitions for example).")
         (base32 "0cs5r0ik6a3bl1k3imjl0r8y1i69kx9x9m9cgxj470qk34brwyj5"))))
     (propagated-inputs
      `(("emacs-flycheck" ,emacs-flycheck)
-       ("emacs-geiser" ,emacs-geiser)))
+       ("emacs-geiser" ,emacs-geiser)
+       ("emacs-geiser-guile" ,emacs-geiser-guile)))
     (build-system emacs-build-system)
     (home-page "https://github.com/flatwhatson/flycheck-guile")
     (synopsis "GNU Guile support for Flycheck")
-- 
2.31.1





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

* [bug#47661] [PATCH v2 27/33] gnu: guile-studio: Add missing input.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (24 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
                     ` (5 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661; +Cc: Morgan Smith

From: Morgan Smith <Morgan.J.Smith@outlook.com>

* gnu/packages/guile-xyz.scm (guile-studio)[inputs]:
Add emacs-geiser-guile.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
 gnu/packages/guile-xyz.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 089a9a3b55..42e3737d99 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2742,6 +2742,7 @@ The picture values can directly be displayed in Geiser.")
          ("emacs-doom-modeline" ,emacs-doom-modeline)
          ("emacs-modus-themes" ,emacs-modus-themes)
          ("emacs-geiser" ,emacs-geiser)
+         ("emacs-geiser-guile" ,emacs-geiser-guile)
          ("emacs-company" ,emacs-company)
          ("emacs-ivy" ,emacs-ivy)
          ("emacs-flycheck" ,emacs-flycheck)
-- 
2.31.1





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

* [bug#47661] [PATCH v2 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (25 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 27/33] gnu: guile-studio: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 29/33] gnu: emacs-dvc: " Leo Prikler
                     ` (4 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (geiser-gauche)[arguments]: Use #:include rather
than #:phases to add geiser-gauche.scm.
---
 gnu/packages/emacs-xyz.scm | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2a28e98bff..103d26e621 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -349,16 +349,7 @@ using geiser.")
         (base32 "0rxncnzx7qgcpvc8nz0sd8r0hwrplazzraahdwhbpq0q6z8ywqgg"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'install-scheme
-           (lambda* (#:key outputs #:allow-other-keys)
-             (install-file
-              "geiser-gauche.scm"
-              (string-append
-               (assoc-ref outputs "out")
-               "/share/emacs/site-lisp"))
-             #t)))))
+     `(#:include (cons "^geiser-gauche\\.scm$" %default-include)))
     (native-inputs
      `(("geiser" ,emacs-geiser)))
     (home-page "https://gitlab.com/emacs-geiser/gauche")
-- 
2.31.1





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

* [bug#47661] [PATCH v2 29/33] gnu: emacs-dvc: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (26 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 30/33] gnu: emacs-w3m: " Leo Prikler
                     ` (3 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-dvc)[#:configure-flags]: Use elpa-directory
for lispdir.
---
 gnu/packages/emacs-xyz.scm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 103d26e621..ee3df7cf19 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5243,9 +5243,15 @@ completion of relevant keywords.")
          (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
-       `(#:configure-flags
-         (list (string-append "--with-lispdir=" (assoc-ref %outputs "out")
-                              "/share/emacs/site-lisp/"))
+       `(#:modules ((guix build gnu-build-system)
+                    ((guix build emacs-build-system) #:prefix emacs:)
+                    (guix build utils))
+         #:imported-modules (,@%gnu-build-system-modules
+                             (guix build emacs-build-system)
+                             (guix build emacs-utils))
+         #:configure-flags
+         (list (string-append "--with-lispdir="
+                              (emacs:elpa-directory (assoc-ref %outputs "out"))))
          #:tests? #f                    ;no test suite
          #:phases
          (modify-phases %standard-phases
-- 
2.31.1





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

* [bug#47661] [PATCH v2 30/33] gnu: emacs-w3m: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (27 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 29/33] gnu: emacs-dvc: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
                     ` (2 subsequent siblings)
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-w3m)[#:configure-flags]: Use
elpa-directory to determine lispdir.
[#:phases]<install>: Likewise.
---
 gnu/packages/emacs-xyz.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ee3df7cf19..949659e617 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1721,14 +1721,16 @@ or unexpected behavior inside an elisp configuration file (typically
               ("imagemagick" ,imagemagick)))
     (arguments
      `(#:modules ((guix build gnu-build-system)
+                  ((guix build emacs-build-system) #:prefix emacs:)
                   (guix build utils)
                   (guix build emacs-utils))
        #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-build-system)
                            (guix build emacs-utils))
        #:configure-flags
        (let ((out (assoc-ref %outputs "out")))
          (list (string-append "--with-lispdir="
-                              out "/share/emacs/site-lisp")
+                              (emacs:elpa-directory out))
                (string-append "--with-icondir="
                               out "/share/images/emacs-w3m")
                ;; Leave .el files uncompressed, otherwise GC can't
@@ -1773,8 +1775,7 @@ or unexpected behavior inside an elisp configuration file (typically
            (lambda* (#:key outputs #:allow-other-keys)
              (invoke "make" "install" "install-icons")
              (with-directory-excursion
-                 (string-append (assoc-ref outputs "out")
-                                "/share/emacs/site-lisp")
+                 (emacs:elpa-directory (assoc-ref outputs "out"))
                (for-each delete-file '("ChangeLog" "ChangeLog.1"))
                (symlink "w3m-load.el" "w3m-autoloads.el")
                #t))))))
-- 
2.31.1





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

* [bug#47661] [PATCH v2 31/33] gnu: emacs-wget: Port to emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (28 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 30/33] gnu: emacs-w3m: " Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 33/33] gnu: emacs-julia-snail: " Leo Prikler
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-wget)[build-system]: Use
emacs-build-system.
[arguments]: Drop #:modules and #:imported-modules.
Adjust #:phases accordingly.
---
 gnu/packages/emacs-xyz.scm | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 949659e617..90fe5b3a24 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1795,35 +1795,18 @@ or unexpected behavior inside an elisp configuration file (typically
                                   version ".orig.tar.gz"))
               (sha256
                (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
-    (build-system gnu-build-system)
+    (build-system emacs-build-system)
     (inputs `(("wget" ,wget)))
     (native-inputs `(("emacs" ,emacs-minimal)))
     (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (guix build emacs-utils))
-       #:imported-modules (,@%gnu-build-system-modules
-                           (guix build emacs-utils))
-       #:tests? #f  ; no check target
+     `(#:tests? #f  ; no check target
        #:phases
        (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "Makefile"
-               (("/usr/local") (assoc-ref outputs "out"))
-               (("/site-lisp/emacs-wget") "/site-lisp"))
-             #t))
-         (add-before 'build 'patch-exec-paths
+         (add-after 'unpack 'patch-exec-paths
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((wget (assoc-ref inputs "wget")))
                (emacs-substitute-variables "wget.el"
                  ("wget-command" (string-append wget "/bin/wget"))))
-             #t))
-         (add-after 'install 'post-install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (emacs-generate-autoloads
-              "wget" (string-append (assoc-ref outputs "out")
-                                    "/share/emacs/site-lisp/"))
              #t)))))
     (home-page "https://www.emacswiki.org/emacs/EmacsWget")
     (synopsis "Simple file downloader for Emacs based on wget")
-- 
2.31.1





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

* [bug#47661] [PATCH v2 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (29 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 33/33] gnu: emacs-julia-snail: " Leo Prikler
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-haskell-mode)[#:phases]<install>: Install
to elpa-directory.
---
 gnu/packages/emacs-xyz.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 90fe5b3a24..13d55af0e3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1241,7 +1241,11 @@ replacement.")
                                          "/bin/emacs"))
        #:modules ((ice-9 match)
                   (srfi srfi-26)
+                  ((guix build emacs-build-system) #:prefix emacs:)
                   ,@%gnu-build-system-modules)
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-build-system)
+                           (guix build emacs-utils))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
@@ -1282,7 +1286,7 @@ replacement.")
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-                    (el-dir (string-append out "/share/emacs/site-lisp"))
+                    (el-dir (emacs:elpa-directory out))
                     (doc (string-append
                           out "/share/doc/haskell-mode-" ,version))
                     (info (string-append out "/share/info")))
-- 
2.31.1





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

* [bug#47661] [PATCH v2 33/33] gnu: emacs-julia-snail: Adjust to changes in emacs-build-system.
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
                     ` (30 preceding siblings ...)
  2021-04-17 17:06   ` [bug#47661] [PATCH v2 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
@ 2021-04-17 17:06   ` Leo Prikler
  31 siblings, 0 replies; 76+ messages in thread
From: Leo Prikler @ 2021-04-17 17:06 UTC (permalink / raw)
  To: 47661

* gnu/packages/emacs-xyz.scm (emacs-julia-snail)[arguments]: Drop #:phases.
Use #:include to add julia sources.
---
 gnu/packages/emacs-xyz.scm | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 13d55af0e3..41ab0f6f98 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8891,14 +8891,7 @@ mode with the package emacs-julia-mode.")
                 "065ix3jycsx3wvkq7a6060i93caxisdvgxgqb1l6rq15n4qln78y"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'JuliaSnail-jl
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (install-file "JuliaSnail.jl"
-                             (string-append out "/share/emacs/site-lisp/")))
-             #t)))))
+     `(#:include (cons "^JuliaSnail\\.jl" %default-include)))
     (inputs
      `(("emacs-dash" ,emacs-dash)
        ("emacs-s" ,emacs-s)
-- 
2.31.1





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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-04-08 17:46 [bug#47661] [PATCH 00/33] Improve Emacs UX Leo Prikler
  2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
  2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
@ 2021-04-29 12:16 ` Xinglu Chen
  2021-04-29 14:58   ` Leo Prikler
  2 siblings, 1 reply; 76+ messages in thread
From: Xinglu Chen @ 2021-04-29 12:16 UTC (permalink / raw)
  To: Leo Prikler, 47661

Hi,

On Thu, Apr 08 2021, Leo Prikler wrote:

> Hi Guix,
>
> as you all recall, I recently put in some efforts into improving the
> Emacs user experience in Guix.  There are three bugs addressed by this
> patch set:
>
> 1. Emacs libraries may inadvertently overwrite files in other libraries
>    (solved by using ELPA-style subdirectories)
> 2. Emacs cannot find its own load-path after an update.  (Solved with a
>    wrapper).
> 3. Emacs can't find core programs, such as "ls" or "gzip".

I just wanted to let you know that I have been using these patches with
Emacs for a few days, and things have been working fine so far :)  I
haven’t tested all the updated packages, though.

Out of curiosity, what are the differences between v2 and v1 of the
series?  It would be nice to include a cover letter for v2 to give an
overview of the changes since v1.

Thanks for working on this!




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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-04-29 12:16 ` [bug#47661] [PATCH 00/33] Improve Emacs UX Xinglu Chen
@ 2021-04-29 14:58   ` Leo Prikler
  2021-04-30  8:25     ` Xinglu Chen
  0 siblings, 1 reply; 76+ messages in thread
From: Leo Prikler @ 2021-04-29 14:58 UTC (permalink / raw)
  To: Xinglu Chen, 47661

Am Donnerstag, den 29.04.2021, 14:16 +0200 schrieb Xinglu Chen:
> Hi,
> 
> On Thu, Apr 08 2021, Leo Prikler wrote:
> 
> > Hi Guix,
> > 
> > as you all recall, I recently put in some efforts into improving
> > the
> > Emacs user experience in Guix.  There are three bugs addressed by
> > this
> > patch set:
> > 
> > 1. Emacs libraries may inadvertently overwrite files in other
> > libraries
> >    (solved by using ELPA-style subdirectories)
> > 2. Emacs cannot find its own load-path after an update.  (Solved
> > with a
> >    wrapper).
> > 3. Emacs can't find core programs, such as "ls" or "gzip".
> 
> I just wanted to let you know that I have been using these patches
> with
> Emacs for a few days, and things have been working fine so far :)  I
> haven’t tested all the updated packages, though.
> 
> Out of curiosity, what are the differences between v2 and v1 of the
> series?  It would be nice to include a cover letter for v2 to give an
> overview of the changes since v1.
The difference of v2 w.r.t. v1 lies in how Emacs finds core binaries
([03/33] in the respective series).  v1 hardcodes them, but as I
feared, that won't work with tramp, so I changed it to adjusting PATH
in v2.  You can test that this has a visible effect by checking some
variant of emacs-next both with v1 and v2.

Regards,
Leo





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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-04-29 14:58   ` Leo Prikler
@ 2021-04-30  8:25     ` Xinglu Chen
  2021-05-01 18:45       ` bug#47661: " Leo Prikler
  0 siblings, 1 reply; 76+ messages in thread
From: Xinglu Chen @ 2021-04-30  8:25 UTC (permalink / raw)
  To: Leo Prikler, 47661

On Thu, Apr 29 2021, Leo Prikler wrote:

>> Out of curiosity, what are the differences between v2 and v1 of the
>> series?  It would be nice to include a cover letter for v2 to give an
>> overview of the changes since v1.
> The difference of v2 w.r.t. v1 lies in how Emacs finds core binaries
> ([03/33] in the respective series).  v1 hardcodes them, but as I
> feared, that won't work with tramp, so I changed it to adjusting PATH
> in v2.  You can test that this has a visible effect by checking some
> variant of emacs-next both with v1 and v2.

Ok, thanks for explaining.





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

* bug#47661: [PATCH 00/33] Improve Emacs UX.
  2021-04-30  8:25     ` Xinglu Chen
@ 2021-05-01 18:45       ` Leo Prikler
  2021-05-04  5:13         ` [bug#47661] " Arun Isaac
  0 siblings, 1 reply; 76+ messages in thread
From: Leo Prikler @ 2021-05-01 18:45 UTC (permalink / raw)
  To: Xinglu Chen, 47661-done

I've now pushed this patch set.  Thanks, everyone who contributed
packages.  Thanks, everyone who submitted bugs.  And thanks to Xinglu
Chen for helping me test.

I apologize in advance for all the bugs, that we didn't catch in the
last fourteen days.  Please yell at me as loud as you can if you find
one.  I wish you all enjoy a wonderful Labour Day.

Leo





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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-05-01 18:45       ` bug#47661: " Leo Prikler
@ 2021-05-04  5:13         ` Arun Isaac
  2021-05-04  6:38           ` Leo Prikler
  0 siblings, 1 reply; 76+ messages in thread
From: Arun Isaac @ 2021-05-04  5:13 UTC (permalink / raw)
  To: Leo Prikler, 47661-done

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


Hi Leo,

Thanks for your work on the emacs-build-system!

In guix/build/emacs-build-system.scm, is the comment before %install-dir
still consistent with your changes? It seems to describe the old system
when all files were installed into site-lisp.

--8<---------------cut here---------------start------------->8---
;;; All the packages are installed directly under site-lisp, which means that
;;; having that directory in the EMACSLOADPATH is enough to have them found by
;;; Emacs.
(define %install-dir "/share/emacs/site-lisp")
--8<---------------cut here---------------end--------------->8---

Could you fix this?

Thank you for your time! :-)
Arun

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

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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-05-04  5:13         ` [bug#47661] " Arun Isaac
@ 2021-05-04  6:38           ` Leo Prikler
  2021-05-04 21:02             ` Arun Isaac
  0 siblings, 1 reply; 76+ messages in thread
From: Leo Prikler @ 2021-05-04  6:38 UTC (permalink / raw)
  To: Arun Isaac, 47661-done

Hi Arun,

Am Dienstag, den 04.05.2021, 10:43 +0530 schrieb Arun Isaac:
> In guix/build/emacs-build-system.scm, is the comment before %install-
> dir
> still consistent with your changes? It seems to describe the old
> system
> when all files were installed into site-lisp.
> 
> --8<---------------cut here---------------start------------->8---
> ;;; All the packages are installed directly under site-lisp, which
> means that
> ;;; having that directory in the EMACSLOADPATH is enough to have them
> found by
> ;;; Emacs.
> (define %install-dir "/share/emacs/site-lisp")
> --8<---------------cut here---------------end--------------->8---

Thanks for pointing this out.  How would

--8<---------------cut here---------------start------------->8---
;;; The location in which Emacs looks for packages.  Emacs Lisp code,
that is
;;; installed there directly will be found when that directory is added
to
;;; EMACSLOADPATH.  To avoid clashes between packages (particularly
considering
;;; auxiliary files), we install them one directory level below,
however.
;;; This indirection is handled by ‘expand-load-path’ during build and
a
;;; profile hook otherwise.
(define %install-dir "/share/emacs/site-lisp")
--8<---------------cut here---------------end--------------->8---

sound?






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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-05-04  6:38           ` Leo Prikler
@ 2021-05-04 21:02             ` Arun Isaac
  2021-05-04 21:22               ` Leo Prikler
  0 siblings, 1 reply; 76+ messages in thread
From: Arun Isaac @ 2021-05-04 21:02 UTC (permalink / raw)
  To: Leo Prikler, 47661-done

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


Hi Leo,

> --8<---------------cut here---------------start------------->8---
> The location in which Emacs looks for packages.  Emacs Lisp code, that
> is installed there directly will be found when that directory is added
> to EMACSLOADPATH.  To avoid clashes between packages (particularly
> considering auxiliary files), we install them one directory level
> below, however.  This indirection is handled by ‘expand-load-path’
> during build and a profile hook otherwise.
> --8<---------------cut here---------------end--------------->8---

Are there still packages that directly install into
/share/emacs/site-lisp as mentioned in sentence 2? Apart from that one
sentence, this looks good to me.

Thanks!

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

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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-05-04 21:02             ` Arun Isaac
@ 2021-05-04 21:22               ` Leo Prikler
  2021-05-05  7:47                 ` Arun Isaac
  0 siblings, 1 reply; 76+ messages in thread
From: Leo Prikler @ 2021-05-04 21:22 UTC (permalink / raw)
  To: Arun Isaac, 47661-done

Am Mittwoch, den 05.05.2021, 02:32 +0530 schrieb Arun Isaac:
> Hi Leo,
> 
> > --8<---------------cut here---------------start------------->8---
> > The location in which Emacs looks for packages.  Emacs Lisp code,
> > that
> > is installed there directly will be found when that directory is
> > added
> > to EMACSLOADPATH.  To avoid clashes between packages (particularly
> > considering auxiliary files), we install them one directory level
> > below, however.  This indirection is handled by ‘expand-load-path’
> > during build and a profile hook otherwise.
> > --8<---------------cut here---------------end--------------->8---
> 
> Are there still packages that directly install into
> /share/emacs/site-lisp as mentioned in sentence 2? Apart from that
> one
> sentence, this looks good to me.
I haven't done an exhaustive check, so there might be some odd
packages, that don't fit into sentence 3.  The profile hook counts as
"Emacs lisp code installed there directly" imo as well.

Regards,
Leo





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

* [bug#47661] [PATCH 00/33] Improve Emacs UX.
  2021-05-04 21:22               ` Leo Prikler
@ 2021-05-05  7:47                 ` Arun Isaac
  0 siblings, 0 replies; 76+ messages in thread
From: Arun Isaac @ 2021-05-05  7:47 UTC (permalink / raw)
  To: Leo Prikler, 47661-done

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


Ok, that makes sense. Do proceed with the fix.

Thanks!
Arun

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

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

end of thread, other threads:[~2021-05-05  7:48 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-08 17:46 [bug#47661] [PATCH 00/33] Improve Emacs UX Leo Prikler
2021-04-08 17:49 ` [bug#47661] [PATCH 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 03/33] gnu: emacs: Patch more program file names Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 04/33] build-system: emacs: Use subdirectories again Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 06/33] gnu: emacs-guix: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 07/33] gnu: emacs-telega: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 08/33] gnu: Add emacs-telega-contrib Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 10/33] gnu: emacs-howm: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 11/33] gnu: emacs-ert-runner: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 12/33] gnu: emacs-pdf-tools: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 13/33] gnu: emacs-shroud: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 14/33] gnu: emacs-sly-stepper: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 17/33] gnu: emacs-edbi: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 18/33] gnu: emacs-scel: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 19/33] gnu: emacs-vterm: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 20/33] gnu: notmuch: " Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 24/33] gnu: Add emacs-geiser-guile Leo Prikler
2021-04-08 17:49   ` [bug#47661] [PATCH 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 27/33] gnu: guile-studio: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 29/33] gnu: emacs-dvc: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 30/33] gnu: emacs-w3m: " Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
2021-04-08 17:50   ` [bug#47661] [PATCH 33/33] gnu: emacs-julia-snail: " Leo Prikler
2021-04-17 17:06 ` [bug#47661] [PATCH v2 01/33] profiles: Add hook for Emacs subdirs Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 04/33] build-system: emacs: Use subdirectories again Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 06/33] gnu: emacs-guix: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 07/33] gnu: emacs-telega: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 08/33] gnu: Add emacs-telega-contrib Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 10/33] gnu: emacs-howm: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 11/33] gnu: emacs-ert-runner: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 12/33] gnu: emacs-pdf-tools: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 13/33] gnu: emacs-shroud: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 14/33] gnu: emacs-sly-stepper: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 15/33] gnu: emacs-sly-stepper: Remove generated sources Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 17/33] gnu: emacs-edbi: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 18/33] gnu: emacs-scel: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 19/33] gnu: emacs-vterm: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 20/33] gnu: notmuch: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 23/33] gnu: emacs-geiser: Update to 0.13 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 24/33] gnu: Add emacs-geiser-guile Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21 Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 26/33] gnu: emacs-flycheck-guile: Add missing input Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 27/33] gnu: guile-studio: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 29/33] gnu: emacs-dvc: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 30/33] gnu: emacs-w3m: " Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 31/33] gnu: emacs-wget: Port to emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system Leo Prikler
2021-04-17 17:06   ` [bug#47661] [PATCH v2 33/33] gnu: emacs-julia-snail: " Leo Prikler
2021-04-29 12:16 ` [bug#47661] [PATCH 00/33] Improve Emacs UX Xinglu Chen
2021-04-29 14:58   ` Leo Prikler
2021-04-30  8:25     ` Xinglu Chen
2021-05-01 18:45       ` bug#47661: " Leo Prikler
2021-05-04  5:13         ` [bug#47661] " Arun Isaac
2021-05-04  6:38           ` Leo Prikler
2021-05-04 21:02             ` Arun Isaac
2021-05-04 21:22               ` Leo Prikler
2021-05-05  7:47                 ` Arun Isaac

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.