From 77e78f7ea47f130bbcc135bad5001fae90ad5103 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 29 Feb 2020 12:38:33 -0500 Subject: [PATCH 4/8] 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. --- gnu/packages/emacs-xyz.scm | 53 +++++++++----------------------------- 1 file changed, 12 insertions(+), 41 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index dd54bbeaca..cc72c4861d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18267,7 +18267,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) @@ -18278,7 +18278,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))) @@ -18293,51 +18293,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 -- 2.25.0