mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-03 05:28:53 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
123 lines
3.0 KiB
Bash
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
|
|
}
|