GNU bug report logs -
#72406
[PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants
Previous Next
Full log
Message #74 received at 72406 <at> debbugs.gnu.org (full text, mbox):
* guix/build/emacs-build-system.scm (%emacs-prefix): New variable.
(package-name-version->elpa-name-version): Infer the prefix to strip from the
emacs used to compile the package.
---
guix/build/emacs-build-system.scm | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index aa083c6409..1894ac4c23 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -316,16 +316,29 @@ (define* (validate-compiled-autoloads #:key outputs #:allow-other-keys)
(autoloads (find-files out "-autoloads.elc$")))
(emacs-batch-eval (format #f "(mapc #'load '~s)" autoloads))))
-(define (emacs-package? name)
- "Check if NAME correspond to the name of an Emacs package."
- (string-prefix? "emacs-" name))
+(define %emacs-prefix
+ (make-parameter #f))
(define (package-name-version->elpa-name-version name-ver)
"Convert the Guix package NAME-VER to the corresponding ELPA name-version
format. Essentially drop the prefix used in Guix."
- (if (emacs-package? name-ver) ; checks for "emacs-" prefix
- (string-drop name-ver (string-length "emacs-"))
- name-ver))
+ ;; Get the preferred emacs prefix
+ (or (%emacs-prefix)
+ (%emacs-prefix
+ (let ((emacs (if (string-prefix? "/" (%emacs)) ; absolute file name
+ (%emacs)
+ (which "emacs"))))
+ (string-append
+ (package-name->name+version
+ (strip-store-file-name (dirname (dirname emacs))))
+ "-"))))
+
+ (cond
+ ((string-prefix? (%emacs-prefix) name-ver)
+ (string-drop name-ver (string-length (%emacs-prefix))))
+ ((string-prefix? "emacs-" name-ver)
+ (string-drop name-ver (string-length "emacs-")))
+ (else name-ver)))
(define (store-directory->elpa-name-version store-dir)
"Given a store directory STORE-DIR return the part of the basename after the
--
2.45.2
This bug report was last modified 284 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.