summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-01-19 22:45:26 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-01-19 22:57:15 -0500
commitb509dedf8303748a5c0065e8bf822293fa1d4329 (patch)
tree2f01bfe2f1eb0d36e99f5d679930eaa73143c17e
parentc66a1a0f0f41e73645eefcd0935869b6a7b139c2 (diff)
downloadguix-b509dedf8303748a5c0065e8bf822293fa1d4329.tar.gz
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
-rw-r--r--gnu/packages/guile-xyz.scm146
1 files changed, 65 insertions, 81 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 77be632cc3..b36b4aa233 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -16,7 +16,7 @@
 ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
 ;;; Copyright © 2017 Nikita <nikita@n0.is>
 ;;; 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 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
@@ -2051,90 +2051,74 @@ above command-line parameters.")
               (replace "guile" guile-2.2)))))
 
 (define-public guile-hall
-  (package
-    (name "guile-hall")
-    (version "0.4.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://gitlab.com/a-sassmannshausen/guile-hall")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0yrrik1v1xbik5h5q7w2cxrx6gvkmcdm32dl36i7xqdq8pr8sh2d"))))
-    (build-system gnu-build-system)
-    (arguments
-      `(#:modules
-        ((ice-9 match)
-         (ice-9 ftw)
-         ,@%gnu-build-system-modules)
+  ;; There are many unreleased bug fixes; use the latest commit for now.
+  (let ((commit "7558ba906d4281a5b825e3c1c87f2810312414b6")
+        (revision "1"))
+    (package
+      (name "guile-hall")
+      (version (git-version "0.4.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.com/a-sassmannshausen/guile-hall")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0sqm6nyzc37p0xgjj21m9dar2iqik9gfwlcacp2v6y10lh2f1yps"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        #:modules `(((guix build guile-build-system)
+                     #:select
+                     (target-guile-effective-version))
+                    ,@%gnu-build-system-modules)
         #:phases
-        (modify-phases
-          %standard-phases
-          (add-after 'install 'hall-wrap-binaries
-            (lambda* (#:key inputs outputs #:allow-other-keys)
-              (let* ((compiled-dir
-                       (lambda (out version)
-                         (string-append
-                           out "/lib/guile/" version "/site-ccache")))
-                     (uncompiled-dir
-                       (lambda (out version)
-                         (string-append
-                          out "/share/guile/site"
-                          (if (string-null? version) "" "/") version)))
-                     (dep-path
-                       (lambda (env modules path)
-                         (list env ":" 'prefix
-                               (cons modules
-                                     (map (lambda (input)
-                                            (string-append
-                                              (assoc-ref inputs input)
-                                              path))
-                                          ,''("guile-config"))))))
-                     (out (assoc-ref outputs "out"))
-                     (bin (string-append out "/bin/"))
-                     (site (uncompiled-dir out "")))
-                (match (scandir site)
-                       (("." ".." version)
-                        (for-each
-                          (lambda (file)
-                            (wrap-program
-                              (string-append bin file)
-                              (dep-path
-                                "GUILE_LOAD_PATH"
-                                (uncompiled-dir out version)
-                                (uncompiled-dir "" version))
-                              (dep-path
-                                "GUILE_LOAD_COMPILED_PATH"
-                                (compiled-dir out version)
-                                (compiled-dir "" version))))
-                          ,''("hall"))
-                        #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
+        (with-imported-modules `((guix build guile-build-system)
+                                 ,@%gnu-build-system-modules)
+          #~(modify-phases %standard-phases
+              (add-after 'install 'hall-wrap-binaries
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (let* ((version (target-guile-effective-version))
+                         (site-ccache (string-append "/lib/guile/"
+                                                     version "/site-ccache"))
+                         (site (string-append "/share/guile/site/" version))
+                         (dep-path
+                          (lambda (env path)
+                            (list env ":" 'prefix
+                                  (cons (string-append #$output path)
+                                        (map (lambda (input)
+                                               (string-append
+                                                (assoc-ref inputs input)
+                                                path))
+                                             (list "guile-config"
+                                                   "guile-lib"))))))
+                         (bin (string-append (ungexp output) "/bin/")))
+                    (wrap-program (string-append bin "hall")
+                      (dep-path "GUILE_LOAD_PATH" site)
+                      (dep-path "GUILE_LOAD_COMPILED_PATH" site-ccache)))))))))
+      (native-inputs
+       (list autoconf
+             automake
+             gettext-minimal
+             guile-3.0
+             pkg-config
+             texinfo))
+      (inputs
+       (list bash-minimal
+             guile-3.0
+             guile-config
+             guile-lib))
+      (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
 transparently support the GNU build system, manage a project hierarchy &
 provides tight coupling to Guix.")
-    (home-page "https://gitlab.com/a-sassmannshausen/guile-hall")
-    (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))))))
+      (home-page "https://gitlab.com/a-sassmannshausen/guile-hall")
+      (license license:gpl3+))))
 
 (define-public guile-ics
   (package