Index: Makefile =================================================================== RCS file: /cvsroot/pkgsrc/lang/sbcl/Makefile,v retrieving revision 1.77 diff -u -p -r1.77 Makefile --- Makefile 4 Jan 2018 14:47:17 -0000 1.77 +++ Makefile 17 Oct 2018 12:41:09 -0000 @@ -72,6 +72,17 @@ SUBST_FILES.fix-bins+= src/runtime/Conf SUBST_SED.fix-bins= -e 's,nm ,/usr/bin/nm ,' SUBST_SED.fix-bins+= -e 's,ggrep,grep,' +.if defined(TOOLS_PLATFORM.paxctl) +SBCL_PAXCTL= ${PAXCTL} +m +MAKE_ENV+= SBCL_PAXCTL=${SBCL_PAXCTL:Q} +.endif + +INSTALL_ENV+= BUILD_ROOT=${DESTDIR:Q} +INSTALL_ENV+= INSTALL_ROOT=${PREFIX:Q} +INSTALL_ENV+= MAN_DIR=${PREFIX:Q}/${PKGMANDIR} + +NOT_PAX_MPROTECT_SAFE+= bin/sbcl + .if !empty(MACHINE_PLATFORM:MSunOS-*-i386) SBCL_ARCH_ARGS= "--arch=x86" .elif !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) @@ -79,20 +90,23 @@ SBCL_ARCH_ARGS= "--arch=x86-64" .endif do-build: - cd ${WRKSRC} && ${SH} make.sh --prefix=${PREFIX} ${SBCL_ARCH_ARGS} --xc-host=${SBCL_BOOT_SYSTEM:Q} + ${RUN} ${_ULIMIT_CMD} \ + cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${SH} make.sh --prefix=${PREFIX} ${SBCL_ARCH_ARGS} --xc-host=${SBCL_BOOT_SYSTEM:Q} post-build: cd ${WRKSRC} && ${RM} -f contrib/sb-cover/test-output/* do-install: - cd ${WRKSRC} && BUILD_ROOT=${DESTDIR:Q} INSTALL_ROOT=${PREFIX:Q} MAN_DIR=${PREFIX:Q}/${PKGMANDIR} ${SH} install.sh + ${RUN} ${_ULIMIT_CMD} \ + cd ${WRKSRC} && ${PKGSRC_SETENV} ${INSTALL_ENV} ${SH} install.sh rm -f ${DESTDIR}${PREFIX}/lib/sbcl/sb-posix/test-output/write-test.txt rm -f ${DESTDIR}${PREFIX}/lib/sbcl/sb-posix/test-output/read-test.txt rm -f ${DESTDIR}${PREFIX}/lib/sbcl/asdf-install/installer.lisp.orig do-test: # for f in compiler.pure.lisp interface.pure.lisp compiler.impure.lisp debug.impure.lisp interface.impure.lisp; do mv ${WRKSRC}/tests/$$f ${WRKSRC}/tests/$$f.off || :; done - cd ${WRKSRC}/tests && ${SH} ./run-tests.sh + ${RUN} ${_ULIMIT_CMD} \ + cd ${WRKSRC}/tests && ${PKGSRC_SETENV} ${TEST_ENV} ${SH} ./run-tests.sh .if ${MACHINE_ARCH} == "x86_64" PLIST_SUBST+= SUFX64=-64 Index: distinfo =================================================================== RCS file: /cvsroot/pkgsrc/lang/sbcl/distinfo,v retrieving revision 1.56 diff -u -p -r1.56 distinfo --- distinfo 4 Jan 2018 14:47:17 -0000 1.56 +++ distinfo 17 Oct 2018 12:41:09 -0000 @@ -5,6 +5,7 @@ RMD160 (sbcl-1.4.3-source.tar.bz2) = eb3 SHA512 (sbcl-1.4.3-source.tar.bz2) = e730f4f095e2c3b52836df0beae08219a2e3883b4e20ba7303f24d8e51aec7c6d278ad6f9d57fac36b5aebec3fefb118d07bfd4ca48a44a3324345f2993fca62 Size (sbcl-1.4.3-source.tar.bz2) = 5953041 bytes SHA1 (patch-ab) = b087921f7317523fd78396518dfd2cb1c8e6d5f9 +SHA1 (patch-src_runtime_GNUmakefile) = bb1fffdaa90897d4ddcaedc3d480778917348281 SHA1 (patch-src_runtime_backtrace.c) = ba3d7d152b279652d7074ebc9ba615c9d899f35c SHA1 (patch-src_runtime_breakpoint.c) = 019d98692411b5701ce14c023ed3afab71033323 SHA1 (patch-src_runtime_bsd-os.c) = 1c2bb3ce517aea03bbc4f09708e8300085253286 Index: patches/patch-src_runtime_GNUmakefile =================================================================== RCS file: patches/patch-src_runtime_GNUmakefile diff -N patches/patch-src_runtime_GNUmakefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_runtime_GNUmakefile 17 Oct 2018 12:41:09 -0000 @@ -0,0 +1,25 @@ +$NetBSD$ + +Add support to invoke paxctl(8) or similar programs to adjust PaX +permissions of src/runtime/sbcl during the build phase. + +--- src/runtime/GNUmakefile.orig 2017-12-29 09:55:08.000000000 +0000 ++++ src/runtime/GNUmakefile +@@ -14,6 +14,9 @@ + all: targets tags + TARGET=sbcl + ++# paxctl(8) or similar programs to adjust PaX permissions of src/runtime/sbcl ++SBCL_PAXCTL ?= : ++ + # Defaults which might be overridden or modified by values in the + # Config file. Most of them are same on most systems right now. + # If you need to override one of these, do it in Config. +@@ -78,6 +81,7 @@ targets: $(TARGET) $(OBJTARGET) sbcl.nm + + $(TARGET): $(LIBSBCL) + $(CC) ${LINKFLAGS} -o $@ $(USE_LIBSBCL) $(LIBS) ++ $(SBCL_PAXCTL) $@ + + # ld -r -o sbcl.o works on Linux, but not on other platforms. + # On macOS, it fails to keep debug sections.