Merged haikuports/haikuports into master

This commit is contained in:
humdinger
2014-01-10 09:21:22 +01:00
21 changed files with 521 additions and 496 deletions

View File

@@ -0,0 +1,74 @@
SUMMARY="A light-weight scripting language"
DESCRIPTION="
Squirrel is a light weight programming language featuring higher-order \
functions, classes/inheritance, delegation, tail recursion, generators, \
cooperative threads, exception handling, reference counting and garbage \
collection on demand. C-like syntax.
"
HOMEPAGE="http://www.squirrel-lang.org"
SRC_URI="https://squirrel.googlecode.com/files/squirrel_3_0_4_stable.tar.gz"
CHECKSUM_MD5="e75feaed79c203d027708e2067ca1dcc"
LICENSE="MIT"
COPYRIGHT="2004-2013 Alberto Demichelis"
REVISION="1"
ARCHITECTURES="!x86 ?x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86 ?x86_64"
PROVIDES="
squirrel$secondaryArchSuffix = $portVersion
cmd:sq$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:make
cmd:gcc$secondaryArchSuffix
"
SOURCE_DIR="SQUIRREL3"
BUILD()
{
make $jobArgs
}
INSTALL()
{
mkdir -p $binDir
cp -r bin/* $binDir
mkdir -p $includeDir
cp -r include/* $includeDir
mkdir -p $developDocDir
cp -r doc/* $developDocDir
mkdir -p $libDir
cp -r lib/* $develLibDir
rm -rf $libDir
packageEntries devel \
$developDir
}
PROVIDES_devel="
libsquirrel${secondaryArchSuffix}_devel = $portVersion
devel:libsquirrel$secondaryArchSuffix = $portVersion
devel:libsqstdlib$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
squirrel$secondaryArchSuffix == $portVersion base
"

View File

@@ -1,32 +1,74 @@
DESCRIPTION="SWI Prolog. Stable and free standard Prolog implementation"
SUMMARY="SWI Prolog. Stable and free standard Prolog implementation"
DESCRIPTION="
SWI-Prolog is an open source implementation of the programming language Prolog, \
commonly used for teaching and semantic web applications. It has a rich set of \
features, libraries for constraint logic programming, multithreading, unit \
testing, GUI, interfacing to Java, ODBC and others, literate programming, a web \
server, SGML, RDF, RDFS, developer tools (including an IDE with a GUI debugger \
and GUI profiler), and extensive documentation.
"
HOMEPAGE="http://www.swi-prolog.org/"
SRC_URI="http://www.swi-prolog.org/download/stable/src/pl-6.2.0.tar.gz"
CHECKSUM_MD5="969ed2e00b7afc1537fbf19d667333c5"
LICENSE="
GNU LGPL v2.1
SWI-Prolog
"
COPYRIGHT="1985-2012, University of Amsterdam, VU University Amsterdam"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/gmp >= 5.0.5
sys-libs/readline >= 6.2"
ARCHITECTURES="x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
SOURCE_DIR="pl-6.2.0"
PATCHES="swi_prolog-6.2.0.patch"
PROVIDES="
swi_prolog$secondaryArchSuffix = $portVersion
cmd:swipl$secondaryArchSuffix
cmd:swipl_rc$secondaryArchSuffix
cmd:swipl_ld$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libgmp$secondaryArchSuffix >= 10
lib:libreadline$secondaryArchSuffix >= 6
lib:libncurses$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libreadline$secondaryArchSuffix >= 6
devel:libgmp$secondaryArchSuffix >= 10
devel:libncurses$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:autoreconf
cmd:make
"
BUILD()
{
cd pl-6.2.0/src
libtoolize -fci
autoreconf
LDFLAGS=-L/boot/common/lib CFLAGS=-I/boot/common/include ./configure --prefix=$(finddir B_COMMON_DIRECTORY)
make
cd src
libtoolize -fci
autoreconf
LDFLAGS="-L/system/lib -L/system/develop/lib" CFLAGS="-I/system/develop/include -I/system/include" ./configure $configureDirArgs
#runConfigure ./configure
make
}
INSTALL()
{
cd pl-6.2.0/src
make install
cd src
make install
}
TEST()
{
cd pl-6.2.0/src
make check
cd src
make check
}
LICENSE="GNU LGPL v2.1
SWI-Prolog"
COPYRIGHT="1985-2012, University of Amsterdam, VU University Amsterdam"

View File

@@ -8,7 +8,7 @@ testing. It contains over eighty individual libraries.
HOMEPAGE="http://www.boost.org/"
SRC_URI="http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2"
CHECKSUM_MD5="d6eef4b4cacb2183f2bf265a5a03a354"
REVISION="2"
REVISION="3"
LICENSE="Boost v1.0"
COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al."
ARCHITECTURES="x86 ?x86_64"

View File

@@ -1,352 +0,0 @@
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
new file mode 100644
index 0000000..1b15c7e
--- /dev/null
+++ b/boost/config/platform/haiku.hpp
@@ -0,0 +1,27 @@
+//  (C) Copyright John Maddock 2001.
+//  Use, modification and distribution are subject to the
+//  Boost Software License, Version 1.0. (See accompanying file
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for most recent version.
+
+//  Haiku specific config options:
+
+#define BOOST_PLATFORM "Haiku"
+
+#define BOOST_NO_INTRINSIC_WCHAR_T
+#define BOOST_HAS_UNISTD_H
+
+#define BOOST_HAS_BETHREADS
+
+#ifndef BOOST_DISABLE_THREADS
+# define BOOST_HAS_THREADS
+#endif
+
+//
+// thread API's not auto detected:
+//
+#define BOOST_HAS_GETTIMEOFDAY
+
+// boilerplate code:
+#include <boost/config/posix_features.hpp>
diff --git a/boost/config/select_platform_config.hpp b/boost/config/select_platform_config.hpp
index 2af61d2..5052d85 100644
--- a/boost/config/select_platform_config.hpp
+++ b/boost/config/select_platform_config.hpp
@@ -41,6 +41,10 @@
// win32:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
+#elif defined(__HAIKU__)
+// Haiku
+# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
+
#elif defined(__BEOS__)
// BeOS
# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp
index 976ab76..66bc96d 100644
--- a/boost/config/stdlib/libstdcpp3.hpp
+++ b/boost/config/stdlib/libstdcpp3.hpp
@@ -36,7 +36,8 @@
|| defined(_GLIBCXX__PTHREADS) \
|| defined(_GLIBCXX_HAS_GTHREADS) \
|| defined(_WIN32) \
- || defined(_AIX)
+ || defined(_AIX) \
+ || defined(__HAIKU__)
//
// If the std lib has thread support turned on, then turn it on in Boost
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
diff --git a/boost/thread/detail/platform.hpp b/boost/thread/detail/platform.hpp
index 1f33b1a..1b8917c 100644
--- a/boost/thread/detail/platform.hpp
+++ b/boost/thread/detail/platform.hpp
@@ -34,6 +34,8 @@
# define BOOST_THREAD_WIN32
#elif defined(__BEOS__)
# define BOOST_THREAD_BEOS
+#elif defined(__HAIKU__)
+# define BOOST_THREAD_BEOS
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
# define BOOST_THREAD_MACOS
//# define BOOST_THREAD_WAIT_BUG boost::posix_time::microseconds(1000)
diff --git a/tools/build/v2/engine/boehm_gc/dyn_load.c b/tools/build/v2/engine/boehm_gc/dyn_load.c
index 36968ba..e725bdc 100644
--- a/tools/build/v2/engine/boehm_gc/dyn_load.c
+++ b/tools/build/v2/engine/boehm_gc/dyn_load.c
@@ -64,7 +64,7 @@ static int (*GC_has_static_roots)(const char *, void *, size_t);
!defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \
!(defined(FREEBSD) && defined(__ELF__)) && \
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
- !defined(DARWIN) && !defined(CYGWIN32)
+ !defined(DARWIN) && !defined(CYGWIN32) !(defined(HAIKU)
--> We only know how to find data segments of dynamic libraries for the
--> above. Additional SVR4 variants might not be too
--> hard to add.
@@ -82,6 +82,10 @@ static int (*GC_has_static_roots)(const char *, void *, size_t);
# define ELFSIZE ARCH_ELFSIZE
#endif
+#if defined(HAIKU)
+
+#endif
+
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
(defined(NETBSD) && defined(__ELF__)) || defined(HURD)
@@ -216,7 +220,8 @@ void GC_register_dynamic_libraries()
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
- (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
+ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) || \
+ defined(HAIKU)
#ifdef USE_PROC_FOR_LIBRARIES
diff --git a/tools/build/v2/engine/boehm_gc/include/gc.h b/tools/build/v2/engine/boehm_gc/include/gc.h
index cc95088..590a868 100644
--- a/tools/build/v2/engine/boehm_gc/include/gc.h
+++ b/tools/build/v2/engine/boehm_gc/include/gc.h
@@ -494,7 +494,7 @@ GC_API void * GC_malloc_atomic_ignore_off_page(size_t lb);
/* of compilers. */
/* This may also be desirable if it is possible but expensive to */
/* retrieve the call chain. */
-#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
+#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) \
|| defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
# define GC_ADD_CALLER
# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
diff --git a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
index 66abf0b..797eddd 100644
--- a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
+++ b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
@@ -45,7 +45,8 @@
|| defined(GC_AIX_THREADS) \
|| defined(GC_LINUX_THREADS) \
|| defined(GC_NETBSD_THREADS) \
- || defined(GC_GNU_THREADS))
+ || defined(GC_GNU_THREADS)) \
+ || defined(GC_HAIKU_THREADS)
# define _REENTRANT
/* Better late than never. This fails if system headers that */
/* depend on this were previously included. */
@@ -62,6 +63,7 @@
# if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \
defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
+ defined(GC_HAIKU_THREADS) || \
defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
(defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \
diff --git a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
index 20f35bc..7e798a7 100644
--- a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
+++ b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
@@ -215,6 +215,11 @@
# define BEOS
# define mach_type_known
# endif
+# if defined(__HAIKU__) && defined(_X86_)
+# define I386
+# define HAIKU
+# define mach_type_known
+# endif
# if defined(LINUX) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
@@ -1014,6 +1019,13 @@
extern int etext[];
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
# endif
+# ifdef HAIKU
+# define OS_TYPE "HAIKU"
+# include <OS.h>
+# define GETPAGESIZE() B_PAGE_SIZE
+ extern int etext[];
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
+# endif
# ifdef SOLARIS
# define OS_TYPE "SOLARIS"
extern int _etext[], _end[];
diff --git a/tools/build/v2/engine/boehm_gc/os_dep.c b/tools/build/v2/engine/boehm_gc/os_dep.c
index bb8fa08..a7edf72 100644
--- a/tools/build/v2/engine/boehm_gc/os_dep.c
+++ b/tools/build/v2/engine/boehm_gc/os_dep.c
@@ -777,6 +777,16 @@ ptr_t GC_get_main_stack_base(void){
# endif /* BEOS */
+# ifdef HAIKU
+# include <OS.h>
+ptr_t GC_get_main_stack_base(void){
+ thread_info th;
+ get_thread_info(find_thread(NULL),&th);
+ return th.stack_end;
+}
+# endif /* HAIKU */
+
+
# ifdef OS2
ptr_t GC_get_main_stack_base(void)
@@ -1095,7 +1105,7 @@ ptr_t GC_get_main_stack_base(void)
#endif /* FREEBSD_STACKBOTTOM */
-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \
+#if !defined(BEOS) && !defined(HAIKU) && !defined(AMIGA) && !defined(MSWIN32) \
&& !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \
&& !defined(CYGWIN32)
@@ -1154,7 +1164,7 @@ ptr_t GC_get_main_stack_base(void)
# endif /* STACKBOTTOM */
}
-# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !NOSYS, !ECOS */
+# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !HAIKU, !NOSYS, !ECOS */
#if defined(GC_LINUX_THREADS) && !defined(HAVE_GET_STACK_BASE)
diff --git a/tools/build/v2/engine/fileunix.c b/tools/build/v2/engine/fileunix.c
index bff3a42..1f60be2 100644
--- a/tools/build/v2/engine/fileunix.c
+++ b/tools/build/v2/engine/fileunix.c
@@ -80,7 +80,10 @@ struct ar_hdr /* archive file member header - printable ascii */
};
#endif
-#if defined( OS_QNX ) || defined( OS_BEOS ) || defined( OS_MPEIX )
+# if defined( OS_QNX ) || \
+ defined( OS_BEOS ) || \
+ defined( OS_HAIKU ) || \
+ defined( OS_MPEIX )
# define NO_AR
# define HAVE_AR
#endif
diff --git a/tools/build/v2/engine/jam.h b/tools/build/v2/engine/jam.h
index 86ad0e8..7c0bb69 100644
--- a/tools/build/v2/engine/jam.h
+++ b/tools/build/v2/engine/jam.h
@@ -125,6 +125,11 @@
#define OS_BEOS
#define NO_VFORK
#endif
+#ifdef __HAIKU__
+ #define unix
+ #define OSMINOR "OS=HAIKU"
+ #define OS_HAIKU
+#endif
#ifdef __bsdi__
#define OSMINOR "OS=BSDI"
#define OS_BSDI
diff --git a/tools/build/v2/engine/jambase.c b/tools/build/v2/engine/jambase.c
index b15282b..5a127a1 100644
--- a/tools/build/v2/engine/jambase.c
+++ b/tools/build/v2/engine/jambase.c
@@ -548,6 +548,18 @@ char *jambase[] = {
"NOARSCAN ?= true ;\n",
"STDHDRS ?= /boot/develop/headers/posix ;\n",
"}\n",
+"else if $(OS) = HAIKU\n",
+"{\n",
+"BINDIR ?= /boot/common/bin ;\n",
+"CC ?= gcc ;\n",
+"C++ ?= $(CC) ;\n",
+"FORTRAN ?= \"\" ;\n",
+"LIBDIR ?= /boot/common/lib ;\n",
+"LINK ?= gcc ;\n",
+"LINKLIBS ?= -lnetwork ;\n",
+"NOARSCAN ?= true ;\n",
+"STDHDRS ?= /boot/develop/headers/posix ;\n",
+"}\n",
"else if $(OS) = BEOS\n",
"{\n",
"BINDIR ?= /boot/apps ;\n",
diff --git a/tools/build/v2/tools/builtin.jam b/tools/build/v2/tools/builtin.jam
index 176de13..1c3466f 100644
--- a/tools/build/v2/tools/builtin.jam
+++ b/tools/build/v2/tools/builtin.jam
@@ -41,7 +41,7 @@ import generate ;
.os-names = aix bsd cygwin darwin freebsd hpux iphone linux netbsd openbsd osf
- qnx qnxnto sgi solaris unix unixware windows
+ qnx qnxnto sgi solaris unix unixware windows haiku
elf # Not actually an OS -- used for targeting bare metal where object
# format is ELF. This catches both -elf and -eabi gcc targets and well
# as other compilers targeting ELF. It is not clear how often we need
@@ -76,6 +76,7 @@ local rule default-host-os ( )
case COHERENT : host-os = unix ;
case DRAGONFLYBSD : host-os = bsd ;
case IRIX : host-os = sgi ;
+ case HAIKU : host-os = haiku ;
case MACOSX : host-os = darwin ;
case KFREEBSD : host-os = freebsd ;
case LINUX : host-os = linux ;
diff --git a/tools/build/v2/tools/builtin.py b/tools/build/v2/tools/builtin.py
index 35c1a40..c430fad 100644
--- a/tools/build/v2/tools/builtin.py
+++ b/tools/build/v2/tools/builtin.py
@@ -103,6 +103,7 @@ def default_host_os():
elif host_os == 'MACOSX': host_os = 'darwin'
elif host_os == 'KFREEBSD': host_os = 'freebsd'
elif host_os == 'LINUX': host_os = 'linux'
+ elif host_os == 'HAIKU': host_os = 'haiku'
else: host_os = 'unix'
return host_os.lower()
diff --git a/tools/build/v2/tools/gcc.jam b/tools/build/v2/tools/gcc.jam
index ef90f05..2de76cf 100644
--- a/tools/build/v2/tools/gcc.jam
+++ b/tools/build/v2/tools/gcc.jam
@@ -1029,10 +1029,11 @@ rule setup-threading ( targets * : sources * : properties * )
case cygwin : option = -mthreads ;
case solaris : option = -pthreads ; libs = rt ;
case beos : # No threading options.
+ case haiku : option = ;
case *bsd : option = -pthread ; # There is no -lrt on BSD.
case sgi : # gcc on IRIX does not support multi-threading.
case darwin : # No threading options.
- case * : option = -pthread ; libs = rt ;
+ case * : option = -pthreads ; libs = rt ;
}
if $(option)
diff --git a/tools/build/v2/tools/gcc.py b/tools/build/v2/tools/gcc.py
index c2f3b02..4f60d22 100644
--- a/tools/build/v2/tools/gcc.py
+++ b/tools/build/v2/tools/gcc.py
@@ -677,6 +677,9 @@ elif bjam.variable('UNIX'):
elif host_os_name == 'BeOS':
# BeOS has no threading options, don't set anything here.
pass
+ elif host_os_name == 'Haiku':
+ flags('gcc', 'OPTIONS', ['<threading>multi'], ['-lroot'])
+ # there is no -lrt on HAIKU
elif host_os_name.endswith('BSD'):
flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
# there is no -lrt on BSD
diff --git a/tools/build/v2/tools/python.jam b/tools/build/v2/tools/python.jam
index d48bb78..070f5d2 100644
--- a/tools/build/v2/tools/python.jam
+++ b/tools/build/v2/tools/python.jam
@@ -639,13 +639,14 @@ local rule system-library-dependencies ( target-os )
case qnx* : return ;
case darwin : return ;
case windows : return ;
+ case haiku : return ;
case hpux : return <library>rt ;
case *bsd : return <library>pthread <toolset>gcc:<library>util ;
case aix : return <library>pthread <library>dl ;
- case * : return <library>pthread <library>dl
+ case * : return ; <library>pthread <library>dl
<toolset>gcc:<library>util <toolset-intel:platform>linux:<library>util ;
}
}

View File

@@ -1,4 +1,4 @@
From f194ab93c5c29020d5f0f4915b1f554645986587 Mon Sep 17 00:00:00 2001
From c0848cd5528c0623d360be34004a411955ce6c98 Mon Sep 17 00:00:00 2001
From: Scott McCreary <scottmc2@gmail.com>
Date: Sun, 22 Dec 2013 10:01:12 -0800
Subject: applying patch boost-1.55.0.patch
@@ -360,14 +360,14 @@ index d48bb78..070f5d2 100644
1.8.3.4
From 0d11043b05a45a1bc8091387ba45f1fe41fe2e55 Mon Sep 17 00:00:00 2001
From 03631bc8fb6cff21669ca0cb87188c2c3b0d4928 Mon Sep 17 00:00:00 2001
From: Scott McCreary <scottmc2@gmail.com>
Date: Sun, 22 Dec 2013 10:01:23 -0800
Subject: applying patch type_traits.patch
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
index 1b15c7e..9a3becd 100644
index 1b15c7e..899765d 100644
--- a/boost/config/platform/haiku.hpp
+++ b/boost/config/platform/haiku.hpp
@@ -9,18 +9,26 @@
@@ -401,3 +401,26 @@ index 1b15c7e..9a3becd 100644
--
1.8.3.4
From f2a0265af90e6c7bac9b7627fd0049f7479e5ab3 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Tue, 7 Jan 2014 21:49:28 +0100
Subject: We don't have XSI shared memory, so don't try to use it.
diff --git a/boost/interprocess/detail/workaround.hpp b/boost/interprocess/detail/workaround.hpp
index 6ce2ea1..3b303eb 100644
--- a/boost/interprocess/detail/workaround.hpp
+++ b/boost/interprocess/detail/workaround.hpp
@@ -73,7 +73,7 @@
#endif
//Check for XSI shared memory objects. They are available in nearly all UNIX platforms
- #if !defined(__QNXNTO__)
+ #if !defined(__QNXNTO__) && !defined(__HAIKU__)
#define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
#endif
--
1.8.3.4

View File

@@ -1,35 +0,0 @@
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
index 1b15c7e..9a3becd 100644
--- a/boost/config/platform/haiku.hpp
+++ b/boost/config/platform/haiku.hpp
@@ -9,18 +9,29 @@
#define BOOST_PLATFORM "Haiku"
-#define BOOST_NO_INTRINSIC_WCHAR_T
+//#define BOOST_NO_INTRINSIC_WCHAR_T
#define BOOST_HAS_UNISTD_H
+#define BOOST_NO_AUTO_PTR
+#define GLIBC_HAVE_LONG_LONG
+#define BOOST_HAS_STDINT_H
+//#define BOOST_NOT_STD_WSTRING
+#define BOOST_HASH_NO_EXTENSIONS
#define BOOST_HAS_BETHREADS
#ifndef BOOST_DISABLE_THREADS
# define BOOST_HAS_THREADS
#endif
+#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
+#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#define BOOST_NO_CXX11_STATIC_ASSERT
+#define BOOST_NO_CXX11_VARIADIC_MACROS
//
// thread API's not auto detected:
//
+#define BOOST_HAS_SCHED_YIELD
+#define BOOST_HAS_PTHREAD_YIELD
#define BOOST_HAS_GETTIMEOFDAY
// boilerplate code:

View File

@@ -7,7 +7,7 @@ except the ones implied by the available memory in the machine GMP runs on \
(operand dimension limit is 2^(32)-1 bits on 32-bit machines and 2^37 bits on \
64-bit machines). GMP has a rich set of functions, and the functions have a \
regular interface. The basic interface is for C but wrappers exist for other \
languages including Ada, C++, C#, OCaml, Perl, PHP, and Python. \
languages including Ada, C++, C#, OCaml, Perl, PHP, and Python.
"
HOMEPAGE="http://gmplib.org/"
SRC_URI="ftp://ftp.gmplib.org/pub/gmp-5.1.1/gmp-5.1.1.tar.xz"

View File

@@ -12,7 +12,7 @@ COPYRIGHT="2002-2013 Kitware, Inc., Insight Consortium, All rights reserved."
SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz"
CHECKSUM_MD5="6f5d7b8e7534a5d9e1a7664ba63cf882"
REVISION="7"
ARCHITECTURES="x86_gcc2 x86 ?x86_64"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="
cmake = $portVersion compat >= 2.8

View File

@@ -0,0 +1,56 @@
From b5923cc7d6a06a08421e439e4c5de353ae2bcd77 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Tue, 7 Jan 2014 23:02:10 +0100
Subject: Link to libnetwork, since we use sockets.
diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
index 2110879..d1fed38 100644
--- a/server/CMakeLists.txt
+++ b/server/CMakeLists.txt
@@ -19,6 +19,10 @@ endif()
target_link_libraries(vcmiserver vcmi ${Boost_LIBRARIES} ${RT_LIB} ${DL_LIB})
+if (HAIKU)
+ target_link_libraries(vcmiserver network)
+endif()
+
if (NOT APPLE) # Already inside vcmiclient bundle
install(TARGETS vcmiserver DESTINATION ${BIN_DIR})
endif()
--
1.8.3.4
From 8f2e997081b524b6f97a124df1abed2ec18b23a7 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Wed, 8 Jan 2014 21:14:51 +0100
Subject: Support for renaming threads.
diff --git a/lib/CThreadHelper.cpp b/lib/CThreadHelper.cpp
index 3774c4b..b0aca56 100644
--- a/lib/CThreadHelper.cpp
+++ b/lib/CThreadHelper.cpp
@@ -3,6 +3,8 @@
#ifdef _WIN32
#include <windows.h>
+#elif defined(__HAIKU__)
+ #include <OS.h>
#elif !defined(__APPLE__)
#include <sys/prctl.h>
#endif
@@ -80,6 +82,8 @@ void setThreadName(const std::string &name)
//not supported
#endif
+#elif defined(__HAIKU__)
+ rename_thread(find_thread(NULL), name.c_str());
#elif defined(__linux__)
prctl(PR_SET_NAME, name.c_str(), 0, 0, 0);
#endif
--
1.8.3.4

View File

@@ -1,31 +0,0 @@
From fc69e8dc4e2287cef93857a29d80b8930b90baa9 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 5 Jan 2014 23:14:13 +0100
Subject: Support thread renaming.
diff --git a/lib/CThreadHelper.cpp b/lib/CThreadHelper.cpp
index 3774c4b..b0aca56 100644
--- a/lib/CThreadHelper.cpp
+++ b/lib/CThreadHelper.cpp
@@ -3,6 +3,8 @@
#ifdef _WIN32
#include <windows.h>
+#elif defined(__HAIKU__)
+ #include <OS.h>
#elif !defined(__APPLE__)
#include <sys/prctl.h>
#endif
@@ -80,6 +82,8 @@ void setThreadName(const std::string &name)
//not supported
#endif
+#elif defined(__HAIKU__)
+ rename_thread(find_thread(NULL), name.c_str());
#elif defined(__linux__)
prctl(PR_SET_NAME, name.c_str(), 0, 0, 0);
#endif
--
1.8.3.4

View File

@@ -21,11 +21,16 @@ SECONDARY_ARCHITECTURES="x86"
PATCHES="vcmi-0.94.patchset"
PROVIDES="
vcmi$secondaryArchSuffix = $portVersion
cmd:vcmibuilder
cmd:vcmiclient
cmd:vcmiserver
lib:libminizip$secondaryArchSuffix
lib:libvcmi$secondaryArchSuffix
"
REQUIRES="
haiku >= $haikuVersion
lib:libSDL$secondaryArchSuffix
haiku$secondaryArchSuffix >= $haikuVersion
lib:libSDL_1.2$secondaryArchSuffix
lib:libsdl_mixer$secondaryArchSuffix
lib:libsdl_image$secondaryArchSuffix
lib:libsdl_ttf$secondaryArchSuffix
@@ -64,13 +69,17 @@ BUILD()
{
mkdir -p build
cd build
cmake ..
cmake .. -DDATA_DIR=$relativeDataDir/vcmi -DCMAKE_INSTALL_PREFIX=$prefix \
-DLIB_DIR=$relativeLibDir
make $jobArgs
}
INSTALL()
{
cd build
make install
rm -r $prefix/share # desktop file and png icons we don't care about
}
COPYRIGHT="2005-2013 VCMI Team"

View File

@@ -0,0 +1,52 @@
DESCRIPTION="
This is an editor for resource files (.rsrc), binary files that get compiled \
into an application and can then be accessed by that application.
"
SUMMARY="Resource editor"
HOMEPAGE="https://github.com/HaikuArchives/ResourceEdit"
LICENSE="MIT"
COPYRIGHT="2012-2013 Tri-Edge AI"
SRC_URI="git+https://github.com/HaikuArchives/ResourceEdit.git#1873c33591e2d2ccb3dccb692c175e9f10a0e450"
REVISION="1"
ARCHITECTURES="!x86 ?x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="!x86 ?x86_64"
PROVIDES="
resourceedit$secondaryArchSuffix = $portVersion
app:resourceedit$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
makefile_engine
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:mkdepend
"
BUILD()
{
make
}
INSTALL()
{
# supports "x86" architecture only
mkdir $appsDir
cp objects.x86-gcc4-release/ResourceEdit $appsDir
addAppDeskbarSymlink $appsDir/ResourceEdit
}

View File

@@ -12,26 +12,30 @@ LICENSE="Artistic
COPYRIGHT="1995-2006 Marc-Oliver Ihm (yabasic)
2006-2009 Jan Bungeroth (yab improvements)"
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64"
ARCHITECTURES="!x86_gcc2 !x86 !x86_64"
SECONDARY_ARCHITECTURE="!x86_gcc2 !x86"
#SOURCE_DIR="yab-$portVersion"
PROVIDES="
cmd:yab
yab$secondaryArchSuffix = $portVersion
cmd:yab$secondaryArchSuffix
"
REQUIRES="
haiku >= $haikuVersion
haiku$secondaryArchSuffix >= $haikuVersion
lib:ncurses$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libncurses$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:bison
cmd:flex
cmd:gcc
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:mkdepend
cmd:perl

View File

@@ -23,6 +23,8 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
fi
SECONDARY_ARCHITECTURES="x86"
PATCHES="haikuwebkit-1.2.2.patchset"
PROVIDES="
haikuwebkit$secondaryArchSuffix = $portVersion
lib:libWebKit$secondaryArchSuffix = $portVersion

View File

@@ -0,0 +1,31 @@
From 8a3edba7aa5d5d96531bac23172e924e8619c71d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
Date: Tue, 7 Jan 2014 21:19:15 +0000
Subject: Haiku: defines cpu options only for x86
diff --git a/Source/cmake/OptionsHaiku.cmake b/Source/cmake/OptionsHaiku.cmake
index fe1ffa8..1135b4c 100644
--- a/Source/cmake/OptionsHaiku.cmake
+++ b/Source/cmake/OptionsHaiku.cmake
@@ -176,10 +176,13 @@ if (CMAKE_BUILD_TYPE STREQUAL release AND CMAKE_COMPILER_IS_GNUCC AND UNIX AND N
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--gc-sections ${CMAKE_SHARED_LINKER_FLAGS}")
endif ()
-# i686 is the official requirement for Haiku, let's try to keep this working for everyone
-# Moreover, our stack isn't 16-byte aligned so this avoid crashes where gcc would otherwise use SSE2 instructions.
-set(CMAKE_C_FLAGS "-march=i686 ${CMAKE_C_FLAGS}")
-set(CMAKE_CXX_FLAGS "-march=i686 ${CMAKE_CXX_FLAGS}")
+string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR)
+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "x86")
+ # i686 is the official requirement for Haiku, let's try to keep this working for everyone
+ # Moreover, our stack isn't 16-byte aligned so this avoid crashes where gcc would otherwise use SSE2 instructions.
+ set(CMAKE_C_FLAGS "-march=i686 ${CMAKE_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "-march=i686 ${CMAKE_CXX_FLAGS}")
+endif ()
if (WTF_USE_TILED_BACKING_STORE)
add_definitions(-DWTF_USE_ACCELERATED_COMPOSITING=1)
--
1.8.3.4

View File

@@ -28,10 +28,10 @@ REQUIRES="
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libz$secondaryArchSuffix >= 1.0.4
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:aclocal
cmd:autoconf
cmd:automake

View File

@@ -1,33 +0,0 @@
DESCRIPTION="Portable Network Graghpics library"
HOMEPAGE="http://www.libpng.org"
SRC_URI="http://prdownloads.sourceforge.net/libpng/libpng-1.5.13.tar.gz?download"
CHECKSUM_MD5="9c5a584d4eb5fe40d0f1bc2090112c65"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD()
{
cd libpng-1.5.13
libtoolize --force --copy
./autogen.sh
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL()
{
cd libpng-1.5.13
make install
}
TEST()
{
cd libpng-1.5.13
make test
}
COPYRIGHT="1998-2012 Glenn Randers-Pehrson
1996-1997 Andreas Dilger
1995-1996 Guy Eric Schalnat, Group 42, Inc."
LICENSE="LibPNG"

View File

@@ -0,0 +1,81 @@
SUMMARY="Portable Network Graphics library"
DESCRIPTION="
libpng is the official PNG reference library. It supports almost all PNG \
features, is extensible, and has been extensively tested for over 17 years
"
HOMEPAGE="http://www.libpng.org"
COPYRIGHT="
1998-2013 Glenn Randers-Pehrson
1996-1997 Andreas Dilger
1995-1996 Guy Eric Schalnat, Group 42, Inc.
"
LICENSE="LibPNG"
SRC_URI="http://prdownloads.sourceforge.net/libpng/libpng-1.6.8.tar.gz"
CHECKSUM_MD5="29b7065906e2551508a0d7eacd19174e"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
libpng$secondaryArchSuffix = $portVersion compat >= 1.6
lib:libpng$secondaryArchSuffix = 16.8.0 compat >= 16
lib:libpng16$secondaryArchSuffix = 16.8.0 compat >= 16
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libz$secondaryArchSuffix >= 1.0.4
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtool >= 2.4.2
cmd:make
"
BUILD()
{
aclocal
libtoolize --force --copy --install
aclocal
autoconf
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs libpng libpng16
fixPkgconfig
# devel package
packageEntries devel \
$binDir \
$developDir \
$manDir/man3
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
libpng${secondaryArchSuffix}_devel = $portVersion compat >= 1.6
cmd:libpng_config$secondaryArchSuffix = $portVersion compat >= 1.6
cmd:libpng16_config$secondaryArchSuffix = $portVersion compat >= 1.6
cmd:pngfix$secondaryArchSuffix = $portVersion compat >= 1.6
cmd:png_fix_itxt$secondaryArchSuffix = $portVersion compat >= 1.6
devel:libpng$secondaryArchSuffix = 16.8.0 compat >= 16
devel:libpng16$secondaryArchSuffix = 16.8.0 compat >= 16
"
REQUIRES_devel="
libpng$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix >= $haikuVersion
lib:libz$secondaryArchSuffix
"

View File

@@ -1,32 +1,96 @@
DESCRIPTION="libtool - a generic library support script"
HOMEPAGE="http://www.gnu.org/software/libtool"
SUMMARY="A generic library support script"
DESCRIPTION="
GNU libtool is a set of shell scripts to automatically configure UNIX
architectures to build shared libraries in a generic fashion.
"
HOMEPAGE="http://www.gnu.org/software/libtool"
COPYRIGHT="2004-2010 Free Software Foundation, Inc."
LICENSE="GNU GPL v2"
SRC_URI="ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz"
CHECKSUM_MD5="d2f3b7d4627e69e13514a40e72a24d50"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="
2.4.2/adjust_config_for_packaging.patch
2.4.2/remove_help2man_dependency.patch
"
PROVIDES="
libtool = $portVersion compat >= 2.4
cmd:libtool = $portVersion compat >= 2.4
cmd:libtoolize = $portVersion compat >= 2.4
devel:libltdl = 7.3.0 compat >= 7
"
REQUIRES="
haiku >= $haikuVersion
libtool_libltdl == $portVersion base
cmd:aclocal
cmd:automake
cmd:sed
cmd:tar
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:aclocal
cmd:autoconf >= 2.62
cmd:autoheader >= 2.62
cmd:gcc
cmd:ld
cmd:make
cmd:nm
cmd:ranlib
cmd:sed
"
BUILD()
{
cd libtool-2.4.2
./bootstrap
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--infodir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/info \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
SED='sed' NM='nm' LD=ld runConfigure ./configure \
--with-gnu-ld
make $jobArgs
# Desperate move to remove the absolute paths from libtool. For some reason
# only for the C++ compiler those are set (not for the C compiler). In
# openSuse libtool doesn't have those variables set either, but building
# according to their libroot.spec produces a libtool that has them set as
# well. My guess is that one has to build libtool without a C++ compiler
# installed to get that result.
sed -i -e 's@^predep_objects=".*"$@predep_objects=""'@ \
-e 's@^postdep_objects=".*"$@postdep_objects=""'@ \
-e 's@^postdeps=".*"$@postdeps=""'@ \
-e 's@^compiler_lib_search_path=".*"$@compiler_lib_search_path=""'@ \
-e 's@^compiler_lib_search_dirs=".*"$@compiler_lib_search_dirs=""'@ \
libtool
}
INSTALL()
{
cd libtool-2.4.2
make install
prepareInstalledDevelLibs libltdl
# libltdl package
packageEntries libltdl \
$libDir/libltdl*
# main package
rmdir $libDir
}
TEST()
{
cd libtool-2.4.2
make check
}
LICENSE="GNU GPL v2"
COPYRIGHT="2004-2011 Free Software Foundation, Inc."
# ----- libltdl package -------------------------------------------------------
SUMMARY_libltdl="The libtool libltdl library"
PROVIDES_libltdl="
libtool_libltdl = $portVersion compat >= 2.4
lib:libltdl = 7.3.0 compat >= 7
"
REQUIRES_libltdl="
haiku >= $haikuVersion
"

View File

@@ -0,0 +1,17 @@
Adjust haiku configuration of upstream libtool for packaging.
diff -ruwN libtool-2.4.2/libltdl/m4/libtool.m4 libtool-2.4.2_haiku/libltdl/m4/libtool.m4
--- libtool-2.4.2/libltdl/m4/libtool.m4 2010-09-22 10:41:19.021233664 +0200
+++ libtool-2.4.2_haiku/libltdl/m4/libtool.m4 2013-04-27 21:00:11.784859136 +0200
@@ -2473,8 +2473,9 @@
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
+ sys_lib_search_path_spec='/boot/common/non-packaged/lib /boot/common/develop/lib /boot/common/lib /boot/system/develop/lib'
+ sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/common/non-packaged/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=no
;;
hpux9* | hpux10* | hpux11*)

View File

@@ -0,0 +1,21 @@
diff --git a/Makefile.am b/Makefile.am
index 268b399..a8236c1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -328,16 +328,6 @@ $(srcdir)/doc/notes.txt: $(srcdir)/doc/notes.texi
$(MAKEINFO) --no-headers $(MAKEINFOFLAGS) -o notes.txt notes.texi
dist_man1_MANS = $(srcdir)/doc/libtool.1 $(srcdir)/doc/libtoolize.1
-MAINTAINERCLEANFILES += $(dist_man1_MANS)
-update_mans = \
- PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \
- $(HELP2MAN) --output=$@
-$(srcdir)/doc/libtool.1: $(srcdir)/$(auxdir)/ltmain.sh
- $(update_mans) --help-option=--help-all libtool
-$(srcdir)/doc/libtoolize.1: $(srcdir)/libtoolize.in
- $(update_mans) libtoolize
-
-
## ------------- ##
## Installation. ##
## ------------- ##