From af74c0633aa62d7d4e341920cfa3265f27f793cf Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jul 2020 23:27:04 +0200 Subject: gnu: gash, gash-utils: Build with Guile 3.0. * 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/packages/commencement.scm | 6 +++++- gnu/packages/patches/gash-utils-ls-test.patch | 25 +++++++++++++++++++++++++ gnu/packages/shells.scm | 24 ++++++++++++++++++++---- 3 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/gash-utils-ls-test.patch (limited to 'gnu/packages') diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index ef250e037b..d0393ebe25 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -140,7 +140,7 @@ (define gash-boot (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 @@ (define gash-utils-boot (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 index 0000000000..e1dfb9c23b --- /dev/null +++ b/gnu/packages/patches/gash-utils-ls-test.patch @@ -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 diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 109baacc30..b790a0cc18 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -856,12 +856,19 @@ (define-public gash (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 @@ (define-public gash-utils 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") -- cgit v1.2.3