diff mbox

[2/2] gnu: tcsh: Update to 6.19.00.

Message ID 20160803033336.14990-2-me@tobias.gr
State New
Headers show

Commit Message

Tobias Geerinckx-Rice Aug. 3, 2016, 3:33 a.m. UTC
* 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(-)

Comments

Leo Famulari Aug. 7, 2016, 2:18 a.m. UTC | #1
On Wed, Aug 03, 2016 at 05:33:36AM +0200, Tobias Geerinckx-Rice wrote:
> 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.

It is possible to test 32-bit i686 from x86_64 with `guix build
--system=i686-linux tcsh`. I only do this for critical packages,
however, unless I happen to have the i686 base system already in my
store. For armhf and mips64el, we can let Hydra test for us, unless
somebody wants to try it.

Btw, what do others think about updating this on master? `guix refresh
-l` reports 309 rebuilds.

In general, the patch LGTM.
Tobias Geerinckx-Rice Aug. 16, 2016, 11:50 p.m. UTC | #2
Leo,

On 07/08/16 04:18, Leo Famulari wrote:
> It is possible to test 32-bit i686 from x86_64 with `guix build 
> --system=i686-linux tcsh`. I only do this for critical packages, 
> however, unless I happen to have the i686 base system already in my 
> store.

Thanks very much! The i686 build only took a few minutes. I wish I got
to keep this server...

> For armhf and mips64el, we can let Hydra test for us, unless somebody
> wants to try it.

If certain tests only failed on non-x86, I'd expect at least a comment
in the old patch. I suggest leaving those to Hydra unless a board owner
volunteers.

> Btw, what do others think about updating this on master? `guix
> refresh -l` reports 309 rebuilds.

OK, what I thought was an obvious leaf package turns out not to be. I
didn't even think to check. I'll quickly ‘guix build’ those too.

That said, is 309 considered a mass rebuild in Guix? Poor Hydra is more
tired than I thought. :-/

Kind regards,

T G-R
Leo Famulari Aug. 17, 2016, 2:55 a.m. UTC | #3
On Wed, Aug 17, 2016 at 01:50:28AM +0200, Tobias Geerinckx-Rice wrote:
> On 07/08/16 04:18, Leo Famulari wrote:
> > Btw, what do others think about updating this on master? `guix
> > refresh -l` reports 309 rebuilds.
> 
> OK, what I thought was an obvious leaf package turns out not to be. I
> didn't even think to check. I'll quickly ‘guix build’ those too.
> 
> That said, is 309 considered a mass rebuild in Guix? Poor Hydra is more
> tired than I thought. :-/

I'm not sure where the line is, so that's why I asked.
diff mbox

Patch

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