[118243] users/devans/GNOME-3/stable/dports

devans at macports.org devans at macports.org
Wed Mar 26 20:29:11 PDT 2014


Revision: 118243
          https://trac.macports.org/changeset/118243
Author:   devans at macports.org
Date:     2014-03-26 20:29:11 -0700 (Wed, 26 Mar 2014)
Log Message:
-----------
GNOME-3/stable: rebuild dependents of json-glib due to library reversioning.

Modified Paths:
--------------
    users/devans/GNOME-3/stable/dports/devel/zeitgeist/Portfile
    users/devans/GNOME-3/stable/dports/gnome/frogr/Portfile
    users/devans/GNOME-3/stable/dports/gnome/gfbgraph/Portfile
    users/devans/GNOME-3/stable/dports/gnome/libsocialweb/Portfile
    users/devans/GNOME-3/stable/dports/graphics/clutter/Portfile

Added Paths:
-----------
    users/devans/GNOME-3/stable/dports/devel/zeitgeist/
    users/devans/GNOME-3/stable/dports/gnome/frogr/
    users/devans/GNOME-3/stable/dports/gnome/frogr/files/patch-configure.ac.diff
    users/devans/GNOME-3/stable/dports/gnome/gfbgraph/
    users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile
    users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.12.0
    users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files/
    users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files/patch-alarm.diff
    users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files-3.12.0/
    users/devans/GNOME-3/stable/dports/gnome/libsocialweb/
    users/devans/GNOME-3/stable/dports/graphics/clutter/

Removed Paths:
-------------
    users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.11.92
    users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files/


Property changes on: users/devans/GNOME-3/stable/dports/devel/zeitgeist
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/mld-qt-481/dports/devel/zeitgeist:92720,92813,92891,92963,93522,93556,93699,93743,93771-93773,93806,93817-93818,93856
/users/cal/ports/devel/zeitgeist:96570-97031

Modified: users/devans/GNOME-3/stable/dports/devel/zeitgeist/Portfile
===================================================================
--- trunk/dports/devel/zeitgeist/Portfile	2014-03-26 23:00:31 UTC (rev 118238)
+++ users/devans/GNOME-3/stable/dports/devel/zeitgeist/Portfile	2014-03-27 03:29:11 UTC (rev 118243)
@@ -5,7 +5,7 @@
 
 name                zeitgeist
 version             0.9.14
-revision            1
+revision            2
 license             LGPL-2.1
 set branch          [join [lrange [split ${version} .] 0 1] .]
 description         Zeitgeist is a service which logs the users's activities and \


Property changes on: users/devans/GNOME-3/stable/dports/gnome/frogr
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/mld-qt-481/dports/gnome/frogr:92720,92813,92891,92963,93522,93556,93699,93743,93771-93773,93806,93817-93818,93856
/users/rmstonecipher/gnome/frogr:102363-103172

Modified: users/devans/GNOME-3/stable/dports/gnome/frogr/Portfile
===================================================================
--- trunk/dports/gnome/frogr/Portfile	2014-03-26 23:00:31 UTC (rev 118238)
+++ users/devans/GNOME-3/stable/dports/gnome/frogr/Portfile	2014-03-27 03:29:11 UTC (rev 118243)
@@ -5,6 +5,7 @@
 
 name                frogr
 version             0.9
+revision            1
 license             GPL-3
 set branch          [join [lrange [split ${version} .] 0 1] .]
 description         Flickr Remote Organizer for GNOME.
@@ -44,7 +45,8 @@
                     port:yelp \
                     port:epiphany
 
-patchfiles          patch-export-dynamic-Makefile.am.diff
+patchfiles          patch-configure.ac.diff \
+                    patch-export-dynamic-Makefile.am.diff
 
 # reconfigure with our intltool.m4
 

Added: users/devans/GNOME-3/stable/dports/gnome/frogr/files/patch-configure.ac.diff
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/frogr/files/patch-configure.ac.diff	                        (rev 0)
+++ users/devans/GNOME-3/stable/dports/gnome/frogr/files/patch-configure.ac.diff	2014-03-27 03:29:11 UTC (rev 118243)
@@ -0,0 +1,11 @@
+--- configure.ac.orig	2014-03-26 16:55:11.000000000 -0700
++++ configure.ac	2014-03-26 16:55:29.000000000 -0700
+@@ -4,7 +4,7 @@
+ AC_PROG_RANLIB
+ AC_CONFIG_HEADERS([config.h])
+ IT_PROG_INTLTOOL([0.35.0])
+-YELP_HELP_INIT([3.1.1])
++YELP_HELP_INIT
+ 
+ # Support silent build rules, requires at least automake-1.11. Disable
+ # by either passing --disable-silent-rules to configure or passing V=1


Property changes on: users/devans/GNOME-3/stable/dports/gnome/gfbgraph
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/mld-qt-481/dports/gnome/gfbgraph:92720,92813,92891,92963,93522,93556,93699,93743,93771-93773,93806,93817-93818,93856
/users/rmstonecipher/gnome/gfbgraph:102363-103172

Modified: users/devans/GNOME-3/stable/dports/gnome/gfbgraph/Portfile
===================================================================
--- trunk/dports/gnome/gfbgraph/Portfile	2014-03-26 23:00:31 UTC (rev 118238)
+++ users/devans/GNOME-3/stable/dports/gnome/gfbgraph/Portfile	2014-03-27 03:29:11 UTC (rev 118243)
@@ -5,6 +5,7 @@
 
 name                gfbgraph
 version             0.2.2
+revision            1
 license             GPL-2.1
 set branch          [join [lrange [split ${version} .] 0 1] .]
 description         A GObject library for Facebook Graph API.

Added: users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile	                        (rev 0)
+++ users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile	2014-03-27 03:29:11 UTC (rev 118243)
@@ -0,0 +1,72 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
+# $Id: Portfile 117360 2014-02-24 01:59:47Z devans at macports.org $
+
+PortSystem      1.0
+
+name            gnome-online-accounts
+version         3.8.5
+revision        1
+license         LGPL-2
+set branch      [join [lrange [split ${version} .] 0 1] .]
+description     Single sign-on framework for GNOME
+long_description \
+                ${description}
+maintainers     devans openmaintainer
+categories      gnome
+platforms       darwin
+homepage        https://wiki.gnome.org/Projects/GnomeOnlineAccounts
+master_sites    gnome:sources/${name}/${branch}/
+
+use_xz          yes
+
+checksums       rmd160  21889d886fa262e536929ecb6905cfcd3f50a462 \
+                sha256  34d6fbc33bda4c7bba8aa52343ebe1eb8afe1033097c10a2d9979c0a99593e5d
+
+depends_build   port:pkgconfig \
+                port:intltool \
+                port:gtk-doc \
+                port:gnome-common
+
+depends_lib     port:gtk3 \
+                path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3 \
+                port:libsoup \
+                port:json-glib \
+                port:rest \
+                port:libsecret \
+                port:libxml2 \
+                port:gobject-introspection \
+                port:gcr
+
+patchfiles      patch-alarm.diff
+
+# autoreconf with MacPorts intltool.m4
+
+use_autoreconf  yes
+autoreconf.args -fvi
+
+configure.cflags-append -Wno-format-nonliteral
+configure.args  --enable-introspection=yes
+
+# TODO: Check ${configure.cxx_stdlib} directly once MacPorts 2.3 is released
+platform darwin {
+    set cxxstdlib {}
+
+    if {[info exists configure.cxx_stdlib] &&
+        ${configure.cxx_stdlib} ne {} &&
+        [string match *clang* ${configure.cxx}]} {
+        set cxxstdlib ${configure.cxx_stdlib}
+    } elseif {[string match *clang* ${configure.cxx}] &&
+              ${os.major} >= 13} {
+        set cxxstdlib libc++
+    } else {
+        set cxxstdlib libstdc++
+    }
+
+    if {${cxxstdlib} eq "libstdc++"} {
+       depends_lib-delete path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3
+       depends_lib-append path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3-2.0
+    }
+}
+
+livecheck.type  gnome
+

Deleted: users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.11.92
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.11.92	2014-03-27 03:21:22 UTC (rev 118242)
+++ users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.11.92	2014-03-27 03:29:11 UTC (rev 118243)
@@ -1,73 +0,0 @@
-# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
-# $Id: Portfile 116271 2014-01-23 17:32:19Z devans at macports.org $
-
-PortSystem      1.0
-
-name            gnome-online-accounts
-version         3.11.92
-license         LGPL-2
-set branch      [join [lrange [split ${version} .] 0 1] .]
-description     Single sign-on framework for GNOME
-long_description \
-                ${description}
-maintainers     devans openmaintainer
-categories      gnome
-platforms       darwin
-homepage        https://wiki.gnome.org/Projects/GnomeOnlineAccounts
-master_sites    gnome:sources/${name}/${branch}/
-
-use_xz          yes
-
-checksums       rmd160  fe9ef1880ba7c3deea963b8fddb1d4d7cc4ec72c \
-                sha256  013a2e6ee2b9896a5e61a9d045245363f165abef52d9301e0c60844e264bb6cc
-
-depends_build   port:pkgconfig \
-                port:intltool \
-                port:gtk-doc
-
-depends_lib     port:gtk3 \
-                path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3 \
-                port:libsoup \
-                port:json-glib \
-                port:rest \
-                port:libsecret \
-                port:libxml2 \
-                port:gobject-introspection \
-                port:gcr \
-                port:telepathy-glib
-
-#patchfiles      patch-return-val-if-fail.diff
-
-# use upstream autogen.sh to update m4/intltool.m4 and telepathy-account-widgets/m4/intltool.m4 and reconfigure
-
-post-patch {
-    xinstall -m 755 ${filespath}/autogen.sh ${worksrcpath}
-}
-
-configure.cmd   ./autogen.sh
-
-configure.cflags-append -Wno-format-nonliteral
-configure.args  --enable-introspection=yes
-
-# TODO: Check ${configure.cxx_stdlib} directly once MacPorts 2.3 is released
-platform darwin {
-    set cxxstdlib {}
-
-    if {[info exists configure.cxx_stdlib] &&
-        ${configure.cxx_stdlib} ne {} &&
-        [string match *clang* ${configure.cxx}]} {
-        set cxxstdlib ${configure.cxx_stdlib}
-    } elseif {[string match *clang* ${configure.cxx}] &&
-              ${os.major} >= 13} {
-        set cxxstdlib libc++
-    } else {
-        set cxxstdlib libstdc++
-    }
-
-    if {${cxxstdlib} eq "libstdc++"} {
-       depends_lib-delete path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3
-       depends_lib-append path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3-2.0
-    }
-}
-
-livecheck.type  gnome-with-unstable

Added: users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.12.0
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.12.0	                        (rev 0)
+++ users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/Portfile-3.12.0	2014-03-27 03:29:11 UTC (rev 118243)
@@ -0,0 +1,73 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
+# $Id: Portfile 116271 2014-01-23 17:32:19Z devans at macports.org $
+
+PortSystem      1.0
+
+name            gnome-online-accounts
+version         3.12.0
+license         LGPL-2
+set branch      [join [lrange [split ${version} .] 0 1] .]
+description     Single sign-on framework for GNOME
+long_description \
+                ${description}
+maintainers     devans openmaintainer
+categories      gnome
+platforms       darwin
+homepage        https://wiki.gnome.org/Projects/GnomeOnlineAccounts
+master_sites    gnome:sources/${name}/${branch}/
+
+use_xz          yes
+
+checksums       rmd160  be68c2054eada0c3579ae4766161563df6bf0e71 \
+                sha256  81d44afb3b993b7fb465d19b1b572db423bc7591e309f829d0639c802d7dfcc2
+
+depends_build   port:pkgconfig \
+                port:intltool \
+                port:gtk-doc
+
+depends_lib     port:gtk3 \
+                path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3 \
+                port:libsoup \
+                port:json-glib \
+                port:rest \
+                port:libsecret \
+                port:libxml2 \
+                port:gobject-introspection \
+                port:gcr \
+                port:telepathy-glib
+
+#patchfiles      patch-return-val-if-fail.diff
+
+# use upstream autogen.sh to update m4/intltool.m4 and telepathy-account-widgets/m4/intltool.m4 and reconfigure
+
+post-patch {
+    xinstall -m 755 ${filespath}/autogen.sh ${worksrcpath}
+}
+
+configure.cmd   ./autogen.sh
+
+configure.cflags-append -Wno-format-nonliteral
+configure.args  --enable-introspection=yes
+
+# TODO: Check ${configure.cxx_stdlib} directly once MacPorts 2.3 is released
+platform darwin {
+    set cxxstdlib {}
+
+    if {[info exists configure.cxx_stdlib] &&
+        ${configure.cxx_stdlib} ne {} &&
+        [string match *clang* ${configure.cxx}]} {
+        set cxxstdlib ${configure.cxx_stdlib}
+    } elseif {[string match *clang* ${configure.cxx}] &&
+              ${os.major} >= 13} {
+        set cxxstdlib libc++
+    } else {
+        set cxxstdlib libstdc++
+    }
+
+    if {${cxxstdlib} eq "libstdc++"} {
+       depends_lib-delete path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3
+       depends_lib-append path:lib/pkgconfig/webkitgtk-3.0.pc:webkit-gtk3-2.0
+    }
+}
+
+livecheck.type  gnome

Added: users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files/patch-alarm.diff
===================================================================
--- users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files/patch-alarm.diff	                        (rev 0)
+++ users/devans/GNOME-3/stable/dports/gnome/gnome-online-accounts/files/patch-alarm.diff	2014-03-27 03:29:11 UTC (rev 118243)
@@ -0,0 +1,539 @@
+From cd6ee762c3bfcd2d103f3ff50698032eb0fe6e91 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir at gnome.org>
+Date: Fri, 08 Nov 2013 17:33:49 +0000
+Subject: alarm: Do not clear the wrong objects when setting the time
+
+When the time is set using goa_alarm_set_time, we cancel the existing
+self->priv->cancellable and replace it with a new one. Then we take a
+reference to a new context and time. However, since when we cancelled
+the old cancellable, we triggered a chain of events which cause
+clear_scheduled_wakeups to be invoked from a idle callback. By the time
+it gets invoked, self->priv->cancellable, self->priv->context and
+self->priv->time point to the new objects that were set up in
+goa_alarm_set_time, which we don't want to clear.
+
+Actually, there is no point in clearing them in
+clear_scheduled_wakeups, because goa_alarm_set_time already clears up
+the older objects and the only other time we want to clear them is in
+dispose.
+
+Fixes: https://bugzilla.gnome.org/711696
+---
+diff --git a/src/goaidentity/goaalarm.c b/src/goaidentity/goaalarm.c
+index 5f50243..112cb00 100644
+--- src/goaidentity/goaalarm.c
++++ src/goaidentity/goaalarm.c
+@@ -151,15 +151,9 @@ clear_scheduled_wakeups (GoaAlarm *self)
+       break;
+     }
+ 
+-  g_clear_object (&self->priv->cancellable);
+-
+-  g_clear_pointer (&self->priv->context, (GDestroyNotify) g_main_context_unref);
+-
+   g_clear_pointer (&self->priv->previous_wakeup_time,
+                    (GDestroyNotify) g_date_time_unref);
+ 
+-  g_clear_pointer (&self->priv->time, (GDestroyNotify) g_date_time_unref);
+-
+   g_assert (self->priv->timeout.source == NULL);
+ 
+   self->priv->type = GOA_ALARM_TYPE_UNSCHEDULED;
+@@ -167,6 +161,18 @@ clear_scheduled_wakeups (GoaAlarm *self)
+ }
+ 
+ static void
++goa_alarm_dispose (GObject *object)
++{
++  GoaAlarm *self = GOA_ALARM (object);
++
++  g_clear_object (&self->priv->cancellable);
++  g_clear_pointer (&self->priv->context, (GDestroyNotify) g_main_context_unref);
++  g_clear_pointer (&self->priv->time, (GDestroyNotify) g_date_time_unref);
++
++  G_OBJECT_CLASS (goa_alarm_parent_class)->dispose (object);
++}
++
++static void
+ goa_alarm_finalize (GObject *object)
+ {
+   GoaAlarm *self = GOA_ALARM (object);
+@@ -223,6 +229,7 @@ goa_alarm_class_init (GoaAlarmClass *klass)
+ 
+   object_class = G_OBJECT_CLASS (klass);
+ 
++  object_class->dispose = goa_alarm_dispose;
+   object_class->finalize = goa_alarm_finalize;
+   object_class->get_property = goa_alarm_get_property;
+   object_class->set_property = goa_alarm_set_property;
+@@ -637,6 +644,7 @@ goa_alarm_set_time (GoaAlarm *self, GDateTime *time, GCancellable *cancellable)
+ 
+   self->priv->time = time;
+ 
++  g_clear_pointer (&self->priv->context, (GDestroyNotify) g_main_context_unref);
+   self->priv->context = g_main_context_ref (g_main_context_default ());
+ 
+   schedule_wakeups (self);
+--
+cgit v0.9.2
+From 5cbed5062f292a69fe1a514425ced1bd19589cbc Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir at gnome.org>
+Date: Fri, 08 Nov 2013 17:36:46 +0000
+Subject: alarm: The global default main context is always the same
+
+Fixes: https://bugzilla.gnome.org/711696
+---
+diff --git a/src/goaidentity/goaalarm.c b/src/goaidentity/goaalarm.c
+index 112cb00..e51df73 100644
+--- src/goaidentity/goaalarm.c
++++ src/goaidentity/goaalarm.c
+@@ -644,8 +644,8 @@ goa_alarm_set_time (GoaAlarm *self, GDateTime *time, GCancellable *cancellable)
+ 
+   self->priv->time = time;
+ 
+-  g_clear_pointer (&self->priv->context, (GDestroyNotify) g_main_context_unref);
+-  self->priv->context = g_main_context_ref (g_main_context_default ());
++  if (self->priv->context == NULL)
++    self->priv->context = g_main_context_ref (g_main_context_default ());
+ 
+   schedule_wakeups (self);
+ 
+--
+cgit v0.9.2
+From 8d0d36ecd67f4e020965efb74373db4644008bef Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir at gnome.org>
+Date: Mon, 11 Nov 2013 10:51:42 +0000
+Subject: alarm: Use the same GSource pointer for TIMER and TIMEOUT alarms
+
+Simplifies the code so that it is easier to tag the "cancelled"
+handler with the correct GSource and GInputStream (if any) that are to
+be cleaned.
+
+Fixes: https://bugzilla.gnome.org/711696
+---
+diff --git a/src/goaidentity/goaalarm.c b/src/goaidentity/goaalarm.c
+index e51df73..eccfa09 100644
+--- src/goaidentity/goaalarm.c
++++ src/goaidentity/goaalarm.c
+@@ -1,6 +1,6 @@
+ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+ /*
+- * Copyright (C) 2012 Red Hat, Inc.
++ * Copyright (C) 2012, 2013 Red Hat, Inc.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -39,17 +39,6 @@
+ 
+ #include "goalogging.h"
+ 
+-typedef struct
+-{
+-  GSource *source;
+-  GInputStream *stream;
+-} Timer;
+-
+-typedef struct
+-{
+-  GSource *source;
+-} Timeout;
+-
+ #define MAX_TIMEOUT_INTERVAL (10 *1000)
+ 
+ typedef enum
+@@ -70,11 +59,8 @@ struct _GoaAlarmPrivate
+   GRecMutex lock;
+ 
+   GoaAlarmType type;
+-  union
+-  {
+-    Timer timer;
+-    Timeout timeout;
+-  };
++  GSource *scheduled_wakeup_source;
++  GInputStream *stream; /* NULL, unless using timerfd */
+ };
+ 
+ enum
+@@ -110,10 +96,10 @@ clear_scheduled_timer_wakeups (GoaAlarm *self)
+   GError *error;
+   gboolean is_closed;
+ 
+-  g_clear_pointer (&self->priv->timer.source, (GDestroyNotify) g_source_destroy);
++  g_clear_pointer (&self->priv->scheduled_wakeup_source, (GDestroyNotify) g_source_destroy);
+ 
+   error = NULL;
+-  is_closed = g_input_stream_close (self->priv->timer.stream, NULL, &error);
++  is_closed = g_input_stream_close (self->priv->stream, NULL, &error);
+ 
+   if (!is_closed)
+     {
+@@ -121,14 +107,14 @@ clear_scheduled_timer_wakeups (GoaAlarm *self)
+       g_error_free (error);
+     }
+ 
+-  g_clear_object (&self->priv->timer.stream);
++  g_clear_object (&self->priv->stream);
+ #endif
+ }
+ 
+ static void
+ clear_scheduled_timeout_wakeups (GoaAlarm *self)
+ {
+-  g_clear_pointer (&self->priv->timeout.source, (GDestroyNotify) g_source_destroy);
++  g_clear_pointer (&self->priv->scheduled_wakeup_source, (GDestroyNotify) g_source_destroy);
+ }
+ 
+ static void
+@@ -154,8 +140,6 @@ clear_scheduled_wakeups (GoaAlarm *self)
+   g_clear_pointer (&self->priv->previous_wakeup_time,
+                    (GDestroyNotify) g_date_time_unref);
+ 
+-  g_assert (self->priv->timeout.source == NULL);
+-
+   self->priv->type = GOA_ALARM_TYPE_UNSCHEDULED;
+   g_rec_mutex_unlock (&self->priv->lock);
+ }
+@@ -435,7 +419,7 @@ clear_timer_source (GTask *task)
+   GoaAlarm *self;
+ 
+   self = g_task_get_source_object (task);
+-  self->priv->timer.source = NULL;
++  self->priv->scheduled_wakeup_source = NULL;
+ 
+   g_object_unref (task);
+ }
+@@ -480,19 +464,19 @@ schedule_wakeups_with_timerfd (GoaAlarm *self)
+     }
+ 
+   self->priv->type = GOA_ALARM_TYPE_TIMER;
+-  self->priv->timer.stream = g_unix_input_stream_new (fd, TRUE);
++  self->priv->stream = g_unix_input_stream_new (fd, TRUE);
+ 
+   task = g_task_new (self, self->priv->cancellable, NULL, NULL);
+ 
+   source =
+     g_pollable_input_stream_create_source (G_POLLABLE_INPUT_STREAM
+-                                           (self->priv->timer.stream),
++                                           (self->priv->stream),
+                                            self->priv->cancellable);
+-  self->priv->timer.source = source;
+-  g_source_set_callback (self->priv->timer.source,
++  self->priv->scheduled_wakeup_source = source;
++  g_source_set_callback (self->priv->scheduled_wakeup_source,
+                          (GSourceFunc) on_timer_source_ready, task,
+                          (GDestroyNotify) clear_timer_source);
+-  g_source_attach (self->priv->timer.source, self->priv->context);
++  g_source_attach (self->priv->scheduled_wakeup_source, self->priv->context);
+   g_source_unref (source);
+ 
+   return TRUE;
+@@ -528,7 +512,7 @@ out:
+ static void
+ clear_timeout_source_pointer (GoaAlarm *self)
+ {
+-  self->priv->timeout.source = NULL;
++  self->priv->scheduled_wakeup_source = NULL;
+ }
+ 
+ static void
+@@ -556,13 +540,13 @@ schedule_wakeups_with_timeout_source (GoaAlarm *self)
+ 
+   source = g_timeout_source_new (interval);
+ 
+-  self->priv->timeout.source = source;
+-  g_source_set_callback (self->priv->timeout.source,
++  self->priv->scheduled_wakeup_source = source;
++  g_source_set_callback (self->priv->scheduled_wakeup_source,
+                          (GSourceFunc)
+                          on_timeout_source_ready,
+                          self, (GDestroyNotify) clear_timeout_source_pointer);
+ 
+-  g_source_attach (self->priv->timeout.source, self->priv->context);
++  g_source_attach (self->priv->scheduled_wakeup_source, self->priv->context);
+   g_source_unref (source);
+ }
+ 
+--
+cgit v0.9.2
+From b7deea49691d7a9c1f4b2c7acdf9b77f2d69fda4 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir at gnome.org>
+Date: Mon, 11 Nov 2013 12:11:28 +0000
+Subject: alarm: Tag the "cancelled" handler with the correct source and stream
+
+When a time is set using goa_alarm_set_time, we try to clear the older
+source and stream by cancelling self->priv->cancellable. However,
+before we have had a chance to actually clear them in an idle callback,
+a new source and stream corresponding to the new time is set. This
+causes the older source and stream to be leaked, and instead the newly
+created objects are cleared.
+
+This is wrong. To set things right, we tag the cancelled handler with
+the older source and stream before they are overwritten.
+
+Fixes: https://bugzilla.gnome.org/711696
+---
+diff --git a/src/goaidentity/goaalarm.c b/src/goaidentity/goaalarm.c
+index eccfa09..442f275 100644
+--- src/goaidentity/goaalarm.c
++++ src/goaidentity/goaalarm.c
+@@ -90,16 +90,16 @@ clear_scheduled_immediate_wakeup (GoaAlarm *self)
+ }
+ 
+ static void
+-clear_scheduled_timer_wakeups (GoaAlarm *self)
++clear_scheduled_timer_wakeups (GoaAlarm *self, GSource *source, GInputStream *stream)
+ {
+ #ifdef HAVE_TIMERFD
+   GError *error;
+   gboolean is_closed;
+ 
+-  g_clear_pointer (&self->priv->scheduled_wakeup_source, (GDestroyNotify) g_source_destroy);
++  g_source_destroy (source);
+ 
+   error = NULL;
+-  is_closed = g_input_stream_close (self->priv->stream, NULL, &error);
++  is_closed = g_input_stream_close (stream, NULL, &error);
+ 
+   if (!is_closed)
+     {
+@@ -107,18 +107,18 @@ clear_scheduled_timer_wakeups (GoaAlarm *self)
+       g_error_free (error);
+     }
+ 
+-  g_clear_object (&self->priv->stream);
++  g_object_unref (stream);
+ #endif
+ }
+ 
+ static void
+-clear_scheduled_timeout_wakeups (GoaAlarm *self)
++clear_scheduled_timeout_wakeups (GoaAlarm *self, GSource *source)
+ {
+-  g_clear_pointer (&self->priv->scheduled_wakeup_source, (GDestroyNotify) g_source_destroy);
++  g_source_destroy (source);
+ }
+ 
+ static void
+-clear_scheduled_wakeups (GoaAlarm *self)
++clear_scheduled_wakeups (GoaAlarm *self, GSource *source, GInputStream *stream)
+ {
+   g_rec_mutex_lock (&self->priv->lock);
+   clear_scheduled_immediate_wakeup (self);
+@@ -126,11 +126,11 @@ clear_scheduled_wakeups (GoaAlarm *self)
+   switch (self->priv->type)
+     {
+     case GOA_ALARM_TYPE_TIMER:
+-      clear_scheduled_timer_wakeups (self);
++      clear_scheduled_timer_wakeups (self, source, stream);
+       break;
+ 
+     case GOA_ALARM_TYPE_TIMEOUT:
+-      clear_scheduled_timeout_wakeups (self);
++      clear_scheduled_timeout_wakeups (self, source);
+       break;
+ 
+     default:
+@@ -161,7 +161,7 @@ goa_alarm_finalize (GObject *object)
+ {
+   GoaAlarm *self = GOA_ALARM (object);
+ 
+-  clear_scheduled_wakeups (self);
++  clear_scheduled_wakeups (self, self->priv->scheduled_wakeup_source, self->priv->stream);
+ 
+   G_OBJECT_CLASS (goa_alarm_parent_class)->finalize (object);
+ }
+@@ -250,9 +250,18 @@ goa_alarm_init (GoaAlarm *self)
+ static gboolean
+ async_alarm_cancel_idle_cb (gpointer user_data)
+ {
+-  GoaAlarm *self = user_data;
++  GoaAlarm *self;
++  GInputStream *stream;
++  GSource *source;
++  GTask *task = G_TASK (user_data);
++  gpointer task_data;
+ 
+-  clear_scheduled_wakeups (self);
++  self = g_task_get_source_object (task);
++  source = (GSource *) g_object_get_data (G_OBJECT (task), "alarm-scheduled-wakeup-source");
++  task_data = g_object_get_data (G_OBJECT (task), "alarm-stream");
++  stream = (task_data == NULL) ? NULL : G_INPUT_STREAM (task_data);
++
++  clear_scheduled_wakeups (self, source, stream);
+   return G_SOURCE_REMOVE;
+ }
+ 
+@@ -261,13 +270,25 @@ on_cancelled (GCancellable *cancellable, gpointer user_data)
+ {
+   GoaAlarm *self = GOA_ALARM (user_data);
+   GSource *idle_source;
++  GTask *task;
+ 
++  task = g_task_new (self, NULL, NULL, NULL);
++
++  g_object_set_data_full (G_OBJECT (task),
++                          "alarm-scheduled-wakeup-source",
++                          g_source_ref (self->priv->scheduled_wakeup_source),
++                          (GDestroyNotify) g_source_unref);
++
++  if (self->priv->stream != NULL)
++    g_object_set_data_full (G_OBJECT (task), "alarm-stream", g_object_ref (self->priv->stream), g_object_unref);
+ 
+   idle_source = g_idle_source_new ();
+   g_source_set_priority (idle_source, G_PRIORITY_HIGH_IDLE);
+-  g_source_set_callback (idle_source, async_alarm_cancel_idle_cb, g_object_ref (self), g_object_unref);
++  g_source_set_callback (idle_source, async_alarm_cancel_idle_cb, g_object_ref (task), g_object_unref);
+   g_source_attach (idle_source, self->priv->context);
+   g_source_unref (idle_source);
++
++  g_object_unref (task);
+ }
+ 
+ static void
+@@ -412,17 +433,6 @@ out:
+   g_rec_mutex_unlock (&self->priv->lock);
+   return run_again;
+ }
+-
+-static void
+-clear_timer_source (GTask *task)
+-{
+-  GoaAlarm *self;
+-
+-  self = g_task_get_source_object (task);
+-  self->priv->scheduled_wakeup_source = NULL;
+-
+-  g_object_unref (task);
+-}
+ #endif
+ 
+ static gboolean
+@@ -475,7 +485,7 @@ schedule_wakeups_with_timerfd (GoaAlarm *self)
+   self->priv->scheduled_wakeup_source = source;
+   g_source_set_callback (self->priv->scheduled_wakeup_source,
+                          (GSourceFunc) on_timer_source_ready, task,
+-                         (GDestroyNotify) clear_timer_source);
++                         (GDestroyNotify) g_object_unref);
+   g_source_attach (self->priv->scheduled_wakeup_source, self->priv->context);
+   g_source_unref (source);
+ 
+--
+cgit v0.9.2
+From 72e6d277de953b24e488a7b75464883a4abb5ca1 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir at gnome.org>
+Date: Mon, 11 Nov 2013 13:49:06 +0000
+Subject: alarm: Remove redundant preprocessor conditional
+
+Reading the rest of the code, it appears to me that the preprocessor
+conditionals were meant to surpress compiler warnings and errors
+caused by the lack of timerfd support. For the rest of the logic,
+GoaAlarmType is used to separate the different kinds of timers.
+
+Fixes: https://bugzilla.gnome.org/711696
+---
+diff --git a/src/goaidentity/goaalarm.c b/src/goaidentity/goaalarm.c
+index 442f275..9e0ab64 100644
+--- src/goaidentity/goaalarm.c
++++ src/goaidentity/goaalarm.c
+@@ -92,7 +92,6 @@ clear_scheduled_immediate_wakeup (GoaAlarm *self)
+ static void
+ clear_scheduled_timer_wakeups (GoaAlarm *self, GSource *source, GInputStream *stream)
+ {
+-#ifdef HAVE_TIMERFD
+   GError *error;
+   gboolean is_closed;
+ 
+@@ -108,7 +107,6 @@ clear_scheduled_timer_wakeups (GoaAlarm *self, GSource *source, GInputStream *st
+     }
+ 
+   g_object_unref (stream);
+-#endif
+ }
+ 
+ static void
+--
+cgit v0.9.2
+From c4f25c45758875a430af39663b3f8b81091320f1 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir at gnome.org>
+Date: Tue, 12 Nov 2013 10:00:05 +0000
+Subject: alarm: Consolidate clear_scheduled_time*_wakeups into one function
+
+Since we are using the same GSource pointer for TIMER and TIMEOUT
+alarms, there is no reason to continue having separate functions.
+
+Fixes: https://bugzilla.gnome.org/711696
+---
+diff --git a/src/goaidentity/goaalarm.c b/src/goaidentity/goaalarm.c
+index 9e0ab64..ed805d7 100644
+--- src/goaidentity/goaalarm.c
++++ src/goaidentity/goaalarm.c
+@@ -90,49 +90,31 @@ clear_scheduled_immediate_wakeup (GoaAlarm *self)
+ }
+ 
+ static void
+-clear_scheduled_timer_wakeups (GoaAlarm *self, GSource *source, GInputStream *stream)
+-{
+-  GError *error;
+-  gboolean is_closed;
+-
+-  g_source_destroy (source);
+-
+-  error = NULL;
+-  is_closed = g_input_stream_close (stream, NULL, &error);
+-
+-  if (!is_closed)
+-    {
+-      goa_warning ("GoaAlarm: could not close timer stream: %s", error->message);
+-      g_error_free (error);
+-    }
+-
+-  g_object_unref (stream);
+-}
+-
+-static void
+-clear_scheduled_timeout_wakeups (GoaAlarm *self, GSource *source)
+-{
+-  g_source_destroy (source);
+-}
+-
+-static void
+ clear_scheduled_wakeups (GoaAlarm *self, GSource *source, GInputStream *stream)
+ {
+   g_rec_mutex_lock (&self->priv->lock);
+   clear_scheduled_immediate_wakeup (self);
+ 
+-  switch (self->priv->type)
++  if (self->priv->type != GOA_ALARM_TYPE_UNSCHEDULED)
+     {
+-    case GOA_ALARM_TYPE_TIMER:
+-      clear_scheduled_timer_wakeups (self, source, stream);
+-      break;
++      g_source_destroy (source);
+ 
+-    case GOA_ALARM_TYPE_TIMEOUT:
+-      clear_scheduled_timeout_wakeups (self, source);
+-      break;
++      if (stream != NULL)
++        {
++          GError *error;
++          gboolean is_closed;
+ 
+-    default:
+-      break;
++          error = NULL;
++          is_closed = g_input_stream_close (stream, NULL, &error);
++
++          if (!is_closed)
++            {
++              goa_warning ("GoaAlarm: could not close timer stream: %s", error->message);
++              g_error_free (error);
++            }
++
++          g_object_unref (stream);
++        }
+     }
+ 
+   g_clear_pointer (&self->priv->previous_wakeup_time,
+--
+cgit v0.9.2


Property changes on: users/devans/GNOME-3/stable/dports/gnome/libsocialweb
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/mld-qt-481/dports/gnome/libsocialweb:92720,92813,92891,92963,93522,93556,93699,93743,93771-93773,93806,93817-93818,93856
/users/rmstonecipher/gnome/libsocialweb:102363-103172

Modified: users/devans/GNOME-3/stable/dports/gnome/libsocialweb/Portfile
===================================================================
--- trunk/dports/gnome/libsocialweb/Portfile	2014-03-26 23:00:31 UTC (rev 118238)
+++ users/devans/GNOME-3/stable/dports/gnome/libsocialweb/Portfile	2014-03-27 03:29:11 UTC (rev 118243)
@@ -5,6 +5,7 @@
 
 name                libsocialweb
 version             0.25.21
+revision            1
 license             LGPL-2.1
 set branch          [join [lrange [split ${version} .] 0 1] .]
 description         A personal social data server.

Modified: users/devans/GNOME-3/stable/dports/graphics/clutter/Portfile
===================================================================
--- trunk/dports/graphics/clutter/Portfile	2014-03-26 23:00:31 UTC (rev 118238)
+++ users/devans/GNOME-3/stable/dports/graphics/clutter/Portfile	2014-03-27 03:29:11 UTC (rev 118243)
@@ -5,6 +5,7 @@
 
 name                clutter
 version             1.18.0
+revision            1
 license             LGPL-2.1
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          graphics
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140326/4e0b457c/attachment-0001.html>


More information about the macports-changes mailing list