On Mon, Apr 29, 2019 at 10:13:57AM +0200, Solene Rapenne wrote:
> On Sun, Apr 28, 2019 at 07:22:18AM -0700, Josh Elsasser wrote:
> > I'm preparing an update of lang/sbcl to 1.5.2, which should be
> > released in a day or two. Here is an update to a current git snapshot
> > if anyone wants to give it a try. I've already built and run the test
> > suite on all three arches but more testing never hurts.
> > 
> > The port itself is once again patches sbcl to run the contrib module
> > tests during 'regress' and not 'build'. This in combination with
> > upstream improvements should allow the threads flavor to be built by
> > default again, and now on macppc too.
> > 
> > Additionally, the non-threading options enabled by "./make.sh --fancy"
> > are now always enabled, namely core compression.
> > 
> > The only downside is that the base makeinfo will no longer build the
> > texinfo docs, so pull in print/texinfo instead.
> > 
> 
> hi, I think your diff doesn't remove some patches not needed anymore.
> I can't compile sbcl after applying your patch on the ports tree.
> 
> I get the following patches rejected:
> 
> /usr/ports/pobj/sbcl-1.5.1.401-ec954a7a7/sbcl-1.5.1.401-ec954a7a7/src/compiler/generic/genesis.lisp.rej
> /usr/ports/pobj/sbcl-1.5.1.401-ec954a7a7/sbcl-1.5.1.401-ec954a7a7/src/compiler/x86/parms.lisp.rej
> /usr/ports/pobj/sbcl-1.5.1.401-ec954a7a7/sbcl-1.5.1.401-ec954a7a7/src/runtime/Config.x86-openbsd.rej
> /usr/ports/pobj/sbcl-1.5.1.401-ec954a7a7/sbcl-1.5.1.401-ec954a7a7/tests/run-compiler.sh.rej

Whoops, my bad. Here's a diff with the old patches cvs rm'd first:


Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/sbcl/Makefile,v
retrieving revision 1.40
diff -u -u -r1.40 Makefile
--- Makefile    21 Mar 2019 22:06:53 -0000      1.40
+++ Makefile    29 Apr 2019 14:40:35 -0000
@@ -1,13 +1,12 @@
-# $OpenBSD: Makefile,v 1.40 2019/03/21 22:06:53 sthen Exp $
+# $OpenBSD: Makefile,v 1.37 2018/04/27 16:25:12 solene Exp $
 
 # not yet ported to other arches
 ONLY_FOR_ARCHS =       amd64 i386 powerpc
 USE_WXNEEDED =         Yes
-REVISION =             0
 
 COMMENT=               compiler and runtime system for ANSI Common Lisp
 
-V =                    1.4.8
+V =                    1.5.1.401-ec954a7a7
 DISTNAME=              sbcl-${V}-source
 PKGNAME=               sbcl-${V}
 WRKDIST=               ${WRKDIR}/sbcl-${V}
@@ -15,28 +14,31 @@
 
 CATEGORIES=            lang
 HOMEPAGE=              http://www.sbcl.org/
-MAINTAINER =           Joshua Elsasser <jo...@openbsd.org>
+MAINTAINER =           Joshua Elsasser <j...@elsasser.org>
 
 # Public domain and BSD
 PERMIT_PACKAGE_CDROM=  Yes
 
-MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=sbcl/}
+#MASTER_SITES=         ${MASTER_SITE_SOURCEFORGE:=sbcl/}
+MASTER_SITES=          http://www.elsasser.org/openbsd/distfiles/
 
-WANTLIB=               c m util
+WANTLIB=               c m util z
 
 PSEUDO_FLAVORS=                native_bootstrap
 
-# XXX threads flavor does not work reliably it won't even pass its self-test
-# on amd64 all the time
 FLAVORS=               threads
 FLAVOR?=
 
-EXTRA_PARAMS=
+MAKE_PARAMS =          --prefix=${PREFIX}
+
 .if ${FLAVOR:Mthreads}
-ONLY_FOR_ARCHS =       amd64
-EXTRA_PARAMS+=         --with-sb-thread
+ONLY_FOR_ARCHS =       amd64 powerpc
+MAKE_PARAMS +=         --with-sb-thread
 WANTLIB+=              pthread
 .endif
+# enable features from --fancy other than :sb-thread
+MAKE_PARAMS +=         --with-sb-core-compression \
+                       --with-sb-xref-for-internals
 
 .if ${FLAVOR:Mnative_bootstrap}
 BUILD_DEPENDS+=                lang/sbcl
@@ -46,12 +48,17 @@
 BUILD_DEPENDS +=       lang/clisp
 BOOTSTRAP_CMD =                ${LOCALBASE}/bin/clisp -q -norc
 .endif
+MAKE_PARAMS +=         --xc-host="${BOOTSTRAP_CMD}" ${EXTRA_PARAMS}
 TEST_DEPENDS =         devel/gmp
 
+# base makeinfo chokes on sbcl texinfo files
+BUILD_DEPENDS +=       print/texinfo
+
 USE_GMAKE=             Yes
 PORTHOME=              ${TMPDIR}
 MAKE_ENV=              GNUMAKE=${GMAKE} INSTALL_ROOT=${PREFIX} \
-                       MAN_DIR=${PREFIX}/man INFO_DIR=${PREFIX}/info
+                       MAN_DIR=${PREFIX}/man INFO_DIR=${PREFIX}/info \
+                       MAKEINFO=${PREFIX}/bin/gmakeinfo
 
 # Upstream asks that packagers append something like this to the
 # version to distinguish official tarballs from third-party packages.
@@ -66,8 +73,8 @@
        sed -i 's/^"\([0-9.]*\)"$$/"\1.${LOCAL_VERSION}"/' ${VERSION_FILE}
 
 do-build:
-       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} /bin/sh make.sh \
-               --prefix=${PREFIX} --xc-host="${BOOTSTRAP_CMD}" ${EXTRA_PARAMS}
+       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} SBCL_CONTRIB_TARGET=all \
+               /bin/sh make.sh ${MAKE_PARAMS}
        cd ${WRKSRC}/doc/manual && touch sbcl.texinfo && \
                ${SETENV} ${MAKE_ENV} ${GMAKE} asdf.info sbcl.info
 
@@ -78,6 +85,8 @@
        chown -R 0:0 ${PREFIX}/lib/sbcl
 
 do-test:
+       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} DONT_CLEAN_SBCL_CONTRIB=1 \
+           /bin/sh make-target-contrib.sh
        cd ${WRKSRC}/tests && ${SETENV} ${MAKE_ENV} /bin/sh run-tests.sh
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/sbcl/distinfo,v
retrieving revision 1.16
diff -u -u -r1.16 distinfo
--- distinfo    24 Jun 2018 18:33:36 -0000      1.16
+++ distinfo    29 Apr 2019 14:40:35 -0000
@@ -1,2 +1,2 @@
-SHA256 (sbcl-1.4.8-source.tar.bz2) = 
ziS2K4hIJiHCKKT9bIAjUDMLYmPhsbmEYO60qB1/szU=
-SIZE (sbcl-1.4.8-source.tar.bz2) = 6040563
+SHA256 (sbcl-1.5.1.401-ec954a7a7-source.tar.bz2) = 
pkP1gFzvEAOt9WltWpW7oEzUrfNyZYnF75qezC4zE8U=
+SIZE (sbcl-1.5.1.401-ec954a7a7-source.tar.bz2) = 6175896
Index: patches/patch-contrib_asdf_Makefile
===================================================================
RCS file: patches/patch-contrib_asdf_Makefile
diff -N patches/patch-contrib_asdf_Makefile
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-contrib_asdf_Makefile 29 Apr 2019 14:40:35 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Add an 'all' target to match other contrib modules.
+
+Index: contrib/asdf/Makefile
+--- contrib/asdf/Makefile.orig
++++ contrib/asdf/Makefile
+@@ -4,7 +4,7 @@ UIOP_FASL=$(DEST)/uiop.fasl
+ FASL=$(UIOP_FASL) $(ASDF_FASL)
+ FROB_READTABLE='(setf (sb-ext:readtable-base-char-preference *readtable*) 
:both)'
+ 
+-fasl:: $(UIOP_FASL) $(ASDF_FASL)
++fasl all:: $(UIOP_FASL) $(ASDF_FASL)
+ $(UIOP_FASL):: uiop.lisp ../../output/sbcl.core
+       mkdir -p $(DEST)
+       $(SBCL) --eval $(FROB_READTABLE) --eval '(compile-file 
#p"SYS:CONTRIB;ASDF;UIOP.LISP" :print nil :output-file (parse-native-namestring 
"$@"))' </dev/null
Index: patches/patch-make-target-contrib_sh
===================================================================
RCS file: patches/patch-make-target-contrib_sh
diff -N patches/patch-make-target-contrib_sh
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-make-target-contrib_sh        29 Apr 2019 14:40:35 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Allow contribs to be build without running tests.
+
+Index: make-target-contrib.sh
+--- make-target-contrib.sh.orig
++++ make-target-contrib.sh
+@@ -84,7 +84,7 @@ for i in $contribs_to_build; do
+     test -f obj/asdf-cache/$i/test-passed.test-report && rm 
obj/asdf-cache/$i/test-passed.test-report
+     mkdir -p obj/asdf-cache/$i/
+     # hack to get exit codes right.
+-    if $GNUMAKE -C contrib/$i test < /dev/null 2>&1 && touch 
obj/asdf-cache/$i/test-passed.test-report ; then
++    if $GNUMAKE -C contrib/$i ${SBCL_CONTRIB_TARGET:-test} < /dev/null 2>&1 
&& touch obj/asdf-cache/$i/test-passed.test-report ; then
+       :
+     else
+       exit $?
Index: patches/patch-src_compiler_generic_genesis_lisp
===================================================================
RCS file: patches/patch-src_compiler_generic_genesis_lisp
diff -N patches/patch-src_compiler_generic_genesis_lisp
--- patches/patch-src_compiler_generic_genesis_lisp     21 Mar 2019 22:06:54 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$OpenBSD: patch-src_compiler_generic_genesis_lisp,v 1.1 2019/03/21 22:06:54 
sthen Exp $
-
-Fix build on i386 when the text segment is more than 2GB from the dynamic 
space,
-such as when linked with lld.
-
-Index: src/compiler/generic/genesis.lisp
---- src/compiler/generic/genesis.lisp.orig
-+++ src/compiler/generic/genesis.lisp
-@@ -2118,9 +2118,12 @@ core and return a descriptor to it."
-               ;; Never record it. (FIXME: this is a problem for relocatable 
heap)
-               nil)
-              (:relative ; (used for arguments to X86 relative CALL 
instruction)
--              (setf (bvref-32 gspace-data gspace-byte-offset)
--                    (the (signed-byte 32)
--                      (- addr (+ gspace-base gspace-byte-offset 4)))) ; 4 = 
size of rel32off
-+              (let ((difference (- addr (+ gspace-base gspace-byte-offset 
4)))) ; 4 = size of rel32off
-+                (setf (bvref-32 gspace-data gspace-byte-offset)
-+                      (the (signed-byte 32)
-+                        (if (< difference #x-80000000)
-+                            (ldb (byte 32 0) difference)
-+                            difference))))
-               ;; Relative fixups are recorded if without the object.
-               ;; Except that read-only space contains calls to asm routines,
-               ;; and we don't record those fixups.
Index: patches/patch-src_compiler_x86_parms_lisp
===================================================================
RCS file: patches/patch-src_compiler_x86_parms_lisp
diff -N patches/patch-src_compiler_x86_parms_lisp
--- patches/patch-src_compiler_x86_parms_lisp   21 Mar 2019 22:06:54 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-$OpenBSD: patch-src_compiler_x86_parms_lisp,v 1.1 2019/03/21 22:06:54 sthen 
Exp $
-
-Move the static spaces to an address which should be available under
-both ld.bfd and ld.lld
-
-Index: src/compiler/x86/parms.lisp
---- src/compiler/x86/parms.lisp.orig
-+++ src/compiler/x86/parms.lisp
-@@ -204,7 +204,7 @@
- #!+sunos     (!gencgc-space-setup #x20000000 :dynamic-space-start #x48000000)
- #!+freebsd   (!gencgc-space-setup #x01000000 :dynamic-space-start #x58000000)
- #!+dragonfly (!gencgc-space-setup #x01000000 :dynamic-space-start #x58000000)
--#!+openbsd   (!gencgc-space-setup #x3d000000 :dynamic-space-start #x8d000000)
-+#!+openbsd   (!gencgc-space-setup #x11000000 :dynamic-space-start #x8d000000)
- #!+netbsd    (!gencgc-space-setup #x20000000 :dynamic-space-start #x60000000)
- #!+darwin    (!gencgc-space-setup #x04000000 :dynamic-space-start #x10000000)
- 
Index: patches/patch-src_runtime_Config_generic-openbsd
===================================================================
RCS file: 
/cvs/ports/lang/sbcl/patches/patch-src_runtime_Config_generic-openbsd,v
retrieving revision 1.3
diff -u -u -r1.3 patch-src_runtime_Config_generic-openbsd
--- patches/patch-src_runtime_Config_generic-openbsd    8 Mar 2018 15:17:39 
-0000       1.3
+++ patches/patch-src_runtime_Config_generic-openbsd    29 Apr 2019 14:40:35 
-0000
@@ -1,23 +1,11 @@
 $OpenBSD: patch-src_runtime_Config_generic-openbsd,v 1.3 2018/03/08 15:17:39 
sthen Exp $
 
-clang-5.0.0 doesn't pass -export-dynamic to the linker, instead it
-passes a bogus -e export-dynamic to ld(1). Just use -Wl,--export-dynamic.
-
 Don't try to guess (wrong) with clang. Just assume we have pie
 
 Index: src/runtime/Config.generic-openbsd
 --- src/runtime/Config.generic-openbsd.orig
 +++ src/runtime/Config.generic-openbsd
-@@ -9,7 +9,7 @@
- # provided with absolutely no warranty. See the COPYING and CREDITS
- # files for more information.
- 
--LINKFLAGS += -export-dynamic -Wl,-z,wxneeded
-+LINKFLAGS += -Wl,--export-dynamic -Wl,-z,wxneeded
- OS_LIBS += -lutil
- 
- ifdef LISP_FEATURE_SB_THREAD
-@@ -17,9 +17,7 @@ CFLAGS += -pthread
+@@ -17,9 +17,7 @@ CFLAGS += -pthread -DOS_THREAD_STACK
  OS_LIBS += -pthread
  endif
  
Index: patches/patch-src_runtime_run-program_c
===================================================================
RCS file: patches/patch-src_runtime_run-program_c
diff -N patches/patch-src_runtime_run-program_c
--- patches/patch-src_runtime_run-program_c     8 Mar 2018 15:17:39 -0000       
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-$OpenBSD: patch-src_runtime_run-program_c,v 1.1 2018/03/08 15:17:39 sthen Exp $
-
-Work around a problem where non-PIC code ends up using a different
-copy of environ than libc.
-
-Index: src/runtime/run-program.c
---- src/runtime/run-program.c.orig
-+++ src/runtime/run-program.c
-@@ -200,14 +200,18 @@ int spawn(char *program, char *argv[], int sin, int so
-     if (pwd && chdir(pwd) < 0) {
-        failure_code = 3;
-     } else {
-+        /* Exec the program. */
-         if (envp) {
--            environ = envp;
-+            if (search)
-+                execvpe(program, argv, envp);
-+            else
-+                execve(program, argv, envp);
-+        } else {
-+            if (search)
-+                execvp(program, argv);
-+            else
-+                execv(program, argv);
-         }
--        /* Exec the program. */
--        if (search)
--            execvp(program, argv);
--        else
--            execv(program, argv);
-     }
- 
-     /* When exec or chdir fails and channel is available, send the errno 
value. */
Index: patches/patch-tests_run-compiler_sh
===================================================================
RCS file: patches/patch-tests_run-compiler_sh
diff -N patches/patch-tests_run-compiler_sh
--- patches/patch-tests_run-compiler_sh 21 Mar 2019 22:06:54 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-$OpenBSD: patch-tests_run-compiler_sh,v 1.1 2019/03/21 22:06:54 sthen Exp $
-
-Tests must be built with -fPIC to pass on i386
-
-Index: tests/run-compiler.sh
---- tests/run-compiler.sh.orig
-+++ tests/run-compiler.sh
-@@ -35,6 +35,7 @@ while [ $# -gt 0 ]; do
-                 Linux-PowerPC)   new=-fPIC ;;
-                 NetBSD-PowerPC)  new=-fPIC ;;
-                 NetBSD-X86-64)   new=-fPIC ;;
-+                OpenBSD-X86)     new=-fPIC ;;
-                 OpenBSD-PowerPC) new=-fPIC ;;
-                 OpenBSD-X86-64)  new=-fPIC ;;
-                 SunOS-SPARC)     new=-fPIC ;;
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/sbcl/pkg/PLIST,v
retrieving revision 1.11
diff -u -u -r1.11 PLIST
--- pkg/PLIST   8 Mar 2018 15:17:39 -0000       1.11
+++ pkg/PLIST   29 Apr 2019 14:40:35 -0000
@@ -9,6 +9,8 @@
 lib/sbcl/contrib/sb-aclrepl.fasl
 lib/sbcl/contrib/sb-bsd-sockets.asd
 lib/sbcl/contrib/sb-bsd-sockets.fasl
+lib/sbcl/contrib/sb-capstone.asd
+lib/sbcl/contrib/sb-capstone.fasl
 lib/sbcl/contrib/sb-cltl2.asd
 lib/sbcl/contrib/sb-cltl2.fasl
 lib/sbcl/contrib/sb-concurrency.asd
@@ -48,4 +50,3 @@
 share/doc/sbcl/COPYING
 share/doc/sbcl/CREDITS
 share/doc/sbcl/NEWS
-share/doc/sbcl/html/

Reply via email to