summaryrefslogtreecommitdiff
path: root/devel/glib2/patches/patch-aq
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2011-03-09 11:22:04 +0000
committerdrochner <drochner@pkgsrc.org>2011-03-09 11:22:04 +0000
commitadaca7ef2acb63be5573454dc7c1d131b23f0452 (patch)
treedf548cc68c2f552cd148ce5d93de743ca5ebe8c6 /devel/glib2/patches/patch-aq
parentd489a65c92479d5946e3ce671b48391d8a36afea (diff)
downloadpkgsrc-adaca7ef2acb63be5573454dc7c1d131b23f0452.tar.gz
update to 2.28.2
This switches to the new glib-2.28 branch which is intended to help transition to glib/gtk3. Still binary compatible. (The unix socket credential passing stuff needs work, but this is new and thus no regression.)
Diffstat (limited to 'devel/glib2/patches/patch-aq')
-rw-r--r--devel/glib2/patches/patch-aq50
1 files changed, 50 insertions, 0 deletions
diff --git a/devel/glib2/patches/patch-aq b/devel/glib2/patches/patch-aq
new file mode 100644
index 00000000000..bc7d5672a63
--- /dev/null
+++ b/devel/glib2/patches/patch-aq
@@ -0,0 +1,50 @@
+$NetBSD: patch-aq,v 1.1 2011/03/09 11:22:04 drochner Exp $
+
+--- gio/gsocket.c.orig 2011-02-11 15:23:12.000000000 +0000
++++ gio/gsocket.c
+@@ -33,6 +33,9 @@
+ #include <signal.h>
+ #include <string.h>
+ #include <stdlib.h>
++#ifdef __NetBSD__
++#include <sys/un.h>
++#endif
+
+ #ifndef G_OS_WIN32
+ # include <fcntl.h>
+@@ -3540,6 +3543,35 @@ g_socket_get_credentials (GSocket *soc
+ &native_creds);
+ }
+ }
++#elif defined(__NetBSD__)
++ {
++ struct unpcbid cred;
++ socklen_t len = sizeof(cred);
++ if (getsockopt(socket->priv->fd, 0, LOCAL_PEEREID, &cred, &len) < 0)
++ {
++ int errsv = get_socket_errno ();
++ g_set_error (error,
++ G_IO_ERROR,
++ socket_io_error_from_errno (errsv),
++ _("Unable to get pending error: %s"),
++ socket_strerror (errsv));
++ }
++ else
++ {
++ struct {
++ pid_t pid;
++ uid_t uid;
++ gid_t gid;
++ } native_creds;
++ native_creds.uid = cred.unp_euid;
++ native_creds.gid = cred.unp_egid;
++ native_creds.pid = cred.unp_pid;
++ ret = g_credentials_new ();
++ g_credentials_set_native (ret,
++ G_CREDENTIALS_TYPE_LINUX_UCRED,
++ &native_creds);
++ }
++ }
+ #else
+ g_set_error_literal (error,
+ G_IO_ERROR,