[bug#76594,v3,4/4] gnu: quilt: Build emacs package.
Commit Message
* gnu/packages/patchutils.scm (quilt): Build emacs package.
Change-Id: I4d70ad1c137a377f71cd9d3f1b69f5ed95e4debd
---
Look at this absolute abomination! I'm so proud of this!
Please tell me all the reasons why this a terrible idea because I know it is
but the specific reasons elude me.
gnu/packages/patchutils.scm | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
Comments
Am Sonntag, dem 13.04.2025 um 13:39 -0400 schrieb Morgan Smith:
> * gnu/packages/patchutils.scm (quilt): Build emacs package.
>
> Change-Id: I4d70ad1c137a377f71cd9d3f1b69f5ed95e4debd
> ---
>
> Look at this absolute abomination! I'm so proud of this!
>
> Please tell me all the reasons why this a terrible idea because I
> know it is
> but the specific reasons elude me.
>
> gnu/packages/patchutils.scm | 26 +++++++++++++++++++++++++-
> 1 file changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/patchutils.scm
> b/gnu/packages/patchutils.scm
> index 3da1e7b3b4..64283d4ac1 100644
> --- a/gnu/packages/patchutils.scm
> +++ b/gnu/packages/patchutils.scm
> @@ -44,6 +44,7 @@ (define-module (gnu packages patchutils)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages databases)
> #:use-module (gnu packages django)
> + #:use-module (gnu packages emacs)
> #:use-module (gnu packages freedesktop)
> #:use-module (gnu packages file)
> #:use-module (gnu packages gawk)
> @@ -179,7 +180,7 @@ (define-public quilt
> (base32
> "09l4nf6qb8y8l62z8ypdg5mraz0lvqxg1j1p6xdyh1n10gg0k37y"))))
> (build-system gnu-build-system)
> (native-inputs
> - (list gettext-minimal))
> + (list emacs-minimal gettext-minimal))
> (inputs
> (list bash-minimal perl less file gzip ed
> diffutils diffstat findutils tar
> @@ -187,8 +188,31 @@ (define-public quilt
> guile-3.0))
> (arguments
> (list
> + #:imported-modules `(,@%default-gnu-imported-modules
> + (guix build emacs-build-system)
> + (guix build emacs-utils))
> + #:modules `(,@%default-gnu-modules
> + ((guix build emacs-build-system) #:prefix emacs:)
> + (guix build emacs-utils))
> #:phases
> #~(modify-phases %standard-phases
> + (add-after 'unpack 'emacs-build
> + (lambda* (#:rest args)
> + ;; Don't build using makefile
> + (substitute* "Makefile.in"
> + ((".*lib/quilt.el.*") ""))
> + (with-directory-excursion "lib"
> + ;; Run the `emacs-build-system' phases that aren't
> 'unpack' or
> + ;; duplicated in %standard-phases
> + (for-each
> + (lambda (phase)
> + (apply (cdr phase)
> + ;; No tests
> + (append args '(#:tests? #f))))
> + (filter (lambda (phase)
> + (not (or (eq? 'unpack (car phase))
> + (memq phase %standard-phases))))
> + emacs:%standard-phases)))))
While smart, please spell out the phases and run them once each :)
See other packages for reference.
Cheers
@@ -44,6 +44,7 @@ (define-module (gnu packages patchutils)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
+ #:use-module (gnu packages emacs)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages file)
#:use-module (gnu packages gawk)
@@ -179,7 +180,7 @@ (define-public quilt
(base32 "09l4nf6qb8y8l62z8ypdg5mraz0lvqxg1j1p6xdyh1n10gg0k37y"))))
(build-system gnu-build-system)
(native-inputs
- (list gettext-minimal))
+ (list emacs-minimal gettext-minimal))
(inputs
(list bash-minimal perl less file gzip ed
diffutils diffstat findutils tar
@@ -187,8 +188,31 @@ (define-public quilt
guile-3.0))
(arguments
(list
+ #:imported-modules `(,@%default-gnu-imported-modules
+ (guix build emacs-build-system)
+ (guix build emacs-utils))
+ #:modules `(,@%default-gnu-modules
+ ((guix build emacs-build-system) #:prefix emacs:)
+ (guix build emacs-utils))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'emacs-build
+ (lambda* (#:rest args)
+ ;; Don't build using makefile
+ (substitute* "Makefile.in"
+ ((".*lib/quilt.el.*") ""))
+ (with-directory-excursion "lib"
+ ;; Run the `emacs-build-system' phases that aren't 'unpack' or
+ ;; duplicated in %standard-phases
+ (for-each
+ (lambda (phase)
+ (apply (cdr phase)
+ ;; No tests
+ (append args '(#:tests? #f))))
+ (filter (lambda (phase)
+ (not (or (eq? 'unpack (car phase))
+ (memq phase %standard-phases))))
+ emacs:%standard-phases)))))
(delete 'check)
(add-after 'install 'wrap-script
;; quilt's configure checks for the absolute path to the utilities it