[packages/mksh] - updated to 41 - workaround broken compile-time assertions in GCC 4.7
baggins
baggins at pld-linux.org
Wed Dec 12 14:32:00 CET 2012
commit 9b0c41bb83bddf69e504efc719bdfff4597e5361
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Wed Dec 12 14:31:23 2012 +0100
- updated to 41
- workaround broken compile-time assertions in GCC 4.7
mksh-distro.patch | 8 +++---
mksh-mkshrc_support.patch | 6 ++---
mksh.spec | 65 ++++++++++++++++++++++++++++++++++++++++++-----
3 files changed, 65 insertions(+), 14 deletions(-)
---
diff --git a/mksh.spec b/mksh.spec
index b09af31..1442f64 100644
--- 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
diff --git a/mksh-distro.patch b/mksh-distro.patch
index 5588c57..904654d 100644
--- a/mksh-distro.patch
+++ b/mksh-distro.patch
@@ -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
diff --git a/mksh-mkshrc_support.patch b/mksh-mkshrc_support.patch
index 5d95bd9..a653979 100644
--- a/mksh-mkshrc_support.patch
+++ b/mksh-mkshrc_support.patch
@@ -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);
+ }
}
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/mksh.git/commitdiff/9b0c41bb83bddf69e504efc719bdfff4597e5361
More information about the pld-cvs-commit
mailing list