diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
commit | 415856bdd4f48ab4f2732996f0bae58595092bbe (patch) | |
tree | ede2018b591f6dfb477fe9341ba17b9bc000fab9 /testing/make |
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'testing/make')
-rw-r--r-- | testing/make/PKGBUILD | 45 | ||||
-rw-r--r-- | testing/make/bug30612.patch | 66 | ||||
-rw-r--r-- | testing/make/bug30723.patch | 12 | ||||
-rw-r--r-- | testing/make/make-3.82-sort-blank.patch | 17 | ||||
-rw-r--r-- | testing/make/make.install | 20 |
5 files changed, 160 insertions, 0 deletions
diff --git a/testing/make/PKGBUILD b/testing/make/PKGBUILD new file mode 100644 index 000000000..bba3253fc --- /dev/null +++ b/testing/make/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 110342 2011-02-18 22:21:30Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=make +pkgver=3.82 +pkgrel=3 +pkgdesc="GNU make utility to maintain groups of programs" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/make" +license=('GPL3') +groups=('base-devel') +depends=('glibc' 'sh') +install=$pkgname.install +source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2 + bug30612.patch + bug30723.patch + make-3.82-sort-blank.patch) +md5sums=('1a11100f3c63fcf5753818e59d63088f' + 'c8f496b22191f9fb9420ab14c1a19a47' + '662e6450e19a5acdaa5c9fcb8ad78dea' + '7d01a99f389d8f08dec93ed479071ee4') + + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # http://savannah.gnu.org/bugs/?30612 + patch -Np1 -i $srcdir/bug30612.patch + + # http://savannah.gnu.org/bugs/?30723 + patch -Np1 -i $srcdir/bug30723.patch + + # https://bugs.archlinux.org/task/22733 (fix from Fedora) + patch -Np1 -i $srcdir/make-3.82-sort-blank.patch + + ./configure --prefix=/usr + make + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/make/bug30612.patch b/testing/make/bug30612.patch new file mode 100644 index 000000000..fb843bcd9 --- /dev/null +++ b/testing/make/bug30612.patch @@ -0,0 +1,66 @@ +diff -Naur make-3.82-orig/main.c make-3.82-fix30612//main.c +--- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000 ++++ make-3.82-fix30612//main.c 2010-09-23 23:33:37.908855839 +1000 +@@ -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 +diff -Naur make-3.82-orig/read.c make-3.82-fix30612//read.c +--- make-3.82-orig/read.c 2010-07-13 11:20:42.000000000 +1000 ++++ make-3.82-fix30612//read.c 2010-09-23 23:30:58.018855839 +1000 +@@ -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) diff --git a/testing/make/bug30723.patch b/testing/make/bug30723.patch new file mode 100644 index 000000000..84e7ebe7a --- /dev/null +++ b/testing/make/bug30723.patch @@ -0,0 +1,12 @@ +diff -Naur make-3.82-orig/main.c make-3.82-fix30723//main.c +--- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000 ++++ make-3.82-fix30723//main.c 2010-09-23 23:34:10.932188592 +1000 +@@ -2093,7 +2093,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 --git a/testing/make/make-3.82-sort-blank.patch b/testing/make/make-3.82-sort-blank.patch new file mode 100644 index 000000000..2e73f5b7c --- /dev/null +++ b/testing/make/make-3.82-sort-blank.patch @@ -0,0 +1,17 @@ +diff -urp make-3.82/function.c make-3.82-pm/function.c +--- make-3.82/function.c 2010-07-13 03:20:39.000000000 +0200 ++++ make-3.82-pm/function.c 2010-10-27 01:43:27.000000000 +0200 +@@ -1138,12 +1138,12 @@ func_sort (char *o, char **argv, const c + { + char c = *(t++); + +- if (! isspace ((unsigned char)c)) ++ if (! isblank ((unsigned char)c)) + continue; + + ++wordi; + +- while (isspace ((unsigned char)*t)) ++ while (isblank ((unsigned char)*t)) + ++t; + } diff --git a/testing/make/make.install b/testing/make/make.install new file mode 100644 index 000000000..6cf8b0dc4 --- /dev/null +++ b/testing/make/make.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(make.info make.info-1 make.info-2) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} |