pkgname=ccl
version=1.11
revision=2
wrksrc="ccl"
only_for_archs="i686 i686-musl x86_64 x86_64-musl"
build_style=gnu-makefile
hostmakedepends="m4"
short_desc="Clozure Common Lisp interpreter and compiler"
maintainer="Ankur Kothari <ankz.kothari@gmail.com>"
license="Apache-2.0"
homepage="http://ccl.clozure.com/"
distfiles="ftp://ftp.clozure.com/pub/release/${version}/${pkgname}-${version}-linuxx86.tar.gz"
checksum="08e885e8c2bb6e4abd42b8e8e2b60f257c6929eb34b8ec87ca1ecf848fac6d70"
nopie=1
nostrip=1
disable_parallel_build=1

case "${XBPS_TARGET_MACHINE}" in
	i686*) broken="https://build.voidlinux.eu/builders/i686_builder/builds/5997/steps/shell_3/logs/stdio";;
	*-musl) broken="https://build.voidlinux.eu/builders/i686_builder/builds/5997/steps/shell_3/logs/stdio";;
esac

case $XBPS_MACHINE in
	x86_64*) _arch=64 ;;
	*) _arch='' ;;
esac

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
	vcopy contrib usr/lib/$pkgname

	vmkdir usr/share/examples/$pkgname
	vcopy "examples/*" usr/share/examples/$pkgname

}

