updated gmake

This commit is contained in:
2022-09-12 09:22:44 +02:00
parent c363e37ce8
commit 4338bce9b0
13 changed files with 305 additions and 29 deletions

32
_oldver/gmake42/Makefile Normal file
View File

@@ -0,0 +1,32 @@
#
# $Id: Makefile 2701 2009-10-31 21:29:43Z root $
#
PORTNAME= make
PORTVERSION= 4.2.1
PKGNAMEPREFIX= g
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= ${PORTNAME}
DIST_SUBDIR= gnu
CATEGORIES= devel
MAINTAINER= onborodin@gmail.com
COMMENT= GNU version of 'make' utility
#LIB_DEPENDS+= libintl.so:devel/gettext
#LIB_DEPENDS+= libiconv.so:text/libiconv
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --program-prefix="g"
CONFIGURE_ARGS+= --with-libiconv-prefix=${LOCALBASE}
CONFIGURE_ARGS+= --with-libintl-prefix=${LOCALBASE}
MAKE_ARGS+= inst_setgid=false
CONFIGURE_ARGS+= --mandir=${PREFIX}/man
CONFIGURE_ARGS+= --infodir=${PREFIX}/info
CONFIGURE_ARGS+= --disable-nls
INFO= make
.include <bsd.port.mk>
#EOF

3
_oldver/gmake42/distinfo Normal file
View File

@@ -0,0 +1,3 @@
TIMESTAMP = 1586597863
SHA256 (gnu/make-4.2.1.tar.gz) = e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7
SIZE (gnu/make-4.2.1.tar.gz) = 1977576

View File

@@ -0,0 +1,5 @@
GNU make is a tool that controls the generation of executables and other
non-source files from source files. Its purpose is the same as that
of the utility make(1).
WWW: http://www.gnu.org/software/make/make.html

View File

@@ -0,0 +1,2 @@
bin/gmake
man/man1/gmake.1.gz

View File

@@ -1,32 +1,17 @@
#
# $Id: Makefile 2701 2009-10-31 21:29:43Z root $
#
PORTNAME= make
PORTVERSION= 4.2.1
PKGNAMEPREFIX= g
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= ${PORTNAME}
PORTNAME= gmake
PORTVERSION= 4.3
CATEGORIES= devel
MASTER_SITES= GNU/make
DISTNAME= make-${PORTVERSION}
DIST_SUBDIR= gnu
CATEGORIES= devel
MAINTAINER= onborodin@gmail.com
MAINTAINER= tijl@FreeBSD.org
COMMENT= GNU version of 'make' utility
#LIB_DEPENDS+= libintl.so:devel/gettext
#LIB_DEPENDS+= libiconv.so:text/libiconv
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --program-prefix="g"
CONFIGURE_ARGS+= --with-libiconv-prefix=${LOCALBASE}
CONFIGURE_ARGS+= --with-libintl-prefix=${LOCALBASE}
MAKE_ARGS+= inst_setgid=false
CONFIGURE_ARGS= --program-prefix=g --without-guile
CONFIGURE_ARGS+= --mandir=${PREFIX}/man
CONFIGURE_ARGS+= --infodir=${PREFIX}/info
CONFIGURE_ARGS+= --disable-nls
INFO= make
USES= cpe tar:lz
CPE_VENDOR= gnu
CPE_PRODUCT= make
.include <bsd.port.mk>
#EOF

View File

@@ -1,3 +1,3 @@
TIMESTAMP = 1586597863
SHA256 (gnu/make-4.2.1.tar.gz) = e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7
SIZE (gnu/make-4.2.1.tar.gz) = 1977576
TIMESTAMP = 1587222848
SHA256 (make-4.3.tar.lz) = de1a441c4edf952521db30bfca80baae86a0ff1acd0a00402999344f04c45e82
SIZE (make-4.3.tar.lz) = 1266180

View File

@@ -0,0 +1,127 @@
From: Bruno Haible <bruno@clisp.org>
Date: Sat, 23 May 2020 10:19:34 +0000 (+0200)
Subject: findprog-in: Ignore directories.
X-Git-Url: https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff_plain;h=6e6abd0cdfe4bb96f6412aebc511f10bf254a820
findprog-in: Ignore directories.
Reported by Frederick Eaton via Dmitry Goncharov in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
* lib/findprog-in.c (find_in_given_path): When the file found is a
directory, set errno to EACCES and, during a PATH search, continue
searching.
* modules/findprog-in (Depends-on): Add sys_stat, stat.
---
diff --git a/lib/findprog-in.c b/lib/findprog-in.c
index c254f2f..0f76e36 100644
--- lib/findprog-in.c
+++ lib/findprog-in.c
@@ -26,6 +26,7 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/stat.h>
#include "filename.h"
#include "concat-filename.h"
@@ -58,8 +59,8 @@ static const char * const suffixes[] =
/* Note: The cmd.exe program does a different lookup: It searches according
to the PATHEXT environment variable.
See <https://stackoverflow.com/questions/7839150/>.
- Also, it executes files ending .bat and .cmd directly without letting the
- kernel interpret the program file. */
+ Also, it executes files ending in .bat and .cmd directly without letting
+ the kernel interpret the program file. */
#elif defined __CYGWIN__
"", ".exe", ".com"
#elif defined __EMX__
@@ -136,14 +137,26 @@ find_in_given_path (const char *progname, const char *path,
call access() despite its design flaw. */
if (eaccess (progpathname, X_OK) == 0)
{
- /* Found! */
- if (strcmp (progpathname, progname) == 0)
+ /* Check that the progpathname does not point to a
+ directory. */
+ struct stat statbuf;
+
+ if (stat (progpathname, &statbuf) >= 0)
{
- free (progpathname);
- return progname;
+ if (! S_ISDIR (statbuf.st_mode))
+ {
+ /* Found! */
+ if (strcmp (progpathname, progname) == 0)
+ {
+ free (progpathname);
+ return progname;
+ }
+ else
+ return progpathname;
+ }
+
+ errno = EACCES;
}
- else
- return progpathname;
}
if (errno != ENOENT)
@@ -210,25 +223,37 @@ find_in_given_path (const char *progname, const char *path,
call access() despite its design flaw. */
if (eaccess (progpathname, X_OK) == 0)
{
- /* Found! */
- if (strcmp (progpathname, progname) == 0)
+ /* Check that the progpathname does not point to a
+ directory. */
+ struct stat statbuf;
+
+ if (stat (progpathname, &statbuf) >= 0)
{
- free (progpathname);
-
- /* Add the "./" prefix for real, that
- xconcatenated_filename() optimized away. This
- avoids a second PATH search when the caller uses
- execl/execv/execlp/execvp. */
- progpathname =
- XNMALLOC (2 + strlen (progname) + 1, char);
- progpathname[0] = '.';
- progpathname[1] = NATIVE_SLASH;
- memcpy (progpathname + 2, progname,
- strlen (progname) + 1);
- }
+ if (! S_ISDIR (statbuf.st_mode))
+ {
+ /* Found! */
+ if (strcmp (progpathname, progname) == 0)
+ {
+ free (progpathname);
+
+ /* Add the "./" prefix for real, that
+ xconcatenated_filename() optimized away.
+ This avoids a second PATH search when the
+ caller uses execl/execv/execlp/execvp. */
+ progpathname =
+ XNMALLOC (2 + strlen (progname) + 1, char);
+ progpathname[0] = '.';
+ progpathname[1] = NATIVE_SLASH;
+ memcpy (progpathname + 2, progname,
+ strlen (progname) + 1);
+ }
+
+ free (path_copy);
+ return progpathname;
+ }
- free (path_copy);
- return progpathname;
+ errno = EACCES;
+ }
}
if (errno != ENOENT)

View File

@@ -0,0 +1,10 @@
--- lib/glob.c.orig 2020-01-03 07:11:27 UTC
+++ lib/glob.c
@@ -203,7 +203,6 @@ my_realloc (p, n)
return (char *) malloc (n);
return (char *) realloc (p, n);
}
-# define realloc my_realloc
# endif /* __SASC */
#endif /* __GNU_LIBRARY__ || __DJGPP__ */

View File

@@ -0,0 +1,11 @@
--- src/default.c.orig 2020-01-03 07:11:27 UTC
+++ src/default.c
@@ -530,7 +530,7 @@ static const char *default_variables[] =
"OBJC", "gcc",
#else
"CC", "cc",
- "CXX", "g++",
+ "CXX", "c++",
"OBJC", "cc",
#endif

View File

@@ -0,0 +1,10 @@
--- src/makeint.h.orig 2020-01-19 20:32:59 UTC
+++ src/makeint.h
@@ -116,7 +116,6 @@ extern int errno;
/* Some systems define _POSIX_VERSION but are not really POSIX.1. */
#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386)))
-# undef POSIX
#endif
#if !defined (POSIX) && defined (_AIX) && defined (_POSIX_SOURCE)

View File

@@ -2,4 +2,4 @@ GNU make is a tool that controls the generation of executables and other
non-source files from source files. Its purpose is the same as that
of the utility make(1).
WWW: http://www.gnu.org/software/make/make.html
WWW: https://www.gnu.org/software/make/

View File

@@ -1,2 +1,93 @@
bin/gmake
include/gnumake.h
man/man1/gmake.1.gz
share/info/make.info
share/info/make.info-1
share/info/make.info-2
share/locale/be/LC_MESSAGES/make.mo
share/locale/bg/LC_MESSAGES/make.mo
share/locale/cs/LC_MESSAGES/make.mo
share/locale/da/LC_MESSAGES/make.mo
share/locale/de/LC_MESSAGES/make.mo
share/locale/es/LC_MESSAGES/make.mo
share/locale/fi/LC_MESSAGES/make.mo
share/locale/fr/LC_MESSAGES/make.mo
share/locale/ga/LC_MESSAGES/make.mo
share/locale/gl/LC_MESSAGES/make.mo
share/locale/he/LC_MESSAGES/make.mo
share/locale/hr/LC_MESSAGES/make.mo
share/locale/id/LC_MESSAGES/make.mo
share/locale/it/LC_MESSAGES/make.mo
share/locale/ja/LC_MESSAGES/make.mo
share/locale/ko/LC_MESSAGES/make.mo
share/locale/lt/LC_MESSAGES/make.mo
share/locale/nl/LC_MESSAGES/make.mo
share/locale/pl/LC_MESSAGES/make.mo
share/locale/pt_BR/LC_MESSAGES/make.mo
share/locale/pt/LC_MESSAGES/make.mo
share/locale/ru/LC_MESSAGES/make.mo
share/locale/sr/LC_MESSAGES/make.mo
share/locale/sv/LC_MESSAGES/make.mo
share/locale/tr/LC_MESSAGES/make.mo
share/locale/uk/LC_MESSAGES/make.mo
share/locale/vi/LC_MESSAGES/make.mo
share/locale/zh_CN/LC_MESSAGES/make.mo
share/locale/zh_TW/LC_MESSAGES/make.mo
@dir share/locale/be/LC_MESSAGES
@dir share/locale/be
@dir share/locale/bg/LC_MESSAGES
@dir share/locale/bg
@dir share/locale/cs/LC_MESSAGES
@dir share/locale/cs
@dir share/locale/da/LC_MESSAGES
@dir share/locale/da
@dir share/locale/de/LC_MESSAGES
@dir share/locale/de
@dir share/locale/es/LC_MESSAGES
@dir share/locale/es
@dir share/locale/fi/LC_MESSAGES
@dir share/locale/fi
@dir share/locale/fr/LC_MESSAGES
@dir share/locale/fr
@dir share/locale/ga/LC_MESSAGES
@dir share/locale/ga
@dir share/locale/gl/LC_MESSAGES
@dir share/locale/gl
@dir share/locale/he/LC_MESSAGES
@dir share/locale/he
@dir share/locale/hr/LC_MESSAGES
@dir share/locale/hr
@dir share/locale/id/LC_MESSAGES
@dir share/locale/id
@dir share/locale/it/LC_MESSAGES
@dir share/locale/it
@dir share/locale/ja/LC_MESSAGES
@dir share/locale/ja
@dir share/locale/ko/LC_MESSAGES
@dir share/locale/ko
@dir share/locale/lt/LC_MESSAGES
@dir share/locale/lt
@dir share/locale/nl/LC_MESSAGES
@dir share/locale/nl
@dir share/locale/pl/LC_MESSAGES
@dir share/locale/pl
@dir share/locale/pt/LC_MESSAGES
@dir share/locale/pt
@dir share/locale/pt_BR/LC_MESSAGES
@dir share/locale/pt_BR
@dir share/locale/ru/LC_MESSAGES
@dir share/locale/ru
@dir share/locale/sr/LC_MESSAGES
@dir share/locale/sr
@dir share/locale/sv/LC_MESSAGES
@dir share/locale/sv
@dir share/locale/tr/LC_MESSAGES
@dir share/locale/tr
@dir share/locale/uk/LC_MESSAGES
@dir share/locale/uk
@dir share/locale/vi/LC_MESSAGES
@dir share/locale/vi
@dir share/locale/zh_CN/LC_MESSAGES
@dir share/locale/zh_CN
@dir share/locale/zh_TW/LC_MESSAGES
@dir share/locale/zh_TW