summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-shells/ksh/files/cpp.patch24
-rw-r--r--app-shells/ksh/ksh-93.20140625.ebuild3
2 files changed, 26 insertions, 1 deletions
diff --git a/app-shells/ksh/files/cpp.patch b/app-shells/ksh/files/cpp.patch
new file mode 100644
index 000000000000..7075bcfc1f7f
--- /dev/null
+++ b/app-shells/ksh/files/cpp.patch
@@ -0,0 +1,24 @@
+iffe depends on cc -E not inserting newlines between tokens
+
+https://build.opensuse.org/package/view_file/home:Andreas_Schwab:Factory/ksh/cpp.patch?expand=1
+
+--- a/src/cmd/INIT/iffe.sh
++++ b/src/cmd/INIT/iffe.sh
+@@ -3427,7 +3427,7 @@
+ (eval "$src") <&$nullin || e=1
+ ;;
+ mac*|nomac*)
+- if compile $cc -E $tmp.c <&$nullin >$tmp.i
++ if compile $cc -E -P $tmp.c <&$nullin >$tmp.i
+ then sed -e '/<<[ ]*".*"[ ]*>>/!d' -e 's/<<[ ]*"//g' -e 's/"[ ]*>>//g' $tmp.i
+ else e=1
+ fi
+@@ -3718,7 +3718,7 @@
+ <<\"#define $v\">> $v <<\"/* native $v */\">>
+ <<\"#endif\">>
+ #endif" > $tmp.c
+- if compile $cc -E $tmp.c <&$nullin >$tmp.i
++ if compile $cc -E -P $tmp.c <&$nullin >$tmp.i
+ then sed -e '/<<[ ]*".*"[ ]*>>/!d' -e 's/<<[ ]*"//g' -e 's/"[ ]*>>//g' $tmp.i > $tmp.t
+ if test -s $tmp.t
+ then success
diff --git a/app-shells/ksh/ksh-93.20140625.ebuild b/app-shells/ksh/ksh-93.20140625.ebuild
index 5276f82cf856..020d6b97cab6 100644
--- a/app-shells/ksh/ksh-93.20140625.ebuild
+++ b/app-shells/ksh/ksh-93.20140625.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -29,6 +29,7 @@ src_prepare() {
bin/package src/cmd/INIT/package.sh || die
epatch "${FILESDIR}"/${PN}-prefix.patch
+ epatch "${FILESDIR}"/cpp.patch
eprefixify src/cmd/ksh93/data/msg.c
}