Add recipes and patchsets for pnet and treecc

This commit is contained in:
Scott McCreary
2015-01-15 01:19:26 -08:00
parent 80cefe0460
commit 6bcc8bda67
6 changed files with 321 additions and 88 deletions

View File

@@ -0,0 +1,138 @@
From 49ff4bf74fef8c191e72658f3b939ec3db46102c Mon Sep 17 00:00:00 2001
From: Scott McCreary <scottmc2@gmail.com>
Date: Wed, 14 Jan 2015 20:47:28 -0800
Subject: Haiku fixes
diff --git a/libgc/include/private/gcconfig.h b/libgc/include/private/gcconfig.h
index 5f897a4..2882878 100644
--- a/libgc/include/private/gcconfig.h
+++ b/libgc/include/private/gcconfig.h
@@ -229,6 +229,16 @@
# define BEOS
# define mach_type_known
# endif
+# if defined(__HAIKU__) && defined(_X86_)
+# define I386
+# define BEOS
+# define mach_type_known
+# endif
+# if defined(__HAIKU__) && defined(_X86_64_)
+# define X86_64
+# define BEOS
+# define mach_type_known
+# endif
# if defined(LINUX) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
--
1.8.3.4
From 92ed68680f8d2940f29e6571bd998e699f4d33c0 Mon Sep 17 00:00:00 2001
From: Scott McCreary <scottmc2@gmail.com>
Date: Wed, 14 Jan 2015 23:31:05 -0800
Subject: Fix a few gcc2 issues
diff --git a/engine/debugger.c b/engine/debugger.c
index 65f52c7..e6cef4a 100644
--- a/engine/debugger.c
+++ b/engine/debugger.c
@@ -104,6 +104,7 @@ static int SocketIO_Open(ILDebuggerIO *io, const char *connectionString)
{
ILSysIOHandle sockfd;
int port = 4571;
+ unsigned char addr[16];
/*
* Create socket descriptor
@@ -120,7 +121,6 @@ static int SocketIO_Open(ILDebuggerIO *io, const char *connectionString)
/* Convert the end point into a sockaddr buffer like in
* CombinedToSerialized() in socket.c */
- unsigned char addr[16];
addr[0] = 2; /* address family - AF_INET */
addr[1] = 0;
addr[2] = (unsigned char)(port >> 8); /* port */
diff --git a/engine/lib_string.c b/engine/lib_string.c
index bb2a081..3206794 100644
--- a/engine/lib_string.c
+++ b/engine/lib_string.c
@@ -1025,12 +1025,15 @@ ILInt32 _IL_String_FindInRange(ILExecThread *thread, System_String *_this,
ILInt32 srcFirst, ILInt32 srcLast,
ILInt32 step, System_String *dest)
{
+ ILUInt16 *buf1;
+ ILUInt16 *buf2;
+ ILUInt32 size;
/* Searches for zero length strings always match */
if(dest->length == 0)
return srcFirst;
- ILUInt16 *buf1 = StringToBuffer(_this) + srcFirst;
- ILUInt16 *buf2 = StringToBuffer(dest);
- ILUInt32 size = (ILUInt32)(dest->length * sizeof(ILUInt16));
+ buf1 = StringToBuffer(_this) + srcFirst;
+ buf2 = StringToBuffer(dest);
+ size = (ILUInt32)(dest->length * sizeof(ILUInt16));
if(step > 0)
{
/* Scan forwards for the string */
--
1.8.3.4
From b378bbb5da796ae92b7b3c64ee7c34cdbf2c277d Mon Sep 17 00:00:00 2001
From: Scott McCreary <scottmc2@gmail.com>
Date: Thu, 15 Jan 2015 00:44:19 -0800
Subject: Add Haiku build support into configure.in
diff --git a/configure.in b/configure.in
index 04db657..740f963 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@ AC_CANONICAL_SYSTEM
dnl Initialize automake.
AM_INIT_AUTOMAKE(pnet, 0.8.0)
-AM_CONFIG_HEADER(include/il_config.h)
+AC_CONFIG_HEADERS(include/il_config.h)
AM_MAINTAINER_MODE
# Tell everyone if we are crosscompiling
@@ -44,6 +44,10 @@ else
WINLIBS="-lole32"
suppress_libm=yes
;;
+ *-*-haiku*)
+ SOCKETLIBS="-lnetwork"
+ suppress_libm=yes
+ ;;
*) ;;
esac
fi
@@ -261,6 +265,8 @@ if test "$THREADS" = "no"; then
*-*-beos*)
THREADS=beos
;;
+ *-*-haiku*)
+ THREADS=posix
esac
fi
@@ -326,6 +332,11 @@ case "$THREADS" in
*-*-irix*)
AC_DEFINE(GC_IRIX_THREADS, 1, [Define to use libgc irix thread support])
;;
+ *-*-haiku*)
+ AC_DEFINE(GC_LINUX_THREADS, 1, [Define to use libgc haiku thread support])
+ INCLUDES="$INCLUDES"
+ THREADLIBS=""
+ ;;
esac
;;
win32)
--
1.8.3.4

View File

@@ -1,41 +0,0 @@
? config.sub
? libtool
? ltmain.sh
? ylwrap
? libffi/Makefile.in
? libffi/aclocal.m4
? libffi/configure
? libffi/fficonfig.h.in
? libffi/include/Makefile.in
? libgc/Makefile.in
? libgc/aclocal.m4
? libgc/config.guess
? libgc/config.sub
? libgc/configure
? libgc/ltmain.sh
? libgc/doc/Makefile.in
? libgc/include/Makefile.in
Index: configure.in
===================================================================
RCS file: /sources/dotgnu-pnet/pnet/configure.in,v
retrieving revision 1.229
diff -u -r1.229 configure.in
--- configure.in 9 Dec 2007 21:17:20 -0000 1.229
+++ configure.in 18 May 2008 11:43:34 -0000
@@ -262,7 +262,7 @@
*-*-darwin*)
THREADS=posix
;;
- *-*-beos*)
+ *-*-beos*|*-*-haiku*)
THREADS=beos
;;
esac
@@ -375,6 +375,7 @@
fi
AC_CHECK_LIB(dl, dlopen)
AC_CHECK_LIB(socket, connect)
+AC_CHECK_LIB(network, connect)
AC_CHECK_LIB(nsl, gethostbyname)
AC_CHECK_LIB(rt, clock_gettime)
have_libz=no

View File

@@ -1,26 +1,108 @@
DESCRIPTION="GNU Portable.NET class library"
SUMMARY="DotGNU Portable .NET suite"
DESCRIPTION="DotGNU Portable.NET is a portable suite of tools (including a C# \
compiler, assembler, and runtime engine) for non-Microsoft platforms. It is \
part of the DotGNU meta-project"
HOMEPAGE="http://www.dotgnu.org/pnet.html"
SRC_URI="http://download.savannah.gnu.org/releases/dotgnu-pnet/pnet-0.8.0.tar.gz"
CHECKSUM_SHA256="f1340ae3567a5f05729d9d201bd719268ceca07bde4f62c58a92abfda64551bb"
REVISION="1"
STATUS_HAIKU="broken"
DEPEND="dev-util/treecc"
CHECKSUM_MD5="84cb3612d7175bd9e476c88e66fe19f9"
LICENSE="GNU GPL v1"
COPYRIGHT="2001-2006 Southern Storm Software, Pty Ltd.
1984-2002 Free Software Foundation, Inc.
2003 Gopal.V
2002 FSF INDIA
2002 Richard Baumann
"
ARCHITECTURES="x86_gcc2 x86 ?x86_64"
PROVIDES="
pnet = $portVersion
lib:libpnet = $portVersion
cmd:al
cmd:cli_unknown_ar
cmd:cli_unknown_cpp
cmd:cli_unknown_gcc
cmd:cli_unknown_ranlib
cmd:cli_unknown_size
cmd:cli_unknown_strip
cmd:clrwrap
cmd:csant
cmd:cscc
cmd:cscc_cpp
cmd:csdoc
cmd:csdoc2hier
cmd:csdoc2html
cmd:csdoc2texi
cmd:cssrc2html
cmd:ilalink
cmd:ilasm
cmd:ildasm
cmd:ildd
cmd:ilfind
cmd:ilgac
cmd:ilheader
cmd:ilnative
cmd:ilranlib
cmd:ilrun
cmd:ilsize
cmd:ilstrip
cmd:ilverify
cmd:resgen
"
PROVIDES_devel="
devel:libILAsm = $portVersion compat >= 0
devel:libILCodeGen = $portVersion compat >= 0
devel:libILDumpAsm = $portVersion compat >= 0
devel:libILEngine = $portVersion compat >= 0
devel:libILImage = $portVersion compat >= 0
devel:libILLink = $portVersion compat >= 0
devel:libILSupport = $portVersion compat >= 0
"
REQUIRES="
haiku
lib:libncurses
lib:zlib
"
BUILD_REQUIRES="
haiku_devel
devel:libncurses
"
BUILD_PREREQUIRES="
cmd:gcc
cmd:make
cmd:ld
cmd:find
cmd:flex
cmd:awk
cmd:libtoolize
cmd:aclocal
cmd:autoconf
cmd:autoconf
cmd:treecc
"
PATCHES="pnet-0.8.0.patchset"
BUILD()
{
cd pnet-0.8.0
libtoolize --force --copy --install
aclocal
automake --add-missing
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
automake --add-missing
runConfigure ./configure --without-libffi --without-libgc --enable-shared \
--libdir=$developLibDir
make $jobArgs
}
INSTALL()
{
cd pnet-0.8.0
make install
packageEntries devel \
$developDir \
$manDir
}
#LICENSE=""
#COPYRIGHT=""

View File

@@ -0,0 +1,32 @@
From e10460f3da6ea18be1bec76f732354abe65c8233 Mon Sep 17 00:00:00 2001
From: Scott McCreary <scottmc2@gmail.com>
Date: Wed, 14 Jan 2015 16:44:08 -0800
Subject: Add haiku as beos platform, add AC_CONFIG_HEADERS in place of
AM_CONFIG_HEADER
diff --git a/configure.in b/configure.in
index f8d2fc4..c80fefe 100644
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(input.h)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE(treecc, 0.3.10)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
AM_MAINTAINER_MODE
dnl Turn off the cygwin library if building for Win32.
@@ -23,7 +23,7 @@ AC_MSG_RESULT($platform_win32)
AC_MSG_CHECKING([if building for BeOS platform])
case "$host" in
- *-*-beos*)
+ *-*-beos*|*-*-haiku*)
platform_beos=yes
LDADD=""
;;
--
1.8.3.4

View File

@@ -0,0 +1,57 @@
SUMMARY="A compiler-compiler tool for aspect-oriented programming"
DESCRIPTION="\
Tree Compiler-Compiler (treecc) is designed to assist in the development of \
compilers and other language- based tools. It manages the generation of code \
to handle abstract syntax trees and operations upon the trees. \
"
HOMEPAGE="http://www.gnu.org/software/dotgnu/treecc/treecc.html"
SRC_URI="http://download.savannah.gnu.org/releases/dotgnu-pnet/treecc-0.3.10.tar.gz"
CHECKSUM_SHA256="5e9d20a6938e0c6fedfed0cabc7e9e984024e4881b748d076e8c75f1aeb6efe7"
REVISION="1"
LICENSE="GNU GPL v2"
COPYRIGHT="2001-2003 Southern Storm Software, Pty Ltd
2003 Free Software Foundation, Inc.
"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
PROVIDES="
treecc = $portVersion
cmd:treecc = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc
cmd:awk
cmd:bison
cmd:libtoolize
cmd:aclocal
cmd:autoconf
"
PATCHES="treecc-0.3.10.patchset"
BUILD()
{
sed -i "s/expr_c_LDADD = -lm/expr_c_LDADD = /" examples/Makefile*
libtoolize -fci
aclocal
autoconf
automake --add-missing
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
# mkdir -p $binDir
# cp -a objects/projectx $binDir
}

View File

@@ -1,35 +0,0 @@
? ylwrap
Index: Makefile.am
===================================================================
RCS file: /sources/dotgnu-pnet/treecc/Makefile.am,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile.am
--- Makefile.am 4 Jun 2007 10:14:29 -0000 1.12
+++ Makefile.am 26 Apr 2008 19:49:11 -0000
@@ -47,8 +47,8 @@ SKELETON_FILES = $(top_srcdir)/etc/c_ske
$(top_srcdir)/etc/cpp_gc_skel.h \
$(top_srcdir)/etc/cpp_gc_skel.cc
-skels.c: $(SKELETON_FILES) mkskel-sh
- $(SHELL) mkskel-sh $(SKELETON_FILES) >skels.c
+skels.c: $(SKELETON_FILES) $(top_srcdir)/mkskel-sh
+ $(SHELL) $(top_srcdir)/mkskel-sh $(SKELETON_FILES) >skels.c
CLEANFILES = skels.c
Index: configure.in
===================================================================
RCS file: /sources/dotgnu-pnet/treecc/configure.in,v
retrieving revision 1.52
diff -u -p -r1.52 configure.in
--- configure.in 4 Jun 2007 18:45:48 -0000 1.52
+++ configure.in 26 Apr 2008 19:49:11 -0000
@@ -23,7 +23,7 @@ AC_MSG_RESULT($platform_win32)
AC_MSG_CHECKING([if building for BeOS platform])
case "$host" in
- *-*-beos*)
+ *-*-beos*|*-*-haiku*)
platform_beos=yes
LDADD=""
;;