mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
WIP chicken recipe
--HG-- extra : rebase_source : 6175d6321952f89b8a4a365dcf9f5c465095e8fb
This commit is contained in:
104
dev-scheme/chicken/chicken-4.8.0.5.recipe
Normal file
104
dev-scheme/chicken/chicken-4.8.0.5.recipe
Normal file
@@ -0,0 +1,104 @@
|
||||
SUMMARY="Chicken is 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/"
|
||||
SRC_URI="http://code.call-cc.org/releases/4.8.0/chicken-4.8.0.5.tar.gz"
|
||||
CHECKSUM_MD5="a63d8a0b6bc58a97ec5cc4c4a19b308a"
|
||||
REVISION="1"
|
||||
LICENSE="BSD (2-clause)"
|
||||
COPYRIGHT="2008-2013 The Chicken Team
|
||||
2000-2007 Felix L. Winkelmann"
|
||||
|
||||
SOURCE_DIR="$portVersionedName"
|
||||
ARCHITECTURES="?x86 ?x86_gcc2"
|
||||
|
||||
PROVIDES="
|
||||
chicken = $portVersion compat >= 4.8
|
||||
cmd:csi = $portVersion compat >= 4.8
|
||||
cmd:csc = $portVersion compat >= 4.8
|
||||
cmd:chicken = $portVersion compat >= 4.8
|
||||
cmd:chicken_bug = $portVersion compat >= 4.8
|
||||
cmd:chicken_install = $portVersion compat >= 4.8
|
||||
cmd:chicken_profile = $portVersion compat >= 4.8
|
||||
cmd:chicken_status = $portVersion compat >= 4.8
|
||||
cmd:chicken_uninstall = $portVersion compat >= 4.8
|
||||
lib:libchicken = $portVersion compat >= 4.8
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku >= $haikuVersion
|
||||
cmd:gcc
|
||||
cmd:ld
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
haiku_devel >= $haikuVersion
|
||||
cmd:gcc
|
||||
cmd:make
|
||||
cmd:ld
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
chicken_devel = $portVersion
|
||||
devel:libchicken = $portVersion
|
||||
"
|
||||
|
||||
REQUIRES_devel="
|
||||
chicken == $portVersion
|
||||
"
|
||||
|
||||
|
||||
PATCH()
|
||||
{
|
||||
if [ "$targetArchitecture" = 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
|
||||
}
|
||||
|
||||
PATCHES="chicken-4.8.0.5.patchset"
|
||||
|
||||
GLOBAL_WRITABLE_FILES="
|
||||
non-packaged/lib/chicken/6 directory keep-old
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# odd timestamp issue
|
||||
touch build-version.c
|
||||
|
||||
make PLATFORM=haiku PREFIX=$prefix \
|
||||
MANDIR=$manDir/man1 \
|
||||
DOCDIR=$docDir \
|
||||
DATADIR=$dataDir/chicken \
|
||||
INCDIR=$includeDir/chicken \
|
||||
HOSTNAME=shredder
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install PLATFORM=haiku PREFIX=$prefix \
|
||||
MANDIR=$manDir/man1 \
|
||||
DOCDIR=$docDir \
|
||||
DATADIR=$dataDir/chicken \
|
||||
INCDIR=$includeDir/chicken \
|
||||
HOSTNAME=shredder
|
||||
|
||||
prepareInstalledDevelLibs libchicken
|
||||
packageEntries devel $developDir
|
||||
|
||||
rm -rf $prefix/share
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
109
dev-scheme/chicken/patches/chicken-4.8.0.5.patchset
Normal file
109
dev-scheme/chicken/patches/chicken-4.8.0.5.patchset
Normal file
@@ -0,0 +1,109 @@
|
||||
From a74b33e6d278ad461c2eba2991e09cf54a1e4d72 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Roberts <cpr420@gmail.com>
|
||||
Date: Thu, 7 Nov 2013 02:07:02 -0700
|
||||
Subject: Minor fixes
|
||||
|
||||
|
||||
diff --git a/chicken.h b/chicken.h
|
||||
index de48141..98f7071 100644
|
||||
--- a/chicken.h
|
||||
+++ b/chicken.h
|
||||
@@ -2888,7 +2888,7 @@ C_path_to_executable(C_char *fname)
|
||||
|
||||
while (get_next_image_info(0, &cookie, &info) == B_OK) {
|
||||
if (info.type == B_APP_IMAGE) {
|
||||
- C_strcat(buffer, info.name);
|
||||
+ C_strcpy(buffer, info.name);
|
||||
|
||||
for(i = C_strlen(buffer); i >= 0 && buffer[ i ] != '/'; --i);
|
||||
|
||||
diff --git a/library.c b/library.c
|
||||
index b54b578..fedf35b 100644
|
||||
--- a/library.c
|
||||
+++ b/library.c
|
||||
@@ -79,13 +79,14 @@ fast_read_line_from_file(C_word str, C_word port, C_word size) {
|
||||
static C_word
|
||||
fast_read_string_from_file(C_word dest, C_word port, C_word len, C_word pos)
|
||||
{
|
||||
+ size_t m;
|
||||
int n = C_unfix (len);
|
||||
char * buf = ((char *)C_data_pointer (dest) + C_unfix (pos));
|
||||
C_FILEPTR fp = C_port_file (port);
|
||||
|
||||
if(feof(fp)) return C_SCHEME_END_OF_FILE;
|
||||
|
||||
- size_t m = fread (buf, sizeof (char), n, fp);
|
||||
+ m = fread (buf, sizeof (char), n, fp);
|
||||
|
||||
if (m < n) {
|
||||
if (ferror(fp)) /* Report to Scheme, which may retry, so clear errors */
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From ed8542b12f0695222d24261d2ad97853f3f19cb1 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Roberts <cpr420@gmail.com>
|
||||
Date: Thu, 7 Nov 2013 02:55:03 -0700
|
||||
Subject: Adjust include path
|
||||
|
||||
|
||||
diff --git a/Makefile.haiku b/Makefile.haiku
|
||||
index 7489637..077daf2 100644
|
||||
--- a/Makefile.haiku
|
||||
+++ b/Makefile.haiku
|
||||
@@ -64,6 +64,7 @@ include $(SRCDIR)/defaults.make
|
||||
|
||||
chicken-config.h: chicken-defaults.h
|
||||
echo "/* GENERATED */" >$@
|
||||
+ echo "#define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/develop/headers/chicken\"" >>$@
|
||||
echo "#define HAVE_DIRENT_H 1" >>$@
|
||||
echo "#define HAVE_DLFCN_H 1" >>$@
|
||||
echo "#define HAVE_INTTYPES_H 1" >>$@
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From 04cdda51c590a1648c74be2565c29073f0c09562 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Roberts <cpr420@gmail.com>
|
||||
Date: Thu, 7 Nov 2013 03:04:04 -0700
|
||||
Subject: Adjust develop library paths
|
||||
|
||||
|
||||
diff --git a/Makefile.haiku b/Makefile.haiku
|
||||
index 077daf2..6cab4fe 100644
|
||||
--- a/Makefile.haiku
|
||||
+++ b/Makefile.haiku
|
||||
@@ -65,6 +65,8 @@ include $(SRCDIR)/defaults.make
|
||||
chicken-config.h: chicken-defaults.h
|
||||
echo "/* GENERATED */" >$@
|
||||
echo "#define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/develop/headers/chicken\"" >>$@
|
||||
+ echo "#define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)/develop/lib\"" >>$@
|
||||
+ echo "#define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)/develop/lib\"" >>$@
|
||||
echo "#define HAVE_DIRENT_H 1" >>$@
|
||||
echo "#define HAVE_DLFCN_H 1" >>$@
|
||||
echo "#define HAVE_INTTYPES_H 1" >>$@
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From ed3a7c3bee260c4b09c4559b4a53ce346482ea1f Mon Sep 17 00:00:00 2001
|
||||
From: Chris Roberts <cpr420@gmail.com>
|
||||
Date: Thu, 7 Nov 2013 03:33:47 -0700
|
||||
Subject: Adjust egg location
|
||||
|
||||
|
||||
diff --git a/Makefile.haiku b/Makefile.haiku
|
||||
index 6cab4fe..c7c2824 100644
|
||||
--- a/Makefile.haiku
|
||||
+++ b/Makefile.haiku
|
||||
@@ -67,6 +67,7 @@ chicken-config.h: chicken-defaults.h
|
||||
echo "#define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/develop/headers/chicken\"" >>$@
|
||||
echo "#define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)/develop/lib\"" >>$@
|
||||
echo "#define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)/develop/lib\"" >>$@
|
||||
+ echo "#define EGGDIR \"$(TARGET_PREFIX)/non-packaged/lib/chicken/$(BINARY_VERSION)\"" >>$@
|
||||
echo "#define HAVE_DIRENT_H 1" >>$@
|
||||
echo "#define HAVE_DLFCN_H 1" >>$@
|
||||
echo "#define HAVE_INTTYPES_H 1" >>$@
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
Reference in New Issue
Block a user