Bring a couple fixes from upstream:
- fix certificate list parsing with trailing comments - never unload libgobject (fixes a segfault under some circumstances)
This commit is contained in:
parent
b1147e9607
commit
4a33d78e5a
@ -1,11 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.229 2014/04/10 05:43:26 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.230 2014/04/10 07:29:06 ajacoutot Exp $
|
||||
|
||||
COMMENT= general-purpose utility library
|
||||
|
||||
GNOME_PROJECT= glib
|
||||
GNOME_VERSION= 2.40.0
|
||||
PKGNAME= ${DISTNAME:S/glib/glib2/}
|
||||
REVISION= 2
|
||||
REVISION= 3
|
||||
|
||||
CATEGORIES= devel
|
||||
|
||||
@ -51,6 +51,10 @@ CONFIGURE_ARGS= --enable-static \
|
||||
PATCH_LIST= patch-* gcc3-*
|
||||
.endif
|
||||
|
||||
# XXX rm at next release; patch-configure_ac, patch-gobject_Makefile_in
|
||||
CONFIGURE_STYLE= autoconf
|
||||
AUTOCONF_VERSION= 2.69
|
||||
|
||||
pre-configure:
|
||||
perl -pi -e "s,/usr/local,${LOCALBASE},g;" \
|
||||
-e "s,/etc/xdg,${SYSCONFDIR}/xdg,g" \
|
||||
|
50
devel/glib2/patches/patch-configure_ac
Normal file
50
devel/glib2/patches/patch-configure_ac
Normal file
@ -0,0 +1,50 @@
|
||||
$OpenBSD: patch-configure_ac,v 1.10 2014/04/10 07:29:06 ajacoutot Exp $
|
||||
|
||||
From 3662eb9759fe225d1c214db6927c667a1b733e8a Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Mon, 2 Sep 2013 13:59:18 -0400
|
||||
Subject: gobject: try to link with -Wl,-z,nodelete
|
||||
|
||||
--- configure.ac.orig Mon Mar 24 19:53:31 2014
|
||||
+++ configure.ac Thu Apr 10 09:10:14 2014
|
||||
@@ -3465,6 +3465,40 @@ fi
|
||||
AC_SUBST(GLIB_LINK_FLAGS)
|
||||
|
||||
dnl
|
||||
+dnl Check for -z,nodelete linker flag: the type system assumes that
|
||||
+dnl libgobject stays loaded for the lifetime of the process.
|
||||
+dnl Since ld.bfd does not treat wrong -z options as fatal by default,
|
||||
+dnl we also try to check for the --fatal-warnings linker flag if
|
||||
+dnl auto-detecting.
|
||||
+dnl
|
||||
+
|
||||
+AC_ARG_ENABLE([znodelete],
|
||||
+ [AS_HELP_STRING([--disable-znodelete],
|
||||
+ [avoid linking with -z,nodelete])],,
|
||||
+ [SAVED_LDFLAGS="${LDFLAGS}"
|
||||
+ AC_MSG_CHECKING([for --fatal-warnings linker flag])
|
||||
+ LDFLAGS=-Wl,--fatal-warnings
|
||||
+ AC_TRY_LINK([], [int main (void) { return 0; }],
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+ [ldflags_fatal=-Wl,--fatal-warnings],
|
||||
+ AC_MSG_RESULT(no)
|
||||
+ ldflags_fatal=)
|
||||
+ AC_MSG_CHECKING([for -z,nodelete linker flag])
|
||||
+ LDFLAGS="$ldflags_fatal -Wl,-z,nodelete"
|
||||
+ AC_TRY_LINK([], [int main (void) { return 0; }],
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+ enable_znodelete=yes,
|
||||
+ AC_MSG_RESULT(no)
|
||||
+ enable_znodelete=no)
|
||||
+ LDFLAGS="${SAVED_LDFLAGS}"])
|
||||
+
|
||||
+if test "x${enable_znodelete}" = "xyes"; then
|
||||
+ GOBJECT_LINK_FLAGS=-Wl,-z,nodelete
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(GOBJECT_LINK_FLAGS)
|
||||
+
|
||||
+dnl
|
||||
dnl Check for -fvisibility=hidden to determine if we can do GNU-style
|
||||
dnl visibility attributes for symbol export control
|
||||
dnl
|
44
devel/glib2/patches/patch-gio_gtlscertificate_c
Normal file
44
devel/glib2/patches/patch-gio_gtlscertificate_c
Normal file
@ -0,0 +1,44 @@
|
||||
$OpenBSD: patch-gio_gtlscertificate_c,v 1.1 2014/04/10 07:29:06 ajacoutot Exp $
|
||||
|
||||
From a36ed2715670b35b2718e8ffe0493d9d921e55b5 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Winship <danw@gnome.org>
|
||||
Date: Wed, 9 Apr 2014 10:39:45 -0400
|
||||
Subject: gtlscertificate: fix certificate list parsing with trailing comments
|
||||
|
||||
--- gio/gtlscertificate.c.orig Sat Feb 22 16:29:07 2014
|
||||
+++ gio/gtlscertificate.c Thu Apr 10 09:09:34 2014
|
||||
@@ -476,19 +476,24 @@ g_tls_certificate_list_new_from_file (const gchar *fi
|
||||
{
|
||||
gchar *cert_pem;
|
||||
GTlsCertificate *cert = NULL;
|
||||
+ GError *parse_error = NULL;
|
||||
|
||||
- cert_pem = parse_next_pem_certificate (&p, end, FALSE, error);
|
||||
+ cert_pem = parse_next_pem_certificate (&p, end, FALSE, &parse_error);
|
||||
if (cert_pem)
|
||||
- {
|
||||
- cert = g_tls_certificate_new_internal (cert_pem, NULL, error);
|
||||
- g_free (cert_pem);
|
||||
- }
|
||||
+ {
|
||||
+ cert = g_tls_certificate_new_internal (cert_pem, NULL, &parse_error);
|
||||
+ g_free (cert_pem);
|
||||
+ }
|
||||
if (!cert)
|
||||
- {
|
||||
- g_list_free_full (queue.head, g_object_unref);
|
||||
- queue.head = NULL;
|
||||
- break;
|
||||
- }
|
||||
+ {
|
||||
+ if (parse_error)
|
||||
+ {
|
||||
+ g_propagate_error (error, parse_error);
|
||||
+ g_list_free_full (queue.head, g_object_unref);
|
||||
+ queue.head = NULL;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
g_queue_push_tail (&queue, cert);
|
||||
}
|
||||
|
17
devel/glib2/patches/patch-gobject_Makefile_in
Normal file
17
devel/glib2/patches/patch-gobject_Makefile_in
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-gobject_Makefile_in,v 1.14 2014/04/10 07:29:06 ajacoutot Exp $
|
||||
|
||||
From 3662eb9759fe225d1c214db6927c667a1b733e8a Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Mon, 2 Sep 2013 13:59:18 -0400
|
||||
Subject: gobject: try to link with -Wl,-z,nodelete
|
||||
|
||||
--- gobject/Makefile.in.orig Thu Apr 10 09:11:42 2014
|
||||
+++ gobject/Makefile.in Thu Apr 10 09:12:08 2014
|
||||
@@ -870,6 +870,7 @@ lib_LTLIBRARIES = libgobject-2.0.la
|
||||
@OS_WIN32_AND_DLL_COMPILATION_TRUE@gobject_win32_res_ldflag = -Wl,$(gobject_win32_res)
|
||||
libgobjectincludedir = $(includedir)/glib-2.0/gobject
|
||||
libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
|
||||
+ $(GOBJECT_LINK_FLAGS) \
|
||||
$(gobject_win32_res_ldflag) \
|
||||
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
|
||||
-export-dynamic $(no_undefined)
|
Loading…
x
Reference in New Issue
Block a user