Merged haikuports/haikuports into master

This commit is contained in:
Vale Tolpegin
2014-12-21 09:06:39 -05:00
25 changed files with 2475 additions and 98 deletions

View File

@@ -0,0 +1,870 @@
From f7d6b2b6f44a8f9337c9103d298222747d547ebf Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 12 Mar 2014 21:17:06 +0000
Subject: initial Haiku patch
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index b9f1c6c..7be61d3 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -83,6 +83,35 @@ INSTALL_SCHEMES = {
'scripts': '$userbase/bin',
'data' : '$userbase',
},
+ 'haiku': {
+ 'purelib': '$base/non-packaged/lib/python$py_version_short/site-packages',
+ 'platlib': '$platbase/non-packaged/lib/python$py_version_short/site-packages',
+ 'headers': '$base/non-packaged/develop/headers/python$py_version_short/$dist_name',
+ 'scripts': '$base/non-packaged/bin',
+ 'data' : '$base/non-packaged',
+ },
+ 'haiku_vendor': {
+ 'purelib': '$base/lib/python$py_version_short/vendor-packages',
+ 'platlib': '$platbase/lib/python$py_version_short/vendor-packages',
+ 'headers': '$base/develop/headers/python$py_version_short/$dist_name',
+ 'scripts': '$base/bin',
+ 'data' : '$base',
+ },
+ 'haiku_home': {
+ 'purelib': '$base/lib/python',
+ 'platlib': '$base/lib/python',
+ 'headers': '$base/develop/headers/python/$dist_name',
+ 'scripts': '$base/bin',
+ 'data' : '$base',
+ },
+ 'haiku_user': {
+ 'purelib': '$usersite',
+ 'platlib': '$usersite',
+ 'headers': '$userbase/develop/headers/python$py_version_short/$dist_name',
+ 'scripts': '$userbase/bin',
+ 'data' : '$userbase',
+ },
+
}
# The keys to an installation scheme; if any new types of files are to be
@@ -416,10 +445,16 @@ class install (Command):
raise DistutilsPlatformError(
"User base directory is not specified")
self.install_base = self.install_platbase = self.install_userbase
- self.select_scheme("unix_user")
+ if sys.platform.startswith('haiku'):
+ self.select_scheme("haiku_user")
+ else:
+ self.select_scheme("unix_user")
elif self.home is not None:
self.install_base = self.install_platbase = self.home
- self.select_scheme("unix_home")
+ if sys.platform.startswith('haiku'):
+ self.select_scheme("haiku_home")
+ else:
+ self.select_scheme("unix_home")
else:
if self.prefix is None:
if self.exec_prefix is not None:
@@ -435,7 +470,13 @@ class install (Command):
self.install_base = self.prefix
self.install_platbase = self.exec_prefix
- self.select_scheme("unix_prefix")
+ if sys.platform.startswith('haiku'):
+ if os.environ.get('HAIKU_USE_VENDOR_DIRECTORIES') == '1':
+ self.select_scheme("haiku_vendor")
+ else:
+ self.select_scheme("haiku")
+ else:
+ self.select_scheme("unix_prefix")
# finalize_unix ()
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 4aa9334..d06e5e8 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -90,7 +90,8 @@ def get_python_inc(plat_specific=0, prefix=None):
# Include is located in the srcdir
inc_dir = os.path.join(srcdir, "Include")
return inc_dir
- return os.path.join(prefix, "include", "python" + get_python_version())
+ inc_dir = "include" if sys.platform != "haiku1" else "develop/headers"
+ return os.path.join(prefix, inc_dir, "python" + get_python_version())
elif os.name == "nt":
return os.path.join(prefix, "include")
elif os.name == "os2":
@@ -119,12 +120,20 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
- libpython = os.path.join(prefix,
- "lib", "python" + get_python_version())
- if standard_lib:
- return libpython
+ if sys.platform.startswith('haiku'):
+ if standard_lib:
+ return os.path.join(prefix,
+ "lib", "python" + get_python_version())
+ return os.path.join(prefix, "non-packaged",
+ "lib", "python" + get_python_version(),
+ "site-packages")
else:
- return os.path.join(libpython, "site-packages")
+ libpython = os.path.join(prefix,
+ "lib", "python" + get_python_version())
+ if standard_lib:
+ return libpython
+ else:
+ return os.path.join(libpython, "site-packages")
elif os.name == "nt":
if standard_lib:
diff --git a/Lib/plat-haiku1/IN.py b/Lib/plat-haiku1/IN.py
new file mode 100644
index 0000000..362cb41
--- /dev/null
+++ b/Lib/plat-haiku1/IN.py
@@ -0,0 +1,327 @@
+# Generated by h2py from /boot/develop/headers/be/net/netinet/in.h
+
+# Included from socket.h
+
+# Included from BeBuild.h
+B_BEOS_VERSION_4 = 0x0400
+B_BEOS_VERSION_4_5 = 0x0450
+B_BEOS_VERSION_5 = 0x0500
+B_BEOS_VERSION = B_BEOS_VERSION_5
+B_BEOS_VERSION_MAUI = B_BEOS_VERSION_5
+_PR2_COMPATIBLE_ = 1
+_PR3_COMPATIBLE_ = 1
+_R4_COMPATIBLE_ = 1
+_R4_5_COMPATIBLE_ = 1
+_PR2_COMPATIBLE_ = 0
+_PR3_COMPATIBLE_ = 0
+_R4_COMPATIBLE_ = 1
+_R4_5_COMPATIBLE_ = 1
+def _UNUSED(x): return x
+
+
+# Included from sys/types.h
+
+# Included from time.h
+
+# Included from be_setup.h
+def __std(ref): return ref
+
+__be_os = 2
+__dest_os = __be_os
+__MSL__ = 0x4011
+__GLIBC__ = -2
+__GLIBC_MINOR__ = 1
+
+# Included from null.h
+NULL = (0)
+NULL = 0L
+
+# Included from size_t.h
+
+# Included from stddef.h
+
+# Included from wchar_t.h
+CLOCKS_PER_SEC = 1000
+CLK_TCK = CLOCKS_PER_SEC
+MAX_TIMESTR = 70
+
+# Included from sys/time.h
+
+# Included from ByteOrder.h
+
+# Included from endian.h
+__LITTLE_ENDIAN = 1234
+LITTLE_ENDIAN = __LITTLE_ENDIAN
+__BYTE_ORDER = __LITTLE_ENDIAN
+BYTE_ORDER = __BYTE_ORDER
+__BIG_ENDIAN = 0
+BIG_ENDIAN = 0
+__BIG_ENDIAN = 4321
+BIG_ENDIAN = __BIG_ENDIAN
+__BYTE_ORDER = __BIG_ENDIAN
+BYTE_ORDER = __BYTE_ORDER
+__LITTLE_ENDIAN = 0
+LITTLE_ENDIAN = 0
+__PDP_ENDIAN = 3412
+PDP_ENDIAN = __PDP_ENDIAN
+
+# Included from SupportDefs.h
+
+# Included from Errors.h
+
+# Included from limits.h
+
+# Included from float.h
+FLT_ROUNDS = 1
+FLT_RADIX = 2
+FLT_MANT_DIG = 24
+FLT_DIG = 6
+FLT_MIN_EXP = (-125)
+FLT_MIN_10_EXP = (-37)
+FLT_MAX_EXP = 128
+FLT_MAX_10_EXP = 38
+DBL_MANT_DIG = 53
+DBL_DIG = 15
+DBL_MIN_EXP = (-1021)
+DBL_MIN_10_EXP = (-308)
+DBL_MAX_EXP = 1024
+DBL_MAX_10_EXP = 308
+LDBL_MANT_DIG = DBL_MANT_DIG
+LDBL_DIG = DBL_DIG
+LDBL_MIN_EXP = DBL_MIN_EXP
+LDBL_MIN_10_EXP = DBL_MIN_10_EXP
+LDBL_MAX_EXP = DBL_MAX_EXP
+LDBL_MAX_10_EXP = DBL_MAX_10_EXP
+CHAR_BIT = (8)
+SCHAR_MIN = (-127-1)
+SCHAR_MAX = (127)
+CHAR_MIN = SCHAR_MIN
+CHAR_MAX = SCHAR_MAX
+MB_LEN_MAX = (1)
+SHRT_MIN = (-32767-1)
+SHRT_MAX = (32767)
+LONG_MIN = (-2147483647L-1)
+LONG_MAX = (2147483647L)
+INT_MIN = LONG_MIN
+INT_MAX = LONG_MAX
+ARG_MAX = (32768)
+ATEXIT_MAX = (32)
+CHILD_MAX = (1024)
+IOV_MAX = (256)
+FILESIZEBITS = (64)
+LINK_MAX = (1)
+LOGIN_NAME_MAX = (32)
+MAX_CANON = (255)
+MAX_INPUT = (255)
+NAME_MAX = (256)
+NGROUPS_MAX = (32)
+OPEN_MAX = (128)
+PATH_MAX = (1024)
+PIPE_MAX = (512)
+SSIZE_MAX = (2147483647L)
+TTY_NAME_MAX = (256)
+TZNAME_MAX = (32)
+SYMLINKS_MAX = (16)
+_POSIX_ARG_MAX = (32768)
+_POSIX_CHILD_MAX = (1024)
+_POSIX_LINK_MAX = (1)
+_POSIX_LOGIN_NAME_MAX = (9)
+_POSIX_MAX_CANON = (255)
+_POSIX_MAX_INPUT = (255)
+_POSIX_NAME_MAX = (255)
+_POSIX_NGROUPS_MAX = (0)
+_POSIX_OPEN_MAX = (128)
+_POSIX_PATH_MAX = (1024)
+_POSIX_PIPE_BUF = (512)
+_POSIX_SSIZE_MAX = (2147483647L)
+_POSIX_STREAM_MAX = (8)
+_POSIX_TTY_NAME_MAX = (256)
+_POSIX_TZNAME_MAX = (3)
+B_GENERAL_ERROR_BASE = LONG_MIN
+B_OS_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x1000
+B_APP_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x2000
+B_INTERFACE_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x3000
+B_MEDIA_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x4000
+B_TRANSLATION_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x4800
+B_MIDI_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x5000
+B_STORAGE_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x6000
+B_POSIX_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x7000
+B_MAIL_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x8000
+B_PRINT_ERROR_BASE = B_GENERAL_ERROR_BASE + 0x9000
+B_DEVICE_ERROR_BASE = B_GENERAL_ERROR_BASE + 0xa000
+B_ERRORS_END = (B_GENERAL_ERROR_BASE + 0xffff)
+E2BIG = (B_POSIX_ERROR_BASE + 1)
+ECHILD = (B_POSIX_ERROR_BASE + 2)
+EDEADLK = (B_POSIX_ERROR_BASE + 3)
+EFBIG = (B_POSIX_ERROR_BASE + 4)
+EMLINK = (B_POSIX_ERROR_BASE + 5)
+ENFILE = (B_POSIX_ERROR_BASE + 6)
+ENODEV = (B_POSIX_ERROR_BASE + 7)
+ENOLCK = (B_POSIX_ERROR_BASE + 8)
+ENOSYS = (B_POSIX_ERROR_BASE + 9)
+ENOTTY = (B_POSIX_ERROR_BASE + 10)
+ENXIO = (B_POSIX_ERROR_BASE + 11)
+ESPIPE = (B_POSIX_ERROR_BASE + 12)
+ESRCH = (B_POSIX_ERROR_BASE + 13)
+EFPOS = (B_POSIX_ERROR_BASE + 14)
+ESIGPARM = (B_POSIX_ERROR_BASE + 15)
+EDOM = (B_POSIX_ERROR_BASE + 16)
+ERANGE = (B_POSIX_ERROR_BASE + 17)
+EPROTOTYPE = (B_POSIX_ERROR_BASE + 18)
+EPROTONOSUPPORT = (B_POSIX_ERROR_BASE + 19)
+EPFNOSUPPORT = (B_POSIX_ERROR_BASE + 20)
+EAFNOSUPPORT = (B_POSIX_ERROR_BASE + 21)
+EADDRINUSE = (B_POSIX_ERROR_BASE + 22)
+EADDRNOTAVAIL = (B_POSIX_ERROR_BASE + 23)
+ENETDOWN = (B_POSIX_ERROR_BASE + 24)
+ENETUNREACH = (B_POSIX_ERROR_BASE + 25)
+ENETRESET = (B_POSIX_ERROR_BASE + 26)
+ECONNABORTED = (B_POSIX_ERROR_BASE + 27)
+ECONNRESET = (B_POSIX_ERROR_BASE + 28)
+EISCONN = (B_POSIX_ERROR_BASE + 29)
+ENOTCONN = (B_POSIX_ERROR_BASE + 30)
+ESHUTDOWN = (B_POSIX_ERROR_BASE + 31)
+ECONNREFUSED = (B_POSIX_ERROR_BASE + 32)
+EHOSTUNREACH = (B_POSIX_ERROR_BASE + 33)
+ENOPROTOOPT = (B_POSIX_ERROR_BASE + 34)
+ENOBUFS = (B_POSIX_ERROR_BASE + 35)
+EINPROGRESS = (B_POSIX_ERROR_BASE + 36)
+EALREADY = (B_POSIX_ERROR_BASE + 37)
+EILSEQ = (B_POSIX_ERROR_BASE + 38)
+ENOMSG = (B_POSIX_ERROR_BASE + 39)
+ESTALE = (B_POSIX_ERROR_BASE + 40)
+EOVERFLOW = (B_POSIX_ERROR_BASE + 41)
+EMSGSIZE = (B_POSIX_ERROR_BASE + 42)
+EOPNOTSUPP = (B_POSIX_ERROR_BASE + 43)
+ENOTSOCK = (B_POSIX_ERROR_BASE + 44)
+false = 0
+true = 1
+NULL = (0)
+FALSE = 0
+TRUE = 1
+
+# Included from TypeConstants.h
+B_HOST_IS_LENDIAN = 1
+B_HOST_IS_BENDIAN = 0
+def B_HOST_TO_LENDIAN_DOUBLE(arg): return (double)(arg)
+
+def B_HOST_TO_LENDIAN_FLOAT(arg): return (float)(arg)
+
+def B_HOST_TO_LENDIAN_INT64(arg): return (uint64)(arg)
+
+def B_HOST_TO_LENDIAN_INT32(arg): return (uint32)(arg)
+
+def B_HOST_TO_LENDIAN_INT16(arg): return (uint16)(arg)
+
+def B_HOST_TO_BENDIAN_DOUBLE(arg): return __swap_double(arg)
+
+def B_HOST_TO_BENDIAN_FLOAT(arg): return __swap_float(arg)
+
+def B_HOST_TO_BENDIAN_INT64(arg): return __swap_int64(arg)
+
+def B_HOST_TO_BENDIAN_INT32(arg): return __swap_int32(arg)
+
+def B_HOST_TO_BENDIAN_INT16(arg): return __swap_int16(arg)
+
+def B_LENDIAN_TO_HOST_DOUBLE(arg): return (double)(arg)
+
+def B_LENDIAN_TO_HOST_FLOAT(arg): return (float)(arg)
+
+def B_LENDIAN_TO_HOST_INT64(arg): return (uint64)(arg)
+
+def B_LENDIAN_TO_HOST_INT32(arg): return (uint32)(arg)
+
+def B_LENDIAN_TO_HOST_INT16(arg): return (uint16)(arg)
+
+def B_BENDIAN_TO_HOST_DOUBLE(arg): return __swap_double(arg)
+
+def B_BENDIAN_TO_HOST_FLOAT(arg): return __swap_float(arg)
+
+def B_BENDIAN_TO_HOST_INT64(arg): return __swap_int64(arg)
+
+def B_BENDIAN_TO_HOST_INT32(arg): return __swap_int32(arg)
+
+def B_BENDIAN_TO_HOST_INT16(arg): return __swap_int16(arg)
+
+B_HOST_IS_LENDIAN = 0
+B_HOST_IS_BENDIAN = 1
+def B_HOST_TO_LENDIAN_DOUBLE(arg): return __swap_double(arg)
+
+def B_HOST_TO_LENDIAN_FLOAT(arg): return __swap_float(arg)
+
+def B_HOST_TO_LENDIAN_INT64(arg): return __swap_int64(arg)
+
+def B_HOST_TO_LENDIAN_INT32(arg): return __swap_int32(arg)
+
+def B_HOST_TO_LENDIAN_INT16(arg): return __swap_int16(arg)
+
+def B_HOST_TO_BENDIAN_DOUBLE(arg): return (double)(arg)
+
+def B_HOST_TO_BENDIAN_FLOAT(arg): return (float)(arg)
+
+def B_HOST_TO_BENDIAN_INT64(arg): return (uint64)(arg)
+
+def B_HOST_TO_BENDIAN_INT32(arg): return (uint32)(arg)
+
+def B_HOST_TO_BENDIAN_INT16(arg): return (uint16)(arg)
+
+def B_LENDIAN_TO_HOST_DOUBLE(arg): return __swap_double(arg)
+
+def B_LENDIAN_TO_HOST_FLOAT(arg): return __swap_float(arg)
+
+def B_LENDIAN_TO_HOST_INT64(arg): return __swap_int64(arg)
+
+def B_LENDIAN_TO_HOST_INT32(arg): return __swap_int32(arg)
+
+def B_LENDIAN_TO_HOST_INT16(arg): return __swap_int16(arg)
+
+def B_BENDIAN_TO_HOST_DOUBLE(arg): return (double)(arg)
+
+def B_BENDIAN_TO_HOST_FLOAT(arg): return (float)(arg)
+
+def B_BENDIAN_TO_HOST_INT64(arg): return (uint64)(arg)
+
+def B_BENDIAN_TO_HOST_INT32(arg): return (uint32)(arg)
+
+def B_BENDIAN_TO_HOST_INT16(arg): return (uint16)(arg)
+
+def B_SWAP_DOUBLE(arg): return __swap_double(arg)
+
+def B_SWAP_FLOAT(arg): return __swap_float(arg)
+
+def B_SWAP_INT64(arg): return __swap_int64(arg)
+
+def B_SWAP_INT32(arg): return __swap_int32(arg)
+
+def B_SWAP_INT16(arg): return __swap_int16(arg)
+
+def htonl(x): return B_HOST_TO_BENDIAN_INT32(x)
+
+def ntohl(x): return B_BENDIAN_TO_HOST_INT32(x)
+
+def htons(x): return B_HOST_TO_BENDIAN_INT16(x)
+
+def ntohs(x): return B_BENDIAN_TO_HOST_INT16(x)
+
+AF_INET = 1
+INADDR_ANY = 0x00000000
+INADDR_BROADCAST = 0xffffffff
+INADDR_LOOPBACK = 0x7f000001
+SOL_SOCKET = 1
+SO_DEBUG = 1
+SO_REUSEADDR = 2
+SO_NONBLOCK = 3
+SO_REUSEPORT = 4
+MSG_OOB = 0x1
+SOCK_DGRAM = 1
+SOCK_STREAM = 2
+IPPROTO_UDP = 1
+IPPROTO_TCP = 2
+IPPROTO_ICMP = 3
+B_UDP_MAX_SIZE = (65536 - 1024)
+FD_SETSIZE = 256
+FDSETSIZE = FD_SETSIZE
+NFDBITS = 32
+def _FDMSKNO(fd): return ((fd) / NFDBITS)
+
+def _FDBITNO(fd): return ((fd) % NFDBITS)
diff --git a/Lib/plat-haiku1/regen b/Lib/plat-haiku1/regen
new file mode 100644
index 0000000..d9da80c
--- /dev/null
+++ b/Lib/plat-haiku1/regen
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+H2PY=../../Tools/scripts/h2py.py
+HEADERS=/boot/develop/headers
+
+set -v
+python $H2PY -i '(u_long)' $HEADERS/posix/netinet/in.h
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py
index b45d79b..d1f77f7 100644
--- a/Lib/test/test_fileio.py
+++ b/Lib/test/test_fileio.py
@@ -299,6 +299,7 @@ class OtherFileTests(unittest.TestCase):
self.assertEqual(f.writable(), True)
if sys.platform != "darwin" and \
'bsd' not in sys.platform and \
+ 'haiku' not in sys.platform and \
not sys.platform.startswith('sunos'):
# Somehow /dev/tty appears seekable on some BSDs
self.assertEqual(f.seekable(), False)
diff --git a/Modules/resource.c b/Modules/resource.c
index 53a6c3e..6c5f52f 100644
--- a/Modules/resource.c
+++ b/Modules/resource.c
@@ -86,6 +86,7 @@ resource_getrusage(PyObject *self, PyObject *args)
PyFloat_FromDouble(doubletime(ru.ru_utime)));
PyStructSequence_SET_ITEM(result, 1,
PyFloat_FromDouble(doubletime(ru.ru_stime)));
+#ifndef __HAIKU__
PyStructSequence_SET_ITEM(result, 2, PyInt_FromLong(ru.ru_maxrss));
PyStructSequence_SET_ITEM(result, 3, PyInt_FromLong(ru.ru_ixrss));
PyStructSequence_SET_ITEM(result, 4, PyInt_FromLong(ru.ru_idrss));
@@ -100,6 +101,7 @@ resource_getrusage(PyObject *self, PyObject *args)
PyStructSequence_SET_ITEM(result, 13, PyInt_FromLong(ru.ru_nsignals));
PyStructSequence_SET_ITEM(result, 14, PyInt_FromLong(ru.ru_nvcsw));
PyStructSequence_SET_ITEM(result, 15, PyInt_FromLong(ru.ru_nivcsw));
+#endif
if (PyErr_Occurred()) {
Py_DECREF(result);
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 880f311..54b66f7 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -4868,7 +4868,9 @@ init_socket(void)
#ifndef __BEOS__
/* We have incomplete socket support. */
PyModule_AddIntConstant(m, "SOCK_RAW", SOCK_RAW);
+#ifndef __HAIKU__
PyModule_AddIntConstant(m, "SOCK_SEQPACKET", SOCK_SEQPACKET);
+#endif
#if defined(SOCK_RDM)
PyModule_AddIntConstant(m, "SOCK_RDM", SOCK_RDM);
#endif
diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h
index 8515499..4e33e4f 100644
--- a/Modules/socketmodule.h
+++ b/Modules/socketmodule.h
@@ -47,6 +47,10 @@ typedef int socklen_t;
# undef AF_NETLINK
#endif
+#if defined(__HAIKU__)
+#undef HAVE_BLUETOOTH_BLUETOOTH_H
+#endif
+
#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
#include <bluetooth/bluetooth.h>
#include <bluetooth/rfcomm.h>
diff --git a/Modules/spwdmodule.c b/Modules/spwdmodule.c
index 957de58..69be5bb 100644
--- a/Modules/spwdmodule.c
+++ b/Modules/spwdmodule.c
@@ -79,7 +79,9 @@ static PyObject *mkspent(struct spwd *p)
SETS(setIndex++, p->sp_namp);
SETS(setIndex++, p->sp_pwdp);
+#ifndef __HAIKU__
SETI(setIndex++, p->sp_lstchg);
+#endif
SETI(setIndex++, p->sp_min);
SETI(setIndex++, p->sp_max);
SETI(setIndex++, p->sp_warn);
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 12c43b0..206b325 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -1006,11 +1006,11 @@ floatsleep(double secs)
return -1;
}
Py_END_ALLOW_THREADS
-#elif defined(__BEOS__)
+#elif defined(__BEOS__) || defined(__HAIKU__)
/* This sleep *CAN BE* interrupted. */
{
if( secs <= 0.0 ) {
- return;
+ return 0;
}
Py_BEGIN_ALLOW_THREADS
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index f052574..6a77f0d 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -19,7 +19,7 @@
*/
#if defined(MS_WINDOWS) && defined(HAVE_USABLE_WCHAR_T)
const char *Py_FileSystemDefaultEncoding = "mbcs";
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__HAIKU__)
const char *Py_FileSystemDefaultEncoding = "utf-8";
#else
const char *Py_FileSystemDefaultEncoding = NULL; /* use default */
diff --git a/Tools/scripts/h2py.py b/Tools/scripts/h2py.py
index c64501e..7df3ad7 100755
--- a/Tools/scripts/h2py.py
+++ b/Tools/scripts/h2py.py
@@ -50,7 +50,7 @@ except KeyError:
searchdirs=os.environ['INCLUDE'].split(';')
except KeyError:
try:
- if sys.platform.find("beos") == 0:
+ if sys.platform.find("beos") == 0 or sys.platform.find("haiku1") == 0:
searchdirs=os.environ['BEINCLUDES'].split(';')
elif sys.platform.startswith("atheos"):
searchdirs=os.environ['C_INCLUDE_PATH'].split(':')
diff --git a/configure.ac b/configure.ac
index 54f8c0f..1ea438a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -883,7 +883,7 @@ if test $enable_shared = "yes"; then
RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
INSTSONAME="$LDLIBRARY".$SOVERSION
;;
- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
+ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|Haiku*)
LDLIBRARY='libpython$(VERSION).so'
BLDLIBRARY='-L. -lpython$(VERSION)'
RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
@@ -891,6 +891,9 @@ if test $enable_shared = "yes"; then
FreeBSD*)
SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
;;
+ Haiku*)
+ RUNSHARED=LIBRARY_PATH=`pwd`:${LIBRARY_PATH}
+ ;;
esac
INSTSONAME="$LDLIBRARY".$SOVERSION
;;
@@ -1006,7 +1009,7 @@ AC_PROG_MKDIR_P
AC_SUBST(LN)
if test -z "$LN" ; then
case $ac_sys_system in
- BeOS*) LN="ln -s";;
+ BeOS*|Haiku*) LN="ln -s";;
CYGWIN*) LN="ln -s";;
atheos*) LN="ln -s";;
*) LN=ln;;
@@ -2030,7 +2033,7 @@ then
BLDSHARED="$LDSHARED"
fi
;;
- Linux*|GNU*|QNX*)
+ Linux*|GNU*|QNX*|Haiku*)
LDSHARED='$(CC) -shared'
LDCXXSHARED='$(CXX) -shared';;
BSD/OS*/4*)
@@ -2102,7 +2105,7 @@ then
then CCSHARED="-fPIC";
else CCSHARED="+z";
fi;;
- Linux*|GNU*) CCSHARED="-fPIC";;
+ Linux*|GNU*|Haiku*) CCSHARED="-fPIC";;
BSD/OS*/4*) CCSHARED="-fpic";;
FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";;
OpenUNIX*|UnixWare*)
@@ -2134,7 +2137,7 @@ then
LINKFORSHARED="-Wl,-E -Wl,+s";;
# LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";;
- Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";;
+ Linux*|GNU*|Haiku*) LINKFORSHARED="-Xlinker -export-dynamic";;
# -u libsys_s pulls in all symbols in libsys
Darwin/*)
# -u _PyMac_Error is needed to pull in the mac toolbox glue,
@@ -2249,14 +2252,16 @@ case "$ac_sys_system" in
esac
# Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl.
-# BeOS' sockets are stashed in libnet.
AC_CHECK_LIB(nsl, t_open, [LIBS="-lnsl $LIBS"]) # SVR4
AC_CHECK_LIB(socket, socket, [LIBS="-lsocket $LIBS"], [], $LIBS) # SVR4 sockets
+# BeOS' sockets are stashed in libnet.
+# Haiku's sockets are stashed in libnetwork.
case "$ac_sys_system" in
-BeOS*)
-AC_CHECK_LIB(net, socket, [LIBS="-lnet $LIBS"], [], $LIBS) # BeOS
-;;
+ BeOS*)
+ AC_CHECK_LIB(net, socket, [LIBS="-lnet $LIBS"], [], $LIBS);;
+ Haiku*)
+ AC_CHECK_LIB(network, socket, [LIBS="-lnetwork $LIBS"], [], $LIBS);;
esac
AC_MSG_CHECKING(for --with-libs)
@@ -3592,7 +3597,7 @@ fi],
AC_SUBST(LIBM)
case $ac_sys_system in
Darwin) ;;
-BeOS) ;;
+BeOS|Haiku) ;;
*) LIBM=-lm
esac
AC_MSG_CHECKING(for --with-libm=STRING)
diff --git a/setup.py b/setup.py
index a46bf35..9fe247f 100644
--- a/setup.py
+++ b/setup.py
@@ -523,6 +523,12 @@ class PyBuildExt(build_ext):
lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
inc_dirs += ['/system/include', '/atheos/autolnk/include']
inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
+
+ # Haiku-specific include and library locations
+ if host_platform == 'haiku1':
+ inc_dirs += ['/boot/develop/headers/posix',
+ '/boot/system/develop/headers']
+ lib_dirs += ['/boot/system/develop/lib']
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
if host_platform in ['osf1', 'unixware7', 'openunix8']:
@@ -551,7 +557,7 @@ class PyBuildExt(build_ext):
# Check for MacOS X, which doesn't need libm.a at all
math_libs = ['m']
- if host_platform in ['darwin', 'beos']:
+ if host_platform in ['darwin', 'beos', 'haiku1']:
math_libs = []
# XXX Omitted modules: gl, pure, dl, SGI-specific modules
@@ -790,15 +796,22 @@ class PyBuildExt(build_ext):
'/usr/local/ssl/include',
'/usr/contrib/ssl/include/'
]
- ssl_incs = find_file('openssl/ssl.h', inc_dirs,
+ ssl_incs = find_file('openssl/ssl.h', [],
+ inc_dirs + search_for_ssl_incs_in
+ )
+ ssl_incs_to_add = find_file('openssl/ssl.h', inc_dirs,
search_for_ssl_incs_in
)
if ssl_incs is not None:
krb5_h = find_file('krb5.h', inc_dirs,
['/usr/kerberos/include'])
if krb5_h:
- ssl_incs += krb5_h
- ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
+ ssl_incs_to_add += krb5_h
+ ssl_libs = find_library_file(self.compiler, 'ssl', [],
+ lib_dirs + ['/usr/local/ssl/lib',
+ '/usr/contrib/ssl/lib/'
+ ] )
+ ssl_libs_to_add = find_library_file(self.compiler, 'ssl', lib_dirs,
['/usr/local/ssl/lib',
'/usr/contrib/ssl/lib/'
] )
@@ -806,8 +819,8 @@ class PyBuildExt(build_ext):
if (ssl_incs is not None and
ssl_libs is not None):
exts.append( Extension('_ssl', ['_ssl.c'],
- include_dirs = ssl_incs,
- library_dirs = ssl_libs,
+ include_dirs = ssl_incs_to_add,
+ library_dirs = ssl_libs_to_add,
libraries = ['ssl', 'crypto'],
depends = ['socketmodule.h']), )
else:
@@ -845,8 +858,8 @@ class PyBuildExt(build_ext):
# The _hashlib module wraps optimized implementations
# of hash functions from the OpenSSL library.
exts.append( Extension('_hashlib', ['_hashopenssl.c'],
- include_dirs = ssl_incs,
- library_dirs = ssl_libs,
+ include_dirs = ssl_incs_to_add,
+ library_dirs = ssl_libs_to_add,
libraries = ['ssl', 'crypto']) )
else:
print ("warning: openssl 0x%08x is too old for _hashlib" %
@@ -1325,7 +1338,7 @@ class PyBuildExt(build_ext):
missing.append('resource')
# Sun yellow pages. Some systems have the functions in libc.
- if (host_platform not in ['cygwin', 'atheos', 'qnx6'] and
+ if (host_platform not in ['cygwin', 'atheos', 'qnx6', 'haiku1'] and
find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None):
if (self.compiler.find_library_file(lib_dirs, 'nsl')):
libs = ['nsl']
--
1.8.3.4
From 571ed69e1ab40fd11c4a1fdcb6198ff787c5129b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 5 Apr 2014 21:16:40 +0000
Subject: fix pyconfig.h path
diff --git a/Makefile.pre.in b/Makefile.pre.in
index bcd83bf..f93c10a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -105,7 +105,7 @@ BINDIR= @bindir@
LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
-CONFINCLUDEDIR= $(exec_prefix)/include
+CONFINCLUDEDIR= $(INCLUDEDIR)
SCRIPTDIR= $(prefix)/lib
# Detailed destination directories
--
1.8.3.4
From d49a8ee2494391b3a1c50bc652f0838ac036e046 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Wed, 18 Jun 2014 12:19:13 +0000
Subject: Import missed change from the 2.6.9 patches
This makes our site- and vendor- packages work properly again.
It's sill missing the changes to addusersitepackages. This method was apparently refactored, and I don't have enough Python knowledge to redo our changes in the new code. User packages will not workas
expected with
this version of Python.
diff --git a/Lib/site.py b/Lib/site.py
index d2e18f1..34d5aee 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -287,6 +287,13 @@ def getsitepackages():
if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
+ elif sys.platform.startswith('haiku'):
+ sitepackages.append(os.path.join(prefix, "non-packaged", "lib",
+ "python" + sys.version[:3],
+ "site-packages"))
+ sitepackages.append(os.path.join(prefix, "lib",
+ "python" + sys.version[:3],
+ "vendor-packages"))
elif os.sep == '/':
sitepackages.append(os.path.join(prefix, "lib",
"python" + sys.version[:3],
--
1.8.3.4
From a0b72ccfc2f385c3ec9148523d981c7d971e2636 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 21 Sep 2014 18:59:44 +0200
Subject: gcc2 fix.
diff --git a/Modules/_ctypes/libffi/include/ffi_common.h b/Modules/_ctypes/libffi/include/ffi_common.h
index 650ca69..02a1913 100644
--- a/Modules/_ctypes/libffi/include/ffi_common.h
+++ b/Modules/_ctypes/libffi/include/ffi_common.h
@@ -115,7 +115,7 @@ typedef signed int SINT64 __attribute__((__mode__(__DI__)));
typedef float FLOAT32;
-#ifndef __GNUC__
+#if !defined(__GNUC__) || __GNUC__ < 3
#define __builtin_expect(x, expected_value) (x)
#endif
#define LIKELY(x) __builtin_expect(!!(x),1)
--
1.8.3.4
From d50a28e47cbd54263d065f47b2650333d917c2b9 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 28 Nov 2014 16:26:28 +0000
Subject: tarfile: let link fail and catch exception.
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 57ea877..bc3f82c 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -2242,7 +2242,7 @@ class TarFile(object):
(platform limitation), we try to make a copy of the referenced file
instead of a link.
"""
- if hasattr(os, "symlink") and hasattr(os, "link"):
+ try:
# For systems that support symbolic and hard links.
if tarinfo.issym():
if os.path.lexists(targetpath):
@@ -2256,7 +2256,7 @@ class TarFile(object):
os.link(tarinfo._link_target, targetpath)
else:
self._extract_member(self._find_link_target(tarinfo), targetpath)
- else:
+ except (os.error, AttributeError):
try:
self._extract_member(self._find_link_target(tarinfo), targetpath)
except KeyError:
--
1.8.3.4

View File

@@ -0,0 +1,110 @@
SUMMARY="An interpreted, interactive, object-oriented programming language"
DESCRIPTION="
Python is a programming language that lets you work more quickly and integrate \
your systems more effectively. You can learn to use Python and see almost \
immediate gains in productivity and lower maintenance costs.
Python runs on Windows, Linux/Unix, Mac OS X, and has been ported to the Java \
and .NET virtual machines.
Python is free to use, even for commercial products, because of its \
OSI-approved open source license.
"
HOMEPAGE="http://www.python.org"
LICENSE="Python"
COPYRIGHT="1990-2012, Python Software Foundation"
SRC_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz"
CHECKSUM_SHA256="90d27e14ea7e03570026850e2e50ba71ad20b7eb31035aada1cf3def8f8d4916"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="python-$portVersion.patchset"
PROVIDES="
python = $portVersion compat >= 2.7
cmd:2to3 = $portVersion compat >= 2.7
cmd:idle = $portVersion compat >= 2.7
cmd:pydoc = $portVersion compat >= 2.7
cmd:python = $portVersion compat >= 2.7
cmd:python2 = $portVersion compat >= 2.7
cmd:python2_config = $portVersion compat >= 2.7
cmd:python2.7 = $portVersion compat >= 2.7
cmd:python2.7_config = $portVersion compat >= 2.7
cmd:python_config = $portVersion compat >= 2.7
cmd:smtpd.py = $portVersion compat >= 2.7
devel:libpython2.7 = 1.0
lib:libpython2.7 = 1.0
"
REQUIRES="
haiku >= $haikuVersion
lib:libbz2
lib:libncurses
lib:libssl
lib:libreadline
lib:libsqlite3
lib:libz
lib:libffi
"
BUILD_REQUIRES="
devel:libbz2
devel:libffi
devel:libncurses
devel:libssl
devel:libreadline
devel:libsqlite3
devel:libz
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:aclocal
cmd:autoconf
cmd:find
cmd:gcc
cmd:ld
cmd:libtoolize
cmd:make
cmd:pkg_config
"
SOURCE_DIR="Python-$portVersion"
GLOBAL_WRITABLE_FILES="
non-packaged/lib/python2.7/site-packages directory keep-old
"
BUILD()
{
cd Modules/_ctypes/libffi
libtoolize --force --copy --install
cd ../../..
libtoolize --force --copy --install
aclocal
autoconf
runConfigure ./configure --with-system-ffi \
--enable-shared \
--enable-unicode=ucs4
# prevent make from rebuilding stuff that requires python
touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs libpython2.7
fixPkgconfig
mkdir -p $prefix/lib/python2.7/vendor-packages
echo 'This directory contains packaged python modules.' \
>$prefix/lib/python2.7/vendor-packages/README
mkdir -p $prefix/non-packaged/lib/python2.7
mv $prefix/lib/python2.7/site-packages $prefix/non-packaged/lib/python2.7/
}
TEST()
{
make $jobArgs test
}

View File

@@ -0,0 +1,179 @@
SUMMARY="Mozilla's Network Security Services library that implements PKI support"
DESCRIPTION="
Network Security Services (NSS) is a set of libraries designed to support \
cross-platform development of security-enabled client and server \
applications. Applications built with NSS can support SSL v2 and v3, TLS, \
PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and \
other security standards.
"
LICENSE="
GNU GPL v2
GNU LGPL v2.1
MPL v2.0
"
COPYRIGHT="Mozilla Foundation"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
NSS_VERSION=`echo $portVersion | sed 's/\./_/g'`
SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_${NSS_VERSION}_RTM/src/nss-$portVersion.tar.gz"
CHECKSUM_SHA256="f4d5e9035a2f84f25f35c283de3b0ff60d72e918748de25eaf017ed201fa21d5"
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"
fi
SECONDARY_ARCHITECTURES="x86"
SOURCE_DIR="nss-$portVersion/nss"
PROVIDES="
nss$secondaryArchSuffix = $portVersion compat >= 3
cmd:addbuiltin$secondaryArchSuffix = $portVersion compat >= 3
cmd:atob$secondaryArchSuffix = $portVersion compat >= 3
cmd:baddbdir$secondaryArchSuffix = $portVersion compat >= 3
cmd:bltest$secondaryArchSuffix = $portVersion compat >= 3
cmd:btoa$secondaryArchSuffix = $portVersion compat >= 3
cmd:certcgi$secondaryArchSuffix = $portVersion compat >= 3
cmd:certutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:checkcert$secondaryArchSuffix = $portVersion compat >= 3
cmd:chktest$secondaryArchSuffix = $portVersion compat >= 3
cmd:cmsutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:conflict$secondaryArchSuffix = $portVersion compat >= 3
cmd:crlutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:crmftest$secondaryArchSuffix = $portVersion compat >= 3
cmd:dbtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:derdump$secondaryArchSuffix = $portVersion compat >= 3
cmd:dertimetest$secondaryArchSuffix = $portVersion compat >= 3
cmd:digest$secondaryArchSuffix = $portVersion compat >= 3
cmd:encodeinttest$secondaryArchSuffix = $portVersion compat >= 3
cmd:fipstest$secondaryArchSuffix = $portVersion compat >= 3
cmd:httpserv$secondaryArchSuffix = $portVersion compat >= 3
cmd:listsuites$secondaryArchSuffix = $portVersion compat >= 3
cmd:makepqg$secondaryArchSuffix = $portVersion compat >= 3
cmd:mangle$secondaryArchSuffix = $portVersion compat >= 3
cmd:modutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:multinit$secondaryArchSuffix = $portVersion compat >= 3
cmd:nonspr10$secondaryArchSuffix = $portVersion compat >= 3
cmd:ocspclnt$secondaryArchSuffix = $portVersion compat >= 3
cmd:ocspresp$secondaryArchSuffix = $portVersion compat >= 3
cmd:oidcalc$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7content$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7env$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7sign$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7verify$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk11gcmtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk11mode$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk12util$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk1sign$secondaryArchSuffix = $portVersion compat >= 3
cmd:pkix_errcodes$secondaryArchSuffix = $portVersion compat >= 3
cmd:pp$secondaryArchSuffix = $portVersion compat >= 3
cmd:pwdecrypt$secondaryArchSuffix = $portVersion compat >= 3
cmd:remtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:rsaperf$secondaryArchSuffix = $portVersion compat >= 3
cmd:sdrtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:secmodtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:selfserv$secondaryArchSuffix = $portVersion compat >= 3
cmd:shlibsign$secondaryArchSuffix = $portVersion compat >= 3
cmd:signtool$secondaryArchSuffix = $portVersion compat >= 3
cmd:signver$secondaryArchSuffix = $portVersion compat >= 3
cmd:ssltap$secondaryArchSuffix = $portVersion compat >= 3
cmd:strsclnt$secondaryArchSuffix = $portVersion compat >= 3
cmd:symkeyutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:tstclnt$secondaryArchSuffix = $portVersion compat >= 3
cmd:vfychain$secondaryArchSuffix = $portVersion compat >= 3
cmd:vfyserv$secondaryArchSuffix = $portVersion compat >= 3
lib:libfreebl3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnss3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnssckbi${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnssdbm3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnssutil3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libsmime3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libsoftokn3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libssl3${secondaryArchSuffix} = $portVersion compat >= 3
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libnspr4${secondaryArchSuffix} >= 4
lib:libsqlite3$secondaryArchSuffix
lib:libz${secondaryArchSuffix}
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libnspr4${secondaryArchSuffix} >= 4
devel:libsqlite3$secondaryArchSuffix
devel:libz${secondaryArchSuffix}
"
BUILD_PREREQUIRES="
cmd:autoconf
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:awk
cmd:pkg_config$secondaryArchSuffix
"
PATCHES="nss-$portVersion.patchset"
BUILD()
{
# FIXME: $secondaryArchSuffix is wrong here (_arch). What should be used?
myCPPFLAGS="${CPPFLAGS} `pkg-config nspr --cflags`"
myLDFLAGS="${LDFLAGS} `pkg-config nspr --libs-only-L`"
export BUILD_OPT=1
export NSDISTMODE=copy
export FREEBL_NO_DEPEND=1
export ASFLAGS=""
if [ $effectiveTargetArchitecture == 'x86_64' ]; then
export USE_64=1
fi
for d in . lib/dbm ; do
CPPFLAGS="${myCPPFLAGS}"
LDFLAGS="${myLDFLAGS}"
make -j1 -C ${d}
done
}
INSTALL()
{
# files are in /sources/dist
mkdir -p $includeDir $binDir
mkdir -p $(dirname $libDir)
mv ../dist/*/bin/* $binDir
mv ../dist/*/lib $libDir
mv ../dist/public/nss $includeDir
# set up the develop directory correctly
prepareInstalledDevelLibs libnss3 libfreebl3 libnssckbi libnssdbm3 \
libnssutil3 libsmime3 libsoftokn3 libssl3
fixPkgconfig
# devel package
packageEntries devel \
$developDir
rm $libDir/*.a
}
TEST()
{
echo TODO
# TODO
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
nss${secondaryArchSuffix}_devel = $portVersion compat >= 3
devel:libfreebl3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnss3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnssckbi${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnssdbm3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnssutil3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libsmime3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libsoftokn3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libssl3${secondaryArchSuffix} = $portVersion compat >= 3
"
REQUIRES_devel="
nss${secondaryArchSuffix} == $portVersion base
"

View File

@@ -0,0 +1,141 @@
From be5d83aa3c8725caa18a940fcb5f72bc6ca20bcd Mon Sep 17 00:00:00 2001
From: Kacper Kasper <kacperkasper@gmail.com>
Date: Sat, 5 Jul 2014 02:12:23 +0200
Subject: Haiku support
diff --git a/coreconf/BeOS.mk b/coreconf/BeOS.mk
index 750696d..b53cfea 100644
--- a/coreconf/BeOS.mk
+++ b/coreconf/BeOS.mk
@@ -7,7 +7,7 @@ include $(CORE_DEPTH)/coreconf/UNIX.mk
XP_DEFINE := $(XP_DEFINE:-DXP_UNIX=-DXP_BEOS)
-USE_PTHREADS =
+USE_PTHREADS = 1
ifeq ($(USE_PTHREADS),1)
IMPL_STRATEGY = _PTH
@@ -27,7 +27,7 @@ else
CPU_ARCH = x86
endif
-MKSHLIB = $(CC) -nostart -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
+MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
diff --git a/coreconf/arch.mk b/coreconf/arch.mk
index 782e6c0..669e52a 100644
--- a/coreconf/arch.mk
+++ b/coreconf/arch.mk
@@ -41,6 +41,14 @@ else
endif
#
+# Force the Haiku machines to use BeOS.
+#
+
+ifeq ($(OS_ARCH),Haiku)
+ OS_ARCH = BeOS
+endif
+
+#
# Force the IRIX64 machines to use IRIX.
#
diff --git a/lib/dbm/include/mcom_db.h b/lib/dbm/include/mcom_db.h
index f204484..5cb10ee 100644
--- a/lib/dbm/include/mcom_db.h
+++ b/lib/dbm/include/mcom_db.h
@@ -66,7 +66,7 @@ typedef PRUint32 uint32;
#include <sys/byteorder.h>
#endif
-#if defined(__linux) || defined(__BEOS__)
+#if defined(__linux) || defined(BEOS)
#include <endian.h>
#ifndef BYTE_ORDER
#define BYTE_ORDER __BYTE_ORDER
--
1.8.3.4
From a90f08ec358c67555eced1750db584e1dfcc9381 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 25 Sep 2014 13:09:35 +0000
Subject: define RTLD_NOLOAD
diff --git a/lib/freebl/stubs.c b/lib/freebl/stubs.c
index 1de9b49..08d7753 100644
--- a/lib/freebl/stubs.c
+++ b/lib/freebl/stubs.c
@@ -594,6 +594,10 @@ freebl_InitNSSUtil(void *lib)
return SECSuccess;
}
+#ifndef RTLD_NOLOAD
+ #define RTLD_NOLOAD 0
+#endif
+
/*
* fetch the library if it's loaded. For NSS it should already be loaded
*/
--
1.8.3.4
From 654a6b2ba7aabe42120b1477138bc357ddf9c98a Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 25 Sep 2014 13:40:13 +0000
Subject: skip optionally the signing part
diff --git a/cmd/shlibsign/Makefile b/cmd/shlibsign/Makefile
index 83f90fa..8934439 100644
--- a/cmd/shlibsign/Makefile
+++ b/cmd/shlibsign/Makefile
@@ -95,5 +95,7 @@ else
endif
endif
+ifndef SKIP_SHLIBSIGN
libs install :: $(CHECKLOC)
+endif
diff --git a/coreconf/BeOS.mk b/coreconf/BeOS.mk
index b53cfea..51fe162 100644
--- a/coreconf/BeOS.mk
+++ b/coreconf/BeOS.mk
@@ -45,3 +45,5 @@ ARCH = beos
DSO_CFLAGS = -fPIC
DSO_LDOPTS =
+
+SKIP_SHLIBSIGN=1
--
1.8.3.4
From 6ed942559c69cdfaa34a8dfe427b080e87512055 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 25 Sep 2014 14:14:26 +0000
Subject: use system libs
diff --git a/coreconf/BeOS.mk b/coreconf/BeOS.mk
index 51fe162..fe54580 100644
--- a/coreconf/BeOS.mk
+++ b/coreconf/BeOS.mk
@@ -47,3 +47,6 @@ DSO_CFLAGS = -fPIC
DSO_LDOPTS =
SKIP_SHLIBSIGN=1
+USE_SYSTEM_ZLIB = 1
+ZLIB_LIBS = -lz
+NSS_USE_SYSTEM_SQLITE=1
--
1.8.3.4

View File

@@ -6,12 +6,15 @@ easily integrated into other programs.
HOMEPAGE="http://www.grinninglizard.com/tinyxml2/"
LICENSE="Zlib"
COPYRIGHT="2011-2013 Lee Thomason"
SRC_URI="git+https://github.com/leethomason/tinyxml2.git#343a5ff3bdd7336644db4080f001759e062c359e"
SRC_URI="https://github.com/leethomason/tinyxml2/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="f891224f32e7a06bf279290619cec80cc8ddc335c13696872195ffb87f5bce67"
REVISION="1"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
ARCHITECTURES="x86 x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
ARCHITECTURES="x86_gcc2 $ARCHITECTURES"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
tinyxml2$secondaryArchSuffix = $portVersion
lib:libtinyxml2$secondaryArchSuffix = $portVersion

View File

@@ -0,0 +1,283 @@
diff -ur teeworlds-0.6.3-src-orig/bam.lua teeworlds-0.6.3-src/bam.lua
--- teeworlds-0.6.3-src-orig/bam.lua 2014-11-20 00:08:23.059768832 +0200
+++ teeworlds-0.6.3-src/bam.lua 2014-12-17 00:47:27.678428672 +0200
@@ -184,6 +184,12 @@
settings.link.libs:Add("ws2_32")
settings.link.libs:Add("ole32")
settings.link.libs:Add("shell32")
+ elseif family == "beos" and platform == "haiku" then
+ settings.link.libs:Add("be")
+ settings.link.libs:Add("root")
+ settings.link.libs:Add("network")
+ settings.link.libs:Add("GL");
+ settings.link.libs:Add("GLU");
end
-- compile zlib if needed
diff -ur teeworlds-0.6.3-src-orig/src/base/detect.h teeworlds-0.6.3-src/src/base/detect.h
--- teeworlds-0.6.3-src-orig/src/base/detect.h 2014-11-20 00:08:22.046137344 +0200
+++ teeworlds-0.6.3-src/src/base/detect.h 2014-12-16 21:31:00.576192512 +0200
@@ -68,7 +68,7 @@
#endif
/* beos family */
-#if defined(__BeOS) || defined(__BEOS__)
+#if defined(__BeOS) || defined(__BEOS__) || defined(__HAIKU__)
#define CONF_FAMILY_BEOS 1
#define CONF_FAMILY_STRING "beos"
#define CONF_PLATFORM_BEOS 1
diff -ur teeworlds-0.6.3-src-orig/src/base/system.c teeworlds-0.6.3-src/src/base/system.c
--- teeworlds-0.6.3-src-orig/src/base/system.c 2014-11-20 00:08:22.047448064 +0200
+++ teeworlds-0.6.3-src/src/base/system.c 2014-12-17 18:20:36.652738560 +0200
@@ -9,7 +9,7 @@
#include "system.h"
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
#include <sys/time.h>
#include <unistd.h>
@@ -372,7 +372,7 @@
void *thread_create(void (*threadfunc)(void *), void *u)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
pthread_t id;
pthread_create(&id, NULL, (void *(*)(void*))threadfunc, u);
return (void*)id;
@@ -385,7 +385,7 @@
void thread_wait(void *thread)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
pthread_join((pthread_t)thread, NULL);
#elif defined(CONF_FAMILY_WINDOWS)
WaitForSingleObject((HANDLE)thread, INFINITE);
@@ -396,7 +396,7 @@
void thread_destroy(void *thread)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
void *r = 0;
pthread_join((pthread_t)thread, &r);
#else
@@ -406,7 +406,7 @@
void thread_yield()
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
sched_yield();
#elif defined(CONF_FAMILY_WINDOWS)
Sleep(0);
@@ -417,7 +417,7 @@
void thread_sleep(int milliseconds)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
usleep(milliseconds*1000);
#elif defined(CONF_FAMILY_WINDOWS)
Sleep(milliseconds);
@@ -428,7 +428,7 @@
void thread_detach(void *thread)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
pthread_detach((pthread_t)(thread));
#elif defined(CONF_FAMILY_WINDOWS)
CloseHandle(thread);
@@ -440,7 +440,7 @@
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
typedef pthread_mutex_t LOCKINTERNAL;
#elif defined(CONF_FAMILY_WINDOWS)
typedef CRITICAL_SECTION LOCKINTERNAL;
@@ -452,7 +452,7 @@
{
LOCKINTERNAL *lock = (LOCKINTERNAL*)mem_alloc(sizeof(LOCKINTERNAL), 4);
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
pthread_mutex_init(lock, 0x0);
#elif defined(CONF_FAMILY_WINDOWS)
InitializeCriticalSection((LPCRITICAL_SECTION)lock);
@@ -464,7 +464,7 @@
void lock_destroy(LOCK lock)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
pthread_mutex_destroy((LOCKINTERNAL *)lock);
#elif defined(CONF_FAMILY_WINDOWS)
DeleteCriticalSection((LPCRITICAL_SECTION)lock);
@@ -476,7 +476,7 @@
int lock_try(LOCK lock)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
return pthread_mutex_trylock((LOCKINTERNAL *)lock);
#elif defined(CONF_FAMILY_WINDOWS)
return !TryEnterCriticalSection((LPCRITICAL_SECTION)lock);
@@ -487,7 +487,7 @@
void lock_wait(LOCK lock)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
pthread_mutex_lock((LOCKINTERNAL *)lock);
#elif defined(CONF_FAMILY_WINDOWS)
EnterCriticalSection((LPCRITICAL_SECTION)lock);
@@ -498,7 +498,7 @@
void lock_release(LOCK lock)
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
pthread_mutex_unlock((LOCKINTERNAL *)lock);
#elif defined(CONF_FAMILY_WINDOWS)
LeaveCriticalSection((LPCRITICAL_SECTION)lock);
@@ -508,7 +508,7 @@
}
#if !defined(CONF_PLATFORM_MACOSX)
- #if defined(CONF_FAMILY_UNIX)
+ #if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
void semaphore_init(SEMAPHORE *sem) { sem_init(sem, 0, 0); }
void semaphore_wait(SEMAPHORE *sem) { sem_wait(sem); }
void semaphore_signal(SEMAPHORE *sem) { sem_post(sem); }
@@ -527,7 +527,7 @@
/* ----- time ----- */
int64 time_get()
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
struct timeval val;
gettimeofday(&val, NULL);
return (int64)val.tv_sec*(int64)1000000+(int64)val.tv_usec;
@@ -546,7 +546,7 @@
int64 time_freq()
{
-#if defined(CONF_FAMILY_UNIX)
+#if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
return 1000000;
#elif defined(CONF_FAMILY_WINDOWS)
int64 t;
@@ -1354,6 +1354,16 @@
return -1;
_snprintf(path, max, "%s/%s", home, appname);
return 0;
+#elif defined(CONF_FAMILY_BEOS)
+ #include <FindDirectory.h>
+
+ dev_t device = (dev_t)-1;
+ char *datadir;
+
+ status_t status = find_directory(B_USER_DATA_DIRECTORY, device, false, datadir, max);
+ if (status < B_OK) return -1;
+ snprintf(path, max, "%s/%s", datadir, appname);
+ return 0;
#else
char *home = getenv("HOME");
#if !defined(CONF_PLATFORM_MACOSX)
@@ -1795,7 +1805,7 @@
&theItem);
RunStandardAlert(theItem, NULL, &itemIndex);
-#elif defined(CONF_FAMILY_UNIX)
+#elif defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
static char cmd[1024];
int err;
/* use xmessage which is available on nearly every X11 system */
diff -ur teeworlds-0.6.3-src-orig/src/base/system.h teeworlds-0.6.3-src/src/base/system.h
--- teeworlds-0.6.3-src-orig/src/base/system.h 2014-11-20 00:08:22.046137344 +0200
+++ teeworlds-0.6.3-src/src/base/system.h 2014-12-16 21:31:00.580124672 +0200
@@ -411,7 +411,7 @@
/* Group: Semaphores */
#if !defined(CONF_PLATFORM_MACOSX)
- #if defined(CONF_FAMILY_UNIX)
+ #if defined(CONF_FAMILY_UNIX) || defined(CONF_FAMILY_BEOS)
#include <semaphore.h>
typedef sem_t SEMAPHORE;
#elif defined(CONF_FAMILY_WINDOWS)
diff -ur teeworlds-0.6.3-src-orig/src/engine/client/backend_sdl.cpp teeworlds-0.6.3-src/src/engine/client/backend_sdl.cpp
--- teeworlds-0.6.3-src-orig/src/engine/client/backend_sdl.cpp 2014-11-20 00:08:22.004980736 +0200
+++ teeworlds-0.6.3-src/src/engine/client/backend_sdl.cpp 2014-12-16 23:45:27.095944704 +0200
@@ -1,6 +1,6 @@
-#include "SDL.h"
-#include "SDL_opengl.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_opengl.h>
#include <base/tl/threading.h>
diff -ur teeworlds-0.6.3-src-orig/src/engine/client/backend_sdl.h teeworlds-0.6.3-src/src/engine/client/backend_sdl.h
--- teeworlds-0.6.3-src-orig/src/engine/client/backend_sdl.h 2014-11-20 00:08:22.005767168 +0200
+++ teeworlds-0.6.3-src/src/engine/client/backend_sdl.h 2014-12-17 18:21:15.679215104 +0200
@@ -1,12 +1,12 @@
-#include "SDL.h"
-#include "SDL_opengl.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_opengl.h>
#include "graphics_threaded.h"
-// platform dependent implementations for transfering render context from the main thread to the graphics thread
+// platform dependent implementations for transfering render Context from the main thread to the graphics thread
// TODO: when SDL 1.3 comes, this can be removed
#if defined(CONF_FAMILY_WINDOWS)
struct SGLContext
@@ -49,7 +49,7 @@
{
SGLContext Context;
Class NSOpenGLContextClass = (Class) objc_getClass("NSOpenGLContext");
- SEL selector = sel_registerName("currentContext");
+ SEL selector = sel_reg0isterName("currentContext");
Context.m_Context = objc_msgSend((objc_object*) NSOpenGLContextClass, selector);
return Context;
}
@@ -117,6 +117,29 @@
static void GL_MakeCurrent(const SGLContext &Context) { glXMakeCurrent(Context.m_pDisplay, Context.m_Drawable, Context.m_Context); }
static void GL_ReleaseContext(const SGLContext &Context) { glXMakeCurrent(Context.m_pDisplay, None, 0x0); }
static void GL_SwapBuffers(const SGLContext &Context) { glXSwapBuffers(Context.m_pDisplay, Context.m_Drawable); }
+#elif defined(CONF_FAMILY_BEOS)
+
+ #include <Application.h>
+ #include <opengl/GLView.h>
+
+ struct SGLContext
+ {
+ BGLView* view;
+ };
+
+ static SGLContext GL_GetCurrentContext()
+ {
+ SGLContext Context;
+
+ BApplication *be_app = new BApplication("application/x-vnd.tw-teeworlds");
+
+ Context.view = ((BGLView*) be_app->WindowAt(0)->ChildAt(0));
+ return Context;
+ }
+
+ static void GL_MakeCurrent(const SGLContext &Context) { Context.view->LockGL(); }
+ static void GL_ReleaseContext(const SGLContext &Context) { Context.view->UnlockGL(); }
+ static void GL_SwapBuffers(const SGLContext &Context) { Context.view->SwapBuffers(); }
#else
#error missing implementation
#endif

View File

@@ -0,0 +1,59 @@
SUMMARY="Teeworlds is a retro multiplayer shooter"
DESCRIPTION="Teeworlds is a free online multiplayer game, available for \
all major operating systems. Battle with up to 16 players in a variety of \
game modes, including Team Deathmatch and Capture The Flag. You can even \
design your own maps!"
LICENSE="Zlib"
COPYRIGHT="2007-2012 Magnus Auvinen"
ARCHITECTURES="!x86" # Once it works, remove the bang
if [ $effectiveTargetArchitecture != "x86_gcc2" ]; then
ARCHITECTURES="!x86_gcc2 $ARCHITECTURES" # Once it works, remove the bang
else
ARCHITECTURES="!x86_gcc2 $ARCHITECTURES"
fi
SECONDARY_ARCHITECTURES="!x86_gcc2 !x86" # Once it works, remove the bang on x86
REVISION="1"
HOMEPAGE="https://www.teeworlds.com"
SRC_URI="https://downloads.teeworlds.com/teeworlds-0.6.3-src.tar.gz"
CHECKSUM_SHA256="490ee7c372898761c609af8d7b0c6bd55942c6c6fcd7f361eefa00abfc70077b"
SOURCE_DIR="teeworlds-0.6.3-src"
PROVIDES="
teeworlds$secondaryArchSuffix = $portVersion
cmd:teeworlds$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libGL$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libz$secondaryArchSuffix
devel:libsdl$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
cmd:gcc$secondaryArchSuffix
cmd:bam$secondaryArchSuffix
cmd:python
"
PATCHES="teeworlds-0.6.3.patch"
BUILD()
{
bam release
}
INSTALL()
{
mkdir -p $binDir
cp teeworlds $binDir
}

View File

@@ -0,0 +1,60 @@
SUMMARY="Pachi el marciano is a cool 2D platforms game"
DESCRIPTION="Pachi el marciano is a cool 2D platforms game inspired in games like \
Manic Miner, Jet set Willy and more from the 80s."
HOMEPAGE="http://dragontech.sourceforge.net/index.php?lang=en&main=about"
LICENSE="GNU GPL v2"
COPYRIGHT="(c) 2004 Santiago Radeff, Nicolas Radeff, Peter Hajba"
SRC_URI="http://sourceforge.net/projects/dragontech/files/Pachi%20el%20marciano/Pachi%20el%20marciano%201.0/pachi_source.tgz"
CHECKSUM_SHA256="134a51773d5e441dc31aed4e57b3543afdefe2d8efedeaa05acb85cac0fa9c52"
REVISION="1"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
PATCHES="pachi-$portVersion.patch"
SOURCE_DIR="Pachi"
PROVIDES="
pachi = $portVersion
app:pachi = $portVersion
"
REQUIRES="
haiku >= $haikuVersion
lib:libsdl
lib:libsdl_image
lib:libsdl_mixer
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
devel:libsdl
devel:libsdl_image
devel:libsdl_mixer
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc
cmd:libtoolize
cmd:make
"
BUILD()
{
libtoolize -fci
aclocal -I m4
automake --add-missing --force-missing
./configure --prefix=$appsDir/Pachi
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir/Pachi
make install
ln -s $appsDir/Pachi/bin/pachi $appsDir/Pachi/Pachi
addAppDeskbarSymlink $appsDir/Pachi/bin/pachi Pachi
}

View File

@@ -0,0 +1,43 @@
--- Pachi/Makefile.am.org 2014-12-13 14:43:32.076021760 +0100
+++ Pachi/Makefile.am 2014-12-13 14:41:07.499646464 +0100
@@ -1 +1,2 @@
SUBDIRS = src Tgfx data fonts music sounds docs
+ACLOCAL_AMFLAGS = -I m4
--- Pachi/data/Makefile.am.org 2002-12-08 14:30:17.000000000 +0100
+++ Pachi/data/Makefile.am 2014-12-13 14:46:22.102236160 +0100
@@ -14,9 +14,3 @@
scores.dat
EXTRA_DIST = $(dat_DATA) $(score_DATA)
-
-install-data-local:
- for file in $(score_DATA); do\
- chgrp $(group) $(scoredir)/$$file; \
- chmod $(perms) $(scoredir)/$$file; \
- done
--- Pachi/configure.in.org 2014-12-14 10:34:54.227278848 +0100
+++ Pachi/configure.in 2014-12-14 10:31:37.060555264 +0100
@@ -1,7 +1,7 @@
# Process this file with autoconf to produce a configure script.
AC_INIT(src/faes.cpp, 0.1, T-1000@Bigfoot.com)
AM_INIT_AUTOMAKE(pachi, 0.1)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
# Checks for programs.
AC_PROG_CC
@@ -44,7 +44,7 @@
SCOREDIR="."
else
DATADIR="$datadir/$PACKAGE"
- SCOREDIR="/var/lib/games/$PACKAGE"
+ SCOREDIR="$datadir /$PACKAGE"
fi
eval DATAPATH=`eval echo "$DATADIR"`
@@ -55,3 +55,5 @@
AC_SUBST(SCOREPATH)
AC_OUTPUT(Makefile src/Makefile Tgfx/Makefile data/Makefile fonts/Makefile music/Makefile sounds/Makefile docs/Makefile)
+
+AC_CONFIG_MACRO_DIR([m4])

View File

@@ -0,0 +1,51 @@
SUMMARY="A fully-featured Atari 2600 emulator"
DESCRIPTION="z26 is an Atari 2600 emulator which supports a lot of carts and a \
whole lot of peripherals, including mindlink, Trak-Ball, Light Gun and much more!\
It also supports multiload files, and a whole lot of other features."
HOMEPAGE="http://whimsey.com/z26/"
SRC_URI="http://whimsey.com/z26/z26v2.16.00s.zip"
CHECKSUM_SHA256="fe285597543a9f562b25f11e57804c604d8226d9a6dc6dc1b9e2a4cfc5f38276"
REVISION="1"
LICENSE="GNU GPL v2"
COPYRIGHT="1997-2004 John Saeger"
ARCHITECTURES="x86"
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"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
z26$secondaryArchSuffix = $portVersion
app:z26$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libsdl$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libsdl${secondaryArchSuffix}
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc$secondaryArchSuffix
cmd:nasm
cmd:ld$secondaryArchSuffix
"
SOURCE_DIR="src"
BUILD()
{
make beos
}
INSTALL()
{
mkdir -p $appsDir
cp z26 $appsDir/z26
addAppDeskbarSymlink $appsDir/z26 "z26"
}

View File

@@ -0,0 +1,43 @@
SUMMARY="LaTeX editor for Haiku."
DESCRIPTION="BeTeX is the premier TeX/LaTeX editor for BeOS/Haiku. With it you \
can create, compile and preview your latex documents all from within a single \
user-friendly interface."
HOMEPAGE="https://github.com/HaikuArchives/BeTeX/"
SRC_URI="git+https://github.com/HaikuArchives/BeTeX#ee4907"
REVISION="1"
LICENSE="MIT"
COPYRIGHT="2005 Tim de Jong, Brent Miszalski"
ARCHITECTURES="x86_gcc2"
PROVIDES="
betex = $portVersion
app:BeTeX = $portVersion
"
REQUIRES="
haiku >= $haikuVersion
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
makefile_engine
cmd:make
cmd:mkdepend
cmd:gcc
"
BUILD()
{
make $jobArgs OBJ_DIR=objects
}
INSTALL()
{
mkdir -p $appsDir
cp objects/BeTeX $appsDir/BeTeX
addAppDeskbarSymlink $appsDir/BeTeX
}

View File

@@ -0,0 +1,53 @@
SUMMARY="Simple, powerful contact manager for Haiku"
DESCRIPTION="Mr. Peeps! is an app for managing People files that has more \
features than other contact managers. Highlights:
* Autosave: no more clicking File|Save or typing Alt-S. Edit it and it's \
saved that way.
* Fast keyboard navigation:
* Use Tab and Shift-Tab to jump between data fields
* Alt-Up and Alt-Down go to the next/previous person, no matter what
* When using the People list, use the cursor keys or jump to a person \
using a letter key
* Use the Alt key plus the 1-5 keys to change tabs, i.e. Alt+2 is the \
Personal tab
* Multiple groups - separate group names with a comma
* Native Language support - Mr. Peeps! can now show itself in your own \
language and you can change languages quickly, if you so choose.
* More Data: handles more types of data than even People v2 and \
DeeperPeople, such as birthdays, anniversaries, and other personal data."
HOMEPAGE="https://github.com/HaikuArchives/MrPeeps"
SRC_URI="https://github.com/HaikuArchives/MrPeeps/archive/v1.2.tar.gz"
CHECKSUM_SHA256="5c8bc6dd0677497292fbd41a79fb29a66fe196a6028879b3cd33ac54a1d968aa"
SOURCE_DIR="MrPeeps-$portVersion"
LICENSE="MIT"
COPYRIGHT="2003 Jon Yoder (DarkWyrm)"
REVISION="1"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
PROVIDES="
mrpeeps = $portVersion
app:MrPeeps = $portVersion"
REQUIRES="
haiku"
BUILD_REQUIRES="
haiku_devel"
BUILD_PREREQUIRES="
makefile_engine
cmd:make
cmd:mkdepend
cmd:g++
"
BUILD()
{
cd src
make $jobArgs OBJ_DIR=objects
}
INSTALL()
{
mkdir -p $appsDir
cd src
cp -f objects/MrPeeps $appsDir
addAppDeskbarSymlink $appsDir/MrPeeps "Mr. Peeps!"
}

View File

@@ -1,43 +0,0 @@
SUMMARY="Easy to use powerful contact manager for haiku"
DESCRIPTION="
MrPeeps is an app for managing People files that has more features than other \
contact managers. For more info read the README file.
"
HOMEPAGE="https://github.com/HaikuArchives/MrPeeps"
SRC_URI="git+https://github.com/HaikuArchives/MrPeeps#ce2e65"
LICENSE="MIT"
COPYRIGHT="2003 DarkWyrm"
REVISION="1"
ARCHITECTURES="x86 x86_gcc2 x86_64"
PROVIDES="
mrpeeps = $portVersion
app:MrPeeps = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:gcc
"
PATCHES="MrPeeps-1.2_beta.patch"
BUILD()
{
cd src
cp Locale\ Support/* ./
g++ -lbe -ltranslation -lroot AboutWindow.cpp BitmapDump.cpp \
BitmapView.cpp BStringList.cpp DataView.cpp Formatting.cpp \
IntroView.cpp ListData.cpp MrPeeps.cpp NewTextControl.cpp \
PeepsItem.cpp PeepsWindow.cpp PeopleList.cpp LocaleRoster.cpp \
Locale.cpp TextFile.cpp -o ../MrPeeps
}
INSTALL()
{
mkdir -p $appsDir
cp -f ./MrPeeps $appsDir
addAppDeskbarSymlink $appsDir/MrPeeps
}

View File

@@ -1,50 +0,0 @@
diff -Naur -x .git /boot/home/MrPeeps/src/ListData.h ./src/ListData.h
--- /boot/home/MrPeeps/src/ListData.h 2013-12-01 19:17:49.441188352 +0400
+++ ./src/ListData.h 2013-12-09 19:07:33.235667456 +0400
@@ -3,10 +3,11 @@
#include <Entry.h>
#include <List.h>
+#include <Node.h>
#include <String.h>
-#include "BStringList.h"
#include <Bitmap.h>
#include "BitmapDump.h"
+#include "BStringList.h"
class PeepsListItem;
class GroupItem;
diff -Naur -x .git /boot/home/MrPeeps/src/PeepsWindow.h ./src/PeepsWindow.h
--- /boot/home/MrPeeps/src/PeepsWindow.h 2013-12-01 19:17:49.467927040 +0400
+++ ./src/PeepsWindow.h 2013-12-09 19:07:59.108789760 +0400
@@ -1,16 +1,18 @@
#ifndef PEEPSWINDOW_H
#define PEEPSWINDOW_H
-#include <Window.h>
-#include <View.h>
-#include <TextControl.h>
-#include <PopUpMenu.h>
#include <Button.h>
+#include <Entry.h>
+#include <ListItem.h>
#include <Menu.h>
#include <MenuItem.h>
-#include "NewTextControl.h"
#include <Messenger.h>
+#include <PopUpMenu.h>
+#include <TextControl.h>
+#include <View.h>
+#include <Window.h>
#include "LocaleRoster.h"
+#include "NewTextControl.h"
class PeopleList;
class PeepsListItem;
@@ -117,4 +119,4 @@
#define TRANSLATE(x) gCurrentLocale->Translate(x).String()
-#endif
\ No newline at end of file
+#endif

View File

@@ -6,8 +6,8 @@ priorities or kill them.
LICENSE="GNU GPL v3"
COPYRIGHT="1998 Arto Jalkanen."
HOMEPAGE="https://github.com/pulkomandy/Slayer"
SRC_URI="git+https://github.com/pulkomandy/Slayer.git#f36790b1fe9"
REVISION="1"
SRC_URI="git+https://github.com/HaikuArchives/Slayer.git#e04057b"
REVISION="2"
ARCHITECTURES="?x86 x86_gcc2"
PROVIDES="

View File

@@ -0,0 +1,39 @@
LANG_EN="Bengali"
LANG_DL="${LANG_EN}"
LANG_LC="bengali"
SUMMARY="The Noto Sans font for $LANG_EN"
DESCRIPTION="
The Noto font family attempts to create a uniform look for all languages on \
Earth. This package contains the Noto Sans fonts for $LANG_EN.
"
HOMEPAGE="https://www.google.com/get/noto/"
SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip"
CHECKSUM_SHA256="bc9422930cb09b0736ed3ebf60f747bb0078e451087b52926a4ae0d1d50db42c"
LICENSE="Apache v2"
COPYRIGHT="2013 Google Inc."
REVISION="1"
ARCHITECTURES="any"
DISABLE_SOURCE_PACKAGE=yes
PROVIDES="
noto_sans_${LANG_LC}=$portVersion
"
REQUIRES=" "
BUILD_REQUIRES=" "
BUILD_PREREQUIRES="
coreutils
"
SOURCE_DIR=""
BUILD()
{
true
}
INSTALL()
{
FONTDIR=$fontsDir/NotoSans${LANG_DL}
mkdir -p ${FONTDIR}
cp *.ttf ${FONTDIR}
}

View File

@@ -0,0 +1,39 @@
LANG_EN="Devanagari"
LANG_DL="${LANG_EN}"
LANG_LC="devanagari"
SUMMARY="The Noto Sans font for $LANG_EN"
DESCRIPTION="
The Noto font family attempts to create a uniform look for all languages on \
Earth. This package contains the Noto Sans fonts for $LANG_EN.
"
HOMEPAGE="https://www.google.com/get/noto/"
SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip"
CHECKSUM_SHA256="8601d16cb04d740d2a2a27299ae59445971bbbed3d6b401c14e6fb1d461dd353"
LICENSE="Apache v2"
COPYRIGHT="2012 Google Inc."
REVISION="1"
ARCHITECTURES="any"
DISABLE_SOURCE_PACKAGE=yes
PROVIDES="
noto_sans_${LANG_LC}=$portVersion
"
REQUIRES=" "
BUILD_REQUIRES=" "
BUILD_PREREQUIRES="
coreutils
"
SOURCE_DIR=""
BUILD()
{
true
}
INSTALL()
{
FONTDIR=$fontsDir/NotoSans${LANG_DL}
mkdir -p ${FONTDIR}
cp *.ttf ${FONTDIR}
}

View File

@@ -0,0 +1,39 @@
LANG_EN="Gujarati"
LANG_DL="${LANG_EN}"
LANG_LC="gujarati"
SUMMARY="The Noto Sans font for $LANG_EN"
DESCRIPTION="
The Noto font family attempts to create a uniform look for all languages on \
Earth. This package contains the Noto Sans fonts for $LANG_EN.
"
HOMEPAGE="https://www.google.com/get/noto/"
SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip"
CHECKSUM_SHA256="44e6925fa81c7a59992415ffce24434e7b2609af7921d10e735879ebbc5a593f"
LICENSE="Apache v2"
COPYRIGHT="2013 Google Inc."
REVISION="1"
ARCHITECTURES="any"
DISABLE_SOURCE_PACKAGE=yes
PROVIDES="
noto_sans_${LANG_LC}=$portVersion
"
REQUIRES=" "
BUILD_REQUIRES=" "
BUILD_PREREQUIRES="
coreutils
"
SOURCE_DIR=""
BUILD()
{
true
}
INSTALL()
{
FONTDIR=$fontsDir/NotoSans${LANG_DL}
mkdir -p ${FONTDIR}
cp *.ttf ${FONTDIR}
}

View File

@@ -0,0 +1,39 @@
LANG_EN="Gurmukhi"
LANG_DL="${LANG_EN}"
LANG_LC="gurmukhi"
SUMMARY="The Noto Sans font for $LANG_EN"
DESCRIPTION="
The Noto font family attempts to create a uniform look for all languages on \
Earth. This package contains the Noto Sans fonts for $LANG_EN.
"
HOMEPAGE="https://www.google.com/get/noto/"
SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip"
CHECKSUM_SHA256="c154bacc4998fa6e8eb380cf6823a07c2cf6bcafbad373446fbb7576f61d1e48"
LICENSE="Apache v2"
COPYRIGHT="2013 Google Inc."
REVISION="1"
ARCHITECTURES="any"
DISABLE_SOURCE_PACKAGE=yes
PROVIDES="
noto_sans_${LANG_LC}=$portVersion
"
REQUIRES=" "
BUILD_REQUIRES=" "
BUILD_PREREQUIRES="
coreutils
"
SOURCE_DIR=""
BUILD()
{
true
}
INSTALL()
{
FONTDIR=$fontsDir/NotoSans${LANG_DL}
mkdir -p ${FONTDIR}
cp *.ttf ${FONTDIR}
}

View File

@@ -0,0 +1,39 @@
LANG_EN="Sinhala"
LANG_DL="${LANG_EN}"
LANG_LC="sinhala"
SUMMARY="The Noto Sans font for $LANG_EN"
DESCRIPTION="
The Noto font family attempts to create a uniform look for all languages on \
Earth. This package contains the Noto Sans fonts for $LANG_EN.
"
HOMEPAGE="https://www.google.com/get/noto/"
SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip"
CHECKSUM_SHA256="2cf8027b61f0657e64959e17eb16f4d84658a950c36ee483d4bf1ade8df9d683"
LICENSE="Apache v2"
COPYRIGHT="2014 Google Inc."
REVISION="1"
ARCHITECTURES="any"
DISABLE_SOURCE_PACKAGE=yes
PROVIDES="
noto_sans_${LANG_LC}=$portVersion
"
REQUIRES=" "
BUILD_REQUIRES=" "
BUILD_PREREQUIRES="
coreutils
"
SOURCE_DIR=""
BUILD()
{
true
}
INSTALL()
{
FONTDIR=$fontsDir/NotoSans${LANG_DL}
mkdir -p ${FONTDIR}
cp *.ttf ${FONTDIR}
}

View File

@@ -0,0 +1,39 @@
LANG_EN="Tamil"
LANG_DL="${LANG_EN}"
LANG_LC="tamil"
SUMMARY="The Noto Sans font for $LANG_EN"
DESCRIPTION="
The Noto font family attempts to create a uniform look for all languages on \
Earth. This package contains the Noto Sans fonts for $LANG_EN.
"
HOMEPAGE="https://www.google.com/get/noto/"
SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip"
CHECKSUM_SHA256="15d8f1e5310f4d2eecf2e46a9d74b52c5a30afae00b90d2fe92bc8f00a5c1ee8"
LICENSE="Apache v2"
COPYRIGHT="2012 Google Inc."
REVISION="1"
ARCHITECTURES="any"
DISABLE_SOURCE_PACKAGE=yes
PROVIDES="
noto_sans_${LANG_LC}=$portVersion
"
REQUIRES=" "
BUILD_REQUIRES=" "
BUILD_PREREQUIRES="
coreutils
"
SOURCE_DIR=""
BUILD()
{
true
}
INSTALL()
{
FONTDIR=$fontsDir/NotoSans${LANG_DL}
mkdir -p ${FONTDIR}
cp *.ttf ${FONTDIR}
}

View File

@@ -0,0 +1,39 @@
LANG_EN="Telugu"
LANG_DL="${LANG_EN}"
LANG_LC="telugu"
SUMMARY="The Noto Sans font for $LANG_EN"
DESCRIPTION="
The Noto font family attempts to create a uniform look for all languages on \
Earth. This package contains the Noto Sans fonts for $LANG_EN.
"
HOMEPAGE="https://www.google.com/get/noto/"
SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip"
CHECKSUM_SHA256="8d434121cb8e10b02f80a1a7ab87a9a70ef2eee96aababe4ec871e554578c460"
LICENSE="Apache v2"
COPYRIGHT="2013 Google Inc."
REVISION="1"
ARCHITECTURES="any"
DISABLE_SOURCE_PACKAGE=yes
PROVIDES="
noto_sans_${LANG_LC}=$portVersion
"
REQUIRES=" "
BUILD_REQUIRES=" "
BUILD_PREREQUIRES="
coreutils
"
SOURCE_DIR=""
BUILD()
{
true
}
INSTALL()
{
FONTDIR=$fontsDir/NotoSans${LANG_DL}
mkdir -p ${FONTDIR}
cp *.ttf ${FONTDIR}
}

View File

@@ -0,0 +1,124 @@
SUMMARY="libcaca ASCII art rendering library"
DESCRIPTION="
libcaca is a software library which allows applications to automatically \
convert still and moving images into colored ASCII art.
"
HOMEPAGE="http://caca.zoy.org/wiki/libcaca"
# FIXME: the offical website is down right now. Using mirror provided by the
# MXE project.
SRC_URI="
http://caca.zoy.org/raw-attachment/wiki/libcaca/libcaca-$portVersion.tar.gz
http://s3.amazonaws.com/mxe-pkg/libcaca-$portVersion.tar.gz
"
CHECKSUM_SHA256="128b467c4ed03264c187405172a4e83049342cc8cc2f655f53a2d0ee9d3772f4"
SOURCE_DIR="libcaca-$portVersion"
REVISION="1"
LICENSE="
WTFPL
GNU GPL v2
"
COPYRIGHT="
1998, 1999, 2001 Jan Hubicka <hubicka@freesoft.cz>
2003-2008 Sam Hocevar <sam@zoy.org>
2003-2008 Jean-Yves Lamoureux <jylam@lnxscene.org>
2004-2005 John Beppu <beppu@lbox.org>
2006-2007 Ben Wiley Sittler <bsittler@gmail.com>
2007-2008 Pascal Terjan <pterjan@linuxfr.org>
"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
libcaca$secondaryArchSuffix = $portVersion compat >= 0
lib:libcaca$secondaryArchSuffix = 0.99.19 compat >= 0
lib:libcaca++$secondaryArchSuffix = 0.99.19 compat >= 0
cmd:cacaclock$secondaryArchSuffix = $portVersion compat >= 0
cmd:cacademo$secondaryArchSuffix = $portVersion compat >= 0
cmd:cacafire$secondaryArchSuffix = $portVersion compat >= 0
cmd:cacaserver$secondaryArchSuffix = $portVersion compat >= 0
cmd:cacaview$secondaryArchSuffix = $portVersion compat >= 0
cmd:cacaplay$secondaryArchSuffix = $portVersion compat >= 0
cmd:img2txt$secondaryArchSuffix = $portVersion compat >= 0
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libncursesw$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
if [ "$effectiveTargetArchitecture" != 'x86_gcc2' ]; then
REQUIRES="
$REQUIRES
lib:libgcc_s$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
"
fi
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libncursesw$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:doxygen
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:make
cmd:pkg_config
cmd:ranlib
"
PATCHES="libcaca-${portVersion}.patchset"
PATCH()
{
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac
}
BUILD()
{
autoreconf -fi
runConfigure ./configure \
--enable-ncurses \
--enable-cxx \
--disable-python \
--htmldir=${developDocDir}
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs libcaca libcaca++
fixPkgconfig
# devel package
packageEntries devel \
$binDir/caca-config \
$developDir \
$manDir/man3
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
libcaca${secondaryArchSuffix}_devel = $portVersion compat >= 0
devel:libcaca$secondaryArchSuffix = $portVersion compat >= 0
devel:libcaca++$secondaryArchSuffix = $portVersion compat >= 0
cmd:caca_config$secondaryArchSuffix = $portVersion compat >= 0
"
REQUIRES_devel="
haiku$secondaryArchSuffix
libcaca$secondaryArchSuffix == $portVersion base
lib:libncursesw$secondaryArchSuffix
devel:libncursesw$secondaryArchSuffix
"

View File

@@ -0,0 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

View File

@@ -0,0 +1,164 @@
From fb47040266da2f0e74cc36cdf407afe2d8fa6ee8 Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
Date: Thu, 18 Dec 2014 23:45:35 +0000
Subject: [PATCH 1/3] Fix network detection
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
diff --git a/configure.ac b/configure.ac
index 641dd17..e06cb74 100644
--- a/configure.ac
+++ b/configure.ac
@@ -491,8 +491,12 @@ fi
# Build cacaserver?
ac_cv_my_have_network="no"
-AC_CHECK_HEADERS(sys/socket.h,
- [ac_cv_my_have_network="yes"])
+AC_CHECK_HEADERS(sys/socket.h, [
+ # On Haiku the socket() function and friends are in libnetwork
+ AC_SEARCH_LIBS([socket], [network], [
+ ac_cv_my_have_network="yes"
+ ])
+])
AM_CONDITIONAL(USE_NETWORK, test "${ac_cv_my_have_network}" = "yes")
# Use Imlib2?
--
1.8.3.4
From b4a3afb4b37257e6f18aa31511df9615ea39418e Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
Date: Fri, 19 Dec 2014 02:19:19 +0000
Subject: [PATCH 2/3] doc: use standard PDF and HTML installation directories
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 5598ce3..77720e7 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -7,11 +7,9 @@ doxygen_DOX = libcaca.dox user.dox migrating.dox tutorial.dox canvas.dox font.do
man_MANS = caca-config.1 cacafire.1 cacaview.1 cacaserver.1 img2txt.1 cacaplay.1
if BUILD_DOCUMENTATION
-htmldoc_DATA = html/doxygen.css
-htmldocdir = $(datadir)/doc/libcaca-dev/html
+html_DATA = html/doxygen.css
if USE_LATEX
-pdfdoc_DATA = latex/libcaca.pdf
-pdfdocdir = $(datadir)/doc/libcaca-dev/pdf
+pdf_DATA = latex/libcaca.pdf
endif
endif
@@ -42,10 +40,10 @@ clean-local:
install-data-local:
if BUILD_DOCUMENTATION
- mkdir -p $(DESTDIR)$(datadir)/doc
- $(mkinstalldirs) $(DESTDIR)$(datadir)/doc/libcaca-dev/html
+ mkdir -p $(DESTDIR)$(htmldir)
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
cp `find html -name '*.html' -o -name '*.gif' -o -name '*.png'` \
- $(DESTDIR)$(datadir)/doc/libcaca-dev/html
+ $(DESTDIR)$(htmldir)
$(mkinstalldirs) $(DESTDIR)$(mandir)/man3
for man in $$(find man -name '*.3caca'); do \
sed -e 's/man3caca/man3/g' -e "s/fC'\([a-zA-Z0-9]*\)'/fC\"\1\"/g" \
--
1.8.3.4
From 28016da0b3e6c2d001455bb49b0b24fde3e9edc5 Mon Sep 17 00:00:00 2001
From: Scott McCreary <scottmc2@gmail.com>
Date: Thu, 18 Dec 2014 22:46:50 -0800
Subject: [PATCH 3/3] Fix gcc2 issues in 3 files
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
diff --git a/caca/file.c b/caca/file.c
index 27e4e83..51e127b 100644
--- a/caca/file.c
+++ b/caca/file.c
@@ -63,6 +63,10 @@ struct caca_file
*/
caca_file_t *caca_file_open(char const *path, const char *mode)
{
+# if defined HAVE_ZLIB_H
+ uint8_t buf[4];
+ unsigned int skip_size = 0;
+#endif
#if defined __KERNEL__
seterrno(ENOSYS);
return NULL;
@@ -72,8 +76,6 @@ caca_file_t *caca_file_open(char const *path, const char *mode)
fp->readonly = !!strchr(mode, 'r');
# if defined HAVE_ZLIB_H
- uint8_t buf[4];
- unsigned int skip_size = 0;
fp->gz = gzopen(path, fp->readonly ? "rb" : "wb");
if(!fp->gz)
diff --git a/examples/trifiller.c b/examples/trifiller.c
index 5a06f23..fab3cd7 100644
--- a/examples/trifiller.c
+++ b/examples/trifiller.c
@@ -45,6 +45,7 @@ int main(int argc, char *argv[])
int quit = 0;
int update = 1;
int px, py;
+ int p;
float angle = 0;
@@ -198,7 +199,6 @@ int main(int argc, char *argv[])
/* 2D Rotation around screen center */
- int p;
for (p = 0; p < 4; p++)
{
rotated[p][0] =
diff --git a/src/cacaclock.c b/src/cacaclock.c
index 3a405ea..63b35af 100644
--- a/src/cacaclock.c
+++ b/src/cacaclock.c
@@ -67,6 +67,10 @@ int main(int argc, char *argv[]) {
caca_canvas_t *figcv;
caca_display_t *dp;
uint32_t w, h, fw, fh;
+ char *d;
+ uint32_t o;
+ uint32_t x;
+ uint32_t y;
char *format = "%R:%S";
char *font = "/usr/share/figlet/mono12.tlf";
@@ -143,8 +147,8 @@ int main(int argc, char *argv[]) {
if(caca_get_event_type(&ev))
goto end;
}
- char *d = get_date(format);
- uint32_t o = 0;
+ d = get_date(format);
+ o = 0;
// figfont API is not complete, and does not allow us to put a string
// at another position than 0,0
@@ -164,8 +168,8 @@ int main(int argc, char *argv[]) {
fw = caca_get_canvas_width (figcv);
fh = caca_get_canvas_height(figcv);
- uint32_t x = (w/2) - (fw/2);
- uint32_t y = (h/2) - (fh/2);
+ x = (w/2) - (fw/2);
+ y = (h/2) - (fh/2);
caca_blit(cv, x, y, figcv, NULL);
caca_refresh_display(dp);
--
1.8.3.4