0
0
Fork 0
haikuports/dev-scheme/chicken/chicken-5.2.0.recipe

123 lines
3.0 KiB
Bash

SUMMARY="A Scheme interpreter and native Scheme to C compiler"
DESCRIPTION="CHICKEN is a compiler for the Scheme programming language. \
CHICKEN produces portable and efficient C, supports almost all of the R5RS \
Scheme language standard, and includes many enhancements and extensions. \
CHICKEN runs on Linux, MacOS X, Windows, and many Unix flavours."
HOMEPAGE="http://www.call-cc.org/"
COPYRIGHT="2008-2020 The Chicken Team
2000-2007 Felix L. Winkelmann"
LICENSE="BSD (2-clause)"
REVISION="1"
SOURCE_URI="http://code.call-cc.org/releases/$portVersion/chicken-$portVersion.tar.gz"
CHECKSUM_SHA256="819149c8ce7303a9b381d3fdc1d5765c5f9ac4dee6f627d1652f47966a8780fa"
ARCHITECTURES="all ?x86_gcc2 ?x86"
SECONDARY_ARCHITECTURES="x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
GLOBAL_WRITABLE_FILES="
non-packaged/lib/chicken/11 directory keep-old
"
PROVIDES="
chicken$secondaryArchSuffix = $portVersion
cmd:csi$commandSuffix = $portVersion
cmd:csc$commandSuffix = $portVersion
cmd:chicken$commandSuffix = $portVersion
cmd:chicken_install$commandSuffix = $portVersion
cmd:chicken_profile$commandSuffix = $portVersion
cmd:chicken_status$commandSuffix = $portVersion
cmd:chicken_uninstall$commandSuffix = $portVersion
cmd:chicken_do$commandSuffix = $portVersion
cmd:feathers$commandSuffix = $portVersion
lib:libchicken$secondaryArchSuffix = 11 compat >= 11
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
chicken${secondaryArchSuffix}_devel = $portVersion
devel:libchicken$secondaryArchSuffix = 11 compat >= 11
"
REQUIRES_devel="
chicken$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
PATCH()
{
if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
echo "Removing -fwrapv flag for gcc2 build"
sed -i 's/-fwrapv//' Makefile.haiku
fi
echo "Removing git check"
sed -i 's/sh $(SRCDIR)identify.sh/echo/' rules.make
}
TEST_REQUIRES="
cmd:diff
"
BUILD()
{
# odd timestamp issue
touch build-version.c
make PLATFORM=haiku \
PREFIX=$prefix \
BINDIR=$commandBinDir \
LIBDIR=$libDir \
SHAREDIR=$dataDir \
MANDIR=$manDir \
DOCDIR=$docDir \
INCLUDEDIR=$includeDir \
EGGDIR=$prefix/non-packaged/lib/chicken/11 \
HOSTNAME=shredder
}
INSTALL()
{
mkdir -p $prefix/non-packaged/lib/chicken/11
make install PLATFORM=haiku \
PREFIX=$prefix \
BINDIR=$commandBinDir \
LIBDIR=$libDir \
SHAREDIR=$dataDir \
MANDIR=$manDir \
DOCDIR=$docDir \
INCLUDEDIR=$includeDir \
HOSTNAME=shredder
prepareInstalledDevelLibs libchicken
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
if ! type -p csi > /dev/null;then
echo "ERROR: Chicken must be installed before running the test suite"
exit 1
fi
make PLATFORM=haiku PREFIX=$prefix check
}