gnu: gash, gash-utils: Build with Guile 3.0.
authorLudovic Courtès <ludo@gnu.org>
Thu, 2 Jul 2020 21:27:04 +0000 (23:27 +0200)
committerLudovic Courtès <ludo@gnu.org>
Thu, 2 Jul 2020 21:54:02 +0000 (23:54 +0200)
* gnu/packages/shells.scm (gash)[source]: Add 'modules' and 'snippet'.
[inputs]: Change GUILE-2.2 to GUILE-3.0.
(gash-utils)[source]: Add 'modules' and 'snippet'.
[inputs]: Change GUILE-2.2 to GUILE-3.0.
* gnu/packages/commencement.scm (gash-utils-boot)[source]: Remove
unneeded 'modules' field, and add 'snippet'.
(gash-utils-boot)[source]: New field.
* gnu/packages/patches/gash-utils-ls-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

gnu/local.mk
gnu/packages/commencement.scm
gnu/packages/patches/gash-utils-ls-test.patch [new file with mode: 0644]
gnu/packages/shells.scm

index deece17..0408821 100644 (file)
@@ -943,6 +943,7 @@ dist_patch_DATA =                                           \
   %D%/packages/patches/fontconfig-hurd-path-max.patch          \
   %D%/packages/patches/freeimage-unbundle.patch                \
   %D%/packages/patches/fuse-overlapping-headers.patch                          \
+  %D%/packages/patches/gash-utils-ls-test.patch                        \
   %D%/packages/patches/gawk-shell.patch                                \
   %D%/packages/patches/gcc-arm-bug-71399.patch                 \
   %D%/packages/patches/gcc-arm-link-spec-fix.patch             \
index ef250e0..d0393eb 100644 (file)
@@ -140,7 +140,7 @@ pure Scheme to Tar and decompression in one easy step.")
     (name "gash-boot")
     (source (origin
               (inherit (package-source gash))
-              (modules '())))
+              (snippet #f)))            ;discard snippet for Guile 3.0 support
     (arguments
      `(#:implicit-inputs? #f
        #:tests? #f
@@ -170,6 +170,10 @@ pure Scheme to Tar and decompression in one easy step.")
   (package
     (inherit gash-utils)
     (name "gash-utils-boot")
+    (source (origin
+              (inherit (package-source gash-utils))
+              (patches '())
+              (snippet #f)))            ;discard snippet for Guile 3.0 support
     (arguments
      `(#:implicit-inputs? #f
        #:tests? #f
diff --git a/gnu/packages/patches/gash-utils-ls-test.patch b/gnu/packages/patches/gash-utils-ls-test.patch
new file mode 100644 (file)
index 0000000..e1dfb9c
--- /dev/null
@@ -0,0 +1,25 @@
+'ls.scm' monkey-patches (ice-9 getopt-long) to allow it to recognize '-1'
+as a valid option.  Unfortunately, monkey patching no longer works with
+Guile 3.0 due to inlining, so change the test to make do without '-1'.
+
+diff --git a/tests/core-utils.org b/tests/core-utils.org
+index d35ede8..22718e3 100644
+--- a/tests/core-utils.org
++++ b/tests/core-utils.org
+@@ -93,14 +93,11 @@
+ * ls
+ :script:
+ #+begin_src sh
+-  ls -1 tests/data/star
++  ls tests/data/star
+ #+end_src
+ :stdout:
+ #+begin_example
+-  0
+-  1
+-  2
+-  3
++  0  1  2  3                                                                    
+ #+end_example
+ * test-file
index 109baac..b790a0c 100644 (file)
@@ -856,12 +856,19 @@ scripts.")
              (sha256
               (base32
                "13m0yz5h9nj3x40mr6wr5xcpq1lscndfwcicw3skrz801025hhgf"))
-             (modules '((guix build utils)))))
+             (modules '((guix build utils)))
+             (snippet
+              '(begin
+                 ;; Allow builds with Guile 3.0.
+                 (substitute* "configure"
+                   (("search=\"2\\.2 2\\.0\"")
+                    "search=\"3.0 2.2 2.0\""))
+                 #t))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("guile" ,guile-2.2)))
+     `(("guile" ,guile-3.0)))
     (arguments
      '(#:make-flags '("XFAIL_TESTS=tests/redirects.org")))
     (home-page "https://savannah.nongnu.org/projects/gash/")
@@ -882,12 +889,21 @@ as part of the Guix bootstrap process.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0ib2p52qmbac5n0s5bys4fiwim461ps546976l1n7pwbs0avh7fk"))))
+                "0ib2p52qmbac5n0s5bys4fiwim461ps546976l1n7pwbs0avh7fk"))
+              (patches (search-patches "gash-utils-ls-test.patch"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Allow builds with Guile 3.0.
+                  (substitute* "configure"
+                    (("search=\"2\\.2 2\\.0\"")
+                     "search=\"3.0 2.2 2.0\""))
+                  #t))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("guile" ,guile-2.2)
+     `(("guile" ,guile-3.0)
        ("gash" ,gash)))
     (home-page "https://savannah.nongnu.org/projects/gash/")
     (synopsis "Core POSIX utilities written in Guile Scheme")