diff options
author | marino <marino@FreeBSD.org> | 2015-03-22 20:59:46 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2015-03-22 20:59:46 +0800 |
commit | a51cc3ffa6592808dd405d8cad5cd9e3878158c7 (patch) | |
tree | 069005717b864a9c0ba56ac7abf78dd84aadf491 /lang/sbcl | |
parent | 61fd8ce117004f7cd67c51fd98bf469fae79fadb (diff) | |
download | freebsd-ports-gnome-a51cc3ffa6592808dd405d8cad5cd9e3878158c7.tar.gz freebsd-ports-gnome-a51cc3ffa6592808dd405d8cad5cd9e3878158c7.tar.zst freebsd-ports-gnome-a51cc3ffa6592808dd405d8cad5cd9e3878158c7.zip |
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.
Diffstat (limited to 'lang/sbcl')
-rw-r--r-- | lang/sbcl/Makefile | 158 | ||||
-rw-r--r-- | lang/sbcl/distinfo | 6 |
2 files changed, 66 insertions, 98 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile index 2a8d406e8593..4e790fdc2163 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -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/gmp 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}/ diff --git a/lang/sbcl/distinfo b/lang/sbcl/distinfo index f1f55ed77b0d..cdf2a853fcaf 100644 --- a/lang/sbcl/distinfo +++ b/lang/sbcl/distinfo @@ -4,9 +4,7 @@ SHA256 (sbcl-1.2.9-documentation-html.tar.bz2) = d7a75b2e53f60117283fcc344c031b5 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 |