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>
This commit is contained in:
Guillaume LE VAILLANT 2019-05-28 11:00:58 +02:00 committed by Ludovic Courtès
parent 0be465924c
commit a0c3a2e3a1
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 108 additions and 0 deletions

View File

@ -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 \

View File

@ -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)))

View File

@ -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