mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-04 10:04:36 +02:00
86 lines
3 KiB
Text
86 lines
3 KiB
Text
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
|
|
# Contributor: Eric Timmons <etimmons@alum.mit.edu>
|
|
# Contributor: Will Sinatra <wpsinatra@gmail.com>
|
|
# Maintainer: Will Sinatra <wpsinatra@gmail.com>
|
|
maintainer="Will Sinatra <wpsinatra@gmail.com>"
|
|
pkgname=sbcl
|
|
pkgver=2.5.5
|
|
pkgrel=0
|
|
pkgdesc="Steel Bank Common Lisp"
|
|
url="http://www.sbcl.org/"
|
|
# s390x/loongarch64: not currently supported
|
|
# riscv64/ppc64le: doesn't build
|
|
arch="all !ppc64le !s390x !riscv64 !loongarch64"
|
|
license="custom"
|
|
options="!check"
|
|
checkdepends="ed"
|
|
makedepends="
|
|
emacs-nox
|
|
linux-headers
|
|
mpfr-dev
|
|
sbcl-bootstrap
|
|
zstd-dev
|
|
"
|
|
subpackages="$pkgname-doc $pkgname-source:_source"
|
|
source="$pkgname-$pkgver.tar.bz2::https://prdownloads.sourceforge.net/sbcl/sbcl-$pkgver-source.tar.bz2
|
|
ppc-musl.patch
|
|
musl-time64.patch
|
|
"
|
|
|
|
# This follows how other -stage0 aports work, see APKBUILD of
|
|
# sbcl-stage0 for a brief explanation of the bootstrap process.
|
|
provides="sbcl-bootstrap=$pkgver"
|
|
provider_priority=100 # highest
|
|
|
|
build() {
|
|
#All systems can build with these features enabled
|
|
all_arch_conf='--with-sb-core-compression --with-sb-linkable-runtime'
|
|
|
|
#Please add additional package support by arch
|
|
#armv7 is incapable of supporting sb:thread
|
|
case "$CARCH" in
|
|
armv7) conf="$all_arch_conf" ;;
|
|
x86) conf="$all_arch_conf --fancy --with-sb-thread" ;;
|
|
x86_64) conf="$all_arch_conf --fancy --with-sb-thread" ;;
|
|
aarch64) conf="$all_arch_conf --fancy --with-sb-thread" ;;
|
|
riscv64) conf="--with-sb-core-compression --fancy --with-sb-thread" ;;
|
|
loongarch64) conf="$all_arch_conf" ;;
|
|
ppc64le) conf="$all_arch_conf" ;;
|
|
esac
|
|
|
|
GNUMAKE=make ./make.sh sbcl --prefix=/usr $conf
|
|
|
|
# Setting the sbcl source location enables more granular deep introspection tooling, like sly
|
|
HOME="$builddir" src/runtime/sbcl --core output/sbcl.core --no-sysinit --no-userinit \
|
|
--eval '(sb-ext:set-sbcl-source-location "/usr/share/sbcl/source/")' \
|
|
--eval '(sb-ext:save-lisp-and-die "output/sbcl.core")'
|
|
}
|
|
|
|
package() {
|
|
INSTALL_ROOT="$pkgdir/usr" \
|
|
LIB_DIR="/usr/lib" \
|
|
DOC_DIR="$pkgdir/usr/share/doc/$pkgname" \
|
|
sh install.sh
|
|
|
|
install -Dm644 COPYING \
|
|
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
|
|
|
|
rmdir "$pkgdir"/usr/share/doc/$pkgname/html 2>/dev/null || true
|
|
rmdir "$pkgdir"/usr/share/info 2>/dev/null || true
|
|
}
|
|
|
|
_source() {
|
|
pkgdesc="sbcl source code"
|
|
|
|
mkdir -p "$subpkgdir/usr/share/sbcl/source"
|
|
|
|
# Source code files are needed for deep introspection tools, like Sly, to operate.
|
|
cp -r "$builddir/src" "$subpkgdir/usr/share/sbcl/source/"
|
|
cp -r "$builddir/contrib" "$subpkgdir/usr/share/sbcl/source/"
|
|
}
|
|
|
|
sha512sums="
|
|
8736feb6fd23cfdb1c392756b49aada56ab4f1c8a0a1bbec19effebc16295d4480adac2147fed81704a6e5903330584edbb2f73e8851f679d26ad605b7487293 sbcl-2.5.5.tar.bz2
|
|
549cc9936ddbd4c19067a455dfad151bd0ce59200b2dce761de67e259e621e4174beefaa5a322886bcd731d2470d229a3e1b75a55a194c54e2feb7c0bcdffb37 ppc-musl.patch
|
|
c5b23ac36478943370156e8a499393c6923a069d8a38e4bf3b651ea91521353398cd813ef18dbcf9e76e97a24bfd85fb1d9cfb8da90951345a6f7ab0d28d65fc musl-time64.patch
|
|
"
|