Initial .bep and patch file for glib-2.22.2, this gets us past configure but it seems they need ipv6 so need to work around that still. Also update to .bep file for tuxpaint to download correctly

This commit is contained in:
Scott McCreary
2009-11-20 16:51:06 +00:00
parent 96c5181d41
commit 7129755da5
3 changed files with 608 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
DESCRIPTION="glib"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.2.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd glib-2.22.2
rm -rf aclocal.m4
mkdir -p m4
cp /boot/common/share/aclocal/libtool.m4 m4
cp /boot/common/share/aclocal/ltoptions.m4 m4
cp /boot/common/share/aclocal/ltversion.m4 m4
cp /boot/common/share/aclocal/ltsugar.m4 m4
cp /boot/common/share/aclocal/lt~obsolete.m4 m4
libtoolize --force --copy --install
aclocal -I m4
automake
autoconf
./configure --prefix=/boot/common
make
./configure --prefix=/boot/common
make
}
INSTALL {
cd glib-2.22.2
make install
}

View File

@@ -0,0 +1,578 @@
diff -urN glib-2.22.2/configure.in glib-2.22.2-haiku/configure.in
--- glib-2.22.2/configure.in 2009-10-07 06:29:47.000000000 -0700
+++ glib-2.22.2-haiku/configure.in 2009-11-20 08:22:30.000000000 -0800
@@ -116,6 +116,17 @@
esac
AC_MSG_RESULT([$glib_native_beos])
+AC_MSG_CHECKING([for Haiku])
+case $host in
+ *-*-haiku*)
+ glib_native_haiku="yes"
+ ;;
+ *)
+ glib_native_haiku="no"
+ ;;
+esac
+AC_MSG_RESULT([$glib_native_haiku])
+
dnl
AC_MSG_CHECKING([for Win32])
@@ -998,6 +1009,8 @@
AC_CHECK_HEADERS([netdb.h winsock2.h mswsock.h])
# For gio/libasyncns
+
+if test $glib_native_haiku = no; then
if test $glib_native_win32 = no; then
AC_CHECK_FUNCS(strndup setresuid setreuid)
AC_CHECK_HEADERS(sys/prctl.h arpa/nameser_compat.h)
@@ -1019,6 +1032,7 @@
]
)
AC_SUBST(LIBASYNCNS_LIBADD)
+fi else LIBS="-lnetwork $LIBS"
fi
case $host in
@@ -2682,8 +2696,6 @@
dnl *** Checks for gtk-doc ***
dnl **************************
-GTK_DOC_CHECK([1.11])
-
AC_ARG_ENABLE(man,
[AC_HELP_STRING([--enable-man],
[regenerate man pages from Docbook [default=no]])],enable_man=yes,
@@ -3410,6 +3422,9 @@
#define G_PLATFORM_WIN32
#define G_WITH_CYGWIN"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU"
+ ;;
*-*-mingw*)
glib_os="#define G_OS_WIN32
#define G_PLATFORM_WIN32"
diff -urN glib-2.22.2/docs/reference/glib/glib-overrides.txt glib-2.22.2-haiku/docs/reference/glib/glib-overrides.txt
--- glib-2.22.2/docs/reference/glib/glib-overrides.txt 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/glib-overrides.txt 2009-11-20 08:30:36.000000000 -0800
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -urN glib-2.22.2/docs/reference/glib/glib-sections.txt glib-2.22.2-haiku/docs/reference/glib/glib-sections.txt
--- glib-2.22.2/docs/reference/glib/glib-sections.txt 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/glib-sections.txt 2009-11-20 08:30:43.000000000 -0800
@@ -130,6 +130,7 @@
<SUBSECTION>
G_OS_WIN32
G_OS_BEOS
+G_OS_HAIKU
G_OS_UNIX
<SUBSECTION>
diff -urN glib-2.22.2/docs/reference/glib/html/glib-Standard-Macros.html glib-2.22.2-haiku/docs/reference/glib/html/glib-Standard-Macros.html
--- glib-2.22.2/docs/reference/glib/html/glib-Standard-Macros.html 2009-10-07 07:08:12.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/glib-Standard-Macros.html 2009-11-20 08:30:50.000000000 -0800
@@ -62,6 +62,7 @@
#define <a class="link" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS" title="G_OS_WIN32">G_OS_WIN32</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS" title="G_OS_BEOS">G_OS_BEOS</a>
+#define <a class="link" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS" title="G_OS_HAIKU">G_OS_HAIKU</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS" title="G_OS_UNIX">G_OS_UNIX</a>
#define <a class="link" href="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS" title="G_DIR_SEPARATOR">G_DIR_SEPARATOR</a>
@@ -117,6 +118,15 @@
BeOS-specific code in "#ifdef G_OS_BEOS".
</p>
</div>
+<div class="refsect2" lang="en">
+<a name="G-OS-HAIKU--CAPS"></a><h3>G_OS_HAIKU</h3>
+<pre class="programlisting">#define G_OS_HAIKU
+</pre>
+<p>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "#ifdef G_OS_HAIKU".
+</p>
+</div>
<hr>
<div class="refsect2" title="G_OS_UNIX">
<a name="G-OS-UNIX--CAPS"></a><h3>G_OS_UNIX</h3>
diff -urN glib-2.22.2/docs/reference/glib/html/glib.devhelp glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp
--- glib-2.22.2/docs/reference/glib/html/glib.devhelp 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp 2009-11-20 08:30:55.000000000 -0800
@@ -196,6 +196,7 @@
<function name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<function name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<function name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <function name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<function name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<function name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<function name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.22.2/docs/reference/glib/html/glib.devhelp2 glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp2
--- glib-2.22.2/docs/reference/glib/html/glib.devhelp2 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp2 2009-11-20 08:31:04.000000000 -0800
@@ -196,6 +196,7 @@
<keyword type="macro" name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<keyword type="macro" name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<keyword type="macro" name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <keyword type="macro" name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<keyword type="macro" name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.22.2/docs/reference/glib/html/ix01.html glib-2.22.2-haiku/docs/reference/glib/html/ix01.html
--- glib-2.22.2/docs/reference/glib/html/ix01.html 2009-10-07 07:08:12.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/ix01.html 2009-11-20 08:31:11.000000000 -0800
@@ -2174,6 +2174,8 @@
</dt>
<dt>G_OS_BEOS, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS">G_OS_BEOS</a>
</dt>
+<dt>G_OS_HAIKU, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS">G_OS_HAIKU</a>
+</dt>
<dt>G_OS_UNIX, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS">G_OS_UNIX</a>
</dt>
<dt>G_OS_WIN32, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS">G_OS_WIN32</a>
diff -urN glib-2.22.2/docs/reference/glib/tmpl/macros.sgml glib-2.22.2-haiku/docs/reference/glib/tmpl/macros.sgml
--- glib-2.22.2/docs/reference/glib/tmpl/macros.sgml 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/tmpl/macros.sgml 2009-11-20 08:31:16.000000000 -0800
@@ -33,6 +33,14 @@
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
+
+
+
<!-- ##### MACRO G_OS_UNIX ##### -->
<para>
This macro is defined only on UNIX. So you can bracket
diff -urN glib-2.22.2/docs/reference/glib/xml/api-index-full.xml glib-2.22.2-haiku/docs/reference/glib/xml/api-index-full.xml
--- glib-2.22.2/docs/reference/glib/xml/api-index-full.xml 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/xml/api-index-full.xml 2009-11-20 08:31:23.000000000 -0800
@@ -1053,6 +1053,7 @@
<indexentry><primaryie linkends="g-option-group-set-translation-domain"><link linkend="g-option-group-set-translation-domain">g_option_group_set_translation_domain</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OPTION-REMAINING--CAPS"><link linkend="G-OPTION-REMAINING--CAPS">G_OPTION_REMAINING</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-BEOS--CAPS"><link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link></primaryie></indexentry>
+<indexentry><primaryie linkends="G-OS-HAIKU--CAPS"><link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-UNIX--CAPS"><link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-WIN32--CAPS"><link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link></primaryie></indexentry>
</indexdiv>
diff -urN glib-2.22.2/docs/reference/glib/xml/macros.xml glib-2.22.2-haiku/docs/reference/glib/xml/macros.xml
--- glib-2.22.2/docs/reference/glib/xml/macros.xml 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/xml/macros.xml 2009-11-20 08:31:29.000000000 -0800
@@ -19,6 +19,7 @@
#define <link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link>
#define <link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link>
+#define <link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link>
#define <link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link>
#define <link linkend="G-DIR-SEPARATOR--CAPS">G_DIR_SEPARATOR</link>
@@ -81,6 +82,14 @@
This macro is defined only on BeOS. So you can bracket
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para></refsect2>
+<refsect2 id="G-OS-HAIKU--CAPS" role="macro">
+<title>G_OS_HAIKU</title>
+<indexterm zone="G-OS-HAIKU--CAPS"><primary sortas="G_OS_HAIKU">G_OS_HAIKU</primary></indexterm><programlisting>#define G_OS_HAIKU
+</programlisting>
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para></refsect2>
<refsect2 id="G-OS-UNIX--CAPS" role="macro">
<title>G_OS_UNIX</title>
<indexterm zone="G-OS-UNIX--CAPS"><primary sortas="OS_UNIX">G_OS_UNIX</primary></indexterm><programlisting>#define G_OS_UNIX
diff -urN glib-2.22.2/gio/Makefile.am glib-2.22.2-haiku/gio/Makefile.am
--- glib-2.22.2/gio/Makefile.am 2009-09-29 20:08:03.000000000 -0700
+++ glib-2.22.2-haiku/gio/Makefile.am 2009-11-20 08:31:42.000000000 -0800
@@ -174,7 +174,7 @@
endif
-SUBDIRS += tests
+#SUBDIRS += tests
libgio_2_0_la_SOURCES = \
gappinfo.c \
diff -urN glib-2.22.2/gio/gunixinputstream.c glib-2.22.2-haiku/gio/gunixinputstream.c
--- glib-2.22.2/gio/gunixinputstream.c 2009-09-18 16:20:05.000000000 -0700
+++ glib-2.22.2-haiku/gio/gunixinputstream.c 2009-11-20 08:31:46.000000000 -0800
@@ -329,6 +329,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixInputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -379,6 +382,7 @@
}
return res;
+#endif
}
static gboolean
@@ -484,6 +488,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) &&!defined(G_OS_HAIKU)
GSource *source;
GUnixInputStream *unix_stream;
ReadAsyncData *data;
@@ -506,6 +511,7 @@
g_source_attach (source, g_main_context_get_thread_default ());
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.22.2/gio/gunixmounts.c glib-2.22.2-haiku/gio/gunixmounts.c
--- glib-2.22.2/gio/gunixmounts.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/gunixmounts.c 2009-11-20 08:31:51.000000000 -0800
@@ -656,6 +656,16 @@
return return_list;
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -1040,6 +1050,16 @@
{
return _g_get_unix_mounts ();
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -urN glib-2.22.2/gio/gunixoutputstream.c glib-2.22.2-haiku/gio/gunixoutputstream.c
--- glib-2.22.2/gio/gunixoutputstream.c 2009-09-18 16:20:05.000000000 -0700
+++ glib-2.22.2-haiku/gio/gunixoutputstream.c 2009-11-20 08:31:56.000000000 -0800
@@ -315,6 +315,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixOutputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -366,6 +369,7 @@
}
return res;
+#endif
}
static gboolean
@@ -471,6 +475,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GSource *source;
GUnixOutputStream *unix_stream;
WriteAsyncData *data;
@@ -493,6 +498,7 @@
g_source_attach (source, g_main_context_get_thread_default ());
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.22.2/gio/makegioalias.pl glib-2.22.2-haiku/gio/makegioalias.pl
--- glib-2.22.2/gio/makegioalias.pl 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/makegioalias.pl 2009-11-20 08:32:01.000000000 -0800
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -urN glib-2.22.2/gio/xdgmime/xdgmimealias.c glib-2.22.2-haiku/gio/xdgmime/xdgmimealias.c
--- glib-2.22.2/gio/xdgmime/xdgmimealias.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/xdgmime/xdgmimealias.c 2009-11-20 08:32:06.000000000 -0800
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -urN glib-2.22.2/gio/xdgmime/xdgmimecache.c glib-2.22.2-haiku/gio/xdgmime/xdgmimecache.c
--- glib-2.22.2/gio/xdgmime/xdgmimecache.c 2009-10-06 13:07:59.000000000 -0700
+++ glib-2.22.2-haiku/gio/xdgmime/xdgmimecache.c 2009-11-20 08:32:10.000000000 -0800
@@ -34,7 +34,7 @@
#include <fcntl.h>
#include <unistd.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#include <assert.h>
#include <netinet/in.h> /* for ntohl/ntohs */
diff -urN glib-2.22.2/gio/xdgmime/xdgmimeparent.c glib-2.22.2-haiku/gio/xdgmime/xdgmimeparent.c
--- glib-2.22.2/gio/xdgmime/xdgmimeparent.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/xdgmime/xdgmimeparent.c 2009-11-20 08:32:15.000000000 -0800
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -urN glib-2.22.2/glib/Makefile.am glib-2.22.2-haiku/glib/Makefile.am
--- glib-2.22.2/glib/Makefile.am 2009-09-29 20:08:03.000000000 -0700
+++ glib-2.22.2-haiku/glib/Makefile.am 2009-11-20 08:32:21.000000000 -0800
@@ -19,7 +19,7 @@
gregex_h =
endif
-SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
+SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre .
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
diff -urN glib-2.22.2/glib/gbacktrace.c glib-2.22.2-haiku/glib/gbacktrace.c
--- glib-2.22.2/glib/gbacktrace.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gbacktrace.c 2009-11-20 08:32:30.000000000 -0800
@@ -158,7 +158,7 @@
void
g_on_error_stack_trace (const gchar *prg_name)
{
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
pid_t pid;
gchar buf[16];
gchar *args[4] = { "gdb", NULL, NULL, NULL };
@@ -193,7 +193,7 @@
#endif
}
-#ifndef G_OS_WIN32
+#if !defined(G_OS_WIN32) && !defined(G_OS_BEOS)
static gboolean stack_trace_done = FALSE;
diff -urN glib-2.22.2/glib/gmain.c glib-2.22.2-haiku/glib/gmain.c
--- glib-2.22.2/glib/gmain.c 2009-08-28 19:52:23.000000000 -0700
+++ glib-2.22.2-haiku/glib/gmain.c 2009-11-20 08:32:34.000000000 -0800
@@ -72,6 +72,12 @@
#include <sys/wait.h>
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include "fcntl.h"
+#endif /* G_OS_HAIKU */
+
#ifdef G_OS_UNIX
#include <fcntl.h>
#include <sys/wait.h>
@@ -3842,6 +3848,7 @@
static void
g_child_watch_source_init_multi_threaded (void)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GError *error = NULL;
struct sigaction action;
@@ -3861,6 +3868,7 @@
sigemptyset (&action.sa_mask);
action.sa_flags = SA_RESTART | SA_NOCLDSTOP;
sigaction (SIGCHLD, &action, NULL);
+#endif
}
static void
diff -urN glib-2.22.2/glib/gslice.c glib-2.22.2-haiku/glib/gslice.c
--- glib-2.22.2/glib/gslice.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gslice.c 2009-11-20 08:32:42.000000000 -0800
@@ -302,6 +302,8 @@
GetSystemInfo (&system_info);
sys_page_size = system_info.dwPageSize;
}
+#elif defined(G_OS_BEOS)
+ sys_page_size = 4096;
#else
sys_page_size = sysconf (_SC_PAGESIZE); /* = sysconf (_SC_PAGE_SIZE); = getpagesize(); */
#endif
diff -urN glib-2.22.2/glib/gspawn.c glib-2.22.2-haiku/glib/gspawn.c
--- glib-2.22.2/glib/gspawn.c 2009-08-27 20:51:21.000000000 -0700
+++ glib-2.22.2-haiku/glib/gspawn.c 2009-11-20 08:32:46.000000000 -0800
@@ -240,6 +240,9 @@
gint *exit_status,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return FALSE;
+#else
gint outpipe = -1;
gint errpipe = -1;
GPid pid;
@@ -439,6 +442,7 @@
return TRUE;
}
+#endif
}
/**
@@ -915,7 +919,7 @@
gint fd;
gint res = 0;
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
struct rlimit rl;
#endif
@@ -958,7 +962,7 @@
#endif
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
diff -urN glib-2.22.2/glib/gstdio.c glib-2.22.2-haiku/glib/gstdio.c
--- glib-2.22.2/glib/gstdio.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gstdio.c 2009-11-20 08:32:50.000000000 -0800
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined(G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -urN glib-2.22.2/glib/gstrfuncs.c glib-2.22.2-haiku/glib/gstrfuncs.c
--- glib-2.22.2/glib/gstrfuncs.c 2009-08-27 20:48:13.000000000 -0700
+++ glib-2.22.2-haiku/glib/gstrfuncs.c 2009-11-20 08:32:55.000000000 -0800
@@ -1410,7 +1410,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -urN glib-2.22.2/glib/gtester.c glib-2.22.2-haiku/glib/gtester.c
--- glib-2.22.2/glib/gtester.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gtester.c 2009-11-20 08:32:59.000000000 -0800
@@ -630,6 +630,7 @@
* we must fiddle with sigaction() *before* glib is used, otherwise
* we could revoke signal hanmdler setups from glib initialization code.
*/
+#ifdef SA_RESTART
if (TRUE)
{
struct sigaction sa;
@@ -639,6 +640,7 @@
sa.sa_flags = SA_RESTART;
sigaction (SIGCHLD, &sa, &osa);
}
+#endif
g_set_prgname (argv[0]);
parse_args (&argc, &argv);
diff -urN glib-2.22.2/glib/gutils.c glib-2.22.2-haiku/glib/gutils.c
--- glib-2.22.2/glib/gutils.c 2009-08-28 19:52:23.000000000 -0700
+++ glib-2.22.2-haiku/glib/gutils.c 2009-11-20 08:33:03.000000000 -0800
@@ -478,7 +478,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
@@ -2311,6 +2311,21 @@
}
#endif /* G_OS_WIN32 */
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+static void
+load_user_special_dirs (void)
+{
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup("$HOME");
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
+}
+#endif /* G_OS_BEOS */
+
static void g_init_user_config_dir (void);
#if defined(G_OS_UNIX) && !defined(HAVE_CARBON)
diff -urN glib-2.22.2/glib/makegalias.pl glib-2.22.2-haiku/glib/makegalias.pl
--- glib-2.22.2/glib/makegalias.pl 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/makegalias.pl 2009-11-20 08:33:08.000000000 -0800
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -urN glib-2.22.2/gobject/makegobjectalias.pl glib-2.22.2-haiku/gobject/makegobjectalias.pl
--- glib-2.22.2/gobject/makegobjectalias.pl 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gobject/makegobjectalias.pl 2009-11-20 08:33:14.000000000 -0800
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;