mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-22 02:07:56 +01:00
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.
This commit is contained in:
parent
93f606b343
commit
092cdae90b
1 changed files with 12 additions and 41 deletions
|
@ -18303,7 +18303,7 @@ (define-public emacs-forge
|
|||
(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 @@ (define-public emacs-forge
|
|||
(sha256
|
||||
(base32
|
||||
"1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83"))))
|
||||
(build-system gnu-build-system)
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs
|
||||
`(("texinfo" ,texinfo)
|
||||
("emacs" ,emacs-minimal)))
|
||||
|
@ -18329,51 +18329,22 @@ (define-public emacs-forge
|
|||
("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
|
||||
|
|
Loading…
Reference in a new issue