unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Tobias Geerinckx-Rice <me@tobias.gr>
To: guix-devel@gnu.org
Subject: [PATCH 2/2] gnu: tcsh: Update to 6.19.00.
Date: Wed,  3 Aug 2016 05:33:36 +0200	[thread overview]
Message-ID: <20160803033336.14990-2-me@tobias.gr> (raw)
In-Reply-To: <20160803033336.14990-1-me@tobias.gr>

* gnu/packages/shells.scm (tcsh): Update to 6.19.00.
[arguments]: Use ‘modify-phases’ instead of ‘alist-delete’.
* gnu/packages/patches/tcsh-fix-autotest.patch: Update patch.
---

Guix!

A minor update for tcsh, as wel as #:phases.

Only four tests fail now when building unpatched on my x86_64-linux
machine, down from six in the previous version. I've trimmed down
‘tcsh-fix-autotest.patch’ to only disabled those 4 tests.

This may be overly optimistic. Testing (tips) welcome.

Kind regards,

T G-R

gnu/packages/patches/tcsh-fix-autotest.patch | 157 ++++-----------------------
 gnu/packages/shells.scm                      |  52 +++++----
 2 files changed, 47 insertions(+), 162 deletions(-)

diff --git a/gnu/packages/patches/tcsh-fix-autotest.patch b/gnu/packages/patches/tcsh-fix-autotest.patch
index a169801..cd0e79a 100644
--- a/gnu/packages/patches/tcsh-fix-autotest.patch
+++ b/gnu/packages/patches/tcsh-fix-autotest.patch
@@ -1,6 +1,7 @@
---- 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 @@
+diff -Naur tests/commands.at
+--- tests/commands.at	2015-05-05 16:10:58.000000000 +0200
++++ tests/commands.at	2016-08-02 16:50:04.674459291 +0200
+@@ -921,26 +921,27 @@
  TCSH_UNTESTED([notify])
  
  
@@ -48,41 +49,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 @@
- AT_CHECK([echo 'echo OK@%:@comment' | tcsh -f], , [OK
- ])
- 
--AT_CHECK([tcsh -f -c 'echo @%:@no comment'], ,
--[@%:@no comment
--])
-+#AT_CHECK([tcsh -f -c 'echo @%:@no comment'], ,
-+#[@%:@no comment
-+#])
- 
- AT_DATA([comment2.csh],
- [[echo testing...@%:@\
+diff -Naur tests/subst.at
 --- tests/subst.at	2011-12-27 22:50:52.000000000 +0100
-+++ tests/subst.at	2013-02-01 08:14:25.000000000 +0100
++++ tests/subst.at	2016-08-02 16:51:19.521043748 +0200
 @@ -54,7 +54,7 @@
  , [1
  ])
@@ -92,49 +61,31 @@
  	  | 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 @@
+diff -Naur tests/variables.at
+--- tests/variables.at	2015-05-05 16:10:58.000000000 +0200
++++ tests/variables.at	2016-08-02 17:00:46.256499321 +0200
+@@ -704,13 +704,13 @@
  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_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.
 -])
--
 -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_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.
 +#])
-+#
 +#AT_CLEANUP
  
  
- AT_SETUP([$ ellipsis])
-@@ -642,7 +643,8 @@
- ls-F -something .
- ]])
- AT_DATA([args.sh],
--[[echo "$@"
-+[[#!/bin/sh
-+echo "$@"
- ]])
- chmod a+x args.sh
- AT_CHECK([tcsh -f listflags.csh], ,
-@@ -695,55 +697,57 @@
+ VAR_UNSET([matchbeep])
+@@ -728,21 +728,22 @@
  AT_SETUP([$ owd])
  
  AT_DATA([owd.csh],
@@ -165,67 +116,3 @@
  ])
  
  AT_CLEANUP
- 
- 
--AT_SETUP([$ path])
--
--mkdir subdir
--AT_DATA([script.sh],
--[[echo home
--]])
--AT_DATA([subdir/script.sh],
--[[echo subdir
--]])
--chmod a+x script.sh subdir/script.sh
--AT_DATA([path.csh],
--[[echo $?path
--set path=(. subdir)
--script.sh
--set path=(subdir .)
--script.sh
--printenv PATH
--setenv PATH :foo::bar:
--echo $path
--]])
--AT_CHECK([tcsh -f path.csh], ,
--[1
--home
--subdir
--subdir:.
--. foo . bar .
--])
--
--AT_CLEANUP
-+# XXX Not sure why this does not work. "home" is printed out twice on stdout.
-+#AT_SETUP([$ path])
-+#
-+#mkdir subdir
-+#AT_DATA([script.sh],
-+#[[echo home
-+#]])
-+#AT_DATA([subdir/script.sh],
-+#[[echo subdir
-+#]])
-+#chmod a+x script.sh subdir/script.sh
-+#AT_DATA([path.csh],
-+#[[echo $?path
-+#set path=(. subdir)
-+#script.sh
-+#set path=(subdir .)
-+#script.sh
-+#printenv PATH
-+#setenv PATH :foo::bar:
-+#echo $path
-+#]])
-+#AT_CHECK([tcsh -f path.csh], ,
-+#[1
-+#home
-+#subdir
-+#subdir:.
-+#. foo . bar .
-+#])
-+#
-+#AT_CLEANUP
- 
- 
- AT_SETUP([$ printexitvalue])
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 183ef7f..ae0131c 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -160,7 +160,7 @@ has a small feature set similar to a traditional Bourne shell.")
 (define-public tcsh
   (package
     (name "tcsh")
-    (version "6.18.01")
+    (version "6.19.00")
     (source (origin
               (method url-fetch)
               ;; Old tarballs are moved to old/.
@@ -170,7 +170,7 @@ has a small feature set similar to a traditional Bourne shell.")
                                         "old/tcsh-" version ".tar.gz")))
               (sha256
                (base32
-                "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q"))
+                "0jaw51382pqyb6d1kgfg8ir0wd3p5qr2bmg8svcmjhlyp3h73qhj"))
               (patches (search-patches "tcsh-fix-autotest.patch"))
               (patch-flags '("-p0"))))
     (build-system gnu-build-system)
@@ -180,32 +180,30 @@ has a small feature set similar to a traditional Bourne shell.")
        ("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"))))))
+           (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"))))))))
     (home-page "http://www.tcsh.org/")
     (synopsis "Unix shell based on csh")
     (description
-- 
2.9.0

  reply	other threads:[~2016-08-03  3:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-03  3:33 [PATCH 1/2] gnu: zsh: Use 'modify-phases' Tobias Geerinckx-Rice
2016-08-03  3:33 ` Tobias Geerinckx-Rice [this message]
2016-08-07  2:18   ` [PATCH 2/2] gnu: tcsh: Update to 6.19.00 Leo Famulari
2016-08-16 23:50     ` Tobias Geerinckx-Rice
2016-08-17  2:55       ` Leo Famulari
2016-08-07  2:08 ` [PATCH 1/2] gnu: zsh: Use 'modify-phases' Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160803033336.14990-2-me@tobias.gr \
    --to=me@tobias.gr \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).