aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-02-29 12:38:33 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-03-19 12:07:10 -0400
commit092cdae90b57ec6a6bd4047f37d8a5d8526bc191 (patch)
tree02b4425930f0fd8398b7fde9362ea3fe815dfe4e
parent93f606b343dab7e1eb1fe0c2f8eb4b11fc7767b6 (diff)
downloadguix-092cdae90b57ec6a6bd4047f37d8a5d8526bc191.tar.gz
guix-092cdae90b57ec6a6bd4047f37d8a5d8526bc191.zip
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.scm53
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