# Template file for 'chez-scheme' pkgname=chez-scheme version=10.0.0 revision=1 build_style=gnu-makefile make_build_target="kernel" hostmakedepends="libX11-devel liblz4-devel ncurses-devel zlib-devel" makedepends="${hostmakedepends}" short_desc="Compiler and run-time system for R6RS Scheme" maintainer="Leah Neukirchen " license="Apache-2.0" homepage="https://scheme.com/" distfiles="https://github.com/cisco/ChezScheme/releases/download/v${version}/csv${version}.tar.gz" checksum=d37199012b5ed1985c4069d6a87ff18e5e1f5a2df27e402991faf45dc4f2232c alternatives=" scheme:scheme:/usr/bin/chez-scheme scheme:scheme.1:/usr/share/man/man1/chez-scheme.1 " case "$XBPS_TARGET_MACHINE" in i686*) _target=ti3le;; x86_64*) _target=ta6le;; arm*) _target=tarm32le;; aarch64*) _target=tarm64le;; riscv64*) _target=trv64le;; *) _target=pb;; # portable bytecode esac pre_configure() { # Since version 10, Chez only ships portable boot files, so # first bootstrap with --pb, then build the boot files for the # target. The kernel is (cross-)compiled in do_build. [ $_target = pb ] && return ./configure --pb CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" LD="$BUILD_LD" \ AR=ar ZLIB=-lz LZ4=-llz4 make ${makejobs} bootquick XM=${_target} } do_configure() { case $_target in pb) target=--pb;; *) target=--machine=$_target;; esac ./configure $target --installprefix=/usr --installman=/usr/share/man \ --nogzip-man-pages --temproot=$DESTDIR \ --installschemename=chez-scheme ZLIB=-lz LZ4=-llz4 } post_install() { # replace duplicate file by symlink ln -sf scheme.boot ${DESTDIR}/usr/lib/csv*/*/scheme-script.boot }