aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2014-06-25 05:41:35 +0800
committerbapt <bapt@FreeBSD.org>2014-06-25 05:41:35 +0800
commite71cc5253cb0e4d894dfbd099c09bc48a45e783c (patch)
tree7a6b877376a8733802181de360e29d38b92e783c
parent93600a919e17ea6ceb1729d8fb6c416ed31fe0c2 (diff)
downloadfreebsd-ports-gnome-e71cc5253cb0e4d894dfbd099c09bc48a45e783c.tar.gz
freebsd-ports-gnome-e71cc5253cb0e4d894dfbd099c09bc48a45e783c.tar.zst
freebsd-ports-gnome-e71cc5253cb0e4d894dfbd099c09bc48a45e783c.zip
Rename the gmake-lite binary into gmake-lite so that it doesn't conflicts with gmake
Import patches from gmake (gmake-lite will be turned into a slave port later)
-rw-r--r--devel/gmake-lite/Makefile11
-rw-r--r--devel/gmake-lite/files/patch-ab7
-rw-r--r--devel/gmake-lite/files/patch-main.c17
-rw-r--r--devel/gmake-lite/files/patch-read.c52
-rw-r--r--devel/gmake-lite/files/patch-remake.c59
-rw-r--r--devel/gmake/Makefile2
6 files changed, 140 insertions, 8 deletions
diff --git a/devel/gmake-lite/Makefile b/devel/gmake-lite/Makefile
index b64e53d6335b..13945461065a 100644
--- a/devel/gmake-lite/Makefile
+++ b/devel/gmake-lite/Makefile
@@ -13,20 +13,19 @@ COMMENT= Minimalist version of gnu make
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-CONFLICTS= gmake-[0-9]*
-
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --program-prefix=g \
+ --program-suffix=-lite \
--disable-nls
USES= tar:bzip2
-PLIST_FILES= bin/gmake \
- man/man1/gmake.1.gz
+PLIST_FILES= bin/gmake-lite \
+ man/man1/gmake-lite.1.gz
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/make ${STAGEDIR}${PREFIX}/bin/gmake
- ${INSTALL_MAN} ${WRKSRC}/make.1 ${STAGEDIR}${PREFIX}/man/man1/gmake.1
+ ${INSTALL_PROGRAM} ${WRKSRC}/make ${STAGEDIR}${PREFIX}/bin/gmake-lite
+ ${INSTALL_MAN} ${WRKSRC}/make.1 ${STAGEDIR}${PREFIX}/man/man1/gmake-lite.1
.include <bsd.port.mk>
diff --git a/devel/gmake-lite/files/patch-ab b/devel/gmake-lite/files/patch-ab
new file mode 100644
index 000000000000..f4bcc7661b0c
--- /dev/null
+++ b/devel/gmake-lite/files/patch-ab
@@ -0,0 +1,7 @@
+--- doc/make.texi.orig 2010-07-19 02:10:54.000000000 -0500
++++ doc/make.texi 2011-03-02 17:01:58.000000000 -0600
+@@ -54,3 +54,3 @@
+ @direntry
+-* Make: (make). Remake files automatically.
++* GNU Make: (make). Remake files automatically.
+ @end direntry
diff --git a/devel/gmake-lite/files/patch-main.c b/devel/gmake-lite/files/patch-main.c
new file mode 100644
index 000000000000..9935ca7d7c27
--- /dev/null
+++ b/devel/gmake-lite/files/patch-main.c
@@ -0,0 +1,17 @@
+When gmake automatically restart itself because one of its includes is updated,
+the "MAKEFLAGS" environment variable is no more honoured.
+
+http://savannah.gnu.org/bugs/?30723
+
+diff -rU3 -N make-3.82.orig/main.c make-3.82/main.c
+--- main.c.orig 2010-07-19 07:10:53.000000000 +0000
++++ main.c 2014-01-10 10:55:32.000000000 +0000
+@@ -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/devel/gmake-lite/files/patch-read.c b/devel/gmake-lite/files/patch-read.c
new file mode 100644
index 000000000000..4ca91c48663c
--- /dev/null
+++ b/devel/gmake-lite/files/patch-read.c
@@ -0,0 +1,52 @@
+Add a fix for bug #30612 (http://savannah.gnu.org/bugs/index.php?30612)
+from GNU make's CVS repository (revision 1.194).
+
+Taken from pkgsrc repository: devel/gmake/patches/patch-ah
+
+--- read.c.orig 2010-07-13 01:20:42.000000000 +0000
++++ read.c
+@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
+ {
+ /* 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 @@ parse_file_seq (char **stringp, unsigned
+ 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,10 @@ parse_file_seq (char **stringp, unsigned
+ 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/devel/gmake-lite/files/patch-remake.c b/devel/gmake-lite/files/patch-remake.c
new file mode 100644
index 000000000000..8a72a2c02804
--- /dev/null
+++ b/devel/gmake-lite/files/patch-remake.c
@@ -0,0 +1,59 @@
+Fix parallel builds. One port that exhibits this issue is webkit-gtk >= 1.8.
+
+http://savannah.gnu.org/bugs/?30653
+
+Index: remake.c
+===================================================================
+RCS file: /sources/make/make/remake.c,v
+retrieving revision 1.147
+diff -u -r1.147 remake.c
+--- remake.c 13 Jul 2010 01:20:42 -0000 1.147
++++ remake.c 5 Aug 2010 01:02:18 -0000
+@@ -614,6 +614,12 @@
+ d->file->dontcare = file->dontcare;
+ }
+
++ /* We may have already encountered this file earlier in the same
++ * pass before we knew we'd be updating this target. In that
++ * case calling update_file now would result in the file being
++ * inappropriately pruned so we toggle the considered bit back
++ * off first. */
++ d->file->considered = !considered;
+
+ dep_status |= update_file (d->file, depth);
+
+Index: tests/scripts/features/parallelism
+===================================================================
+RCS file: /sources/make/make/tests/scripts/features/parallelism,v
+retrieving revision 1.16
+diff -u -r1.16 parallelism
+--- tests/scripts/features/parallelism 5 Jul 2010 18:32:03 -0000 1.16
++++ tests/scripts/features/parallelism 5 Aug 2010 01:02:18 -0000
+@@ -164,6 +164,27 @@
+
+ rmfiles('inc.mk');
+
++utouch(-15, 'file2');
++utouch(-10, 'file4');
++utouch(-5, 'file1');
++
++run_make_test(q!
++.INTERMEDIATE: file3
++
++file4: file3
++ @mv -f $< $@
++
++file3: file2
++ @touch $@
++
++file2: file1
++ @touch $@
++!,
++ '--no-print-directory -j2');
++
++rmfiles('file1', 'file2', 'file3', 'file4');
++
++
+ if ($all_tests) {
+ # Implicit files aren't properly recreated during parallel builds
+ # Savannah bug #26864
diff --git a/devel/gmake/Makefile b/devel/gmake/Makefile
index 61254a37e267..d9632756bd24 100644
--- a/devel/gmake/Makefile
+++ b/devel/gmake/Makefile
@@ -15,8 +15,6 @@ DISTNAME= make-${PORTVERSION}
MAINTAINER= autotools@FreeBSD.org
COMMENT= GNU version of 'make' utility
-CONFLICTS= gmake-lite-*
-
LICENSE= GPLv3
GNU_CONFIGURE= yes