[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#52699] [PATCH] gnu: Add nar-herder.
From: |
Ludovic Courtès |
Subject: |
[bug#52699] [PATCH] gnu: Add nar-herder. |
Date: |
Tue, 21 Dec 2021 12:02:48 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hello!
Christopher Baines <mail@cbaines.net> skribis:
> * gnu/packages/package-management.scm (nar-herder): New variable.
[...]
> + (add-before 'build 'set-GUILE_AUTO_COMPILE
> + (lambda _
> + ;; To avoid warnings relating to 'guild'.
> + (setenv "GUILE_AUTO_COMPILE" "0")
> + #t))
You can omit trailing #t’s.
> + (add-after 'install 'wrap-executable
> + (lambda* (#:key inputs outputs target #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (bin (string-append out "/bin"))
> + (guile (assoc-ref inputs "guile"))
> + (version (target-guile-effective-version))
> + (scm (string-append out "/share/guile/site/" version))
> + (go (string-append out "/lib/guile/" version
> "/site-ccache")))
> + (for-each
> + (lambda (file)
> + (simple-format (current-error-port) "wrapping: ~A\n"
> file)
> + (let ((guile-inputs (list
> + "guile-json"
> + "guile-gcrypt"
> + "guix"
> + "guile-lib"
> + "guile-sqlite3"
> + "gnutls"
> + "guile-fibers")))
> + (wrap-program file
> + `("GUILE_LOAD_PATH" ":" prefix
> + (,scm ,(string-join
> + (map (lambda (input)
> + (simple-format
> + #f "~A/share/guile/site/~A"
> + (assoc-ref inputs input)
> + version))
> + guile-inputs)
> + ":")))
> + `("GUILE_LOAD_COMPILED_PATH" ":" prefix
> + (,go ,(string-join
> + (map (lambda (input)
> + (simple-format
> + #f "~A/lib/guile/~A/site-ccache"
> + (assoc-ref inputs input)
> + version))
> + guile-inputs)
> + ":"))))))
I’d use ‘string-append’ rather than ‘format’.
(It’d be nice to have a streamlined solution to wrap those Guile
executables…)
> + (license license:gpl3+))))
I believe it’s ‘agpl3+’ (though GPLv3+ would make it easier to share
code with Guix; something worth considering).
Otherwise LGTM, thanks!
Ludo’.