]> git.pld-linux.org Git - packages/mksh.git/commitdiff
- updated to 41 auto/th/mksh-41-1
authorJan Rękorajski <baggins@pld-linux.org>
Wed, 12 Dec 2012 13:31:23 +0000 (14:31 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Wed, 12 Dec 2012 13:31:23 +0000 (14:31 +0100)
- workaround broken compile-time assertions in GCC 4.7

mksh-distro.patch
mksh-mkshrc_support.patch
mksh.spec

index 5588c5792ef14048f211a677cf9a3210b961e532..904654d3c56911417679a2872b3aa63975b6ab05 100644 (file)
@@ -5,8 +5,8 @@ diff -ur mksh.org/check.t mksh/check.t
  # http://www.research.att.com/~gsf/public/ifs.sh
  
  expected-stdout:
--      @(#)MIRBSD KSH R40 2012/04/06
-+      @(#)MIRBSD KSH R40 2012/04/06 @DISTRO@
+-      @(#)MIRBSD KSH R41 2012/11/30
++      @(#)MIRBSD KSH R41 2012/11/30 @DISTRO@
  description:
        Check version of shell.
  stdin:
@@ -17,8 +17,8 @@ diff -ur mksh.org/sh.h mksh/sh.h
  #ifdef EXTERN
  __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.484.2.16 2012/03/24 21:22:43 tg Exp $");
  #endif
--#define MKSH_VERSION "R40 2012/04/06"
-+#define MKSH_VERSION "R40 2012/04/06 @DISTRO@"
+-#define MKSH_VERSION "R41 2012/11/30"
++#define MKSH_VERSION "R41 2012/11/30 @DISTRO@"
  
  /* arithmetic types: C implementation */
  #if !HAVE_CAN_INTTYPES
index 5d95bd93d3017fd38e2ff737c8a4fee579e9e51f..a653979dc513ce708ed77027d4b00091d4eed5a0 100644 (file)
@@ -8,11 +8,11 @@
 -                  DOTILDE);
 +                env_file = substitute(substitute("${ENV}", 0), DOTILDE);
                if (*env_file != '\0')
-                       include(env_file, 0, NULL, 1);
+                       include(env_file, 0, NULL, true);
 +                else { 
 +                      env_file = substitute(MKSHRC_PATH, DOTILDE);
-+                      include("/etc/mkshrc", 0, NULL, 1);
-+                      include(env_file, 0, NULL, 1);
++                      include("/etc/mkshrc", 0, NULL, true);
++                      include(env_file, 0, NULL, true);
 +                        }
        }
  
index b09af3177bb0e361ef2aa6a1040be90a3c81ab7a..1442f64c34496a280ec9ab32c8cad389f60a4087 100644 (file)
--- a/mksh.spec
+++ b/mksh.spec
@@ -4,12 +4,12 @@
 Summary:       MirBSD Korn Shell
 Summary(pl.UTF-8):     Powłoka Korna z MirBSD
 Name:          mksh
-Version:       40f
+Version:       41
 Release:       1
 License:       BSD
 Group:         Applications/Shells
-Source0:       http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.cpio.gz
-# Source0-md5: 22c9570660c2efadf36de7b620d06966
+Source0:       http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.tgz
+# Source0-md5: 70eca50d9340412714ef09b7060ebde9
 Source1:       %{name}-mkshrc
 Patch0:                %{name}-mkshrc_support.patch
 Patch1:                %{name}-circumflex.patch
@@ -89,11 +89,46 @@ mv mksh/* .; rmdir mksh
 
 sed -i -e 's#@DISTRO@#PLD/Linux 3.0#g' check.t sh.h
 
+# we'll need this later due to -DMKSH_GCC55009
+cat >rtchecks <<'EOF'
+typeset -i sari=0
+typeset -Ui uari=0
+typeset -i x=0
+print -r -- $((x++)):$sari=$uari.
+let --sari --uari
+print -r -- $((x++)):$sari=$uari.
+sari=2147483647 uari=2147483647
+print -r -- $((x++)):$sari=$uari.
+let ++sari ++uari
+print -r -- $((x++)):$sari=$uari.
+let --sari --uari
+let 'sari *= 2' 'uari *= 2'
+let ++sari ++uari
+print -r -- $((x++)):$sari=$uari.
+let ++sari ++uari
+print -r -- $((x++)):$sari=$uari.
+sari=-2147483648 uari=-2147483648
+print -r -- $((x++)):$sari=$uari.
+let --sari --uari
+print -r -- $((x++)):$sari=$uari.
+EOF
+
+cat >rtchecks.expected <<'EOF'
+0:0=0.
+1:-1=4294967295.
+2:2147483647=2147483647.
+3:-2147483648=2147483648.
+4:-1=4294967295.
+5:0=0.
+6:-2147483648=2147483648.
+7:2147483647=2147483647.
+EOF
+
 %build
 install -d out
 
 CC="%{__cc}" \
-CFLAGS="%{rpmcflags}" \
+CFLAGS="%{rpmcflags} -DMKSH_GCC55009" \
 LDFLAGS="%{rpmldflags}" \
 CPPFLAGS="%{rpmcppflags}" \
 sh ./Build.sh -Q -r -j -c lto
@@ -103,17 +138,33 @@ if ! tty -s; then
        skip_tests="-C regress:no-ctty"
 fi
 
-%{?with_tests:./test.sh -v $skip_tests}
+%if %{with tests}
+./mksh rtchecks >rtchecks.got 2>&1
+if ! cmp --quiet rtchecks.got rtchecks.expected ; then
+       echo "rtchecks failed"
+       diff -Naurp %{SOURCE3} rtchecks.got
+       exit 1
+fi
+./test.sh -v $skip_tests
+%endif
 mv mksh out/mksh.dynamic
 
 %if %{with static}
 CC="%{__cc}" \
-CFLAGS="%{rpmcflags}" \
+CFLAGS="%{rpmcflags} -DMKSH_GCC55009" \
 LDFLAGS="%{rpmldflags} -static" \
 CPPFLAGS="%{rpmcppflags}" \
 sh ./Build.sh -Q -r -j -c lto
 
-%{?with_tests:./test.sh -v $skip_tests}
+%if %{with tests}
+./test.sh -v $skip_tests
+./mksh rtchecks >rtchecks.got 2>&1
+if ! cmp --quiet rtchecks.got rtchecks.expected ; then
+       echo "rtchecks failed"
+       diff -Naurp %{SOURCE3} rtchecks.got
+       exit 1
+fi
+%endif
 mv mksh out/mksh.static
 %endif
 
This page took 0.091428 seconds and 4 git commands to generate.