b4a2315347
Tested by building (and hence building clisp) on NetBSD 9 amd64, and running sbcl and evaluating (+ 1 2), following report by Chavdar Ivanov. Upstream NEWS (less bugfixes and minor improvements) changes in sbcl-2.2.5 relative to sbcl-2.2.4: * minor incompatible change: SB-EXT:*DERIVE-FUNCTION-TYPES* being NIL now means that function calls will strictly only use type information from proclaimed ftypes. The previous behavior (still the default) of using derived type information from the same file is specified with :SAME-FILE. (lp#1393302) * minor incompatible change: RENAME-FILE now overwrites the target file on Windows too, making its behaviour consistent with other platforms. * minor incompatible change: inlining of local function is inhibited if policy DEBUG = 3. * platform support: ** single-stepping is now supported on 64-bit PowerPC platforms. (thanks to Thomas Fitzsimmons) ** the :SB-LINKABLE-RUNTIME feature is now supported on 32-bit and 64-bit PowerPC platforms. (thanks to Thomas Fitzsimmons) * enhancement: debug source locations now work correctly for top level forms with policy DEBUG = 1, as well as for block compiled files. * enhancement: TRACE now supports tracing macro functions, compiler-macro functions, individual methods and local functions. See the user manual for more details. (lp#375314) changes in sbcl-2.2.4 relative to sbcl-2.2.3: * enhancement: better constraint propagation in the compiler. Specifically, the compiler can now derive the type of X in control flow join situations such as (LAMBDA (X) (ECASE (1 ...) (2 ...)) X) or (LAMBDA (X) (ETYPECASE (INTEGER ...) (SYMBOL ...)) X) instead of forgetting all information about X after the E(TYPE)CASE. changes in sbcl-2.2.3 relative to sbcl-2.2.2: * minor incompatible change: SB-THREAD:MUTEX-OWNER may return :THREAD-DEAD if the apparent owner either exited nearly instantly after releasing the mutex (and is not now the owner), or died and never released it. * minor incompatible change: building the system with the simple semi-space copying collector is no longer supported. * minor incompatible change: support for PPC/Darwin has been removed. * platform support: ** threads are now enabled by default on RISC-V. ** The generational garbage collector is now supported on MIPS. changes in sbcl-2.2.2 relative to sbcl-2.2.1: * platform support: ** all architectures now share the coverage mark instrumentation implementation, meaning that performance now equals what had been implemented only on x86 architectures. * enhancement: improved handling of source locations for some classes of compile time and runtime errors. * enhancement: better source locations for structure accessors. changes in sbcl-2.2.1 relative to sbcl-2.2.0: * incompatible change: DEFINE-ALIEN-CALLBACK, which has never been exported from a public package, has been deleted. It is superseded by SB-ALIEN:DEFINE-ALIEN-CALLABLE. * minor incompatible change: compiler warnings are emitted on more provably-erroneous code involving sequence functions on specialized arrays. * platform support: ** support getting thread IDs on FreeBSD. (thanks to Felix Lange) * enhancement: provide a restart for method lambda list mismatches that fmakunbounds the generic function. * enhancement: provide a USE-VALUE restart around type errors signalled from (SETF SLOT-VALUE). * enhancement: when UPDATE-INSTANCE-FOR-DIFFERENT-CLASS (or -REDEFINED-) undergoes a non-local exit, restore the instance to its original state. (thanks to Michał phoe Herda) * enhancement: the :SYNCHRONIZED keyword argument to MAKE-HASH-TABLE is no longer experimental. changes in sbcl-2.2.0 relative to sbcl-2.1.11: * platform support: ** support for FreeBSD on 64-bit arm platforms has been added. ** the :SB-LINKABLE-RUNTIME build-time feature is now supported on 32-bit and 64-bit arm platforms, and on the FreeBSD operating system. * enhancement: catch type mismatches for REPLACE, SUBSTITUTE, MAKE-ARRAY with :INITIAL-CONTENTS.
114 lines
3.7 KiB
Makefile
114 lines
3.7 KiB
Makefile
# $NetBSD: Makefile,v 1.95 2022/06/12 14:48:12 gdt Exp $
|
|
|
|
DISTNAME= ${PKGNAME_NOREV}-source
|
|
PKGNAME= sbcl-2.2.5
|
|
CATEGORIES= lang
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sbcl/}
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://www.sbcl.org/
|
|
COMMENT= SBCL, a Common Lisp implementation
|
|
LICENSE= mit
|
|
|
|
# SBCL creates a new release with minor updates and fixes every
|
|
# month. The maintainer of this package does not have the time
|
|
# to build, test, update, etc. this package that often. If you
|
|
# would like a newer (or older) version, this works very often:
|
|
# 1) change the PKGNAME variable above as desired
|
|
# 2) make fetch && make makesum && make package
|
|
|
|
USE_TOOLS+= gmake
|
|
|
|
WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
#
|
|
# Bootstrap section.
|
|
#
|
|
# SBCL needs an existing Common Lisp system to build it...
|
|
# Currently allowed systems are CLISP, CMUCL, OpenMCL, ABCL and SBCL itself.
|
|
#
|
|
# If SBCL is installed in an unusual place when trying to build this
|
|
# package, you may need to set the full path in SBCL_BOOT_SYSTEM and
|
|
# build the package with "SBCL_HOME=/path/to/SBCL/core/image/ make"
|
|
|
|
#SBCL_BOOT_SYSTEM= clisp # CLisp
|
|
#SBCL_BOOT_SYSTEM= "lisp -batch" # CMUCL
|
|
#SBCL_BOOT_SYSTEM= "openmcl --batch" # OpenMCL
|
|
#SBCL_BOOT_SYSTEM= sbcl # SBCL
|
|
#SBCL_BOOT_SYSTEM= abcl # ABCL
|
|
|
|
.if !defined(SBCL_BOOT_SYSTEM)
|
|
# Use "clisp -ansi -on-error abort" to make the build more reproducible,
|
|
# per Christophe Rhodes:
|
|
SBCL_BOOT_SYSTEM= clisp -norc -ansi -on-error abort
|
|
BUILD_DEPENDS+= clisp-[0-9]*:../../lang/clisp
|
|
UNLIMIT_RESOURCES= datasize
|
|
.elif ${SBCL_BOOT_SYSTEM} == abcl
|
|
BUILD_DEPENDS+= abcl-[0-9]*:../../lang/abcl
|
|
.endif
|
|
|
|
SUBST_CLASSES+= fix-paths
|
|
SUBST_STAGE.fix-paths= pre-configure
|
|
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
|
|
SUBST_FILES.fix-paths= doc/sbcl.1
|
|
SUBST_VARS.fix-paths= PREFIX
|
|
SUBST_SED.fix-paths+= -e 's,/var/log,${VARBASE}/log,g'
|
|
|
|
SUBST_CLASSES+= fix-bins
|
|
SUBST_STAGE.fix-bins= pre-configure
|
|
SUBST_FILES.fix-bins= src/runtime/Config.x86-64-sunos
|
|
SUBST_FILES.fix-bins+= src/runtime/Config.x86-sunos
|
|
SUBST_FILES.fix-bins+= contrib/asdf-module.mk
|
|
SUBST_SED.fix-bins= -e 's,nm ,/usr/bin/nm ,'
|
|
SUBST_SED.fix-bins+= -e 's,ggrep,grep,'
|
|
SUBST_SED.fix-bins+= -e 's,=199506L,=200112L,'
|
|
SUBST_SED.fix-bins+= -e 's,=500,=600,'
|
|
|
|
BUILD_DEFS+= VARBASE
|
|
|
|
.if defined(TOOLS_PLATFORM.paxctl)
|
|
SBCL_PAXCTL= ${PAXCTL} +m
|
|
MAKE_ENV+= SBCL_PAXCTL=${SBCL_PAXCTL:Q}
|
|
.endif
|
|
|
|
INSTALL_ENV+= BUILD_ROOT=${DESTDIR:Q}
|
|
INSTALL_ENV+= INSTALL_ROOT=${PREFIX:Q}
|
|
INSTALL_ENV+= MAN_DIR=${PREFIX:Q}/${PKGMANDIR}
|
|
|
|
NOT_PAX_MPROTECT_SAFE+= bin/sbcl
|
|
|
|
.if !empty(MACHINE_PLATFORM:MSunOS-*-i386)
|
|
SBCL_ARCH_ARGS= "--arch=x86"
|
|
.elif !empty(MACHINE_PLATFORM:MSunOS-*-x86_64)
|
|
SBCL_ARCH_ARGS= "--arch=x86-64"
|
|
.endif
|
|
|
|
do-build:
|
|
${RUN} ${_ULIMIT_CMD} \
|
|
cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${SH} make.sh --prefix=${PREFIX} ${SBCL_ARCH_ARGS} --xc-host=${SBCL_BOOT_SYSTEM:Q}
|
|
|
|
post-build:
|
|
cd ${WRKSRC} && ${RM} -f contrib/sb-cover/test-output/*
|
|
|
|
do-install:
|
|
${RUN} ${_ULIMIT_CMD} \
|
|
cd ${WRKSRC} && ${PKGSRC_SETENV} ${INSTALL_ENV} ${SH} install.sh
|
|
${RM} -f ${DESTDIR}${PREFIX}/lib/sbcl/sb-posix/test-output/write-test.txt
|
|
${RM} -f ${DESTDIR}${PREFIX}/lib/sbcl/sb-posix/test-output/read-test.txt
|
|
${RM} -f ${DESTDIR}${PREFIX}/lib/sbcl/asdf-install/installer.lisp.orig
|
|
|
|
do-test:
|
|
# for f in compiler.pure.lisp interface.pure.lisp compiler.impure.lisp debug.impure.lisp interface.impure.lisp; do mv ${WRKSRC}/tests/$$f ${WRKSRC}/tests/$$f.off || :; done
|
|
${RUN} ${_ULIMIT_CMD} \
|
|
cd ${WRKSRC}/tests && ${PKGSRC_SETENV} ${TEST_ENV} ${SH} ./run-tests.sh
|
|
|
|
.if ${MACHINE_ARCH} == "x86_64"
|
|
PLIST_SUBST+= SUFX64=-64
|
|
.else
|
|
PLIST_SUBST+= SUFX64=
|
|
.endif
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|