1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-22 00:35:15 +00:00

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)
This commit is contained in:
Baptiste Daroussin 2014-06-24 21:41:35 +00:00
parent a2ab66be0e
commit 949556b5f4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=359129
6 changed files with 140 additions and 8 deletions

View File

@ -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>

View File

@ -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

View File

@ -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))

View File

@ -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)

View File

@ -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

View File

@ -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