|
From: | Maxime Devos |
Subject: | [bug#50833] [PATCH v2] gnu: Add bower. |
Date: | Wed, 20 Jul 2022 13:59:19 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 |
* gnu/packages/mail.scm (bower): New variable. Hi Maxim, Here's v2 patching the executables you requested. Sorry for the delay. all best, jgart --- gnu/packages/mail.scm | 80 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 556c5b4305..afad1cc4bf 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -48,6 +48,7 @@ ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -124,6 +125,7 @@ (define-module (gnu packages mail) #:use-module (gnu packages lua) #:use-module (gnu packages m4) #:use-module (gnu packages man) + #:use-module (gnu packages mercury) #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) @@ -1522,6 +1524,84 @@ (define-public python-notmuch2 (synopsis "Pythonic bindings for the notmuch mail database using CFFI") (license license:gpl3+))) +(define-public bower + (package + (name "bower") + (version "0.13") + (home-page "https://github.com/wangp/bower") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r5s16pc3ym5nd33lv9ljv1p1gpb7yysrdni4g7w7yvjrnwk35l6")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list + "bower" + "man" + (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" %output))
IIRC, %output is not documented -- you can use #$output instead:
(arguments (list #:make-flags #~(list "bower" "man" (string-append "CC=" #$(cc-for-target)) (string-append "prefix=" #$output)) [...]))
+ #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-executables + (lambda* (#:key inputs #:allow-other-keys) + (let ((file (assoc-ref inputs "file")) + (base64 (assoc-ref inputs "coreutils")) + (lynx (assoc-ref inputs "lynx")) + (sendmail (assoc-ref inputs "sendmail")) + (notmuch (assoc-ref inputs "notmuch"))) + (substitute* "src/detect_mime_type.m" + (("\"file") + (string-append "\"" file "/bin/file")))
Not using input labels is preferred (such that package transformations can easily be used to, say, replace "coreutils" with something sufficiently compatible that isn't "coreutils"). You can use search-input-file instead. E.g.,:
(substitute* "src/detect_mime_type.m"
("\"file") (string-append "\"" (search-input-file inputs
"/bin/file")))
[...])
and likewise for the other substitutions.
+ (substitute* "src/compose.m" + (("\"base64") + (string-append "\"" base64 "/bin/base64")) + (("\"lynx") + (string-append "\"" lynx "/bin/lynx"))) + (substitute* "src/prog_config.m" + (("\"notmuch\"") + (string-append "\"" notmuch "/bin/notmuch\"")) + (("/usr/bin/sendmail") + (string-append sendmail "/sbin/sendmail")) + (("\"lynx") + (string-append "\"" lynx "/bin/lynx")))))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys)
You are not using inputs or outputs here, so they can be removed.
+ (when tests? + (chdir "tests") + (invoke "make"))))
Due to the issue noted below, I recommend keeping the 'chdir'
unconditional. I believe (with-directory-excursion ...) to be even
better, as it restores the change in directory automatically, less
room for trouble.
+ (replace 'install + (lambda* (#:key outpus #:allow-other-keys)
You are not using 'outpus' here (also, 'outpus' -> 'outputs'),
so it can be removed.
I'd replace (assoc-ref %outputs "out") by #$output (don't forget to add #~ before the (modify-phases ...)) to avoid the assoc-ref construct and %outputs in favour of the simpler #$output.+ (let ((bin (string-append (assoc-ref %outputs "out") "/bin")) + (man (string-append (assoc-ref %outputs "out") "/share/man/man1")))
This is to undo the (chdir "tests") above, right? If so, remember that the (chdir "tests") above is unconditional, so this will break when tests are disabled (in case of --without-tests, or in case of cross-compiling with --target=aarch64-linux-gnu or such). So it needs to be made conditional on tests? as well, or the (chdir "tests") from above would need to be made unconditional, or the with-directory-excursion.+ (chdir "..")
Greetings,
Maxime
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |