diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-02-29 12:38:33 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-03-19 12:07:10 -0400 |
commit | 092cdae90b57ec6a6bd4047f37d8a5d8526bc191 (patch) | |
tree | 02b4425930f0fd8398b7fde9362ea3fe815dfe4e | |
parent | 93f606b343dab7e1eb1fe0c2f8eb4b11fc7767b6 (diff) | |
download | guix-092cdae90b57ec6a6bd4047f37d8a5d8526bc191.tar guix-092cdae90b57ec6a6bd4047f37d8a5d8526bc191.tar.gz |
gnu: emacs-forge: Use the emacs-build-system.
This streamlines the package definition nicely and bring benefits, such as
having the Elisp files scanned for potential /bin/ programs and patched,
compressing the info manual, being able to compile the autoload file, and
installing the byte compiled files to the correct location (under site-lisp/).
* gnu/packages/emacs-xyz.scm (emacs-forge)[build-system]: Switch from the
gnu-build-system to the emacs-build-system.
[arguments]: Remove the #:modules and #:imported-modules arguments. Delete
all the custom phases except the 'chdir-lisp one, and add a new
'build-info-manual phase.
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 53 |
1 files changed, 12 insertions, 41 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2bba0eb129..0e7131faf3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18303,7 +18303,7 @@ a suffix) we prefer to call it just a \"transient\".") (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb")) (package (name "emacs-forge") - (version (git-version "0.1.0" "2" commit)) + (version (git-version "0.1.0" "3" commit)) (source (origin (method git-fetch) @@ -18314,7 +18314,7 @@ a suffix) we prefer to call it just a \"transient\".") (sha256 (base32 "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83")))) - (build-system gnu-build-system) + (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) @@ -18329,51 +18329,22 @@ a suffix) we prefer to call it just a \"transient\".") ("emacs-transient" ,emacs-transient))) (arguments `(#:tests? #f ;no tests - #:modules ((srfi srfi-26) - (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)) #:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'install) - (add-after 'unpack 'delete-doc-targets + (add-after 'unpack 'build-info-manual (lambda _ - (substitute* "./Makefile" - (("lisp docs") "lisp")))) - (add-after 'delete-doc-targets 'chdir-lisp + (invoke "make" "info") + ;; Move the info file to lisp so that it gets installed by the + ;; emacs-build-system. + (rename-file "docs/forge.info" "lisp/forge.info"))) + (add-after 'build-info-manual 'chdir-lisp (lambda _ - (chdir "lisp"))) - (add-after 'chdir-lisp 'emacs-install - (assoc-ref emacs:%standard-phases 'install)) - (add-after 'emacs-install 'emacs-make-autoloads - (assoc-ref emacs:%standard-phases 'make-autoloads)) - (add-after 'build 'install-elc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (el-dir (string-append - out "/share/emacs/site-lisp/guix.d/forge-" - ,version))) - (for-each (cut install-file <> el-dir) - (find-files "." "\\.elc")) - #t))) - (add-after 'install-elc 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (with-directory-excursion "../docs" - (invoke "makeinfo" "forge.texi") - (install-file "forge.info" info) - #t))))))) + (chdir "lisp") + #t))))) (home-page "https://github.com/magit/forge/") (synopsis "Access Git forges from Magit") - (description - "Work with Git forges, such as Github and Gitlab, from the comfort of -Magit and the rest of Emacs.") + (description "Work with Git forges, such as Github and Gitlab, from the +comfort of Magit and the rest of Emacs.") (license license:gpl3+)))) (define-public emacs-matcha |