aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2020-04-14 18:38:23 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2020-04-14 20:23:21 +0200
commit92e52d25adbb684ae943be396ee27273d9475afc (patch)
treeae6aec39959bcba7dbe766ecc12b65629415561c /gnu/packages
parentc3f88d4f345c41220670558391e38af2278936a4 (diff)
downloadguix-92e52d25adbb684ae943be396ee27273d9475afc.tar.gz
guix-92e52d25adbb684ae943be396ee27273d9475afc.zip
gnu: txr: Call ./configure manually instead of patching.
* gnu/packages/lisp.scm (txr)[source]: Remove patch. [arguments]: Add ‘--prefix’ to #:configure-flags. Use a custom ‘configure’ phase. * gnu/packages/patches/txr-shell.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/lisp.scm29
-rw-r--r--gnu/packages/patches/txr-shell.patch59
2 files changed, 19 insertions, 69 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index b35fa3225a..d7ad0a0db0 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -853,22 +853,31 @@ enough to play the original mainframe Zork all the way through.")
(url "http://www.kylheku.com/git/txr/")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
- (patches (search-patches "txr-shell.patch"))
(sha256
(base32
"0c9qsj4xwc24c9g02mr5n97m4d87d4n0pcc2c2n58l2vg5dnzba0"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("cc=gcc")
+ '(#:configure-flags
+ (list "cc=gcc"
+ (string-append "--prefix=" (assoc-ref %outputs "out")))
#:test-target "tests"
- #:phases (modify-phases %standard-phases
- (add-after 'configure 'fix-tests
- (lambda _
- (substitute* "tests/017/realpath.tl"
- (("/usr/bin") "/"))
- (substitute* "tests/017/realpath.expected"
- (("/usr/bin") "/"))
- #t)))))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; ./configure is a hand-written script that can't handle standard
+ ;; autotools arguments like CONFIG_SHELL.
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (setenv "txr_shell" (which "bash"))
+ (apply invoke "./configure" configure-flags)
+ #t))
+ (add-after 'configure 'fix-tests
+ (lambda _
+ (substitute* "tests/017/realpath.tl"
+ (("/usr/bin") "/"))
+ (substitute* "tests/017/realpath.expected"
+ (("/usr/bin") "/"))
+ #t)))))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
diff --git a/gnu/packages/patches/txr-shell.patch b/gnu/packages/patches/txr-shell.patch
deleted file mode 100644
index a4abb73eac..0000000000
--- a/gnu/packages/patches/txr-shell.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Use the current shell instead of trying to find another one and
-failing to do so.
-
-diff --git a/configure b/configure
-index f1adb919..7891b4dc 100755
---- a/configure
-+++ b/configure
-@@ -26,28 +26,6 @@
- # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--#
--# The #!/bin/sh might be some legacy piece of crap,
--# not even up to 1990 POSIX.2 spec. So the first step
--# is to look for a better shell in some known places
--# and re-execute ourselves with that interpreter.
--#
--
--if test x$txr_shell = x ; then
-- for shell in /bin/bash /usr/bin/bash /usr/xpg4/bin/sh ; do
-- if test -x $shell ; then
-- txr_shell=$shell
-- break
-- fi
-- done
-- if test x$txr_shell = x ; then
-- echo "No known POSIX shell found: falling back on /bin/sh, which may not work"
-- txr_shell=/bin/sh
-- fi
-- export txr_shell
-- exec $txr_shell $0 ${@+"$@"}
--fi
--
- set -u
-
- #
-@@ -190,13 +168,6 @@ while [ $# -gt 0 ] ; do
- exit 1
- fi
-
-- eval "var_exists=\${$var+y}"
--
-- if [ "$var_exists" != y ] ; then
-- printf "$0: nonexistent option: '%s'\n" "$1"
-- exit 1
-- fi
--
- eval "$var='$val'"
-
- eval "var_given_exists=\${${var}_given+y}"
-@@ -208,6 +179,8 @@ while [ $# -gt 0 ] ; do
- shift
- done
-
-+txr_shell=$CONFIG_SHELL
-+
- #
- # If --help was given (or --help=<nonempty> or help=<nonempty>) then
- # print help and exit. The termination status is failed, to indicate