Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Mar 2015 12:59:47 +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: r381909 - head/lang/sbcl
Message-ID:  <201503221259.t2MCxlI8080945@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Sun Mar 22 12:59:46 2015
New Revision: 381909
URL: https://svnweb.freebsd.org/changeset/ports/381909
QAT: https://qat.redports.org/buildarchive/r381909/

Log:
  lang/sbcl: Fix MASTER_SITES, support DragonFly and more
  
  Now that SBCL is current, there was some cleanup needed.  This included:
    - MASTER_SITES for bootstrap compilers did not resolve
      - Replaced with LOCAL/marino
    - FreeBSD 7 not supported anymore
      - removed references from distinfo and bootstrap list
    - contrib modules not supported anymore, removed references
    - removed -pthread change
    - Added support for x86-64-dragonfly
    - simplified docs handling (remove condition DISTFILE for docs)
    - unmasked build target commands
    - moved cleanup of patching to post-patch target
    - general aesthetic cleanup
  
  No revbump needed.

Modified:
  head/lang/sbcl/Makefile
  head/lang/sbcl/distinfo

Modified: head/lang/sbcl/Makefile
==============================================================================
--- head/lang/sbcl/Makefile	Sun Mar 22 12:00:23 2015	(r381908)
+++ head/lang/sbcl/Makefile	Sun Mar 22 12:59:46 2015	(r381909)
@@ -4,9 +4,9 @@ PORTNAME=	sbcl
 PORTVERSION=	1.2.9
 PORTEPOCH=	1
 CATEGORIES=	lang lisp
-MASTER_SITES=	SF/sbcl/sbcl/${PORTVERSION} \
-		ftp://ftp.SpringDaemons.com/soft/sbcl-binary/:binaries
-DISTFILES=	sbcl-${PORTVERSION}-source${EXTRACT_SUFX}
+MASTER_SITES=	SF/sbcl/sbcl/${PORTVERSION} LOCAL/marino:binaries
+DISTFILES=	sbcl-${PORTVERSION}-source${EXTRACT_SUFX} \
+		sbcl-${PORTVERSION}-documentation-html${EXTRACT_SUFX}
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Common Lisp development system derived from the CMU CL system
@@ -15,50 +15,20 @@ LIB_DEPENDS=	libgmp.so:${PORTSDIR}/math/
 
 USES=		gmake tar:bzip2
 
-OPTIONS_DEFINE=		SBCL #THREADS (don't build, see PR 184425)
-
-SBCL_DESC=	Bootstrap with installed SBCL binary, if available
-THREADS_DESC=	Experimental threading support
-
-CONTRIB_MODULES=	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
-NEWBOOTNAME=	sbcl-${PORTVERSION}-${ARCH}-freebsd${OSREL:R}
 ONLY_FOR_ARCHS=	i386 amd64
-ONLY_FOR_ARCHS_REASON=	is a native code compiler, and has not been ported to\
-			this architecture yet
 SBCL_HOME=	${PREFIX}/lib/sbcl
-
-.include <bsd.port.options.mk>
-
+MANUALS=	asdf.html sbcl.html
+MODULESDOCS=	asdf/README asdf/README.SBCL	\
+		sb-aclrepl/README		\
+		sb-bsd-sockets/FAQ sb-bsd-sockets/NEWS \
+		sb-md5/README			\
+		sb-posix/README			\
+		sb-rotate-byte/README		\
+		sb-simple-streams/README
+TEXTDOCS=	BUGS CREDITS COPYING NEWS PRINCIPLES TLA TODO
 CFLAGS+=	-fno-omit-frame-pointer
 CPPFLAGS+=	-I. -DSBCL_PREFIX=\\\"\$$(SBCL_PREFIX)\\\"
 
-.if ${ARCH} == "i386"
-DYNAMIC_SPACE_SIZE?=	512
-PLIST_SUB+=	I386_ONLY="" AMD64_ONLY="@comment "
-SBCLCONFIG=	 Config.x86-freebsd
-.else
-DYNAMIC_SPACE_SIZE?=	1024
-PLIST_SUB+=	I386_ONLY="@comment " AMD64_ONLY=""
-SBCLCONFIG=	Config.x86-64-freebsd
-.endif
-
 MAKE_SH_ARGS?=	--prefix=${PREFIX} \
 		--dynamic-space-size=${DYNAMIC_SPACE_SIZE} \
 		--with-sb-core-compression \
@@ -66,69 +36,75 @@ MAKE_SH_ARGS?=	--prefix=${PREFIX} \
 NM?=		/usr/bin/nm
 NMFLAGS?=	-gp
 
-.if ${PORT_OPTIONS:MDOCS} || make(makesum)
-DISTFILES+=	sbcl-${PORTVERSION}-documentation-html${EXTRACT_SUFX}
-MANUALS=	asdf.html sbcl.html
-MODULESDOCS=	asdf/README asdf/README.SBCL	\
-		sb-aclrepl/README		\
-		sb-bsd-sockets/FAQ sb-bsd-sockets/NEWS \
-		sb-md5/README			\
-		sb-posix/README			\
-		sb-rotate-byte/README		\
-		sb-simple-streams/README
-TEXTDOCS=	BUGS CREDITS COPYING NEWS PRINCIPLES TLA TODO
-.endif
+BOOT_ARCH_OS_LIST=	1.0.31-amd64-freebsd8 1.0.31-i386-freebsd8 \
+			1.2.9-x86_64-dragonfly4
 
-# If the SBCL option is enabled, try to use existing "sbcl" first:
-.if empty(PORT_OPTIONS:MSBCL) || !exists(${LOCALBASE}/bin/sbcl) || make(makesum)
-BOOT_VERSION=	1.0.31
+OPTIONS_DEFINE=		SBCL #THREADS (don't build, see PR 184425)
+SBCL_DESC=		Bootstrap with installed SBCL binary, if available
+THREADS_DESC=		Experimental threading support
 
-. if make(makesum)
-BOOT_ARCH_OS_LIST=	amd64-freebsd8 amd64-freebsd7 i386-freebsd8 \
-			i386-freebsd7
-. else
-.  if ${OSREL:R} > 8	# We'll use 8.x bootstrap for now
-BOOT_ARCH_OS_LIST=	${ARCH}-freebsd8
-.  else
-BOOT_ARCH_OS_LIST=	${ARCH}-freebsd${OSREL:R}
-.  endif
+.include <bsd.port.options.mk>
+
+NEWBOOTNAME=	sbcl-${PORTVERSION}-${ARCH}-${OPSYS:tl}${OSREL:R}
+PATTERN=	*-${ARCH}-${OPSYS:tl}*
+# FreeBSD hack is to support legacy make, add unrelated core fix while here
+. if ${OPSYS} == FreeBSD
+CORE=	sbcl.core
+BOOT_DISTNAME=	sbcl-1.0.31-${ARCH}-freebsd8
+. else # newer core format
+CORE=	sbcl_core
+BOOT_DISTNAME=	sbcl-${BOOT_ARCH_OS_LIST:M${PATTERN}}
 . endif
 
+.if make(makesum)
 . for BOOT_ARCH_OS in ${BOOT_ARCH_OS_LIST}
-BOOT_DISTNAME=	sbcl-${BOOT_VERSION}-${BOOT_ARCH_OS}
-DISTFILES:=	${DISTFILES} ${BOOT_DISTNAME}-binary${EXTRACT_SUFX}:binaries
+DISTFILES:=	${DISTFILES} sbcl-${BOOT_ARCH_OS}-binary.tar.bz2:binaries
 . endfor
+.else
+DISTFILES:=	${DISTFILES} ${BOOT_DISTNAME}-binary.tar.bz2:binaries
+.endif
 
+.if ${ARCH} == "i386"
+DYNAMIC_SPACE_SIZE?=	512
+PLIST_SUB+=	I386_ONLY="" AMD64_ONLY="@comment "
+SBCLCONFIG=	 Config.x86-${OPSYS:tl}
+.else
+DYNAMIC_SPACE_SIZE?=	1024
+PLIST_SUB+=	I386_ONLY="@comment " AMD64_ONLY=""
+SBCLCONFIG=	Config.x86-64-${OPSYS:tl}
+.endif
+
+# If the SBCL option is enabled, try to use existing "sbcl" first:
+.if empty(PORT_OPTIONS:MSBCL) || !exists(${LOCALBASE}/bin/sbcl)
 XC_HOST?=	${WRKDIR}/${BOOT_DISTNAME}/src/runtime/sbcl \
-		--core ${WRKDIR}/${BOOT_DISTNAME}/output/sbcl.core \
+		--core ${WRKDIR}/${BOOT_DISTNAME}/output/${CORE} \
 		--dynamic-space-size ${DYNAMIC_SPACE_SIZE} \
 		--disable-debugger \
 		--userinit /dev/null \
 		--sysinit /dev/null
 MAKE_SH_ARGS+=	--xc-host='${XC_HOST}'
-
 .endif # SBCL
 
 .if ${PORT_OPTIONS:MTHREADS}
 MAKE_SH_ARGS+=	--with-sb-thread
-.if defined(WITH_FUTEX)
+. if defined(WITH_FUTEX)
 MAKE_SH_ARGS+=	--with-sb-futex
-.else
+. else
 MAKE_SH_ARGS+=	--without-sb-futex
-.endif
-.if defined(WITH_SAFEPOINT) || defined(WITH_STRICT_SAFEPOINT)
+. endif
+. if defined(WITH_SAFEPOINT) || defined(WITH_STRICT_SAFEPOINT)
 MAKE_SH_ARGS+=	--with-sb-safepoint --with-sb-thruption --with-sb-wtimer
-.if defined(WITH_STRICT_SAFEPOINT)
+.  if defined(WITH_STRICT_SAFEPOINT)
 MAKE_SH_ARGS+=	--with-sb-safepoint-strictly
-.else
+.  else
 MAKE_SH_ARGS+=	--without-sb-safepoint-strictly
-.endif
-.else
+.  endif
+. else
 MAKE_SH_ARGS+=	--without-sb-safepoint \
 		--without-sb-safepoint-strictly \
 		--without-sb-thruption \
 		--without-sb-wtimer
-.endif
+. endif
 .else
 MAKE_SH_ARGS+=	--without-sb-thread
 .endif
@@ -156,12 +132,11 @@ post-patch:
 		${WRKSRC}/src/runtime/${SBCLCONFIG}
 	@${ECHO_CMD} "NM=${NM} ${NMFLAGS}" >> \
 		${WRKSRC}/src/runtime/${SBCLCONFIG}
-	@${REINPLACE_CMD} -E -e 's,-lthr,-pthread,g' \
-	    -e 's,-lpthread,-pthread,g' ${WRKSRC}/src/runtime/${SBCLCONFIG}
+	@${REINPLACE_CMD} -E -e 's,-lthr,-lpthread,g' \
+		${WRKSRC}/src/runtime/${SBCLCONFIG}
 	@${GREP} -Fe '.core' -l -r ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \
-	-e 's|\.core|_core|g'
-	@${REINPLACE_CMD} \
-		-e 's|/usr/local|${PREFIX}|g' \
+		-e 's|\.core|_core|g'
+	@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' \
 		${WRKSRC}/doc/sbcl.1
 	@${REINPLACE_CMD} -E -e 's!-sbcl-shared!& ${CFLAGS}!' \
 		-e 's!\$$(TEST_FILESTEM|x|1)_core!$${\1}_core!g' \
@@ -185,26 +160,21 @@ post-patch:
 		${WRKSRC}/release.sh \
 		${WRKSRC}/src/code/run-program.lisp \
 		${WRKSRC}/tests/run-compiler.sh
+	@${FIND} ${WRKSRC} \( -name '*.orig' -o -name '*.bak' \) -delete
 
 do-build:
-	@${FIND} ${WRKSRC} \( -name '*.orig' -o -name '*.bak' \) -delete
-	@(cd ${WRKSRC} && ${SETENV} CC="${CC}" ${SH} make.sh ${MAKE_SH_ARGS})
-	@${RM} -rf ${WRKSRC}/contrib/sb-cover/test-output
-	@${REINPLACE_CMD} -E -e \
+	(cd ${WRKSRC} && ${SETENV} CC="${CC}" ${SH} make.sh ${MAKE_SH_ARGS})
+	${RM} -rf ${WRKSRC}/contrib/sb-cover/test-output
+	${REINPLACE_CMD} -E -e \
 		's|\$$Date\$$|'"`${SETENV} LANG=C /bin/date '+%B %d, %Y'`|g" \
 		${WRKSRC}/doc/sbcl.1
 
 do-install:
-	${MKDIR} ${STAGEDIR}${SBCL_HOME}/
+	${MKDIR} ${STAGEDIR}${SBCL_HOME}/contrib
 	${INSTALL_PROGRAM} ${WRKSRC}/src/runtime/sbcl ${STAGEDIR}${PREFIX}/bin/
 	${INSTALL_DATA} ${WRKSRC}/output/sbcl_core ${STAGEDIR}${SBCL_HOME}/
-	${MKDIR} ${STAGEDIR}${SBCL_HOME}/contrib
 	${INSTALL_DATA} ${WRKSRC}/obj/sbcl-home/contrib/*.fasl ${STAGEDIR}${SBCL_HOME}/contrib/
 	${INSTALL_DATA} ${WRKSRC}/obj/sbcl-home/contrib/*.asd ${STAGEDIR}${SBCL_HOME}/contrib/
-#.for MOD in ${CONTRIB_MODULES}
-#	(if test -f ${WRKSRC}/contrib/${MOD}/${MOD}.asd; then ${INSTALL_DATA} \
-#	    ${WRKSRC}/contrib/${MOD}/*.lisp ${STAGEDIR}${SBCL_HOME}/contrib/; fi)
-#.endfor
 .if ${PORT_OPTIONS:MDOCS}
 	${MKDIR} ${STAGEDIR}${DOCSDIR}/
 	${INSTALL_DATA} ${MANUALS:S,^, ${WRKSRC}/doc/manual/,g} ${STAGEDIR}${DOCSDIR}/

Modified: head/lang/sbcl/distinfo
==============================================================================
--- head/lang/sbcl/distinfo	Sun Mar 22 12:00:23 2015	(r381908)
+++ head/lang/sbcl/distinfo	Sun Mar 22 12:59:46 2015	(r381909)
@@ -4,9 +4,7 @@ SHA256 (sbcl-1.2.9-documentation-html.ta
 SIZE (sbcl-1.2.9-documentation-html.tar.bz2) = 214153
 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-amd64-freebsd7-binary.tar.bz2) = fcbd5ed1948312a7b6eff7e6daf736e41be945a2c57bcee4b64f172ddde518b8
-SIZE (sbcl-1.0.31-amd64-freebsd7-binary.tar.bz2) = 8398964
 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.0.31-i386-freebsd7-binary.tar.bz2) = 5202f6d7a8a1f3b1f19cbd4c65d874b85e8015fc5efec71bffef407c25edbe77
-SIZE (sbcl-1.0.31-i386-freebsd7-binary.tar.bz2) = 8474568
+SHA256 (sbcl-1.2.9-x86_64-dragonfly4-binary.tar.bz2) = 2e32a22ef3a528d7247c0e3a72a3ac672b8b6848ac2d35fbad52a3d1475130dc
+SIZE (sbcl-1.2.9-x86_64-dragonfly4-binary.tar.bz2) = 10224580



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