pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/gmake gmake: Use the pkgsrc bootstrap shell if set.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/4bafe7fd044d
branches:  trunk
changeset: 770703:4bafe7fd044d
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Tue Dec 07 12:06:16 2021 +0000

description:
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.

diffstat:

 devel/gmake/Makefile                |  18 ++++++++++++++++--
 devel/gmake/distinfo                |   3 ++-
 devel/gmake/patches/patch-src_job.c |  30 ++++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+), 3 deletions(-)

diffs (82 lines):

diff -r 12bd6fd9f699 -r 4bafe7fd044d devel/gmake/Makefile
--- a/devel/gmake/Makefile      Tue Dec 07 10:51:22 2021 +0000
+++ b/devel/gmake/Makefile      Tue Dec 07 12:06:16 2021 +0000
@@ -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 @@
 
 .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 -r 12bd6fd9f699 -r 4bafe7fd044d devel/gmake/distinfo
--- a/devel/gmake/distinfo      Tue Dec 07 10:51:22 2021 +0000
+++ b/devel/gmake/distinfo      Tue Dec 07 12:06:16 2021 +0000
@@ -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 -r 12bd6fd9f699 -r 4bafe7fd044d devel/gmake/patches/patch-src_job.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/gmake/patches/patch-src_job.c       Tue Dec 07 12:06:16 2021 +0000
@@ -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;



Home | Main Index | Thread Index | Old Index