[PATCH 00/33] Improve Emacs UX.

  • Done
  • quality assurance status badge
Details
3 participants
  • Arun Isaac
  • Leo Prikler
  • Xinglu Chen
Owner
unassigned
Submitted by
Leo Prikler
Severity
normal
L
L
Leo Prikler wrote on 8 Apr 2021 19:46
(address . guix-patches@gnu.org)
20210408174616.13112-1-leo.prikler@student.tugraz.at
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 01/33] profiles: Add hook for Emacs subdirs.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-1-leo.prikler@student.tugraz.at
* 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(+)

Toggle diff (74 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 02/33] gnu: emacs: Wrap EMACSLOADPATH.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-2-leo.prikler@student.tugraz.at
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:

* 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(-)

Toggle diff (62 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 03/33] gnu: emacs: Patch more program file names.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-3-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (44 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 04/33] build-system: emacs: Use subdirectories again.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-4-leo.prikler@student.tugraz.at
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(-)

Toggle diff (153 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-5-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (15 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 06/33] gnu: emacs-guix: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-6-leo.prikler@student.tugraz.at
* 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(+)

Toggle diff (30 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 07/33] gnu: emacs-telega: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-7-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (94 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 08/33] gnu: Add emacs-telega-contrib.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-8-leo.prikler@student.tugraz.at
* gnu/packages/emacs-xyz.scm (emacs-telega-contrib): New variable.
---
gnu/packages/emacs-xyz.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)

Toggle diff (28 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-9-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (41 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 10/33] gnu: emacs-howm: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-10-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 11/33] gnu: emacs-ert-runner: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-11-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 12/33] gnu: emacs-pdf-tools: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)(name . Xinglu Chen)(address . public@yoctocell.xyz)
20210408175007.13360-12-leo.prikler@student.tugraz.at
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(-)

Toggle diff (17 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 13/33] gnu: emacs-shroud: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-13-leo.prikler@student.tugraz.at
* 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(+)

Toggle diff (26 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 14/33] gnu: emacs-sly-stepper: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-14-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (41 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 15/33] gnu: emacs-sly-stepper: Remove generated sources.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-15-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (30 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-16-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 17/33] gnu: emacs-edbi: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-17-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (38 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 18/33] gnu: emacs-scel: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-18-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (21 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 19/33] gnu: emacs-vterm: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-19-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (15 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 20/33] gnu: notmuch: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-20-leo.prikler@student.tugraz.at
* gnu/packages/mail.scm (notmuch)[configure]: Use elpa-directory.
---
gnu/packages/mail.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 21/33] gnu: emacs-pyim: Update to 3.6.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-21-leo.prikler@student.tugraz.at
* gnu/packages/emacs-xyz.scm (emacs-pyim): Update to 3.6.
---
gnu/packages/emacs-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-22-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (15 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 23/33] gnu: emacs-geiser: Update to 0.13.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210408175007.13360-23-leo.prikler@student.tugraz.at
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

Toggle diff (121 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 24/33] gnu: Add emacs-geiser-guile.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210408175007.13360-24-leo.prikler@student.tugraz.at
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

Toggle diff (107 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:49
[PATCH 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210408175007.13360-25-leo.prikler@student.tugraz.at
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(-)

Toggle diff (40 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 26/33] gnu: emacs-flycheck-guile: Add missing input.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210408175007.13360-26-leo.prikler@student.tugraz.at
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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 27/33] gnu: guile-studio: Add missing input.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210408175007.13360-27-leo.prikler@student.tugraz.at
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(+)

Toggle diff (14 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-28-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (24 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 29/33] gnu: emacs-dvc: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-29-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (25 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 30/33] gnu: emacs-w3m: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-30-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (34 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 31/33] gnu: emacs-wget: Port to emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-31-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (45 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-32-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (27 lines)
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
L
L
Leo Prikler wrote on 8 Apr 2021 19:50
[PATCH 33/33] gnu: emacs-julia-snail: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210408175007.13360-33-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (22 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 01/33] profiles: Add hook for Emacs subdirs.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-1-leo.prikler@student.tugraz.at
* 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(+)

Toggle diff (74 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 02/33] gnu: emacs: Wrap EMACSLOADPATH.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-2-leo.prikler@student.tugraz.at
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:

* 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(-)

Toggle diff (62 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 03/33] gnu: emacs: Add coreutils and gzip to PATH.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-3-leo.prikler@student.tugraz.at
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(-)

Toggle diff (53 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 04/33] build-system: emacs: Use subdirectories again.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-4-leo.prikler@student.tugraz.at
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(-)

Toggle diff (153 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 05/33] gnu: emacs-libgit: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-5-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (15 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 06/33] gnu: emacs-guix: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-6-leo.prikler@student.tugraz.at
* 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(+)

Toggle diff (30 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 07/33] gnu: emacs-telega: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-7-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (94 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 08/33] gnu: Add emacs-telega-contrib.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-8-leo.prikler@student.tugraz.at
* gnu/packages/emacs-xyz.scm (emacs-telega-contrib): New variable.
---
gnu/packages/emacs-xyz.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)

Toggle diff (28 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 09/33] gnu: emacs-emacsql: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-9-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (41 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 10/33] gnu: emacs-howm: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-10-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 11/33] gnu: emacs-ert-runner: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-11-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 12/33] gnu: emacs-pdf-tools: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)(name . Xinglu Chen)(address . public@yoctocell.xyz)
20210417170648.3810-12-leo.prikler@student.tugraz.at
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(-)

Toggle diff (17 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 13/33] gnu: emacs-shroud: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-13-leo.prikler@student.tugraz.at
* 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(+)

Toggle diff (26 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 14/33] gnu: emacs-sly-stepper: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-14-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (41 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 15/33] gnu: emacs-sly-stepper: Remove generated sources.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-15-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (30 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 16/33] gnu: emacs-org-contrib: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-16-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 17/33] gnu: emacs-edbi: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-17-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (38 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 18/33] gnu: emacs-scel: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-18-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (21 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 19/33] gnu: emacs-vterm: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-19-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (15 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 20/33] gnu: notmuch: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-20-leo.prikler@student.tugraz.at
* gnu/packages/mail.scm (notmuch)[configure]: Use elpa-directory.
---
gnu/packages/mail.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 21/33] gnu: emacs-pyim: Update to 3.6.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-21-leo.prikler@student.tugraz.at
* gnu/packages/emacs-xyz.scm (emacs-pyim): Update to 3.6.
---
gnu/packages/emacs-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 22/33] gnu: emacs-realgud: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-22-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (15 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 23/33] gnu: emacs-geiser: Update to 0.13.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210417170648.3810-23-leo.prikler@student.tugraz.at
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

Toggle diff (121 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 24/33] gnu: Add emacs-geiser-guile.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210417170648.3810-24-leo.prikler@student.tugraz.at
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

Toggle diff (107 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 25/33] gnu: emacs-guix: Update to 0.5.2-4.8ce6d21.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210417170648.3810-25-leo.prikler@student.tugraz.at
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(-)

Toggle diff (40 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 26/33] gnu: emacs-flycheck-guile: Add missing input.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210417170648.3810-26-leo.prikler@student.tugraz.at
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(-)

Toggle diff (16 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 27/33] gnu: guile-studio: Add missing input.
(address . 47661@debbugs.gnu.org)(name . Morgan Smith)(address . Morgan.J.Smith@outlook.com)
20210417170648.3810-27-leo.prikler@student.tugraz.at
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(+)

Toggle diff (14 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 28/33] gnu: geiser-gauche: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-28-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (24 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 29/33] gnu: emacs-dvc: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-29-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (25 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 30/33] gnu: emacs-w3m: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-30-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (34 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 31/33] gnu: emacs-wget: Port to emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-31-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (45 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 32/33] gnu: emacs-haskell-mode: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-32-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (27 lines)
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
L
L
Leo Prikler wrote on 17 Apr 2021 19:06
[PATCH v2 33/33] gnu: emacs-julia-snail: Adjust to changes in emacs-build-system.
(address . 47661@debbugs.gnu.org)
20210417170648.3810-33-leo.prikler@student.tugraz.at
* 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(-)

Toggle diff (22 lines)
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
X
X
Xinglu Chen wrote on 29 Apr 2021 14:16
Re: [bug#47661] [PATCH 00/33] Improve Emacs UX.
87v985uvz9.fsf@yoctocell.xyz
Hi,

On Thu, Apr 08 2021, Leo Prikler wrote:

Toggle quote (12 lines)
> 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!
L
L
Leo Prikler wrote on 29 Apr 2021 16:58
040332f67d721597f7885e4605259b8d562d29be.camel@student.tugraz.at
Am Donnerstag, den 29.04.2021, 14:16 +0200 schrieb Xinglu Chen:
Toggle quote (28 lines)
> 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
X
X
Xinglu Chen wrote on 30 Apr 2021 10:25
87fsz8npqe.fsf@yoctocell.xyz
On Thu, Apr 29 2021, Leo Prikler wrote:

Toggle quote (9 lines)
>> 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.
L
L
Leo Prikler wrote on 1 May 2021 20:45
7b548f6326d2f14eff1077afa37fac7400fbbce7.camel@student.tugraz.at
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
Closed
A
A
Arun Isaac wrote on 4 May 2021 07:13
Re: bug#47661: [PATCH 00/33] Improve Emacs UX.
87h7jjm67x.fsf@systemreboot.net
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.

Toggle snippet (6 lines)
;;; 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")

Could you fix this?

Thank you for your time! :-)
Arun
-----BEGIN PGP SIGNATURE-----

iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmCQ2AIbHGFydW5pc2Fh
Y0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuz3+IIAMivC7uTpj5OxjnDd8Xw
/iXZA7RX2Kcv5w6YK0mi5MzbbB2itZS0L8d95fMJhQBuebXy4n0yQDqDLTilZAC7
tUGPxWvIh6x0YBmAAbNnjvRUli1pHGEGbZk1NlRkUw4GvPoorvbqywiijzgdwKGR
U+nIHuFJHwitFU9pm811ct//ZpPlnmls7dqxUHCnGhQzOA+3RoIqb06lEHFNF4Gy
97ZAe4Xp7Rxc00xMSQy2UV6TJxpT/FBNUvxQXnrjj6x8UEkQMeT2k+CXLhJnbG0U
26TzfO5Wr4Hw6oFE5l3n0pUrYaHqme8t+uA6XjphRRrvURLqfGNTJI5fd8RgWr71
dvg=
=oT+T
-----END PGP SIGNATURE-----

Closed
L
L
Leo Prikler wrote on 4 May 2021 08:38
bde4484096963e3bbf7bc9a47b2aca0257ee1b2d.camel@student.tugraz.at
Hi Arun,

Am Dienstag, den 04.05.2021, 10:43 +0530 schrieb Arun Isaac:
Toggle quote (15 lines)
> 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

Toggle snippet (14 lines)
;;; 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")

sound?
Closed
A
A
Arun Isaac wrote on 4 May 2021 23:02
877dkemcus.fsf@systemreboot.net
Hi Leo,

Toggle quote (9 lines)
> --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!
-----BEGIN PGP SIGNATURE-----

iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmCRtmsbHGFydW5pc2Fh
Y0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzROEIAMS4UfWYl588HzPZzA5M
60AYSXsO6joO9wIj9Z3/y6uIE8RU+O2MrJd/+7MTlpsEFuXsW5gxdmhfH2A4Eq5u
ZURTLme0Yjsk1aJsB4wdg8DLThFGLUphRYNKlm6d0Cxt0edASefdK3EVJKLJUiOH
qOTgnunaex+7hji6j9L/k7hOgpagjIUYlwAfS4jPcxIyIRVbdB/+vgGfyCE2HyWt
e9XSOdqc6JRD5vXY5OVJCcTx54HN8yyheQdHqNhQCPS1HbN7wlO0tHQ6VG00Of7v
WN3dFG9rRF+DQ8DU01yM3KqwMsxqLwpWPg2TB1TxAaKtyXPYs6dETtvYXUkGsziW
Tao=
=24cG
-----END PGP SIGNATURE-----

Closed
L
L
Leo Prikler wrote on 4 May 2021 23:22
6d659b20b49b1660db85586ec27d89fb03f67957.camel@student.tugraz.at
Am Mittwoch, den 05.05.2021, 02:32 +0530 schrieb Arun Isaac:
Toggle quote (17 lines)
> 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
Closed
A
A
Arun Isaac wrote on 5 May 2021 09:47
874kfhmxk8.fsf@systemreboot.net
Ok, that makes sense. Do proceed with the fix.

Thanks!
Arun
-----BEGIN PGP SIGNATURE-----

iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmCSTZcbHGFydW5pc2Fh
Y0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzWCUH/RTNsvqkgUiMadQHaHAh
UUxhbh/urnqE7jBDacvlbVvptr6cUb96dWQmrh8eQg2j05ElREplWfYj1OoXxzP3
7n3f+j9mblzYR/I58qNzUa+Gxsq1cv3dwZ7141EqoXsASKmaubYtGiTnLXFLd+27
pI3+c6qPZx8KDARY4QAu+wdyrE4E67IVU63FOHvSGjl3iulfu7nBvIShdM8Ehc32
14dl+Ah0hE8xmiXRmz7eKHsBjeCCTJqXx2wYekbOT8GQsM5b1GB7js5yiKKIlW3v
flOlX89TzpPBwAK+Cq4caDRV+yaKaIE777ql1D+1zvC7FIVKJfpw+Hmo1OFY7SvZ
/MQ=
=e5q2
-----END PGP SIGNATURE-----

Closed
?