diff options
author | jperkin <jperkin@pkgsrc.org> | 2021-12-07 12:06:16 +0000 |
---|---|---|
committer | jperkin <jperkin@pkgsrc.org> | 2021-12-07 12:06:16 +0000 |
commit | da45faf9d7b5135015ce92ddc18dff30a6772220 (patch) | |
tree | 212b9e6558d3b362dbcd38121f9a970f0d9766cb | |
parent | 42493c722311eeaa137dcefa360ada6eb042a0d2 (diff) | |
download | pkgsrc-da45faf9d7b5135015ce92ddc18dff30a6772220.tar.gz |
gmake: Use the pkgsrc bootstrap shell if set.
Fixes issues seen on e.g. older Solaris with the legacy /bin/sh. Add our
bootstrap shells to the list of POSIX-compatible shells, required for correct
operation of .ONESHELL mode, fixing the test suite with mksh.
Bump PKGREVISION.
-rw-r--r-- | devel/gmake/Makefile | 18 | ||||
-rw-r--r-- | devel/gmake/distinfo | 3 | ||||
-rw-r--r-- | devel/gmake/patches/patch-src_job.c | 30 |
3 files changed, 48 insertions, 3 deletions
diff --git a/devel/gmake/Makefile b/devel/gmake/Makefile index 16093c54e95..48e033ac88c 100644 --- a/devel/gmake/Makefile +++ b/devel/gmake/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.115 2021/05/24 19:49:57 wiz Exp $ +# $NetBSD: Makefile,v 1.116 2021/12/07 12:06:16 jperkin Exp $ DISTNAME= make-4.3 PKGNAME= g${DISTNAME} -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=make/} @@ -31,6 +31,20 @@ CONFIGURE_ARGS+= ac_cv_func_getloadavg_setgid=no .include "../../mk/bsd.prefs.mk" +# +# Keep in sync with devel/bmake, the goal is to ensure we use the same shell +# that was selected by bootstrap. +# +.if ${TOOLS_PLATFORM.sh:M?*/bin/mksh} +DEPENDS+= mksh-[0-9]*:../../shells/mksh +CPPFLAGS+= -DPKGSRC_DEFAULT_SHELL="\"${PREFIX}/bin/mksh\"" +.elif ${TOOLS_PLATFORM.sh:M?*/bin/pdksh} +DEPENDS+= pdksh-[0-9]*:../../shells/pdksh +CPPFLAGS+= -DPKGSRC_DEFAULT_SHELL="\"${PREFIX}/bin/pdksh\"" +.elif ${OPSYS} == "SunOS" && exists(/usr/bin/bash) +CPPFLAGS+= -DPKGSRC_DEFAULT_SHELL="\"/usr/bin/bash\"" +.endif + # kernel bug, fixed in NetBSD 9.99.82 .if ${OPSYS} == "NetBSD" && !empty(OS_VERSION:M[0-9].*) CONFIGURE_ARGS.NetBSD+= --disable-posix-spawn diff --git a/devel/gmake/distinfo b/devel/gmake/distinfo index ebbd6dad0f3..ab8ded7cbcc 100644 --- a/devel/gmake/distinfo +++ b/devel/gmake/distinfo @@ -1,7 +1,8 @@ -$NetBSD: distinfo,v 1.42 2021/10/26 10:14:43 nia Exp $ +$NetBSD: distinfo,v 1.43 2021/12/07 12:06:16 jperkin Exp $ BLAKE2s (make-4.3.tar.gz) = 09e086f44defc3367ab2d167711675cf77ea82c79f134b3133c191f8d7ac58ae SHA512 (make-4.3.tar.gz) = 9a1185cc468368f4ec06478b1cfa343bf90b5cd7c92c0536567db0315b0ee909af53ecce3d44cfd93dd137dbca1ed13af5713e8663590c4fdd21ea635d78496b Size (make-4.3.tar.gz) = 2317073 bytes SHA1 (patch-af) = 8ff060ecba9d664044eabd98741253881d8c9bbe SHA1 (patch-src_hash.c) = 755de04a4f9a63f5bfc2520026344d6dc8654992 +SHA1 (patch-src_job.c) = 3514e409af0d704cb657409721e0819109251051 diff --git a/devel/gmake/patches/patch-src_job.c b/devel/gmake/patches/patch-src_job.c new file mode 100644 index 00000000000..ff746807a22 --- /dev/null +++ b/devel/gmake/patches/patch-src_job.c @@ -0,0 +1,30 @@ +$NetBSD: patch-src_job.c,v 1.1 2021/12/07 12:06:16 jperkin Exp $ + +If we bootstrap pkgsrc with a different shell, use it. + +Add our bootstrap shells to the POSIX-compatible list, required for correct +operation of .ONESHELL mode. + +--- src/job.c.orig 2020-01-19 20:32:59.000000000 +0000 ++++ src/job.c +@@ -77,7 +77,11 @@ char * vms_strsignal (int status); + + #else + ++#ifdef PKGSRC_DEFAULT_SHELL ++const char *default_shell = PKGSRC_DEFAULT_SHELL; ++#else + const char *default_shell = "/bin/sh"; ++#endif + int batch_mode_shell = 0; + + #endif +@@ -433,6 +437,8 @@ is_bourne_compatible_shell (const char * + "zsh", + "ash", + "dash", ++ "mksh", ++ "pdksh", + NULL + }; + const char **s; |