void-packages/srcpkgs/sbcl/template

81 lines
2.3 KiB
Bash

# Template file for 'sbcl'
pkgname=sbcl
version=2.4.8
revision=1
# make sure the sbcl option in maxima is enabled for the same archs
archs="i686 x86_64* armv7l aarch64 ppc64le*"
create_wrksrc="required"
build_wrksrc=sbcl
hostmakedepends="iana-etc texinfo"
makedepends="libzstd-devel zlib-devel"
checkdepends="strace which"
conf_files="/etc/sbclrc"
short_desc="Steel Bank Common Lisp"
maintainer="Leah Neukirchen <leah@vuxu.org>"
license="custom:BSD+public_domain"
homepage="http://www.sbcl.org/"
changelog="http://www.sbcl.org/news.html"
distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-source.tar.bz2"
checksum=fc6ecdcc538e80a14a998d530ccc384a41790f4f4fc6cd7ffe8cb126a677694c
nocross=yes
nopie=yes
_bootstrap_lisp="bash ../sbcl-*-linux/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger"
case "$XBPS_TARGET_MACHINE" in
x86_64)
distfiles+=" ${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-x86-64-linux-binary.tar.bz2"
checksum+=" 5eb767107ab2af4f53a8c1845007b3c6c7f0d1a4b839174c52d330e61a12c398"
;;
arm*)
distfiles+=" ${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-1.2.14-armhf-linux-binary.tar.bz2"
checksum+=" a5fbf1d596a909a7719bc4a958f00e8537bf399fa051f83736baee950b21e56a"
;;
aarch64)
distfiles+=" ${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-1.3.9-arm64-linux-binary.tar.bz2"
checksum+=" 14c8fc0f3a03416b5d23763156e2bb28b690fb665af1e6f6112201fd0ddcd512"
;;
i686*|ppc*|*-musl)
# ecl bootstrap is broken since 2.2.0:
# https://build.voidlinux.org/builders/x86_64-musl_builder/builds/39694/steps/shell_3/logs/stdio
makedepends+=" clisp"
_bootstrap_lisp="clisp"
;;
esac
post_extract() {
mv sbcl-${version} sbcl
}
do_build() {
printf '"%s.void.%s"\n' "$version" "$revision" >version.lisp-expr
export CFLAGS+=" -D_GNU_SOURCE -fno-omit-frame-pointer -DSBCL_HOME=/usr/lib/sbcl"
export LINKFLAGS="$LDFLAGS"
bash make.sh \
"$_bootstrap_lisp" \
--without-sb-test --with-sb-core-compression --prefix=/usr
make -C ./doc/manual info
}
do_check() {
(
cd ./tests
LINKFLAGS="-fno-pie -no-pie" sh run-tests.sh
)
}
do_install() {
SBCL_HOME="" INSTALL_ROOT="$DESTDIR/usr" sh install.sh
vlicense COPYING LICENSE
vconf ${FILESDIR}/sbclrc
}
sbcl-source_package() {
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" -- source files"
pkg_install() {
./clean.sh
vmkdir usr/lib/sbcl
vcopy src usr/lib/sbcl
}
}