gnu: guile-hall: Update to 0.4.1-1.7558ba9.

* gnu/packages/guile-xyz.scm (guile-hall): Update to 0.4.1-1.7558ba9.
[arguments] <modules>: Remove (ice-9 match) and (ice-9 ftw) modules.
Add (guix build guile-build-system).
<phases>: Use gexps.  Streamline hall-wrap-binaries phase.
[native-inputs]: Add guile-3.0 and gettext-minimal.
[propagated-inputs]: Delete field, moving guile-config to...
[inputs]: ... here.  Add bash-minimal and guile-lib.

Change-Id: Idef796dc3ba9ca3fa4df8114efe91af7c5cf7be0
This commit is contained in:
Maxim Cournoyer 2024-01-19 22:45:26 -05:00
parent c66a1a0f0f
commit b509dedf83
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -16,7 +16,7 @@
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
@ -2051,90 +2051,74 @@ above command-line parameters.")
(replace "guile" guile-2.2))))) (replace "guile" guile-2.2)))))
(define-public guile-hall (define-public guile-hall
(package ;; There are many unreleased bug fixes; use the latest commit for now.
(name "guile-hall") (let ((commit "7558ba906d4281a5b825e3c1c87f2810312414b6")
(version "0.4.1") (revision "1"))
(source (package
(origin (name "guile-hall")
(method git-fetch) (version (git-version "0.4.1" revision commit))
(uri (git-reference (source
(url "https://gitlab.com/a-sassmannshausen/guile-hall") (origin
(commit version))) (method git-fetch)
(file-name (git-file-name name version)) (uri (git-reference
(sha256 (url "https://gitlab.com/a-sassmannshausen/guile-hall")
(base32 "0yrrik1v1xbik5h5q7w2cxrx6gvkmcdm32dl36i7xqdq8pr8sh2d")))) (commit commit)))
(build-system gnu-build-system) (file-name (git-file-name name version))
(arguments (sha256
`(#:modules (base32 "0sqm6nyzc37p0xgjj21m9dar2iqik9gfwlcacp2v6y10lh2f1yps"))))
((ice-9 match) (build-system gnu-build-system)
(ice-9 ftw) (arguments
,@%gnu-build-system-modules) (list
#:modules `(((guix build guile-build-system)
#:select
(target-guile-effective-version))
,@%gnu-build-system-modules)
#:phases #:phases
(modify-phases (with-imported-modules `((guix build guile-build-system)
%standard-phases ,@%gnu-build-system-modules)
(add-after 'install 'hall-wrap-binaries #~(modify-phases %standard-phases
(lambda* (#:key inputs outputs #:allow-other-keys) (add-after 'install 'hall-wrap-binaries
(let* ((compiled-dir (lambda* (#:key inputs #:allow-other-keys)
(lambda (out version) (let* ((version (target-guile-effective-version))
(string-append (site-ccache (string-append "/lib/guile/"
out "/lib/guile/" version "/site-ccache"))) version "/site-ccache"))
(uncompiled-dir (site (string-append "/share/guile/site/" version))
(lambda (out version) (dep-path
(string-append (lambda (env path)
out "/share/guile/site" (list env ":" 'prefix
(if (string-null? version) "" "/") version))) (cons (string-append #$output path)
(dep-path (map (lambda (input)
(lambda (env modules path) (string-append
(list env ":" 'prefix (assoc-ref inputs input)
(cons modules path))
(map (lambda (input) (list "guile-config"
(string-append "guile-lib"))))))
(assoc-ref inputs input) (bin (string-append (ungexp output) "/bin/")))
path)) (wrap-program (string-append bin "hall")
,''("guile-config")))))) (dep-path "GUILE_LOAD_PATH" site)
(out (assoc-ref outputs "out")) (dep-path "GUILE_LOAD_COMPILED_PATH" site-ccache)))))))))
(bin (string-append out "/bin/")) (native-inputs
(site (uncompiled-dir out ""))) (list autoconf
(match (scandir site) automake
(("." ".." version) gettext-minimal
(for-each guile-3.0
(lambda (file) pkg-config
(wrap-program texinfo))
(string-append bin file) (inputs
(dep-path (list bash-minimal
"GUILE_LOAD_PATH" guile-3.0
(uncompiled-dir out version) guile-config
(uncompiled-dir "" version)) guile-lib))
(dep-path (propagated-inputs
"GUILE_LOAD_COMPILED_PATH" (list guile-config))
(compiled-dir out version) (synopsis "Guile project tooling")
(compiled-dir "" version)))) (description
,''("hall")) "Hall is a command-line application and a set of Guile libraries that
#t))))))))
(native-inputs
(list autoconf automake pkg-config texinfo))
(inputs (list guile-3.0))
(propagated-inputs
(list guile-config))
(synopsis "Guile project tooling")
(description
"Hall is a command-line application and a set of Guile libraries that
allow you to quickly create and publish Guile projects. It allows you to allow you to quickly create and publish Guile projects. It allows you to
transparently support the GNU build system, manage a project hierarchy & transparently support the GNU build system, manage a project hierarchy &
provides tight coupling to Guix.") provides tight coupling to Guix.")
(home-page "https://gitlab.com/a-sassmannshausen/guile-hall") (home-page "https://gitlab.com/a-sassmannshausen/guile-hall")
(license license:gpl3+))) (license license:gpl3+))))
(define-public guile2.2-hall
(package
(inherit guile-hall)
(name "guile2.2-hall")
(inputs (modify-inputs (package-inputs guile-hall)
(replace "guile" guile-2.2)))
(propagated-inputs
`(("guile-config" ,guile2.2-config)
,@(alist-delete "guile-config"
(package-propagated-inputs guile-hall))))))
(define-public guile-ics (define-public guile-ics
(package (package