From cc9ca4bfdf295affeeaba6422cbbd13e66332387 Mon Sep 17 00:00:00 2001
* gnu/packages/package-management.scm (gwl): Apply patches for newer versions
of guile-config
* gnu/packages/patches/gwl-fix-build-guile-config-0.5.1.patch: Add the patch.
---
gnu/packages/package-management.scm | 5 +-
.../gwl-fix-build-guile-config-0.5.1.patch | 75 +++++++++++++++++++
2 files changed, 79 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gwl-fix-build-guile-config-0.5.1.patch
Toggle diff (106 lines)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index e485e34bca..3c82d847a6 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1308,7 +1309,9 @@ (define-public gwl
(uri (string-append "mirror://gnu/gwl/gwl-" version ".tar.gz"))
(sha256
(base32
- "0sgaaq430l3dqmqqiikfb0ilxnd2cq28626y18kxx5c781qwpys9"))))
+ "0sgaaq430l3dqmqqiikfb0ilxnd2cq28626y18kxx5c781qwpys9"))
+ (patches
+ (search-patches "gwl-fix-build-guile-config-0.5.1.patch"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #false ; for reproducibility
diff --git a/gnu/packages/patches/gwl-fix-build-guile-config-0.5.1.patch b/gnu/packages/patches/gwl-fix-build-guile-config-0.5.1.patch
new file mode 100644
index 0000000000..496fd652e1
--- /dev/null
+++ b/gnu/packages/patches/gwl-fix-build-guile-config-0.5.1.patch
@@ -0,0 +1,75 @@
+From c0f281d2ef927686ed42f9c44828c501011a60dc Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <rekado@elephly.net>
+Date: Tue, 5 Jul 2022 16:58:53 +0200
+Subject: Require guile-config >= 0.5.0.
+
+---
+ configure.ac | 5 +++++
+ gwl/config.scm.in | 14 +++++++++-----
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a6897f4..eadc82f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -42,6 +42,11 @@ GUILE_MODULE_REQUIRED(gcrypt hash)
+ GUILE_MODULE_REQUIRED(pfds sets)
+ GUILE_MODULE_REQUIRED(drmaa v1 high)
+ GUILE_MODULE_REQUIRED(config)
++GUILE_MODULE_CHECK(guile_config_too_old,(config api),(argument (name 'foo) (optional? 'old)),supports `optional?' field in argument definition)
++if test "x$guile_config_too_old" = "xyes"; then
++ AC_MSG_ERROR([Guile Config needs to be version 0.5.0 or higher.])
++fi
++
+ AC_PATH_PROG([DOT], [dot])
+ if test "x$DOT" = "x"; then
+ AC_MSG_ERROR(['dot' could not be found; please check your Graphviz installation.])
+diff --git a/gwl/config.scm.in b/gwl/config.scm.in
+index 20a562e..d64eca3 100644
+--- a/gwl/config.scm.in
++++ b/gwl/config.scm.in
+@@ -65,7 +65,6 @@ workflow.")
+ (list
+ (argument
+ (name 'file)
+- (optional? #false)
+ (test file-exists?)
+ (handler identity)
+ (example "/path/to/my-workflow.w"))))
+@@ -95,12 +94,19 @@ workflow.")
+ (character #\i)
+ (synopsis "Specify workflow input NAME, optionally mapped to FILE")
+ (example "NAME[=FILE]")
+- (test string?))
++ (default #false)
++ (test (match-lambda
++ (#false #true)
++ (value (string? value)))))
+ (switch
+ (name 'output)
+ (character #\o)
+ (synopsis "Set LOCATION as output for a workflow")
+- (example "LOCATION"))
++ (example "LOCATION")
++ (default #false)
++ (test (match-lambda
++ (#false #true)
++ (value (string? value)))))
+ (switch
+ (name 'engine)
+ (character #\e)
+@@ -147,11 +153,9 @@ format) of the specified workflow.")
+ (list
+ (argument
+ (name 'file)
+- (optional? #false)
+ (test file-exists?)
+ (handler identity)
+ (example "/path/to/my-workflow.w")))))
+-
+ (configuration
+ (name 'web)
+ (synopsis "Start the web interface")
+--
+cgit v1.1
+
--
2.36.1