void-packages/srcpkgs/ccl/template

73 lines
1.7 KiB
Bash

# Template file for 'ccl'
pkgname=ccl
version=1.12
revision=1
archs="i686* x86_64*"
create_wrksrc=yes
hostmakedepends="m4"
short_desc="Clozure Common Lisp interpreter and compiler"
maintainer="rc-05 <rc23@email.it>"
license="Apache-2.0"
homepage="https://ccl.clozure.com/"
distfiles="
https://github.com/Clozure/ccl/archive/v${version}.tar.gz
https://github.com/Clozure/ccl/releases/download/v${version}/linuxx86.tar.gz
"
checksum="
774a06b4fb6dc4b51dfb26da8e1cc809c605e7706c12180805d1be6f2885bd52
7fbdb04fb1b19f0307c517aa5ee329cb4a21ecc0a43afd1b77531e4594638796
"
nopie=1
nostrip=1
disable_parallel_build=1
python_version=3
case $XBPS_MACHINE in
x86_64*) _arch=64 ;;
i686-musl) broken="SIGSEGV accessing context->regs: address not mapped to object" ;;
*) _arch='' ;;
esac
post_extract() {
mv ccl-${version}/* .
vsed -i -e"/^COPT =/s/$/ -fcommon/" lisp-kernel/*/Makefile
}
do_build() {
# recompile kernel, mandatory for musl
cd "lisp-kernel/linuxx86${_arch:-32}"
make
cd ../..
./lx86cl$_arch -n -Q -b -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'
}
do_install() {
find . -type d -name .svn -exec rm -rf '{}' +
find . -name '*.o' -delete
find . -name '*.*fsl' -delete
vmkdir usr/lib/$pkgname
vcopy lx86cl$_arch usr/lib/$pkgname
vcopy lx86cl$_arch.image usr/lib/$pkgname
cat > exe.sh <<EOF
#!/bin/sh
exec /usr/lib/$pkgname/"lx86cl$_arch" "\$@"
EOF
vbin exe.sh ccl
# vcopy compiler usr/lib/$pkgname
# vcopy level-0 usr/lib/$pkgname
# vcopy level-1 usr/lib/$pkgname
vcopy lib usr/lib/$pkgname
vcopy library usr/lib/$pkgname
vcopy scripts usr/lib/$pkgname
vcopy tools usr/lib/$pkgname
vcopy xdump usr/lib/$pkgname
vmkdir usr/share/examples/$pkgname
vcopy "examples/*" usr/share/examples/$pkgname
}