summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorMorgan Smith <Morgan.J.Smith@outlook.com>2025-03-02 14:31:29 -0500
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2025-06-15 16:56:50 +0200
commit00025ab4ac40d80064fff016907c37bcb022c34a (patch)
treea4e749efd086c1b9276e0405529469007fa8dcd8 /guix
parent83babb5f98c6a05a95673363b98ae7ac6ac03010 (diff)
guix: emacs-build-system: Add #:lisp-directory.
* guix/build-system/emacs.scm (emacs-build): Add #:lisp-directory. * guix/build/emacs-build-system.scm (unpack): Change into lisp-directory after unpacking. Change-Id: I3991af7188de72b29b1c6985ffe7185216cedb35 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'guix')
-rw-r--r--guix/build-system/emacs.scm2
-rw-r--r--guix/build/emacs-build-system.scm6
2 files changed, 6 insertions, 2 deletions
diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index fc165c21d7..61b9c171b4 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -87,6 +87,7 @@
(test-command #f) ; inferred in emacs-build-system
(phases '%standard-phases)
(outputs '("out"))
+ (lisp-directory #f)
(include (quote %default-include))
(exclude (quote %default-exclude))
(search-paths '())
@@ -105,6 +106,7 @@
(use-modules #$@(sexp->gexp modules))
(emacs-build #:name #$name
#:source #+source
+ #:lisp-directory #$lisp-directory
#:system #$system
#:test-command #$test-command
#:tests? #$tests?
diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index ff35547968..ffa6d3cbb0 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -67,7 +67,7 @@ name that has been stripped of the hash and version number."
(strip-store-file-name file) suffix))))
(string-append name suffix))))
-(define* (unpack #:key source #:allow-other-keys)
+(define* (unpack #:key source lisp-directory #:allow-other-keys)
"Unpack SOURCE into the build directory. SOURCE may be a compressed
archive, a directory, or an Emacs Lisp file."
(if (string-suffix? ".el" source)
@@ -76,7 +76,9 @@ archive, a directory, or an Emacs Lisp file."
(chdir "source")
(copy-file source (store-file->elisp-source-file source))
#t)
- (gnu:unpack #:source source)))
+ (begin
+ (gnu:unpack #:source source)
+ (and=> lisp-directory chdir))))
(define* (expand-load-path #:key (prepend-source? #t) #:allow-other-keys)
"Expand EMACSLOADPATH, so that inputs, whose code resides in subdirectories,