From 008649604296307682955d4c0da2525b606b7134 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 25 Jan 2017 12:57:42 -0500 Subject: gnu: tcsh: Incorporate grafted patch. * gnu/packages/shells.scm (tcsh)[replacement]: Remove field. [source]: Add patch 'tcsh-fix-out-of-bounds-read.patch'. (tcsh/fixed): Remove variable. --- gnu/packages/shells.scm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'gnu/packages/shells.scm') diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 4ed1f4696..d4a7d8090 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -217,7 +217,6 @@ written by Paul Haahr and Byron Rakitzis.") (define-public tcsh (package (name "tcsh") - (replacement tcsh/fixed) (version "6.18.01") (source (origin (method url-fetch) @@ -230,7 +229,8 @@ written by Paul Haahr and Byron Rakitzis.") (base32 "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q")) (patches (search-patches "tcsh-fix-autotest.patch" - "tcsh-do-not-define-BSDWAIT.patch")) + "tcsh-do-not-define-BSDWAIT.patch" + "tcsh-fix-out-of-bounds-read.patch")) (patch-flags '("-p0")))) (build-system gnu-build-system) (inputs @@ -275,15 +275,6 @@ command-line editor, programmable word completion, spelling correction, a history mechanism, job control and a C-like syntax.") (license bsd-4))) -(define tcsh/fixed - (package - (inherit tcsh) - (name "tcsh") - (source (origin - (inherit (package-source tcsh)) - (patches (cons (search-patch "tcsh-fix-out-of-bounds-read.patch") - (origin-patches (package-source tcsh)))))))) - (define-public zsh (package (name "zsh") -- cgit v1.3 From 816417f5a48cbdf8e551b47d36bb56be17dd4b9e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 24 Feb 2017 00:13:02 -0500 Subject: gnu: tcsh: Update to 6.20.00. * gnu/packages/shells.scm (tcsh): Update to 6.20.00. [source]: Remove 'tcsh-do-not-define-BSDWAIT.patch'. [inputs]: Remove coreutils. Move autoconf to ... [native-inputs]: ... here. Add perl. * gnu/packages/patches/tcsh-fix-autotest.patch: Adjust patch to upstream changes. * gnu/packages/patches/tcsh-do-not-define-BSDWAIT.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../patches/tcsh-do-not-define-BSDWAIT.patch | 33 ------ gnu/packages/patches/tcsh-fix-autotest.patch | 113 ++++++++++----------- gnu/packages/shells.scm | 12 +-- 4 files changed, 58 insertions(+), 101 deletions(-) delete mode 100644 gnu/packages/patches/tcsh-do-not-define-BSDWAIT.patch (limited to 'gnu/packages/shells.scm') diff --git a/gnu/local.mk b/gnu/local.mk index d7c7ed347..ec9332271 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -918,7 +918,6 @@ dist_patch_DATA = \ %D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tcl-mkindex-deterministic.patch \ %D%/packages/patches/tclxml-3.2-install.patch \ - %D%/packages/patches/tcsh-do-not-define-BSDWAIT.patch \ %D%/packages/patches/tcsh-fix-autotest.patch \ %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \ diff --git a/gnu/packages/patches/tcsh-do-not-define-BSDWAIT.patch b/gnu/packages/patches/tcsh-do-not-define-BSDWAIT.patch deleted file mode 100644 index 142688321..000000000 --- a/gnu/packages/patches/tcsh-do-not-define-BSDWAIT.patch +++ /dev/null @@ -1,33 +0,0 @@ -Do not define BSDWAIT to avoid error "storage size of ‘w’ isn’t known". - -This is an adapted version of the upstream patch taken from here: -https://github.com/tcsh-org/tcsh/commit/4689eb60a74bf13bc146ca3d76e9d7a124ab7b49.patch - -From 4689eb60a74bf13bc146ca3d76e9d7a124ab7b49 Mon Sep 17 00:00:00 2001 -From: christos -Date: Fri, 23 Sep 2016 19:17:28 +0000 -Subject: [PATCH] Don't define BSDWAIT for linux anymore. - ---- - sh.proc.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/sh.proc.c b/sh.proc.c -index 49b199f..874d67c 100644 ---- sh.proc.c -+++ sh.proc.c -@@ -47,11 +47,9 @@ RCSID("$tcsh$") - # define HZ 16 - #endif /* aiws */ - --#if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) --# if !defined(__ANDROID__) --# define BSDWAIT --# endif --#endif /* _BSD || (IRIS4D && __STDC__) || __lucid || glibc */ -+#if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) -+# define BSDWAIT -+#endif /* _BSD || (IRIS4D && __STDC__) || __lucid */ - #ifndef WTERMSIG - # define WTERMSIG(w) (((union wait *) &(w))->w_termsig) - # ifndef BSDWAIT diff --git a/gnu/packages/patches/tcsh-fix-autotest.patch b/gnu/packages/patches/tcsh-fix-autotest.patch index a16980161..78444a1b2 100644 --- a/gnu/packages/patches/tcsh-fix-autotest.patch +++ b/gnu/packages/patches/tcsh-fix-autotest.patch @@ -1,6 +1,6 @@ ---- tests/commands.at 2011-01-22 01:04:02.000000000 +0100 -+++ tests/commands.at 2013-02-04 10:57:24.000000000 +0100 -@@ -919,26 +919,27 @@ +--- tests/commands.at ++++ tests/commands.at +@@ -921,26 +921,27 @@ AT_CLEANUP TCSH_UNTESTED([notify]) @@ -48,27 +48,9 @@ AT_SETUP([popd]) -@@ -1203,11 +1204,12 @@ - AT_DATA([script.csh], - [[set var=$1 - ]]) --AT_CHECK([[tcsh -f -c 'source -h script.csh foo; history' \ -- | sed 's/ [^ ]* / TIME /']], , --[ 1 TIME source -h script.csh foo ; history -- 2 TIME set var=$1 --]) -+# XXX: Not sure why this fails. The output is : "1 TIME set var=$1" -+#AT_CHECK([[tcsh -f -c 'source -h script.csh foo; history' \ -+# | sed 's/ [^ ]* / TIME /']], , -+#[ 1 TIME source -h script.csh foo ; history -+# 2 TIME set var=$1 -+#]) - - AT_CHECK([tcsh -f -c 'source -h script.csh foo; echo $var'], 1, [], - [var: Undefined variable. ---- tests/lexical.at 2011-12-27 22:50:52.000000000 +0100 -+++ tests/lexical.at 2013-02-04 10:53:21.000000000 +0100 -@@ -33,9 +33,9 @@ +--- tests/lexical.at ++++ tests/lexical.at +@@ -35,9 +35,9 @@ AT_CHECK([if [ ! -t 0 ]; then exit 77; fi],, [Skipping comment tests]) AT_CHECK([echo 'echo OK@%:@comment' | tcsh -f], , [OK ]) @@ -81,9 +63,33 @@ AT_DATA([comment2.csh], [[echo testing...@%:@\ ---- tests/subst.at 2011-12-27 22:50:52.000000000 +0100 -+++ tests/subst.at 2013-02-01 08:14:25.000000000 +0100 -@@ -54,7 +54,7 @@ +@@ -567,10 +567,10 @@ run=3 +# Adapt to changes in sed 4.3: +# https://github.com/tcsh-org/tcsh/commit/2ad4fc1705893207598ed5cd21713ddf3f17bba0 + ]]) + AT_DATA([uniformity_test.csh], + [[ +-set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` ++set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` + echo -n "$SERVICE_NAME_LOG" > ./output1 + +-cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 ++cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 + + diff -uprN ./output1 ./output2 >& /dev/null + +@@ -587,7 +587,7 @@ AT_DATA([quoting_result_test.csh], + echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP\)(HOST=db\)(PORT=1521\)\)(CONNECT_DATA=(SERVER=DEDICATED\)(SERVICE_NAME=bns03\)\)\)" > ./expected_result + + set string = "jdbc_url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bns03)))" +-set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` ++set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` + + echo "$SERVICE_NAME_LOG" > ./actual_result + +--- tests/subst.at ++++ tests/subst.at +@@ -54,7 +54,7 @@ AT_CHECK([echo 'echo ~; echo "$HOME"' | tcsh -f | uniq | wc -l | tr -d ' \t'], , [1 ]) @@ -92,39 +98,9 @@ | wc -l | tr -d ' \t'], , [1 ]) ---- tests/variables.at 2011-12-27 22:50:52.000000000 +0100 -+++ tests/variables.at 2013-02-04 11:40:35.000000000 +0100 -@@ -317,17 +317,18 @@ - AT_CLEANUP - - --AT_SETUP([$ edit]) -- --AT_CHECK([TERM=something tcsh -f -c 'echo $?edit'], , --[1 --]) -- --AT_CHECK([TERM=dumb tcsh -f -c 'echo $?edit'], , --[0 --]) -- --AT_CLEANUP -+# XXX -+#AT_SETUP([$ edit]) -+# -+#AT_CHECK([TERM=something tcsh -f -c 'echo $?edit'], , -+#[1 -+#]) -+# -+#AT_CHECK([TERM=dumb tcsh -f -c 'echo $?edit'], , -+#[0 -+#]) -+# -+#AT_CLEANUP - - - AT_SETUP([$ ellipsis]) -@@ -642,7 +643,8 @@ +--- tests/variables.at ++++ tests/variables.at +@@ -666,7 +666,8 @@ set listflags=(-xA $cwd/args.sh) ls-F -something . ]]) AT_DATA([args.sh], @@ -134,7 +110,22 @@ ]]) chmod a+x args.sh AT_CHECK([tcsh -f listflags.csh], , -@@ -695,55 +697,57 @@ +@@ -704,9 +705,9 @@ AT_CHECK([tcsh -f mail.csh], , +# This test fails by trying to change to the build user's home +# directory, which does not exist. + AT_CLEANUP + + +-AT_SETUP([$ cdtohome]) +-AT_CHECK([tcsh -f -c 'cd'], 0) +-AT_CLEANUP ++#AT_SETUP([$ cdtohome]) ++#AT_CHECK([tcsh -f -c 'cd'], 0) ++#AT_CLEANUP + AT_SETUP([$ noimplicithome]) + AT_CHECK([tcsh -f -c 'unset cdtohome; cd'], 1, , [cd: Too few arguments. + ]) +@@ -728,55 +729,57 @@ TCSH_UNTESTED([$ oid]) AT_SETUP([$ owd]) AT_DATA([owd.csh], diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index cc3968f9b..d9e0f93a1 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -218,7 +218,7 @@ written by Paul Haahr and Byron Rakitzis.") (define-public tcsh (package (name "tcsh") - (version "6.18.01") + (version "6.20.00") (source (origin (method url-fetch) ;; Old tarballs are moved to old/. @@ -228,16 +228,16 @@ written by Paul Haahr and Byron Rakitzis.") "old/tcsh-" version ".tar.gz"))) (sha256 (base32 - "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q")) + "17ggxkkn5skl0v1x0j6hbv5l0sgnidfzwv16992sqkdm983fg7dq")) (patches (search-patches "tcsh-fix-autotest.patch" - "tcsh-do-not-define-BSDWAIT.patch" "tcsh-fix-out-of-bounds-read.patch")) (patch-flags '("-p0")))) (build-system gnu-build-system) - (inputs + (native-inputs `(("autoconf" ,autoconf) - ("coreutils" ,coreutils) - ("ncurses" ,ncurses))) + ("perl" ,perl))) + (inputs + `(("ncurses" ,ncurses))) (arguments `(#:phases (alist-cons-before -- cgit v1.3 From c71011f80f17a7160d067a6b83e444b75f8bc527 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 24 Feb 2017 03:05:13 -0500 Subject: gnu: tcsh: Use modify-phases. * gnu/packages/shells.scm (tcsh)[arguments]: Use modify-phases. --- gnu/packages/shells.scm | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'gnu/packages/shells.scm') diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index d9e0f93a1..eb3e69bb8 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -240,32 +240,32 @@ written by Paul Haahr and Byron Rakitzis.") `(("ncurses" ,ncurses))) (arguments `(#:phases - (alist-cons-before - 'check 'patch-test-scripts - (lambda _ - ;; Take care of pwd - (substitute* '("tests/commands.at" "tests/variables.at") - (("/bin/pwd") (which "pwd"))) - ;; The .at files create shell scripts without shebangs. Erk. - (substitute* "tests/commands.at" - (("./output.sh") "/bin/sh output.sh")) - (substitute* "tests/syntax.at" - (("; other_script.csh") "; /bin/sh other_script.csh")) - ;; Now, let's generate the test suite and patch it - (system* "make" "tests/testsuite") + (modify-phases %standard-phases + (add-before 'check 'patch-test-scripts + (lambda _ + ;; Take care of pwd + (substitute* '("tests/commands.at" "tests/variables.at") + (("/bin/pwd") (which "pwd"))) + ;; The .at files create shell scripts without shebangs. Erk. + (substitute* "tests/commands.at" + (("./output.sh") "/bin/sh output.sh")) + (substitute* "tests/syntax.at" + (("; other_script.csh") "; /bin/sh other_script.csh")) + ;; Now, let's generate the test suite and patch it + (system* "make" "tests/testsuite") - ;; This file is ISO-8859-1 encoded. - (with-fluids ((%default-port-encoding #f)) - (substitute* "tests/testsuite" - (("/bin/sh") (which "sh"))))) - (alist-cons-after - 'install 'post-install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin"))) - (with-directory-excursion bin - (symlink "tcsh" "csh")))) - %standard-phases)))) + ;; This file is ISO-8859-1 encoded. + (with-fluids ((%default-port-encoding #f)) + (substitute* "tests/testsuite" + (("/bin/sh") (which "sh")))) + #t)) + (add-after 'install 'post-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (with-directory-excursion bin + (symlink "tcsh" "csh")) + #t)))))) (home-page "http://www.tcsh.org/") (synopsis "Unix shell based on csh") (description -- cgit v1.3 From 06e8d0c8e5179d79bd04afed197b9365d85f1cf7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 30 Mar 2017 03:30:26 -0400 Subject: gnu: dash: Update to 0.5.9.1. * gnu/packages/shells.scm (dash): Update to 0.5.9.1. [source]: Use git-fetch. [native-inputs]: Add autoconf and automake. [arguments]: Add 'bootstrap' phase. --- gnu/packages/shells.scm | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'gnu/packages/shells.scm') diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 0cbd3a53e..ca51b3ad5 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Stefan Reichör ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 ng0 +;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,15 +49,20 @@ (define-public dash (package (name "dash") - (version "0.5.9") + (version "0.5.9.1") (source (origin - (method url-fetch) - (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/" - name "-" version ".tar.gz")) + ;; The canonical source is offline, so we fetch the source code + ;; from the Git repository. See: + ;; https://www.mail-archive.com/dash@vger.kernel.org/msg01323.html + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/utils/dash/dash.git/") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17328wd9n5krr5wd37smrk0y7fdf8aa3hmhm02br5mqpq0a3nycj")) + "0p01vx7rbyf5hyyaff7h8cbhq81bm5fmq1m933484lncl9rafcai")) (modules '((guix build utils))) (snippet '(begin @@ -67,10 +73,17 @@ "a command interpreter based on the original Bourne shell")) #t)))) (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) (inputs `(("libedit" ,libedit))) (arguments - `(#:configure-flags '("--with-libedit"))) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'bootstrap + (lambda _ (zero? (system* "autoreconf" "-vfi"))))) + #:configure-flags '("--with-libedit"))) (home-page "http://gondor.apana.org.au/~herbert/dash") (synopsis "POSIX-compliant shell optimised for size") (description -- cgit v1.3