summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-09-13 08:03:56 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-09-13 08:08:46 +0000
commitb5f861a30e4f2bea1cad2360a40c7670f75a62d0 (patch)
tree5a5dc5693742078afec2e8918e59531d5b30c33c
parent4f003493b9fb59ddab02fb45308250fc691eed4a (diff)
downloadaports-b5f861a30e4f2bea1cad2360a40c7670f75a62d0.tar.bz2
aports-b5f861a30e4f2bea1cad2360a40c7670f75a62d0.tar.xz
main/make: bugfixes from upstream
Upstream bugreports reports: http://savannah.gnu.org/bugs/index.php?30612 http://savannah.gnu.org/bugs/index.php?30723 Fixes building of dev86.
-rw-r--r--main/make/APKBUILD17
-rw-r--r--main/make/make-3.82-savannah-bugs-30612-30723.patch75
2 files changed, 89 insertions, 3 deletions
diff --git a/main/make/APKBUILD b/main/make/APKBUILD
index 57cdf613d..96ba9e78d 100644
--- a/main/make/APKBUILD
+++ b/main/make/APKBUILD
@@ -1,16 +1,26 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=make
pkgver=3.82
-pkgrel=1
+pkgrel=2
pkgdesc="GNU make utility to maintain groups of programs"
url="http://www.gnu.org/software/make"
arch="all"
license=GPL
depends=
subpackages="$pkgname-doc"
-source="ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz"
+source="ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
+ make-3.82-savannah-bugs-30612-30723.patch"
_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
build() {
cd "$_builddir"
./configure --prefix=/usr \
@@ -25,4 +35,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="7f7c000e3b30c6840f2e9cf86b254fac make-3.82.tar.gz"
+md5sums="7f7c000e3b30c6840f2e9cf86b254fac make-3.82.tar.gz
+74e598a2052f7d98e3495ea9d917ecf4 make-3.82-savannah-bugs-30612-30723.patch"
diff --git a/main/make/make-3.82-savannah-bugs-30612-30723.patch b/main/make/make-3.82-savannah-bugs-30612-30723.patch
new file mode 100644
index 000000000..1b0982547
--- /dev/null
+++ b/main/make/make-3.82-savannah-bugs-30612-30723.patch
@@ -0,0 +1,75 @@
+diff -Naur make-3.82-orig/main.c make-3.82/main.c
+--- make-3.82-orig/main.c 2010-07-19 14:10:53.000000000 +0700
++++ make-3.82/main.c 2011-01-12 21:31:30.114891591 +0700
+@@ -1,3 +1,4 @@
++
+ /* Argument parsing and main program of GNU Make.
+ Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+@@ -1138,7 +1139,7 @@
+ a macro and some compilers (MSVC) don't like conditionals in macros. */
+ {
+ const char *features = "target-specific order-only second-expansion"
+- " else-if shortest-stem undefine"
++ " else-if shortest-stem undefine oneshell"
+ #ifndef NO_ARCHIVES
+ " archives"
+ #endif
+@@ -2093,7 +2094,7 @@
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))
+diff -Naur make-3.82-orig/read.c make-3.82/read.c
+--- make-3.82-orig/read.c 2010-07-13 08:20:42.000000000 +0700
++++ make-3.82/read.c 2011-01-12 21:31:23.497486028 +0700
+@@ -3028,7 +3028,7 @@
+ {
+ /* This looks like the first element in an open archive group.
+ A valid group MUST have ')' as the last character. */
+- const char *e = p + nlen;
++ const char *e = p;
+ do
+ {
+ e = next_token (e);
+@@ -3084,19 +3084,19 @@
+ Go to the next item in the string. */
+ if (flags & PARSEFS_NOGLOB)
+ {
+- NEWELT (concat (2, prefix, tp));
++ NEWELT (concat (2, prefix, tmpbuf));
+ continue;
+ }
+
+ /* If we get here we know we're doing glob expansion.
+ TP is a string in tmpbuf. NLEN is no longer used.
+ We may need to do more work: after this NAME will be set. */
+- name = tp;
++ name = tmpbuf;
+
+ /* Expand tilde if applicable. */
+- if (tp[0] == '~')
++ if (tmpbuf[0] == '~')
+ {
+- tildep = tilde_expand (tp);
++ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
+ name = tildep;
+ }
+@@ -3152,7 +3152,11 @@
+ else
+ {
+ /* We got a chain of items. Attach them. */
+- (*newp)->next = found;
++ if (*newp)
++ (*newp)->next = found;
++ else
++ *newp = found;
++
+
+ /* Find and set the new end. Massage names if necessary. */
+ while (1)