summaryrefslogtreecommitdiffstats
path: root/devel/glib20/files
diff options
context:
space:
mode:
Diffstat (limited to 'devel/glib20/files')
-rw-r--r--devel/glib20/files/extra-patch-gthread_gthread-posix.c32
-rw-r--r--devel/glib20/files/patch-ae11
-rw-r--r--devel/glib20/files/patch-ag14
-rw-r--r--devel/glib20/files/patch-ah11
-rw-r--r--devel/glib20/files/patch-glib::libcharset::Makefile.in31
-rw-r--r--devel/glib20/files/patch-glib_gthread.c28
-rw-r--r--devel/glib20/files/patch-glib_gthreadprivate.h53
-rw-r--r--devel/glib20/files/patch-glib_gutils.c20
-rw-r--r--devel/glib20/files/patch-gmodule::gmodule-dl.c24
-rw-r--r--devel/glib20/files/patch-gthread_gthread-impl.c185
-rw-r--r--devel/glib20/files/patch-gthread_gthread-posix.c21
11 files changed, 430 insertions, 0 deletions
diff --git a/devel/glib20/files/extra-patch-gthread_gthread-posix.c b/devel/glib20/files/extra-patch-gthread_gthread-posix.c
new file mode 100644
index 000000000..bde2862f6
--- /dev/null
+++ b/devel/glib20/files/extra-patch-gthread_gthread-posix.c
@@ -0,0 +1,32 @@
+--- gthread/gthread-posix.c.orig Thu Jun 9 11:25:01 2005
++++ gthread/gthread-posix.c Fri Jun 10 20:23:17 2005
+@@ -115,7 +115,11 @@ static gint priority_normal_value;
+ # define PRIORITY_NORMAL_VALUE priority_normal_value
+ #endif /* POSIX_MIN_PRIORITY && POSIX_MAX_PRIORITY */
+
++#define G_THREAD_STACK_SIZE32 (1*1024*1024)
++#define G_THREAD_STACK_SIZE64 (2*1024*1024)
++
+ static gulong g_thread_min_stack_size = 0;
++static gulong g_thread_default_stack_size = 0;
+
+ #define G_MUTEX_SIZE (sizeof (pthread_mutex_t))
+
+@@ -309,8 +313,16 @@ g_thread_create_posix_impl (GThreadFunc
+ stack_size = MAX (g_thread_min_stack_size, stack_size);
+ /* No error check here, because some systems can't do it and
+ * we simply don't want threads to fail because of that. */
+- pthread_attr_setstacksize (&attr, stack_size);
+ }
++ else
++ {
++ if (sizeof(void *) == 8)
++ g_thread_default_stack_size = G_THREAD_STACK_SIZE64;
++ else
++ g_thread_default_stack_size = G_THREAD_STACK_SIZE32;
++ stack_size = MAX (g_thread_min_stack_size, g_thread_default_stack_size);
++ }
++ pthread_attr_setstacksize (&attr, stack_size);
+ #endif /* HAVE_PTHREAD_ATTR_SETSTACKSIZE */
+
+ #ifdef PTHREAD_SCOPE_SYSTEM
diff --git a/devel/glib20/files/patch-ae b/devel/glib20/files/patch-ae
new file mode 100644
index 000000000..89850e102
--- /dev/null
+++ b/devel/glib20/files/patch-ae
@@ -0,0 +1,11 @@
+--- configure.orig Fri Apr 30 09:05:01 2004
++++ configure Tue May 4 12:52:56 2004
+@@ -31818,6 +31819,8 @@
+ ;;
+ esac
+ fi
++ G_THREAD_CFLAGS="${PTHREAD_CFLAGS}"
++ G_THREAD_LIBS="${PTHREAD_LIBS}"
+
+ if test x"$G_THREAD_CFLAGS" = x; then
+
diff --git a/devel/glib20/files/patch-ag b/devel/glib20/files/patch-ag
new file mode 100644
index 000000000..3e8fbfbf4
--- /dev/null
+++ b/devel/glib20/files/patch-ag
@@ -0,0 +1,14 @@
+--- Makefile.in.orig Sun Dec 23 16:53:53 2001
++++ Makefile.in Fri Feb 8 12:44:30 2002
+@@ -151,3 +151,3 @@
+
+-SUBDIRS = . m4macros glib gobject gmodule gthread tests build po docs
++SUBDIRS = . m4macros glib gobject gmodule gthread build po docs
+
+@@ -192,4 +192,4 @@
+
+-
+-configexecincludedir = $(libdir)/glib-2.0/include
++glibincludedir = $(includedir)/glib-2.0
++configexecincludedir = $(glibincludedir)
+
diff --git a/devel/glib20/files/patch-ah b/devel/glib20/files/patch-ah
new file mode 100644
index 000000000..c339b76e2
--- /dev/null
+++ b/devel/glib20/files/patch-ah
@@ -0,0 +1,11 @@
+--- docs/reference/Makefile.in.orig Fri Oct 24 18:05:32 2003
++++ docs/reference/Makefile.in Fri Oct 24 18:06:00 2003
+@@ -226,7 +226,7 @@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-SUBDIRS = glib gobject
++SUBDIRS = #glib gobject
+ subdir = docs/reference
+ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+ CONFIG_HEADER = $(top_builddir)/config.h
diff --git a/devel/glib20/files/patch-glib::libcharset::Makefile.in b/devel/glib20/files/patch-glib::libcharset::Makefile.in
new file mode 100644
index 000000000..9afd57416
--- /dev/null
+++ b/devel/glib20/files/patch-glib::libcharset::Makefile.in
@@ -0,0 +1,31 @@
+--- glib/libcharset/Makefile.in.orig Fri Apr 30 12:10:27 2004
++++ glib/libcharset/Makefile.in Fri Apr 30 12:12:01 2004
+@@ -225,7 +225,7 @@
+ target_alias = @target_alias@
+
+ INCLUDES = \
+- -DLIBDIR=\"$(libdir)\" -I$(top_srcdir)
++ -DLIBDIR=\"$(prefix)/libdata\" -I$(top_srcdir)
+
+
+ noinst_LTLIBRARIES = libcharset.la
+@@ -246,8 +246,8 @@
+ make-patch.sh
+
+
+-charset_alias = $(DESTDIR)$(libdir)/charset.alias
+-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
++charset_alias = $(DESTDIR)$(prefix)/libdata/charset.alias
++charset_tmp = $(DESTDIR)$(prefix)/libdata/charset.tmp
+
+ SUFFIXES = .sed .sin
+
+@@ -487,7 +487,7 @@
+
+ install-data-am:
+
+-install-exec-am: install-exec-local
++install-exec-am: # install-exec-local
+
+ install-info: install-info-am
+
diff --git a/devel/glib20/files/patch-glib_gthread.c b/devel/glib20/files/patch-glib_gthread.c
new file mode 100644
index 000000000..1dce08388
--- /dev/null
+++ b/devel/glib20/files/patch-glib_gthread.c
@@ -0,0 +1,28 @@
+--- glib/gthread.c.orig Mon Mar 14 05:02:07 2005
++++ glib/gthread.c Wed Jul 20 19:44:08 2005
+@@ -42,24 +42,8 @@
+
+ #include "glib.h"
+ #include "gthreadinit.h"
++#include "gthreadprivate.h"
+ #include "galias.h"
+-
+-#if GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P
+-# define g_system_thread_equal_simple(thread1, thread2) \
+- ((thread1).dummy_pointer == (thread2).dummy_pointer)
+-# define g_system_thread_assign(dest, src) \
+- ((dest).dummy_pointer = (src).dummy_pointer)
+-#else /* GLIB_SIZEOF_SYSTEM_THREAD != SIZEOF_VOID_P */
+-# define g_system_thread_equal_simple(thread1, thread2) \
+- (memcmp (&(thread1), &(thread2), GLIB_SIZEOF_SYSTEM_THREAD) == 0)
+-# define g_system_thread_assign(dest, src) \
+- (memcpy (&(dest), &(src), GLIB_SIZEOF_SYSTEM_THREAD))
+-#endif /* GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P */
+-
+-#define g_system_thread_equal(thread1, thread2) \
+- (g_thread_functions_for_glib_use.thread_equal ? \
+- g_thread_functions_for_glib_use.thread_equal (&(thread1), &(thread2)) :\
+- g_system_thread_equal_simple((thread1), (thread2)))
+
+ GQuark
+ g_thread_error_quark (void)
diff --git a/devel/glib20/files/patch-glib_gthreadprivate.h b/devel/glib20/files/patch-glib_gthreadprivate.h
new file mode 100644
index 000000000..0235c2026
--- /dev/null
+++ b/devel/glib20/files/patch-glib_gthreadprivate.h
@@ -0,0 +1,53 @@
+--- glib/gthreadprivate.h.orig Wed Jul 20 19:44:08 2005
++++ glib/gthreadprivate.h Wed Jul 20 19:44:08 2005
+@@ -0,0 +1,50 @@
++/* gthreadprivate.h
++ *
++ * Copyright 1998 Sebastian Wilhelmi; University of Karlsruhe
++ * Owen Taylor
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++
++#ifndef __G_THREAD_PRIVATE_H__
++#define __G_THREAD_PRIVATE_H__
++
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
++G_BEGIN_DECLS
++
++#if GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P
++# define g_system_thread_equal_simple(thread1, thread2) \
++ ((thread1).dummy_pointer == (thread2).dummy_pointer)
++# define g_system_thread_assign(dest, src) \
++ ((dest).dummy_pointer = (src).dummy_pointer)
++#else /* GLIB_SIZEOF_SYSTEM_THREAD != SIZEOF_VOID_P */
++# define g_system_thread_equal_simple(thread1, thread2) \
++ (memcmp (&(thread1), &(thread2), GLIB_SIZEOF_SYSTEM_THREAD) == 0)
++# define g_system_thread_assign(dest, src) \
++ (memcpy (&(dest), &(src), GLIB_SIZEOF_SYSTEM_THREAD))
++#endif /* GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P */
++
++#define g_system_thread_equal(thread1, thread2) \
++ (g_thread_functions_for_glib_use.thread_equal ? \
++ g_thread_functions_for_glib_use.thread_equal (&(thread1), &(thread2)) :\
++ g_system_thread_equal_simple((thread1), (thread2)))
++
++G_END_DECLS
++
++#endif /* __G_THREAD_PRIVATE_H__ */
diff --git a/devel/glib20/files/patch-glib_gutils.c b/devel/glib20/files/patch-glib_gutils.c
new file mode 100644
index 000000000..ad4210c25
--- /dev/null
+++ b/devel/glib20/files/patch-glib_gutils.c
@@ -0,0 +1,20 @@
+--- glib/gutils.c.orig Wed Mar 23 09:55:02 2005
++++ glib/gutils.c Thu Apr 7 01:06:16 2005
+@@ -1929,7 +1929,7 @@ g_get_system_data_dirs (void)
+ data_dirs = (gchar *) g_getenv ("XDG_DATA_DIRS");
+
+ if (!data_dirs || !data_dirs[0])
+- data_dirs = "/usr/local/share/:/usr/share/";
++ data_dirs = "%%X11BASE%%/share/gnome/:/usr/local/share/gnome/:%%X11BASE%%/share/:/usr/local/share/:/usr/share/";
+
+ data_dir_vector = g_strsplit (data_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
+ #endif
+@@ -1983,7 +1983,7 @@ g_get_system_config_dirs (void)
+ conf_dirs = (gchar *) g_getenv ("XDG_CONFIG_DIRS");
+
+ if (!conf_dirs || !conf_dirs[0])
+- conf_dirs = "/etc/xdg";
++ conf_dirs = "%%X11BASE%%/etc/xdg:/usr/local/etc/xdg:/etc/xdg";
+
+ conf_dir_vector = g_strsplit (conf_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
+ #endif
diff --git a/devel/glib20/files/patch-gmodule::gmodule-dl.c b/devel/glib20/files/patch-gmodule::gmodule-dl.c
new file mode 100644
index 000000000..7e27afe4b
--- /dev/null
+++ b/devel/glib20/files/patch-gmodule::gmodule-dl.c
@@ -0,0 +1,24 @@
+
+$FreeBSD$
+ $MCom: ports-experimental/devel/glib20/files/patch-gmodule::gmodule-dl.c,v 1.3 2005/11/18 23:01:16 kwm Exp $
+
+--- gmodule/gmodule-dl.c.orig Sat Feb 17 08:28:07 2001
++++ gmodule/gmodule-dl.c Fri Jan 18 09:48:45 2002
+@@ -104,6 +104,7 @@
+ static gpointer
+ _g_module_self (void)
+ {
++#ifndef __FreeBSD__
+ gpointer handle;
+
+ /* to query symbols from the program itself, special link options
+@@ -115,6 +116,9 @@
+ g_module_set_error (fetch_dlerror (TRUE));
+
+ return handle;
++#else
++ return RTLD_DEFAULT;
++#endif
+ }
+
+ static void
diff --git a/devel/glib20/files/patch-gthread_gthread-impl.c b/devel/glib20/files/patch-gthread_gthread-impl.c
new file mode 100644
index 000000000..5f1b6dcbd
--- /dev/null
+++ b/devel/glib20/files/patch-gthread_gthread-impl.c
@@ -0,0 +1,185 @@
+--- gthread/gthread-impl.c.orig Fri Feb 14 16:08:46 2003
++++ gthread/gthread-impl.c Wed Jul 20 19:44:08 2005
+@@ -37,9 +37,11 @@
+
+ #include <glib.h>
+ #include <gthreadinit.h>
++#include "gthreadprivate.h"
+
+ #ifdef G_THREADS_ENABLED
+
++static GSystemThread zero_thread; /* This is initialized to all zero */
+ static gboolean thread_system_already_initialized = FALSE;
+ static gint g_thread_priority_map [G_THREAD_PRIORITY_URGENT + 1];
+
+@@ -76,7 +78,7 @@
+ struct _ErrorCheckInfo
+ {
+ gchar *location;
+- GThread *owner;
++ GSystemThread owner;
+ };
+
+ static GMutex *
+@@ -94,7 +96,9 @@
+ gchar *location)
+ {
+ ErrorCheckInfo *info;
+- GThread *self = g_thread_self ();
++ GSystemThread self;
++
++ g_thread_functions_for_glib_use.thread_self (&self);
+
+ if (magic != G_MUTEX_DEBUG_MAGIC)
+ location = "unknown";
+@@ -116,14 +120,14 @@
+ }
+
+ info = G_MUTEX_DEBUG_INFO (mutex);
+- if (info->owner == self)
++ if (g_system_thread_equal (info->owner, self))
+ g_error ("Trying to recursivly lock a mutex at '%s', "
+ "previously locked at '%s'",
+ location, info->location);
+
+ g_thread_functions_for_glib_use_default.mutex_lock (mutex);
+
+- info->owner = self;
++ g_system_thread_assign (info->owner, self);
+ info->location = location;
+ }
+
+@@ -133,7 +137,9 @@
+ gchar *location)
+ {
+ ErrorCheckInfo *info = G_MUTEX_DEBUG_INFO (mutex);
+- GThread *self = g_thread_self ();
++ GSystemThread self;
++
++ g_thread_functions_for_glib_use.thread_self (&self);
+
+ if (magic != G_MUTEX_DEBUG_MAGIC)
+ location = "unknown";
+@@ -145,7 +151,7 @@
+ return TRUE;
+ }
+
+- if (info->owner == self)
++ if (g_system_thread_equal (info->owner, self))
+ g_error ("Trying to recursivly lock a mutex at '%s', "
+ "previously locked at '%s'",
+ location, info->location);
+@@ -153,7 +159,7 @@
+ if (!g_thread_functions_for_glib_use_default.mutex_trylock (mutex))
+ return FALSE;
+
+- info->owner = self;
++ g_system_thread_assign (info->owner, self);
+ info->location = location;
+
+ return TRUE;
+@@ -165,20 +171,22 @@
+ gchar *location)
+ {
+ ErrorCheckInfo *info = G_MUTEX_DEBUG_INFO (mutex);
+- GThread *self = g_thread_self ();
++ GSystemThread self;
++
++ g_thread_functions_for_glib_use.thread_self (&self);
+
+ if (magic != G_MUTEX_DEBUG_MAGIC)
+ location = "unknown";
+
+- if (!info || info->owner == NULL)
++ if (!info || g_system_thread_equal (info->owner, zero_thread))
+ g_error ("Trying to unlock an unlocked mutex at '%s'", location);
+
+- if (info->owner != self)
++ if (!g_system_thread_equal (info->owner, self))
+ g_warning ("Trying to unlock a mutex at '%s', "
+ "previously locked by a different thread at '%s'",
+ location, info->location);
+
+- info->owner = NULL;
++ g_system_thread_assign (info->owner, zero_thread);
+ info->location = NULL;
+
+ g_thread_functions_for_glib_use_default.mutex_unlock (mutex);
+@@ -194,7 +202,7 @@
+ if (magic != G_MUTEX_DEBUG_MAGIC)
+ location = "unknown";
+
+- if (info && info->owner != NULL)
++ if (info && !g_system_thread_equal (info->owner, zero_thread))
+ g_error ("Trying to free a locked mutex at '%s', "
+ "which was previously locked at '%s'",
+ location, info->location);
+@@ -211,25 +219,27 @@
+ {
+
+ ErrorCheckInfo *info = G_MUTEX_DEBUG_INFO (mutex);
+- GThread *self = g_thread_self ();
++ GSystemThread self;
++
++ g_thread_functions_for_glib_use.thread_self (&self);
+
+ if (magic != G_MUTEX_DEBUG_MAGIC)
+ location = "unknown";
+
+- if (!info || info->owner == NULL)
++ if (!info || g_system_thread_equal (info->owner, zero_thread))
+ g_error ("Trying to use an unlocked mutex in g_cond_wait() at '%s'",
+ location);
+
+- if (info->owner != self)
++ if (!g_system_thread_equal (info->owner, self))
+ g_error ("Trying to use a mutex locked by another thread in "
+ "g_cond_wait() at '%s'", location);
+
+- info->owner = NULL;
++ g_system_thread_assign (info->owner, zero_thread);
+ location = info->location;
+
+ g_thread_functions_for_glib_use_default.cond_wait (cond, mutex);
+
+- info->owner = self;
++ g_system_thread_assign (info->owner, self);
+ info->location = location;
+ }
+
+@@ -242,28 +252,30 @@
+ gchar *location)
+ {
+ ErrorCheckInfo *info = G_MUTEX_DEBUG_INFO (mutex);
+- GThread *self = g_thread_self ();
++ GSystemThread self;
+ gboolean retval;
+
++ g_thread_functions_for_glib_use.thread_self (&self);
++
+ if (magic != G_MUTEX_DEBUG_MAGIC)
+ location = "unknown";
+
+- if (!info || info->owner == NULL)
++ if (!info || g_system_thread_equal (info->owner, zero_thread))
+ g_error ("Trying to use an unlocked mutex in g_cond_timed_wait() at '%s'",
+ location);
+
+- if (info->owner != self)
++ if (!g_system_thread_equal (info->owner, self))
+ g_error ("Trying to use a mutex locked by another thread in "
+ "g_cond_timed_wait() at '%s'", location);
+
+- info->owner = NULL;
++ g_system_thread_assign (info->owner, zero_thread);
+ location = info->location;
+
+ retval = g_thread_functions_for_glib_use_default.cond_timed_wait (cond,
+ mutex,
+ end_time);
+
+- info->owner = self;
++ g_system_thread_assign (info->owner, self);
+ info->location = location;
+
+ return retval;
diff --git a/devel/glib20/files/patch-gthread_gthread-posix.c b/devel/glib20/files/patch-gthread_gthread-posix.c
new file mode 100644
index 000000000..47c5ab8f1
--- /dev/null
+++ b/devel/glib20/files/patch-gthread_gthread-posix.c
@@ -0,0 +1,21 @@
+--- gthread/gthread-posix.c.orig Mon Nov 1 13:47:12 2004
++++ gthread/gthread-posix.c Wed Mar 9 14:21:20 2005
+@@ -125,7 +129,8 @@
+ g_thread_impl_init(void)
+ {
+ #ifdef _SC_THREAD_STACK_MIN
+- g_thread_min_stack_size = MAX (sysconf (_SC_THREAD_STACK_MIN), 0);
++ g_thread_min_stack_size = MAX (sysconf (_SC_THREAD_STACK_MIN),
++ g_thread_min_stack_size);
+ #endif /* _SC_THREAD_STACK_MIN */
+ #ifdef HAVE_PRIORITIES
+ # ifdef G_THREADS_IMPL_POSIX
+@@ -176,7 +181,7 @@
+ result = pthread_mutex_trylock ((pthread_mutex_t *) mutex);
+
+ #ifdef G_THREADS_IMPL_POSIX
+- if (result == EBUSY)
++ if ((result == EBUSY) || (result == EDEADLK))
+ return FALSE;
+ #else /* G_THREADS_IMPL_DCE */
+ if (result == 0)