# Template file for 'racket' pkgname=racket version=8.9 revision=1 archs="aarch64* armv6* armv7* i686* x86_64*" build_wrksrc=src build_style=gnu-configure configure_args="--enable-useprefix --enable-curses" make_build_args="CC_FOR_BUILD=cc" hostmakedepends="liberation-fonts-ttf" makedepends="gtk+3-devel liblz4-devel ncurses-devel sqlite-devel zlib-devel" depends="gtk+3 libssl1.1" short_desc="Multi-paradigm programming language in the Lisp-Scheme family" maintainer="Andrea Brancaleoni " license="LGPL-3.0-only, MIT" homepage="http://racket-lang.org/" distfiles="http://mirror.racket-lang.org/installers/${version}/${pkgname}-${version}-src.tgz" checksum=3ae225e84e119f4cd1a47f1b16133568fc7d35c290c505495566d9dccefc5224 nostrip=yes patch_args="-Np2" if [ "$CROSS_BUILD" ]; then hostmakedepends+=" racket sqlite-devel" fi pre_configure() { if [ "$CROSS_BUILD" ]; then configure_args+=" --enable-racket=/usr/bin/racket --enable-scheme=${wrksrc}/src" fi } pre_build() { # Build ChezScheme for the host so we can use it to build Racket # Using "--enable-racket=auto" above selects the wrong compiler toolchain if [ "$CROSS_BUILD" ]; then ( cd ChezScheme # If this builds the wrong arch, Racket's automatic # arch detection for the ChezScheme build has failed. # See /src/ChezScheme/IMPLEMENTATION.md "Build System" # and /src/ChezScheme/s/cmacros.ss "define-machine-types" # for the "machine-type" variable that needs to be passed to rktboot/main.rkt racket ../rktboot/main.rkt # Make sure Chez builds natively env CC="gcc" \ AR="ar" \ ARFLAGS="rc" \ RANLIB="ranlib" \ CFLAGS="-m${XBPS_WORDSIZE} -O2 -D_REENTRANT -pthread" \ -LDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib -rdynamic" \ ./configure --disable-curses --disable-x11 make ) fi } post_install() { vlicense LICENSE-libscheme.txt vlicense LICENSE-MIT.txt } racket-doc_package() { short_desc+=" - documentation" depends="racket>=${version}_${revision}" pkg_install() { vmove usr/share/doc/racket } }