aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2001-12-12 12:51:10 +0800
committersobomax <sobomax@FreeBSD.org>2001-12-12 12:51:10 +0800
commit35c5bc6d5330ded0c42923f2852c0711442ff081 (patch)
tree8df4dc613ebd1a9695bcb826f82906082b23e8cc /devel
parent1efffef46efb0db55c33e4e7de3157ed0dfd2a56 (diff)
downloadfreebsd-ports-gnome-35c5bc6d5330ded0c42923f2852c0711442ff081.tar.gz
freebsd-ports-gnome-35c5bc6d5330ded0c42923f2852c0711442ff081.tar.zst
freebsd-ports-gnome-35c5bc6d5330ded0c42923f2852c0711442ff081.zip
Smash a compatibility bug in g_module_open(). It seems that unlike Linux one,
FreeBSD's dlopen(NULL, ...) doesn't return a handle useable for resolving symbols in both the program itself and all modules it dlopen'ed. Instead, when requested for a self handle return RTLD_DEFAULT, which seems closely matches dlopen(NULL, ...) in Linux. Bump PORTREVISION. Recommended update for all GNOME/GTK users. Inspired by: John Merryweather Cooper <john_m_cooper@yahoo.com>
Diffstat (limited to 'devel')
-rw-r--r--devel/glib12/Makefile2
-rw-r--r--devel/glib12/files/patch-gmodule::gmodule-dl.c23
2 files changed, 24 insertions, 1 deletions
diff --git a/devel/glib12/Makefile b/devel/glib12/Makefile
index e058a816c483..513c855c0ed2 100644
--- a/devel/glib12/Makefile
+++ b/devel/glib12/Makefile
@@ -7,7 +7,7 @@
PORTNAME= glib
PORTVERSION= 1.2.10
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNOME}
MASTER_SITE_SUBDIR= stable/sources/glib
diff --git a/devel/glib12/files/patch-gmodule::gmodule-dl.c b/devel/glib12/files/patch-gmodule::gmodule-dl.c
new file mode 100644
index 000000000000..5460f6300bc1
--- /dev/null
+++ b/devel/glib12/files/patch-gmodule::gmodule-dl.c
@@ -0,0 +1,23 @@
+
+$FreeBSD$
+
+--- gmodule/gmodule-dl.c 2001/12/12 04:39:42 1.1
++++ gmodule/gmodule-dl.c 2001/12/12 04:41:05
+@@ -100,6 +100,7 @@
+ static gpointer
+ _g_module_self (void)
+ {
++#ifndef __FreeBSD__
+ gpointer handle;
+
+ /* to query symbols from the program itself, special link options
+@@ -111,6 +112,9 @@
+ g_module_set_error (fetch_dlerror ());
+
+ return handle;
++#else
++ return RTLD_DEFAULT;
++#endif
+ }
+
+ static void