gnu: Add txr.
* gnu/packages/lisp.scm (txr): New variable. * gnu/packages/patches/txr-shell.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
0be465924c
commit
a0c3a2e3a1
|
@ -1318,6 +1318,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/totem-meson-easy-codec.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/twinkle-include-qregexpvalidator.patch \
|
||||
%D%/packages/patches/txr-shell.patch \
|
||||
%D%/packages/patches/u-boot-fix-mkimage-header-verification.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
|
||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -45,8 +46,10 @@
|
|||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages ed)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
|
@ -5321,3 +5324,48 @@ port within a range.")
|
|||
|
||||
(define-public ecl-find-port
|
||||
(sbcl-package->ecl-package sbcl-find-port))
|
||||
|
||||
(define-public txr
|
||||
(package
|
||||
(name "txr")
|
||||
(version "216")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.kylheku.com/cgit/txr/snapshot/txr-"
|
||||
version
|
||||
".tar.bz2"))
|
||||
(patches (search-patches "txr-shell.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"07cxdpc9zsqd0c2668g00dqjpd6zc4mfdn74aarr6d2hpzdhh937"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("cc=gcc")
|
||||
#: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))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "make" "tests")))))))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)))
|
||||
(inputs
|
||||
`(("libffi" ,libffi)))
|
||||
(synopsis "General-purpose, multi-paradigm programming language")
|
||||
(description
|
||||
"TXR is a general-purpose, multi-paradigm programming language. It
|
||||
comprises two languages integrated into a single tool: a text scanning and
|
||||
extraction language referred to as the TXR Pattern Language (sometimes just
|
||||
\"TXR\"), and a general-purpose dialect of Lisp called TXR Lisp. TXR can be
|
||||
used for everything from \"one liner\" data transformation tasks at the
|
||||
command line, to data scanning and extracting scripts, to full application
|
||||
development in a wide-range of areas.")
|
||||
(home-page "https://nongnu.org/txr/")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
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
|
Reference in New Issue