summaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2010-08-30 07:00:17 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2010-08-30 07:00:17 +0800
commit489936bc2fa571c8c6a4ada3a17db8e327c3dcec (patch)
treefe615c738df286da51698b0889a99d5a6f3b65f4 /devel
parent134f039ee5321c7243f94d3d0fad61d8b95e55d7 (diff)
downloadmarcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar
marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.gz
marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.bz2
marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.lz
marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.xz
marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.zst
marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.zip
Make sure that if the message control length is 0 that the control member
is set to NULL. Apparently g_alloca() on Linux does this if the size to be allocated is 0 bytes. With this fix, GNOME 2.31 starts for me. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@14482 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'devel')
-rw-r--r--devel/glib20/Makefile4
-rw-r--r--devel/glib20/files/patch-gio_gsocket.c18
2 files changed, 20 insertions, 2 deletions
diff --git a/devel/glib20/Makefile b/devel/glib20/Makefile
index c57ca6afa..d7006a44b 100644
--- a/devel/glib20/Makefile
+++ b/devel/glib20/Makefile
@@ -3,13 +3,13 @@
# Whom: Vanilla I. Shu <vanilla@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/devel/glib20/Makefile,v 1.180 2010/08/29 21:04:30 marcus Exp $
+# $MCom: ports/devel/glib20/Makefile,v 1.181 2010/08/29 21:07:05 marcus Exp $
#
# !! DON'T FORGET ABOUT devel/gio-fam-backend !!
PORTNAME= glib
PORTVERSION= 2.25.14
-PORTREVISION?= 4
+PORTREVISION?= 5
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNOME:S,%SUBDIR%,sources/glib/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/},} \
ftp://ftp.gtk.org/pub/glib/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/ \
diff --git a/devel/glib20/files/patch-gio_gsocket.c b/devel/glib20/files/patch-gio_gsocket.c
new file mode 100644
index 000000000..8a6b0c182
--- /dev/null
+++ b/devel/glib20/files/patch-gio_gsocket.c
@@ -0,0 +1,18 @@
+--- gio/gsocket.c.orig 2010-08-29 18:57:52.000000000 -0400
++++ gio/gsocket.c 2010-08-29 18:57:55.000000000 -0400
+@@ -2893,8 +2893,13 @@ g_socket_send_message (GSocket
+ for (i = 0; i < num_messages; i++)
+ msg.msg_controllen += CMSG_SPACE (g_socket_control_message_get_size (messages[i]));
+
+- msg.msg_control = g_alloca (msg.msg_controllen);
+- memset (msg.msg_control, '\0', msg.msg_controllen);
++ if (msg.msg_controllen == 0)
++ msg.msg_control = NULL;
++ else
++ {
++ msg.msg_control = g_alloca (msg.msg_controllen);
++ memset (msg.msg_control, '\0', msg.msg_controllen);
++ }
+
+ cmsg = CMSG_FIRSTHDR (&msg);
+ for (i = 0; i < num_messages; i++)