aboutsummaryrefslogtreecommitdiffstats
path: root/lang/sbcl
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2017-01-28 01:42:13 +0800
committermarino <marino@FreeBSD.org>2017-01-28 01:42:13 +0800
commitc8a8fbd9566f751f260e84380d5aa9d09af7239c (patch)
treeefb850b8fb2f29d6df698ff1119f0df013e0c346 /lang/sbcl
parentd6695b83d96c3e846b39de5dba6873805c19e28f (diff)
downloadfreebsd-ports-gnome-c8a8fbd9566f751f260e84380d5aa9d09af7239c.tar.gz
freebsd-ports-gnome-c8a8fbd9566f751f260e84380d5aa9d09af7239c.tar.zst
freebsd-ports-gnome-c8a8fbd9566f751f260e84380d5aa9d09af7239c.zip
lang/sbcl: Restore SBCL bootstrap and missing modules
There were several issues with the revamp of sbcl. 1) The removal of the lisp contrib modules broke several ports dependent on them. 2) The removal of a proper SBCL bootstrap (SBCL built by SBCL) broke DragonFly. Generally it is recommended that compilers build themselves, although it's unclear if SBCL has such a recommendation. 3) Handling of .core suffix changed by default This revamp was itself revamped signficantly: A) Change SBCL option from building from locally installed SBCL to building from a downloaded bootstrap SBCL compiler (supports FreeBSD i386 & amd64 and DragonFly x86_64) B) Set this as the default option and move the formerly default CCL to a non-default option C) Cosmetic: comment typo fixes, options realigned D) contributed lisp modules readded to the makefile and pkg-plist E) PLUS_BOOTSTRAPS switch to regenerate distinfo with all bootstrap files F) Change "RENAME_DLM" PLIST_SUB to "CORE_SUFFIX" to unbreak makeplist G) Regenerated pkg-plist (which wasn't previously ordered) H) Set renaming of .core files to _core by default as it has been previously done for years. Approved by: DF Support / just-fix-it [1] [1] No immediate response from ler@, adamw@, or maintainer after notification of issues caused by changes of major update. Justified by need to restore platform builds and dependent port builds.
Diffstat (limited to 'lang/sbcl')
-rw-r--r--lang/sbcl/Makefile84
-rw-r--r--lang/sbcl/distinfo8
-rw-r--r--lang/sbcl/pkg-plist113
3 files changed, 177 insertions, 28 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile
index 4de3522dc14b..b53923d3ee12 100644
--- a/lang/sbcl/Makefile
+++ b/lang/sbcl/Makefile
@@ -2,10 +2,13 @@
PORTNAME= sbcl
PORTVERSION= 1.3.13
+PORTREVISION= 1
DISTVERSIONSUFFIX= -source
PORTEPOCH= 1
CATEGORIES= lang lisp
-MASTER_SITES= SF/sbcl/sbcl/${PORTVERSION}
+MASTER_SITES= SF/sbcl/sbcl/${PORTVERSION} \
+ LOCAL/marino:binaries
+DISTFILES= sbcl-${PORTVERSION}-source.tar.bz2
MAINTAINER= pavelivolkov@gmail.com
COMMENT= Common Lisp development system derived from the CMU CL system
@@ -22,7 +25,16 @@ USES= gmake makeinfo tar:bzip2
ONLY_FOR_ARCHS= i386 amd64
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+SBCL_BOOT_LIST= 1.0.31-amd64-freebsd8 \
+ 1.0.31-i386-freebsd8 \
+ 1.2.9-x86_64-dragonfly4
+
+CONMODULES= asdf sb-aclrepl sb-bsd-sockets sb-cltl2 sb-concurrency \
+ sb-cover sb-executable sb-gmp sb-grovel sb-introspect \
+ sb-md5 sb-mpfr sb-posix sb-queue sb-rotate-byte sb-rt \
+ sb-simple-streams sb-sprof
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
MAKE_SH_ARGS?= --prefix="${PREFIX}" \
--xc-host="${XC_HOST}"
@@ -35,7 +47,7 @@ MAKE_SH_ARGS+= --dynamic-space-size=${DYNAMIC_SPACE_SIZE}
# All options explained into file: ${WRKSRC}/base-target-features.lisp-expr
OPTIONS_DEFINE= DOCS QSHOW RENAME SAFEPOINT THREADS UNICODE XREF ZLIB
-OPTIONS_DEFAULT=CCL UNICODE
+OPTIONS_DEFAULT= RENAME SBCL UNICODE
QSHOW_DESC= C runtime with low-level debugging output
RENAME_DESC= Rename suffix .core to _core
@@ -51,48 +63,69 @@ CCL_DESC= Clozure Common Lisp
CMUCL_DESC= Carnegie Mellon University Common Lisp
SBCL_DESC= Steel Bank Common Lisp
-# On this moment CMUCL - don't builds sbcl correctly, ABCL - I don't tested. Welcome volunteers.
-OPTIONS_EXCLUDE=ABCL CMUCL
+# On this moment CMUCL doesn't builds sbcl correctly
+# ABCL - I haven't tested. Welcome volunteers.
+OPTIONS_EXCLUDE= ABCL CMUCL
-ABCL_VARS= XC_HOST="abcl"
+ABCL_VARS= XC_HOST="abcl"
ABCL_BUILD_DEPENDS= abcl:lang/abcl
-CCL_VARS= XC_HOST="ccl --no-init --batch --quiet"
+CCL_VARS= XC_HOST="ccl --no-init --batch --quiet"
CCL_BUILD_DEPENDS= ccl:lang/ccl
-CMUCL_VARS= XC_HOST="lisp -nositeinit -noinit -batch -quiet"
+CMUCL_VARS= XC_HOST="lisp -nositeinit -noinit -batch -quiet"
CMUCL_BUILD_DEPENDS= lisp:lang/cmucl
-DOCS_VARS= INFO="asdf sbcl"
+DOCS_VARS= INFO="asdf sbcl"
-QSHOW_VARS= MAKE_SH_ARGS+="--with-sb-qshow"
-QSHOW_VARS_OFF= MAKE_SH_ARGS+="--without-sb-qshow"
+QSHOW_VARS= MAKE_SH_ARGS+="--with-sb-qshow"
+QSHOW_VARS_OFF= MAKE_SH_ARGS+="--without-sb-qshow"
-RENAME_PLIST_SUB= RENAME_DLM="_"
-RENAME_PLIST_SUB_OFF= RENAME_DLM="."
-RENAME_VARS= RENAME_DLM="_"
-RENAME_VARS_OFF=RENAME_DLM="."
+RENAME_PLIST_SUB= CORE_SUFFIX="_core"
+RENAME_PLIST_SUB_OFF= CORE_SUFFIX=".core"
-SAFEPOINT_VARS= MAKE_SH_ARGS+="--with-sb-safepoint --with-sb-thruption --with-sb-wtimer"
+SAFEPOINT_VARS= MAKE_SH_ARGS+="--with-sb-safepoint --with-sb-thruption --with-sb-wtimer"
SAFEPOINT_VARS_OFF= MAKE_SH_ARGS+="--without-sb-safepoint --without-sb-thruption --without-sb-wtimer"
SAFEPOINT_IMPLIES= THREADS
-SBCL_VARS= XC_HOST="sbcl --noinform --disable-debugger --no-sysinit --no-userinit"
+SBCL_VARS= XC_HOST="${BOOT_WRKSRC}/src/runtime/sbcl --core ${BOOT_WRKSRC}/output/${CORE} --noinform --disable-debugger --no-sysinit --no-userinit"
+SBCL_DISTFILES= sbcl-${SBCL_BOOT_LIST:M${ARCHOS_PATTERN}}-binary.tar.bz2:binaries
-THREADS_VARS= MAKE_SH_ARGS+="--with-sb-thread --with-restore-fs-segment-register-from-tls"
+THREADS_VARS= MAKE_SH_ARGS+="--with-sb-thread --with-restore-fs-segment-register-from-tls"
THREADS_VARS_OFF= MAKE_SH_ARGS+="--without-sb-thread --without-restore-fs-segment-register-from-tls"
-UNICODE_VARS= MAKE_SH_ARGS+="--with-sb-unicode"
+UNICODE_VARS= MAKE_SH_ARGS+="--with-sb-unicode"
UNICODE_VARS_OFF= MAKE_SH_ARGS+="--without-sb-unicode"
-XREF_VARS= MAKE_SH_ARGS+="--with-sb-xref-for-internals"
-XREF_VARS_OFF= MAKE_SH_ARGS+="--without-sb-xref-for-internals"
+XREF_VARS= MAKE_SH_ARGS+="--with-sb-xref-for-internals"
+XREF_VARS_OFF= MAKE_SH_ARGS+="--without-sb-xref-for-internals"
-ZLIB_VARS= MAKE_SH_ARGS+="--with-sb-core-compression"
-ZLIB_VARS_OFF= MAKE_SH_ARGS+="--without-sb-core-compression"
+ZLIB_VARS= MAKE_SH_ARGS+="--with-sb-core-compression"
+ZLIB_VARS_OFF= MAKE_SH_ARGS+="--without-sb-core-compression"
PORTDOCS= *
+.include <bsd.port.options.mk>
+
+ARCHOS_PATTERN= *-${ARCH}-${OPSYS:tl}*
+BOOT_WRKSRC= ${WRKDIR}/sbcl-${SBCL_BOOT_LIST:M${ARCHOS_PATTERN}}
+
+# for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1"
+.if defined (PLUS_BOOTSTRAPS)
+. for B in ${SBCL_BOOT_LIST}
+. if ! ${DISTFILES:Msbcl-${B}-*}
+DISTFILES:= ${DISTFILES} sbcl-${B}-binary.tar.bz2:binaries
+. endif
+. endfor
+.endif
+
+# Old FreeBSD bootstraps feature the older core name for SBCL bootstrap
+.if ${OPSYS} == FreeBSD
+CORE= sbcl.core
+.else
+CORE= sbcl_core
+.endif
+
post-patch-RENAME-on:
${GREP} -Frl '.core' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e 's|\.core|_core|g'
@@ -106,6 +139,11 @@ do-install:
INFO_DIR="${STAGEDIR}${PREFIX}/${INFO_PATH}" \
DOC_DIR="${STAGEDIR}${DOCSDIR}" \
${SH} install.sh)
+.for M in ${CONMODULES}
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/sbcl/${M}
+ ${INSTALL_DATA} ${WRKSRC}/contrib/${M}/*.[la]* \
+ ${STAGEDIR}${PREFIX}/lib/sbcl/${M}/
+.endfor
post-build-DOCS-on:
${DO_MAKE_BUILD} -C ${WRKSRC}/doc/manual info html
diff --git a/lang/sbcl/distinfo b/lang/sbcl/distinfo
index fa13748a9b82..09583c7d9561 100644
--- a/lang/sbcl/distinfo
+++ b/lang/sbcl/distinfo
@@ -1,3 +1,9 @@
-TIMESTAMP = 1483706842
+TIMESTAMP = 1485509169
SHA256 (sbcl-1.3.13-source.tar.bz2) = 4c6935e4a9022637da95f2aab04d08326762f55a35942b40cb6a4276838c76cc
SIZE (sbcl-1.3.13-source.tar.bz2) = 5783599
+SHA256 (sbcl-1.0.31-amd64-freebsd8-binary.tar.bz2) = 06a1e4e3a5f5f8e012ff6037a51624d7d1f34bff0979ce45e70418a293412b4e
+SIZE (sbcl-1.0.31-amd64-freebsd8-binary.tar.bz2) = 8397764
+SHA256 (sbcl-1.0.31-i386-freebsd8-binary.tar.bz2) = fd2348749a2babf301a99449d246b349a1285fc0bca8b83bde0bfa7187cf3dd7
+SIZE (sbcl-1.0.31-i386-freebsd8-binary.tar.bz2) = 8475244
+SHA256 (sbcl-1.2.9-x86_64-dragonfly4-binary.tar.bz2) = 2e32a22ef3a528d7247c0e3a72a3ac672b8b6848ac2d35fbad52a3d1475130dc
+SIZE (sbcl-1.2.9-x86_64-dragonfly4-binary.tar.bz2) = 10224580
diff --git a/lang/sbcl/pkg-plist b/lang/sbcl/pkg-plist
index d4d2d610aa46..79ecb7416bd8 100644
--- a/lang/sbcl/pkg-plist
+++ b/lang/sbcl/pkg-plist
@@ -1,8 +1,7 @@
bin/sbcl
-lib/sbcl/sbcl%%RENAME_DLM%%core
-@comment BEGIN external modules
+lib/sbcl/asdf/asdf.lisp
+lib/sbcl/asdf/uiop.lisp
lib/sbcl/contrib/asdf.fasl
-lib/sbcl/contrib/uiop.fasl
lib/sbcl/contrib/sb-aclrepl.asd
lib/sbcl/contrib/sb-aclrepl.fasl
lib/sbcl/contrib/sb-bsd-sockets.asd
@@ -37,5 +36,111 @@ lib/sbcl/contrib/sb-simple-streams.asd
lib/sbcl/contrib/sb-simple-streams.fasl
lib/sbcl/contrib/sb-sprof.asd
lib/sbcl/contrib/sb-sprof.fasl
-@comment END external modules
+lib/sbcl/contrib/uiop.fasl
+lib/sbcl/sb-aclrepl/debug.lisp
+lib/sbcl/sb-aclrepl/inspect.lisp
+lib/sbcl/sb-aclrepl/repl.lisp
+lib/sbcl/sb-aclrepl/sb-aclrepl.asd
+lib/sbcl/sb-aclrepl/tests.lisp
+lib/sbcl/sb-aclrepl/toplevel.lisp
+lib/sbcl/sb-bsd-sockets/constants.lisp
+lib/sbcl/sb-bsd-sockets/defpackage.lisp
+lib/sbcl/sb-bsd-sockets/inet.lisp
+lib/sbcl/sb-bsd-sockets/inet4.lisp
+lib/sbcl/sb-bsd-sockets/inet6.lisp
+lib/sbcl/sb-bsd-sockets/local.lisp
+lib/sbcl/sb-bsd-sockets/misc.lisp
+lib/sbcl/sb-bsd-sockets/name-service.lisp
+lib/sbcl/sb-bsd-sockets/protocol.lisp
+lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.asd
+lib/sbcl/sb-bsd-sockets/sockets.lisp
+lib/sbcl/sb-bsd-sockets/sockopt.lisp
+lib/sbcl/sb-bsd-sockets/tests.lisp
+lib/sbcl/sb-bsd-sockets/util.lisp
+lib/sbcl/sb-bsd-sockets/win32-constants.lisp
+lib/sbcl/sb-bsd-sockets/win32-lib.lisp
+lib/sbcl/sb-bsd-sockets/win32-sockets.lisp
+lib/sbcl/sb-cltl2/compiler-let.lisp
+lib/sbcl/sb-cltl2/defpackage.lisp
+lib/sbcl/sb-cltl2/env.lisp
+lib/sbcl/sb-cltl2/macroexpand.lisp
+lib/sbcl/sb-cltl2/sb-cltl2.asd
+lib/sbcl/sb-cltl2/tests.lisp
+lib/sbcl/sb-concurrency/frlock.lisp
+lib/sbcl/sb-concurrency/gate.lisp
+lib/sbcl/sb-concurrency/mailbox.lisp
+lib/sbcl/sb-concurrency/package.lisp
+lib/sbcl/sb-concurrency/queue.lisp
+lib/sbcl/sb-concurrency/sb-concurrency.asd
+lib/sbcl/sb-cover/cover.lisp
+lib/sbcl/sb-cover/sb-cover.asd
+lib/sbcl/sb-cover/test-data-1.lisp
+lib/sbcl/sb-cover/test-data-2.lisp
+lib/sbcl/sb-cover/test-data-3.lisp
+lib/sbcl/sb-cover/tests.lisp
+lib/sbcl/sb-executable/sb-executable.lisp
+lib/sbcl/sb-gmp/bench.lisp
+lib/sbcl/sb-gmp/gmp.lisp
+lib/sbcl/sb-gmp/sb-gmp.asd
+lib/sbcl/sb-gmp/tests-stress.lisp
+lib/sbcl/sb-gmp/tests.lisp
+lib/sbcl/sb-grovel/def-to-lisp.lisp
+lib/sbcl/sb-grovel/defpackage.lisp
+lib/sbcl/sb-grovel/example-constants.lisp
+lib/sbcl/sb-grovel/foreign-glue.lisp
+lib/sbcl/sb-grovel/sb-grovel.asd
+lib/sbcl/sb-introspect/introspect.lisp
+lib/sbcl/sb-introspect/load-test.lisp
+lib/sbcl/sb-introspect/sb-introspect.asd
+lib/sbcl/sb-introspect/test-driver.lisp
+lib/sbcl/sb-introspect/test.lisp
+lib/sbcl/sb-introspect/xref-test-data.lisp
+lib/sbcl/sb-introspect/xref-test.lisp
+lib/sbcl/sb-md5/md5-tests.lisp
+lib/sbcl/sb-md5/md5.lisp
+lib/sbcl/sb-md5/sb-md5.asd
+lib/sbcl/sb-mpfr/mpfr.lisp
+lib/sbcl/sb-mpfr/sb-mpfr.asd
+lib/sbcl/sb-mpfr/tests.lisp
+lib/sbcl/sb-posix/constants.lisp
+lib/sbcl/sb-posix/defpackage.lisp
+lib/sbcl/sb-posix/designator.lisp
+lib/sbcl/sb-posix/interface.lisp
+lib/sbcl/sb-posix/libc-tests.lisp
+lib/sbcl/sb-posix/macros.lisp
+lib/sbcl/sb-posix/posix-tests.lisp
+lib/sbcl/sb-posix/sb-posix.asd
+lib/sbcl/sb-posix/strtod.lisp
+lib/sbcl/sb-queue/package.lisp
+lib/sbcl/sb-queue/sb-queue.asd
+lib/sbcl/sb-rotate-byte/arm-vm.lisp
+lib/sbcl/sb-rotate-byte/arm64-vm.lisp
+lib/sbcl/sb-rotate-byte/compiler.lisp
+lib/sbcl/sb-rotate-byte/package.lisp
+lib/sbcl/sb-rotate-byte/ppc-vm.lisp
+lib/sbcl/sb-rotate-byte/rotate-byte-tests.lisp
+lib/sbcl/sb-rotate-byte/rotate-byte.lisp
+lib/sbcl/sb-rotate-byte/sb-rotate-byte.asd
+lib/sbcl/sb-rotate-byte/x86-64-vm.lisp
+lib/sbcl/sb-rotate-byte/x86-vm.lisp
+lib/sbcl/sb-rt/rt.lisp
+lib/sbcl/sb-rt/sb-rt.asd
+lib/sbcl/sb-simple-streams/classes.lisp
+lib/sbcl/sb-simple-streams/direct.lisp
+lib/sbcl/sb-simple-streams/file.lisp
+lib/sbcl/sb-simple-streams/fndb.lisp
+lib/sbcl/sb-simple-streams/impl.lisp
+lib/sbcl/sb-simple-streams/internal.lisp
+lib/sbcl/sb-simple-streams/iodefs.lisp
+lib/sbcl/sb-simple-streams/null.lisp
+lib/sbcl/sb-simple-streams/package.lisp
+lib/sbcl/sb-simple-streams/sb-simple-streams.asd
+lib/sbcl/sb-simple-streams/simple-stream-tests.lisp
+lib/sbcl/sb-simple-streams/socket.lisp
+lib/sbcl/sb-simple-streams/strategy.lisp
+lib/sbcl/sb-simple-streams/string.lisp
+lib/sbcl/sb-simple-streams/terminal.lisp
+lib/sbcl/sb-sprof/sb-sprof.lisp
+lib/sbcl/sb-sprof/test.lisp
+lib/sbcl/sbcl%%CORE_SUFFIX%%
man/man1/sbcl.1.gz