summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2013-12-13 06:15:37 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2013-12-13 06:15:37 +0000
commit85279f15019923cef3761227bd64508b9dd5b426 (patch)
treec161c81509fc8da83082ea2c5f0e86b1a6d8905d /sys-devel
parentMask dev-lang/python-3.2*, unmask dev-lang/python-3.3* targets (bug #474128). (diff)
downloadgentoo-2-85279f15019923cef3761227bd64508b9dd5b426.tar.gz
gentoo-2-85279f15019923cef3761227bd64508b9dd5b426.tar.bz2
gentoo-2-85279f15019923cef3761227bd64508b9dd5b426.zip
Fix parsing problem of certain utf-8 encoded Makefiles using upstream patch. One of those reasons you'd get "*** missing separator. Stop." message.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 4868F14D)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/make/ChangeLog9
-rw-r--r--sys-devel/make/files/make-4.0-char-cast.patch46
-rw-r--r--sys-devel/make/make-4.0-r1.ebuild47
3 files changed, 101 insertions, 1 deletions
diff --git a/sys-devel/make/ChangeLog b/sys-devel/make/ChangeLog
index 58a27c932c2d..6f73a79f167d 100644
--- a/sys-devel/make/ChangeLog
+++ b/sys-devel/make/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-devel/make
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.116 2013/10/13 16:51:59 polynomial-c Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.117 2013/12/13 06:15:37 ssuominen Exp $
+
+*make-4.0-r1 (13 Dec 2013)
+
+ 13 Dec 2013; Samuli Suominen <ssuominen@gentoo.org>
+ +files/make-4.0-char-cast.patch, +make-4.0-r1.ebuild:
+ Fix parsing problem of certain utf-8 encoded Makefiles using upstream patch.
+ One of those reasons you'd get "*** missing separator. Stop." message.
*make-4.0 (13 Oct 2013)
diff --git a/sys-devel/make/files/make-4.0-char-cast.patch b/sys-devel/make/files/make-4.0-char-cast.patch
new file mode 100644
index 000000000000..86505be5da47
--- /dev/null
+++ b/sys-devel/make/files/make-4.0-char-cast.patch
@@ -0,0 +1,46 @@
+http://savannah.gnu.org/bugs/?40371
+http://git.savannah.gnu.org/cgit/make.git/commit/?id=9d58570c
+
+From 9d58570c77240fed53d1f88217877f8e778f4bb2 Mon Sep 17 00:00:00 2001
+From: Paul Smith <psmith@gnu.org>
+Date: Sat, 26 Oct 2013 04:10:17 +0000
+Subject: * makeint.h (STOP_SET): [SV 40371] Cast to unsigned char.
+
+* tests/scripts/misc/utf8: Test variable names with characters >127.
+Fix suggested by Robert Bogomip <bob.bogo@milohedge.com>
+---
+diff --git a/makeint.h b/makeint.h
+index 77f51e0..c591427 100644
+--- a/makeint.h
++++ b/makeint.h
+@@ -415,7 +415,7 @@ extern int unixy_shell;
+ # define MAP_VMSCOMMA 0x0000
+ #endif
+
+-#define STOP_SET(_v,_m) ANY_SET (stopchar_map[(int)(_v)],(_m))
++#define STOP_SET(_v,_m) ANY_SET (stopchar_map[(unsigned char)(_v)],(_m))
+
+ #if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT)
+ # define SET_STACK_SIZE
+diff --git a/tests/scripts/misc/utf8 b/tests/scripts/misc/utf8
+new file mode 100644
+index 0000000..2adcd07
+--- a/dev/null
++++ b/tests/scripts/misc/utf8
+@@ -0,0 +1,14 @@
++# -*-perl-*-
++$description = "Test utf8 handling.";
++
++$details = "";
++
++# Variable names containing UTF8 characters
++run_make_test("
++\xe2\x96\xaa := hello
++\$(info \$(\xe2\x96\xaa))
++all:
++",
++ '', "hello\n#MAKE#: Nothing to be done for 'all'.");
++
++1;
+--
+cgit v0.9.0.2
diff --git a/sys-devel/make/make-4.0-r1.ebuild b/sys-devel/make/make-4.0-r1.ebuild
new file mode 100644
index 000000000000..67e31ba4842d
--- /dev/null
+++ b/sys-devel/make/make-4.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-4.0-r1.ebuild,v 1.1 2013/12/13 06:15:37 ssuominen Exp $
+
+EAPI="2"
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="http://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="guile nls static"
+
+CDEPEND="guile? ( >=dev-scheme/guile-1.8 )"
+DEPEND="${CDEPEND}
+ nls? ( sys-devel/gettext )"
+RDEPEND="${CDEPEND}
+ nls? ( virtual/libintl )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch \
+ "${FILESDIR}"/${P}-char-cast.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_with guile) \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}