mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
Initial patch for glib-2.24.1 to allow for building on Haiku. Only checked with gcc2 for now. This patched based mostly on Grzegorz Dabrowski's 2.24.0
patch with some minor changes from myself.
This commit is contained in:
33
dev-libs/glib/glib-2.24.1.bep
Normal file
33
dev-libs/glib/glib-2.24.1.bep
Normal file
@@ -0,0 +1,33 @@
|
||||
DESCRIPTION="glib"
|
||||
HOMEPAGE="http://www.gtk.org/"
|
||||
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.24/glib-2.24.1.tar.gz"
|
||||
CHECKSUM_MD5="e61f2e9636f9d57067c4e3a690b9911a"
|
||||
REVISION="1"
|
||||
STATUS_HAIKU="stable"
|
||||
DEPEND=""
|
||||
BUILD {
|
||||
cd glib-2.24.1
|
||||
rm -rf aclocal.m4
|
||||
mkdir -p m4
|
||||
cp ../../gtk-doc.m4 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
|
||||
autoconf
|
||||
./configure --prefix=/boot/common \
|
||||
--with-threads=posix \
|
||||
LDFLAGS=-lnetwork
|
||||
make
|
||||
}
|
||||
|
||||
INSTALL {
|
||||
cd glib-2.24.1
|
||||
make install
|
||||
}
|
||||
|
||||
LICENSE="GNU LGPL v2"
|
||||
COPYRIGHT="" # TODO: Need to determine who/what to list for the copyright on this one.
|
||||
61
dev-libs/glib/gtk-doc.m4
Normal file
61
dev-libs/glib/gtk-doc.m4
Normal file
@@ -0,0 +1,61 @@
|
||||
dnl -*- mode: autoconf -*-
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
|
||||
AC_DEFUN([GTK_DOC_CHECK],
|
||||
[
|
||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
|
||||
dnl check for tools we added during development
|
||||
AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
|
||||
AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
|
||||
AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
|
||||
|
||||
dnl for overriding the documentation installation directory
|
||||
AC_ARG_WITH([html-dir],
|
||||
AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
|
||||
[with_html_dir='${datadir}/gtk-doc/html'])
|
||||
HTML_DIR="$with_html_dir"
|
||||
AC_SUBST([HTML_DIR])
|
||||
|
||||
dnl enable/disable documentation building
|
||||
AC_ARG_ENABLE([gtk-doc],
|
||||
AS_HELP_STRING([--enable-gtk-doc],
|
||||
[use gtk-doc to build documentation [[default=no]]]),,
|
||||
[enable_gtk_doc=no])
|
||||
|
||||
if test x$enable_gtk_doc = xyes; then
|
||||
ifelse([$1],[],
|
||||
[PKG_CHECK_EXISTS([gtk-doc],,
|
||||
AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
|
||||
[PKG_CHECK_EXISTS([gtk-doc >= $1],,
|
||||
AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([whether to build gtk-doc documentation])
|
||||
AC_MSG_RESULT($enable_gtk_doc)
|
||||
|
||||
dnl enable/disable output formats
|
||||
AC_ARG_ENABLE([gtk-doc-html],
|
||||
AS_HELP_STRING([--enable-gtk-doc-html],
|
||||
[build documentation in html format [[default=yes]]]),,
|
||||
[enable_gtk_doc_html=yes])
|
||||
AC_ARG_ENABLE([gtk-doc-pdf],
|
||||
AS_HELP_STRING([--enable-gtk-doc-pdf],
|
||||
[build documentation in pdf format [[default=no]]]),,
|
||||
[enable_gtk_doc_pdf=no])
|
||||
|
||||
if test -z "$GTKDOC_MKPDF"; then
|
||||
enable_gtk_doc_pdf=no
|
||||
fi
|
||||
|
||||
|
||||
AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
|
||||
AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
|
||||
])
|
||||
273
dev-libs/glib/patches/glib-2.24.1.patch
Normal file
273
dev-libs/glib/patches/glib-2.24.1.patch
Normal file
@@ -0,0 +1,273 @@
|
||||
diff -urN glib-2.24.1/configure.in glib-2.24.1-haiku/configure.in
|
||||
--- glib-2.24.1/configure.in 2010-05-02 23:58:58.044040192 +0000
|
||||
+++ glib-2.24.1-haiku/configure.in 2010-06-06 21:09:40.325582848 +0000
|
||||
@@ -140,6 +140,10 @@
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
+ *-*-haiku*)
|
||||
+ glib_native_win32=no
|
||||
+ glib_pid_type='signed long int'
|
||||
+ ;;
|
||||
*)
|
||||
glib_native_win32=no
|
||||
glib_pid_type=int
|
||||
@@ -375,7 +379,7 @@
|
||||
AC_PATH_PROG(PERL_PATH, [$PERL])
|
||||
fi
|
||||
if test "x$PERL_PATH" = x ; then
|
||||
- PERL_PATH="/usr/bin/env perl"
|
||||
+ PERL_PATH="/bin/env perl"
|
||||
fi
|
||||
AC_SUBST(PERL_PATH)
|
||||
|
||||
@@ -1023,14 +1027,14 @@
|
||||
[res_query("test", 0, 0, (void *)0, 0);],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[save_libs="$LIBS"
|
||||
- LIBS="-lresolv $LIBS"
|
||||
+ LIBS="-lnetwork $LIBS"
|
||||
AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>],
|
||||
[res_query("test", 0, 0, (void *)0, 0);],
|
||||
- [AC_MSG_RESULT([in -lresolv])
|
||||
- LIBASYNCNS_LIBADD="-lresolv"],
|
||||
+ [AC_MSG_RESULT([in -lnetwork])
|
||||
+ LIBASYNCNS_LIBADD="-lnetwork"],
|
||||
[LIBS="-lbind $save_libs"
|
||||
AC_TRY_LINK([#include <resolv.h>],
|
||||
[res_query("test", 0, 0, (void *)0, 0);],
|
||||
@@ -3476,6 +3480,10 @@
|
||||
*-*-beos*)
|
||||
glib_os="#define G_OS_BEOS"
|
||||
;;
|
||||
+ *-*-haiku*)
|
||||
+ glib_os="#define G_OS_HAIKU
|
||||
+#define G_OS_UNIX"
|
||||
+ ;;
|
||||
*-*-cygwin*)
|
||||
glib_os="#define G_OS_UNIX
|
||||
#define G_PLATFORM_WIN32
|
||||
diff -urN glib-2.24.1/docs/reference/glib/glib-overrides.txt glib-2.24.1-haiku/docs/reference/glib/glib-overrides.txt
|
||||
--- glib-2.24.1/docs/reference/glib/glib-overrides.txt 2009-03-31 23:04:20.040632320 +0000
|
||||
+++ glib-2.24.1-haiku/docs/reference/glib/glib-overrides.txt 2010-06-06 21:09:40.327417856 +0000
|
||||
@@ -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.24.1/docs/reference/glib/glib-sections.txt glib-2.24.1-haiku/docs/reference/glib/glib-sections.txt
|
||||
--- glib-2.24.1/docs/reference/glib/glib-sections.txt 2010-05-03 01:23:07.031981568 +0000
|
||||
+++ glib-2.24.1-haiku/docs/reference/glib/glib-sections.txt 2010-06-06 21:09:40.338165760 +0000
|
||||
@@ -131,6 +131,7 @@
|
||||
G_OS_WIN32
|
||||
G_OS_BEOS
|
||||
G_OS_UNIX
|
||||
+G_OS_HAIKU
|
||||
|
||||
<SUBSECTION>
|
||||
G_DIR_SEPARATOR
|
||||
diff -urN glib-2.24.1/docs/reference/glib/tmpl/macros.sgml glib-2.24.1-haiku/docs/reference/glib/tmpl/macros.sgml
|
||||
--- glib-2.24.1/docs/reference/glib/tmpl/macros.sgml 2010-05-03 01:23:06.032768000 +0000
|
||||
+++ glib-2.24.1-haiku/docs/reference/glib/tmpl/macros.sgml 2010-06-06 21:09:40.348127232 +0000
|
||||
@@ -34,6 +34,11 @@
|
||||
BeOS-specific code in "#ifdef G_OS_BEOS".
|
||||
</para>
|
||||
|
||||
+<!-- ##### MACRO G_OS_HAIKU ##### -->
|
||||
+<para>
|
||||
+This macro is defined only on Haiku. So you can bracket
|
||||
+Haiku-specific code in "#ifdef G_OS_HAIKU".
|
||||
+</para>
|
||||
|
||||
|
||||
<!-- ##### MACRO G_OS_UNIX ##### -->
|
||||
diff -urN glib-2.24.1/gio/gunixmounts.c glib-2.24.1-haiku/gio/gunixmounts.c
|
||||
--- glib-2.24.1/gio/gunixmounts.c 2009-03-31 23:04:20.054525952 +0000
|
||||
+++ glib-2.24.1-haiku/gio/gunixmounts.c 2010-06-06 21:09:40.359661568 +0000
|
||||
@@ -656,6 +656,23 @@
|
||||
|
||||
return return_list;
|
||||
}
|
||||
+
|
||||
+#elif defined(G_OS_HAIKU)
|
||||
+
|
||||
+static char *
|
||||
+get_mtab_monitor_file (void)
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+static GList *
|
||||
+_g_get_unix_mounts (void)
|
||||
+{
|
||||
+ /* TODO: implement me */
|
||||
+ GList *return_list = NULL;
|
||||
+ return return_list;
|
||||
+}
|
||||
+
|
||||
#else
|
||||
#error No _g_get_unix_mounts() implementation for system
|
||||
#endif
|
||||
@@ -1040,6 +1057,16 @@
|
||||
{
|
||||
return _g_get_unix_mounts ();
|
||||
}
|
||||
+
|
||||
+#elif 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.24.1/gio/makegioalias.pl glib-2.24.1-haiku/gio/makegioalias.pl
|
||||
--- glib-2.24.1/gio/makegioalias.pl 2009-03-31 23:04:20.004456448 +0000
|
||||
+++ glib-2.24.1-haiku/gio/makegioalias.pl 2010-06-06 21:09:40.361496576 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/perl -w
|
||||
+#!/bin/env perl
|
||||
|
||||
my $do_def = 0;
|
||||
|
||||
diff -urN glib-2.24.1/gio/tests/memory-output-stream.c glib-2.24.1-haiku/gio/tests/memory-output-stream.c
|
||||
--- glib-2.24.1/gio/tests/memory-output-stream.c 2010-04-13 13:33:16.043253760 +0000
|
||||
+++ glib-2.24.1-haiku/gio/tests/memory-output-stream.c 2010-06-06 21:09:50.734003200 +0000
|
||||
@@ -91,6 +91,8 @@
|
||||
GOutputStream *mo;
|
||||
GDataOutputStream *o;
|
||||
int i;
|
||||
+ gsize data_size_fun, data_size_prop;
|
||||
+ gpointer data_fun, data_prop;
|
||||
GError *error = NULL;
|
||||
|
||||
g_test_bug ("605733");
|
||||
@@ -107,13 +109,11 @@
|
||||
g_assert_no_error (error);
|
||||
}
|
||||
|
||||
- gsize data_size_fun = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mo));
|
||||
- gsize data_size_prop;
|
||||
+ data_size_fun = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mo));
|
||||
g_object_get (mo, "data-size", &data_size_prop, NULL);
|
||||
g_assert_cmpint (data_size_fun, ==, data_size_prop);
|
||||
|
||||
- gpointer data_fun = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mo));
|
||||
- gpointer data_prop;
|
||||
+ data_fun = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mo));
|
||||
g_object_get (mo, "data", &data_prop, NULL);
|
||||
g_assert_cmphex (data_fun, ==, data_prop);
|
||||
|
||||
diff -urN glib-2.24.1/glib/gen-script-table.pl glib-2.24.1-haiku/glib/gen-script-table.pl
|
||||
--- glib-2.24.1/glib/gen-script-table.pl 2009-03-31 23:04:20.056885248 +0000
|
||||
+++ glib-2.24.1-haiku/glib/gen-script-table.pl 2010-06-06 21:09:40.363069440 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/perl -w
|
||||
+#!/bin/env perl
|
||||
#
|
||||
# Script to convert http://www.unicode.org/Public/UNIDATA/Scripts.txt
|
||||
# into a machine-readable table.
|
||||
diff -urN glib-2.24.1/glib/gen-unicode-tables.pl glib-2.24.1-haiku/glib/gen-unicode-tables.pl
|
||||
--- glib-2.24.1/glib/gen-unicode-tables.pl 2009-03-31 23:04:20.061603840 +0000
|
||||
+++ glib-2.24.1-haiku/glib/gen-unicode-tables.pl 2010-06-06 21:09:40.379584512 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#! /usr/bin/perl -w
|
||||
+#! /bin/env perl
|
||||
|
||||
# Copyright (C) 1998, 1999 Tom Tromey
|
||||
# Copyright (C) 2001 Red Hat Software
|
||||
diff -urN glib-2.24.1/glib/gstdio.c glib-2.24.1-haiku/glib/gstdio.c
|
||||
--- glib-2.24.1/glib/gstdio.c 2010-05-02 23:58:59.055836672 +0000
|
||||
+++ glib-2.24.1-haiku/glib/gstdio.c 2010-06-06 21:09:40.392167424 +0000
|
||||
@@ -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.24.1/glib/gstrfuncs.c glib-2.24.1-haiku/glib/gstrfuncs.c
|
||||
--- glib-2.24.1/glib/gstrfuncs.c 2010-04-13 13:33:16.040632320 +0000
|
||||
+++ glib-2.24.1-haiku/glib/gstrfuncs.c 2010-06-06 21:09:40.403439616 +0000
|
||||
@@ -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.24.1/glib/gutils.c glib-2.24.1-haiku/glib/gutils.c
|
||||
--- glib-2.24.1/glib/gutils.c 2010-04-13 13:33:16.062914560 +0000
|
||||
+++ glib-2.24.1-haiku/glib/gutils.c 2010-06-06 21:09:40.414711808 +0000
|
||||
@@ -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
|
||||
diff -urN glib-2.24.1/glib/makegalias.pl glib-2.24.1-haiku/glib/makegalias.pl
|
||||
--- glib-2.24.1/glib/makegalias.pl 2009-03-31 23:04:20.055836672 +0000
|
||||
+++ glib-2.24.1-haiku/glib/makegalias.pl 2010-06-06 21:09:40.416546816 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/perl -w
|
||||
+#!/bin/env perl
|
||||
|
||||
my $do_def = 0;
|
||||
|
||||
diff -urN glib-2.24.1/gobject/makegobjectalias.pl glib-2.24.1-haiku/gobject/makegobjectalias.pl
|
||||
--- glib-2.24.1/gobject/makegobjectalias.pl 2009-03-31 23:04:20.025952256 +0000
|
||||
+++ glib-2.24.1-haiku/gobject/makegobjectalias.pl 2010-06-06 21:09:40.426508288 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/perl -w
|
||||
+#!/bin/env perl
|
||||
|
||||
my $do_def = 0;
|
||||
|
||||
diff -urN glib-2.24.1/gobject/marshal-genstrings.pl glib-2.24.1-haiku/gobject/marshal-genstrings.pl
|
||||
--- glib-2.24.1/gobject/marshal-genstrings.pl 2009-03-31 23:04:20.024641536 +0000
|
||||
+++ glib-2.24.1-haiku/gobject/marshal-genstrings.pl 2010-06-06 21:09:40.434372608 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/perl
|
||||
+#!/bin/env perl
|
||||
|
||||
open (List, "gmarshal.list");
|
||||
|
||||
diff -urN glib-2.24.1/tests/gen-casefold-txt.pl glib-2.24.1-haiku/tests/gen-casefold-txt.pl
|
||||
--- glib-2.24.1/tests/gen-casefold-txt.pl 2009-03-31 23:04:20.060030976 +0000
|
||||
+++ glib-2.24.1-haiku/tests/gen-casefold-txt.pl 2010-06-06 21:09:40.446169088 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#! /usr/bin/perl -w
|
||||
+#! /bin/env perl
|
||||
|
||||
# Copyright (C) 1998, 1999 Tom Tromey
|
||||
# Copyright (C) 2001 Red Hat Software
|
||||
diff -urN glib-2.24.1/tests/gen-casemap-txt.pl glib-2.24.1-haiku/tests/gen-casemap-txt.pl
|
||||
--- glib-2.24.1/tests/gen-casemap-txt.pl 2009-03-31 23:04:20.044564480 +0000
|
||||
+++ glib-2.24.1-haiku/tests/gen-casemap-txt.pl 2010-06-06 21:09:40.448004096 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#! /usr/bin/perl -w
|
||||
+#! /bin/env perl
|
||||
|
||||
# Copyright (C) 1998, 1999 Tom Tromey
|
||||
# Copyright (C) 2001 Red Hat Software
|
||||
Reference in New Issue
Block a user