Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jan 2017 17:42:13 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r432557 - head/lang/sbcl
Message-ID:  <201701271742.v0RHgD2k006803@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Fri Jan 27 17:42:13 2017
New Revision: 432557
URL: https://svnweb.freebsd.org/changeset/ports/432557

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

Modified:
  head/lang/sbcl/Makefile
  head/lang/sbcl/distinfo
  head/lang/sbcl/pkg-plist

Modified: head/lang/sbcl/Makefile
==============================================================================
--- head/lang/sbcl/Makefile	Fri Jan 27 16:57:00 2017	(r432556)
+++ head/lang/sbcl/Makefile	Fri Jan 27 17:42:13 2017	(r432557)
@@ -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=${DY
 
 # 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

Modified: head/lang/sbcl/distinfo
==============================================================================
--- head/lang/sbcl/distinfo	Fri Jan 27 16:57:00 2017	(r432556)
+++ head/lang/sbcl/distinfo	Fri Jan 27 17:42:13 2017	(r432557)
@@ -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

Modified: head/lang/sbcl/pkg-plist
==============================================================================
--- head/lang/sbcl/pkg-plist	Fri Jan 27 16:57:00 2017	(r432556)
+++ head/lang/sbcl/pkg-plist	Fri Jan 27 17:42:13 2017	(r432557)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701271742.v0RHgD2k006803>