From 3149e1676517526eca5edea1007c44d77a7ca620 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Sun, 24 Jun 2018 04:58:12 +0200 Subject: [PATCH] chicken, bump version, cleanup (#2699) --- dev-scheme/chicken/chicken-4.13.0.recipe | 122 +++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 dev-scheme/chicken/chicken-4.13.0.recipe diff --git a/dev-scheme/chicken/chicken-4.13.0.recipe b/dev-scheme/chicken/chicken-4.13.0.recipe new file mode 100644 index 000000000..7ce75f979 --- /dev/null +++ b/dev-scheme/chicken/chicken-4.13.0.recipe @@ -0,0 +1,122 @@ +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-2017 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="add549619a31363d6608b39e0cf0e68b9d5e6ff2a719b5691ddeba57229c6c43" + +ARCHITECTURES="!x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86" + +# On x86_gcc2 we don't want to install the commands in bin//, but in bin/. +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +GLOBAL_WRITABLE_FILES=" + non-packaged/lib/chicken/8 directory keep-old + " + +PROVIDES=" + chicken$secondaryArchSuffix = $portVersion + cmd:csi$commandSuffix = $portVersion + cmd:csc$commandSuffix = $portVersion + cmd:chicken$commandSuffix = $portVersion + cmd:chicken_bug$commandSuffix + cmd:chicken_install$commandSuffix + cmd:chicken_profile$commandSuffix = $portVersion + cmd:chicken_status$commandSuffix + cmd:chicken_uninstall$commandSuffix + cmd:feathers$commandSuffix + lib:libchicken$secondaryArchSuffix = 8 compat >= 8 + " +REQUIRES=" + haiku$secondaryArchSuffix + " + +PROVIDES_devel=" + chicken${secondaryArchSuffix}_devel = $portVersion + devel:libchicken$secondaryArchSuffix = 8 compat >= 8 + " +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 $jobArgs PLATFORM=haiku \ + PREFIX=$prefix \ + BINDIR=$commandBinDir \ + LIBDIR=$libDir \ + SHAREDIR=$dataDir \ + MANDIR=$manDir \ + DOCDIR=$docDir \ + INCLUDEDIR=$includeDir \ + EGGDIR=$prefix/non-packaged/lib/chicken/8 \ + HOSTNAME=shredder +} + +INSTALL() +{ + mkdir -p $prefix/non-packaged/lib/chicken/8 + + 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 +}