[arch-commits] Commit in notification-daemon/repos (12 files)
Balló György
bgyorgy at archlinux.org
Wed Oct 8 22:14:04 UTC 2014
Date: Thursday, October 9, 2014 @ 00:14:02
Author: bgyorgy
Revision: 120415
archrelease: copy trunk to community-i686, community-x86_64
Added:
notification-daemon/repos/community-i686/PKGBUILD
(from rev 120414, notification-daemon/trunk/PKGBUILD)
notification-daemon/repos/community-i686/fix-boolean-hint.patch
(from rev 120414, notification-daemon/trunk/fix-boolean-hint.patch)
notification-daemon/repos/community-i686/fix-gsource-usage.patch
(from rev 120414, notification-daemon/trunk/fix-gsource-usage.patch)
notification-daemon/repos/community-i686/fix-position.patch
(from rev 120414, notification-daemon/trunk/fix-position.patch)
notification-daemon/repos/community-x86_64/PKGBUILD
(from rev 120414, notification-daemon/trunk/PKGBUILD)
notification-daemon/repos/community-x86_64/fix-boolean-hint.patch
(from rev 120414, notification-daemon/trunk/fix-boolean-hint.patch)
notification-daemon/repos/community-x86_64/fix-gsource-usage.patch
(from rev 120414, notification-daemon/trunk/fix-gsource-usage.patch)
notification-daemon/repos/community-x86_64/fix-position.patch
(from rev 120414, notification-daemon/trunk/fix-position.patch)
Deleted:
notification-daemon/repos/community-i686/PKGBUILD
notification-daemon/repos/community-i686/notification-daemon.install
notification-daemon/repos/community-x86_64/PKGBUILD
notification-daemon/repos/community-x86_64/notification-daemon.install
----------------------------------------------+
/PKGBUILD | 110 +++++++++++++++++++++
community-i686/PKGBUILD | 34 ------
community-i686/fix-boolean-hint.patch | 104 ++++++++++++++++++++
community-i686/fix-gsource-usage.patch | 49 +++++++++
community-i686/fix-position.patch | 128 +++++++++++++++++++++++++
community-i686/notification-daemon.install | 22 ----
community-x86_64/PKGBUILD | 34 ------
community-x86_64/fix-boolean-hint.patch | 104 ++++++++++++++++++++
community-x86_64/fix-gsource-usage.patch | 49 +++++++++
community-x86_64/fix-position.patch | 128 +++++++++++++++++++++++++
community-x86_64/notification-daemon.install | 22 ----
11 files changed, 672 insertions(+), 112 deletions(-)
Deleted: community-i686/PKGBUILD
===================================================================
--- community-i686/PKGBUILD 2014-10-08 22:13:52 UTC (rev 120414)
+++ community-i686/PKGBUILD 2014-10-08 22:14:02 UTC (rev 120415)
@@ -1,34 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-# Contributor: Mark Rosenstand <mark at borkware.net>
-
-pkgname=notification-daemon
-pkgver=0.7.6
-pkgrel=2
-pkgdesc="Notification daemon for the desktop notifications framework"
-arch=(i686 x86_64)
-license=(GPL)
-url="http://www.galago-project.org/specs/notification/"
-depends=(gtk3 libcanberra)
-makedepends=(pkgconfig intltool)
-options=('!emptydirs')
-source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('64d0ce6fb12c94c3b73b701502c804c408cb5a94580bcae5ac37607639f7a0b3')
-
-build() {
- cd ${pkgname}-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/notification-daemon-1.0 \
- --localstatedir=/var --disable-static
- make
-}
-
-check() {
- cd ${pkgname}-${pkgver}
- make check
-}
-
-package() {
- cd ${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-}
Copied: notification-daemon/repos/community-i686/PKGBUILD (from rev 120414, notification-daemon/trunk/PKGBUILD)
===================================================================
--- community-i686/PKGBUILD (rev 0)
+++ community-i686/PKGBUILD 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,55 @@
+# $Id$
+# Contributor: Jan de Groot <jgc at archlinux.org>
+# Contributor: Mark Rosenstand <mark at borkware.net>
+
+pkgname=notification-daemon
+pkgver=0.7.6
+pkgrel=3
+pkgdesc="Notification daemon for the desktop notifications framework"
+arch=(i686 x86_64)
+license=(GPL)
+url="http://www.gnome.org/"
+depends=(gtk3 libcanberra)
+makedepends=(intltool)
+source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz
+ fix-boolean-hint.patch
+ fix-gsource-usage.patch
+ fix-position.patch)
+sha256sums=('64d0ce6fb12c94c3b73b701502c804c408cb5a94580bcae5ac37607639f7a0b3'
+ 'ba4e4fe42d82034cd12cb10d1c3c9c6f4318b5d9e10e7829ec0478b6ce801282'
+ '2c36bb0c77f27345f18240c7ba39aff7e559fd5155c54d83bc18e21ca13ce9ff'
+ 'a4e5ed7cdf42a137b1672b8128eb7a754ceece57243a02e0dc4dd977911beea2')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ # Avoid crashes for boolean hints
+ # https://bugzilla.gnome.org/show_bug.cgi?id=665166
+ patch -Np1 -i ../fix-boolean-hint.patch
+
+ # Fix GSource usage with recent GLib
+ # https://bugzilla.gnome.org/show_bug.cgi?id=728157
+ patch -Np1 -i ../fix-gsource-usage.patch
+
+ # Fix positioning notifications with long text
+ # https://bugzilla.gnome.org/show_bug.cgi?id=687724
+ patch -Np1 -i ../fix-position.patch
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/notification-daemon-1.0 \
+ --localstatedir=/var --disable-static
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
Copied: notification-daemon/repos/community-i686/fix-boolean-hint.patch (from rev 120414, notification-daemon/trunk/fix-boolean-hint.patch)
===================================================================
--- community-i686/fix-boolean-hint.patch (rev 0)
+++ community-i686/fix-boolean-hint.patch 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,104 @@
+From 9eb0d66eb763ecd3f232b7fd65287835c3ac5bcf Mon Sep 17 00:00:00 2001
+From: anomie at users.sourceforge.net
+Date: Wed, 8 Oct 2014 23:40:59 +0200
+Subject: [PATCH] Avoid crashes for boolean hints
+
+Check the type of the incoming hint and use the appropriate
+g_variant_get_* function.
+It also applies the same fix for the "resident" and "action-icons"
+hints.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=665166
+---
+ src/nd-notification.c | 55 +++++++++++++++++++++++++--------------------------
+ 1 file changed, 27 insertions(+), 28 deletions(-)
+
+diff --git a/src/nd-notification.c b/src/nd-notification.c
+index 05372d0..fdb2c2b 100644
+--- a/src/nd-notification.c
++++ b/src/nd-notification.c
+@@ -224,54 +224,53 @@ nd_notification_get_is_closed (NdNotification *notification)
+ }
+
+ gboolean
+-nd_notification_get_is_transient (NdNotification *notification)
++nd_notification_get_bool (NdNotification *notification, const char *name)
+ {
+ gboolean ret;
+ GVariant *value;
+-
+ ret = FALSE;
+ g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE);
+
+- value = g_hash_table_lookup (notification->hints, "transient");
++ value = g_hash_table_lookup (notification->hints, name);
+ if (value != NULL) {
+- ret = g_variant_get_boolean (value);
++ if (g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)) {
++ ret = g_variant_get_boolean (value);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_BYTE)) {
++ ret = (g_variant_get_byte (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT16)) {
++ ret = (g_variant_get_int16 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT16)) {
++ ret = (g_variant_get_uint16 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)) {
++ ret = (g_variant_get_int32 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT32)) {
++ ret = (g_variant_get_uint32 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT64)) {
++ ret = (g_variant_get_int64 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT64)) {
++ ret = (g_variant_get_uint64 (value) != 0);
++ }
+ }
+
+ return ret;
+ }
+
+ gboolean
+-nd_notification_get_is_resident (NdNotification *notification)
++nd_notification_get_is_transient (NdNotification *notification)
+ {
+- gboolean ret;
+- GVariant *value;
+-
+- ret = FALSE;
+- g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE);
+-
+- value = g_hash_table_lookup (notification->hints, "resident");
+- if (value != NULL) {
+- ret = g_variant_get_boolean (value);
+- }
++ return nd_notification_get_bool (notification, "transient");
++}
+
+- return ret;
++gboolean
++nd_notification_get_is_resident (NdNotification *notification)
++{
++ return nd_notification_get_bool (notification, "resident");
+ }
+
+ gboolean
+ nd_notification_get_action_icons (NdNotification *notification)
+ {
+- gboolean ret;
+- GVariant *value;
+-
+- ret = FALSE;
+- g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE);
+-
+- value = g_hash_table_lookup (notification->hints, "action-icons");
+- if (value != NULL) {
+- ret = g_variant_get_boolean (value);
+- }
+-
+- return ret;
++ return nd_notification_get_bool (notification, "action-icons");
+ }
+
+ guint32
+--
+2.1.2
+
Copied: notification-daemon/repos/community-i686/fix-gsource-usage.patch (from rev 120414, notification-daemon/trunk/fix-gsource-usage.patch)
===================================================================
--- community-i686/fix-gsource-usage.patch (rev 0)
+++ community-i686/fix-gsource-usage.patch 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,49 @@
+From 7e458afddc7c57eba5c392a7a89990600a070ae5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
+Date: Wed, 8 Oct 2014 23:35:37 +0200
+Subject: [PATCH] Fix GSource usage with recent GLib
+
+https://bugzilla.gnome.org/show_bug.cgi?id=728157
+---
+ src/nd-bubble.c | 1 +
+ src/nd-queue.c | 5 +++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/nd-bubble.c b/src/nd-bubble.c
+index 0587478..6de7f8f 100644
+--- a/src/nd-bubble.c
++++ b/src/nd-bubble.c
+@@ -420,6 +420,7 @@ nd_bubble_enter_notify_event (GtkWidget *widget,
+ NdBubble *bubble = ND_BUBBLE (widget);
+ if (bubble->priv->timeout_id != 0) {
+ g_source_remove (bubble->priv->timeout_id);
++ bubble->priv->timeout_id = 0;
+ }
+
+ return FALSE;
+diff --git a/src/nd-queue.c b/src/nd-queue.c
+index de73940..b744b88 100644
+--- a/src/nd-queue.c
++++ b/src/nd-queue.c
+@@ -532,6 +532,10 @@ nd_queue_finalize (GObject *object)
+
+ g_return_if_fail (queue->priv != NULL);
+
++ if (queue->priv->update_id != 0) {
++ g_source_remove (queue->priv->update_id);
++ }
++
+ g_hash_table_destroy (queue->priv->notifications);
+ g_queue_free (queue->priv->queue);
+
+@@ -919,6 +923,7 @@ update_idle (NdQueue *queue)
+ }
+ }
+
++ queue->priv->update_id = 0;
+ return FALSE;
+ }
+
+--
+2.1.2
+
Copied: notification-daemon/repos/community-i686/fix-position.patch (from rev 120414, notification-daemon/trunk/fix-position.patch)
===================================================================
--- community-i686/fix-position.patch (rev 0)
+++ community-i686/fix-position.patch 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,128 @@
+From cef286903c24795e72cae8795c7b433b6baf9f57 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
+Date: Wed, 8 Oct 2014 23:57:34 +0200
+Subject: [PATCH] Fix positioning notifications with long text
+
+https://bugzilla.gnome.org/show_bug.cgi?id=687724
+---
+ src/nd-bubble.c | 13 +++++++++++++
+ src/nd-notification-box.c | 2 ++
+ src/nd-stack.c | 16 ++++++++--------
+ 3 files changed, 23 insertions(+), 8 deletions(-)
+
+diff --git a/src/nd-bubble.c b/src/nd-bubble.c
+index 0587478..2d36003 100644
+--- a/src/nd-bubble.c
++++ b/src/nd-bubble.c
+@@ -413,6 +413,16 @@ nd_bubble_realize (GtkWidget *widget)
+ GTK_WIDGET_CLASS (nd_bubble_parent_class)->realize (widget);
+ }
+
++static void
++nd_bubble_get_preferred_width (GtkWidget *widget,
++ gint *min_width,
++ gint *nat_width)
++{
++ if (nat_width != NULL) {
++ *nat_width = WIDTH;
++ }
++}
++
+ static gboolean
+ nd_bubble_enter_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event)
+@@ -450,6 +460,7 @@ nd_bubble_class_init (NdBubbleClass *klass)
+ widget_class->enter_notify_event = nd_bubble_enter_notify_event;
+ widget_class->leave_notify_event = nd_bubble_leave_notify_event;
+ widget_class->realize = nd_bubble_realize;
++ widget_class->get_preferred_width = nd_bubble_get_preferred_width;
+
+ g_type_class_add_private (klass, sizeof (NdBubblePrivate));
+ }
+@@ -622,6 +633,7 @@ nd_bubble_init (NdBubble *bubble)
+ gtk_box_pack_start (GTK_BOX (vbox), bubble->priv->summary_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (bubble->priv->summary_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (bubble->priv->summary_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (bubble->priv->summary_label), PANGO_WRAP_WORD_CHAR);
+
+ atkobj = gtk_widget_get_accessible (bubble->priv->summary_label);
+ atk_object_set_description (atkobj, "Notification summary text.");
+@@ -644,6 +656,7 @@ nd_bubble_init (NdBubble *bubble)
+ gtk_box_pack_start (GTK_BOX (vbox), bubble->priv->body_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (bubble->priv->body_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (bubble->priv->body_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (bubble->priv->body_label), PANGO_WRAP_WORD_CHAR);
+ g_signal_connect (bubble->priv->body_label,
+ "activate-link",
+ G_CALLBACK (on_activate_link),
+diff --git a/src/nd-notification-box.c b/src/nd-notification-box.c
+index 352c515..12267a9 100644
+--- a/src/nd-notification-box.c
++++ b/src/nd-notification-box.c
+@@ -336,6 +336,7 @@ nd_notification_box_init (NdNotificationBox *notification_box)
+ gtk_box_pack_start (GTK_BOX (vbox), notification_box->priv->summary_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (notification_box->priv->summary_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (notification_box->priv->summary_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (notification_box->priv->summary_label), PANGO_WRAP_WORD_CHAR);
+
+ atkobj = gtk_widget_get_accessible (notification_box->priv->summary_label);
+ atk_object_set_description (atkobj, "Notification summary text.");
+@@ -354,6 +355,7 @@ nd_notification_box_init (NdNotificationBox *notification_box)
+ gtk_box_pack_start (GTK_BOX (vbox), notification_box->priv->body_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (notification_box->priv->body_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (notification_box->priv->body_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (notification_box->priv->body_label), PANGO_WRAP_WORD_CHAR);
+
+ atkobj = gtk_widget_get_accessible (notification_box->priv->body_label);
+ atk_object_set_description (atkobj, "Notification body text.");
+diff --git a/src/nd-stack.c b/src/nd-stack.c
+index 6c03acc..2206dad 100644
+--- a/src/nd-stack.c
++++ b/src/nd-stack.c
+@@ -357,10 +357,10 @@ nd_stack_shift_notifications (NdStack *stack,
+
+ for (i = 0, l = stack->priv->bubbles; l != NULL; i++, l = l->next) {
+ NdBubble *nw2 = ND_BUBBLE (l->data);
+- GtkRequisition req;
++ GtkRequisition minimum_size, natural_size;
+
+ if (bubble == NULL || nw2 != bubble) {
+- gtk_widget_size_request (GTK_WIDGET (nw2), &req);
++ gtk_widget_get_preferred_size (GTK_WIDGET (nw2), &minimum_size, &natural_size);
+
+ translate_coordinates (stack->priv->location,
+ &workarea,
+@@ -368,8 +368,8 @@ nd_stack_shift_notifications (NdStack *stack,
+ &y,
+ &shiftx,
+ &shifty,
+- req.width,
+- req.height + NOTIFY_STACK_SPACING);
++ natural_size.width,
++ natural_size.height + NOTIFY_STACK_SPACING);
+ positions[i].x = x;
+ positions[i].y = y;
+ } else if (nw_l != NULL) {
+@@ -428,15 +428,15 @@ nd_stack_add_bubble (NdStack *stack,
+ NdBubble *bubble,
+ gboolean new_notification)
+ {
+- GtkRequisition req;
++ GtkRequisition minimum_size, natural_size;
+ int x, y;
+
+- gtk_widget_size_request (GTK_WIDGET (bubble), &req);
++ gtk_widget_get_preferred_size (GTK_WIDGET (bubble), &minimum_size, &natural_size);
+ nd_stack_shift_notifications (stack,
+ bubble,
+ NULL,
+- req.width,
+- req.height + NOTIFY_STACK_SPACING,
++ natural_size.width,
++ natural_size.height + NOTIFY_STACK_SPACING,
+ &x,
+ &y);
+ gtk_widget_show (GTK_WIDGET (bubble));
+--
+2.1.2
+
Deleted: community-i686/notification-daemon.install
===================================================================
--- community-i686/notification-daemon.install 2014-10-08 22:13:52 UTC (rev 120414)
+++ community-i686/notification-daemon.install 2014-10-08 22:14:02 UTC (rev 120415)
@@ -1,22 +0,0 @@
-pkgname=notification-daemon
-
-post_install() {
- usr/sbin/gconfpkg --install ${pkgname}
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-pre_upgrade() {
- pre_remove $1
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- usr/sbin/gconfpkg --uninstall ${pkgname}
-}
-
-post_remove() {
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
Deleted: community-x86_64/PKGBUILD
===================================================================
--- community-x86_64/PKGBUILD 2014-10-08 22:13:52 UTC (rev 120414)
+++ community-x86_64/PKGBUILD 2014-10-08 22:14:02 UTC (rev 120415)
@@ -1,34 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-# Contributor: Mark Rosenstand <mark at borkware.net>
-
-pkgname=notification-daemon
-pkgver=0.7.6
-pkgrel=2
-pkgdesc="Notification daemon for the desktop notifications framework"
-arch=(i686 x86_64)
-license=(GPL)
-url="http://www.galago-project.org/specs/notification/"
-depends=(gtk3 libcanberra)
-makedepends=(pkgconfig intltool)
-options=('!emptydirs')
-source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('64d0ce6fb12c94c3b73b701502c804c408cb5a94580bcae5ac37607639f7a0b3')
-
-build() {
- cd ${pkgname}-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/notification-daemon-1.0 \
- --localstatedir=/var --disable-static
- make
-}
-
-check() {
- cd ${pkgname}-${pkgver}
- make check
-}
-
-package() {
- cd ${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-}
Copied: notification-daemon/repos/community-x86_64/PKGBUILD (from rev 120414, notification-daemon/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD (rev 0)
+++ community-x86_64/PKGBUILD 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,55 @@
+# $Id$
+# Contributor: Jan de Groot <jgc at archlinux.org>
+# Contributor: Mark Rosenstand <mark at borkware.net>
+
+pkgname=notification-daemon
+pkgver=0.7.6
+pkgrel=3
+pkgdesc="Notification daemon for the desktop notifications framework"
+arch=(i686 x86_64)
+license=(GPL)
+url="http://www.gnome.org/"
+depends=(gtk3 libcanberra)
+makedepends=(intltool)
+source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz
+ fix-boolean-hint.patch
+ fix-gsource-usage.patch
+ fix-position.patch)
+sha256sums=('64d0ce6fb12c94c3b73b701502c804c408cb5a94580bcae5ac37607639f7a0b3'
+ 'ba4e4fe42d82034cd12cb10d1c3c9c6f4318b5d9e10e7829ec0478b6ce801282'
+ '2c36bb0c77f27345f18240c7ba39aff7e559fd5155c54d83bc18e21ca13ce9ff'
+ 'a4e5ed7cdf42a137b1672b8128eb7a754ceece57243a02e0dc4dd977911beea2')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ # Avoid crashes for boolean hints
+ # https://bugzilla.gnome.org/show_bug.cgi?id=665166
+ patch -Np1 -i ../fix-boolean-hint.patch
+
+ # Fix GSource usage with recent GLib
+ # https://bugzilla.gnome.org/show_bug.cgi?id=728157
+ patch -Np1 -i ../fix-gsource-usage.patch
+
+ # Fix positioning notifications with long text
+ # https://bugzilla.gnome.org/show_bug.cgi?id=687724
+ patch -Np1 -i ../fix-position.patch
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/notification-daemon-1.0 \
+ --localstatedir=/var --disable-static
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
Copied: notification-daemon/repos/community-x86_64/fix-boolean-hint.patch (from rev 120414, notification-daemon/trunk/fix-boolean-hint.patch)
===================================================================
--- community-x86_64/fix-boolean-hint.patch (rev 0)
+++ community-x86_64/fix-boolean-hint.patch 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,104 @@
+From 9eb0d66eb763ecd3f232b7fd65287835c3ac5bcf Mon Sep 17 00:00:00 2001
+From: anomie at users.sourceforge.net
+Date: Wed, 8 Oct 2014 23:40:59 +0200
+Subject: [PATCH] Avoid crashes for boolean hints
+
+Check the type of the incoming hint and use the appropriate
+g_variant_get_* function.
+It also applies the same fix for the "resident" and "action-icons"
+hints.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=665166
+---
+ src/nd-notification.c | 55 +++++++++++++++++++++++++--------------------------
+ 1 file changed, 27 insertions(+), 28 deletions(-)
+
+diff --git a/src/nd-notification.c b/src/nd-notification.c
+index 05372d0..fdb2c2b 100644
+--- a/src/nd-notification.c
++++ b/src/nd-notification.c
+@@ -224,54 +224,53 @@ nd_notification_get_is_closed (NdNotification *notification)
+ }
+
+ gboolean
+-nd_notification_get_is_transient (NdNotification *notification)
++nd_notification_get_bool (NdNotification *notification, const char *name)
+ {
+ gboolean ret;
+ GVariant *value;
+-
+ ret = FALSE;
+ g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE);
+
+- value = g_hash_table_lookup (notification->hints, "transient");
++ value = g_hash_table_lookup (notification->hints, name);
+ if (value != NULL) {
+- ret = g_variant_get_boolean (value);
++ if (g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)) {
++ ret = g_variant_get_boolean (value);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_BYTE)) {
++ ret = (g_variant_get_byte (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT16)) {
++ ret = (g_variant_get_int16 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT16)) {
++ ret = (g_variant_get_uint16 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)) {
++ ret = (g_variant_get_int32 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT32)) {
++ ret = (g_variant_get_uint32 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT64)) {
++ ret = (g_variant_get_int64 (value) != 0);
++ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT64)) {
++ ret = (g_variant_get_uint64 (value) != 0);
++ }
+ }
+
+ return ret;
+ }
+
+ gboolean
+-nd_notification_get_is_resident (NdNotification *notification)
++nd_notification_get_is_transient (NdNotification *notification)
+ {
+- gboolean ret;
+- GVariant *value;
+-
+- ret = FALSE;
+- g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE);
+-
+- value = g_hash_table_lookup (notification->hints, "resident");
+- if (value != NULL) {
+- ret = g_variant_get_boolean (value);
+- }
++ return nd_notification_get_bool (notification, "transient");
++}
+
+- return ret;
++gboolean
++nd_notification_get_is_resident (NdNotification *notification)
++{
++ return nd_notification_get_bool (notification, "resident");
+ }
+
+ gboolean
+ nd_notification_get_action_icons (NdNotification *notification)
+ {
+- gboolean ret;
+- GVariant *value;
+-
+- ret = FALSE;
+- g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE);
+-
+- value = g_hash_table_lookup (notification->hints, "action-icons");
+- if (value != NULL) {
+- ret = g_variant_get_boolean (value);
+- }
+-
+- return ret;
++ return nd_notification_get_bool (notification, "action-icons");
+ }
+
+ guint32
+--
+2.1.2
+
Copied: notification-daemon/repos/community-x86_64/fix-gsource-usage.patch (from rev 120414, notification-daemon/trunk/fix-gsource-usage.patch)
===================================================================
--- community-x86_64/fix-gsource-usage.patch (rev 0)
+++ community-x86_64/fix-gsource-usage.patch 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,49 @@
+From 7e458afddc7c57eba5c392a7a89990600a070ae5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
+Date: Wed, 8 Oct 2014 23:35:37 +0200
+Subject: [PATCH] Fix GSource usage with recent GLib
+
+https://bugzilla.gnome.org/show_bug.cgi?id=728157
+---
+ src/nd-bubble.c | 1 +
+ src/nd-queue.c | 5 +++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/nd-bubble.c b/src/nd-bubble.c
+index 0587478..6de7f8f 100644
+--- a/src/nd-bubble.c
++++ b/src/nd-bubble.c
+@@ -420,6 +420,7 @@ nd_bubble_enter_notify_event (GtkWidget *widget,
+ NdBubble *bubble = ND_BUBBLE (widget);
+ if (bubble->priv->timeout_id != 0) {
+ g_source_remove (bubble->priv->timeout_id);
++ bubble->priv->timeout_id = 0;
+ }
+
+ return FALSE;
+diff --git a/src/nd-queue.c b/src/nd-queue.c
+index de73940..b744b88 100644
+--- a/src/nd-queue.c
++++ b/src/nd-queue.c
+@@ -532,6 +532,10 @@ nd_queue_finalize (GObject *object)
+
+ g_return_if_fail (queue->priv != NULL);
+
++ if (queue->priv->update_id != 0) {
++ g_source_remove (queue->priv->update_id);
++ }
++
+ g_hash_table_destroy (queue->priv->notifications);
+ g_queue_free (queue->priv->queue);
+
+@@ -919,6 +923,7 @@ update_idle (NdQueue *queue)
+ }
+ }
+
++ queue->priv->update_id = 0;
+ return FALSE;
+ }
+
+--
+2.1.2
+
Copied: notification-daemon/repos/community-x86_64/fix-position.patch (from rev 120414, notification-daemon/trunk/fix-position.patch)
===================================================================
--- community-x86_64/fix-position.patch (rev 0)
+++ community-x86_64/fix-position.patch 2014-10-08 22:14:02 UTC (rev 120415)
@@ -0,0 +1,128 @@
+From cef286903c24795e72cae8795c7b433b6baf9f57 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
+Date: Wed, 8 Oct 2014 23:57:34 +0200
+Subject: [PATCH] Fix positioning notifications with long text
+
+https://bugzilla.gnome.org/show_bug.cgi?id=687724
+---
+ src/nd-bubble.c | 13 +++++++++++++
+ src/nd-notification-box.c | 2 ++
+ src/nd-stack.c | 16 ++++++++--------
+ 3 files changed, 23 insertions(+), 8 deletions(-)
+
+diff --git a/src/nd-bubble.c b/src/nd-bubble.c
+index 0587478..2d36003 100644
+--- a/src/nd-bubble.c
++++ b/src/nd-bubble.c
+@@ -413,6 +413,16 @@ nd_bubble_realize (GtkWidget *widget)
+ GTK_WIDGET_CLASS (nd_bubble_parent_class)->realize (widget);
+ }
+
++static void
++nd_bubble_get_preferred_width (GtkWidget *widget,
++ gint *min_width,
++ gint *nat_width)
++{
++ if (nat_width != NULL) {
++ *nat_width = WIDTH;
++ }
++}
++
+ static gboolean
+ nd_bubble_enter_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event)
+@@ -450,6 +460,7 @@ nd_bubble_class_init (NdBubbleClass *klass)
+ widget_class->enter_notify_event = nd_bubble_enter_notify_event;
+ widget_class->leave_notify_event = nd_bubble_leave_notify_event;
+ widget_class->realize = nd_bubble_realize;
++ widget_class->get_preferred_width = nd_bubble_get_preferred_width;
+
+ g_type_class_add_private (klass, sizeof (NdBubblePrivate));
+ }
+@@ -622,6 +633,7 @@ nd_bubble_init (NdBubble *bubble)
+ gtk_box_pack_start (GTK_BOX (vbox), bubble->priv->summary_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (bubble->priv->summary_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (bubble->priv->summary_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (bubble->priv->summary_label), PANGO_WRAP_WORD_CHAR);
+
+ atkobj = gtk_widget_get_accessible (bubble->priv->summary_label);
+ atk_object_set_description (atkobj, "Notification summary text.");
+@@ -644,6 +656,7 @@ nd_bubble_init (NdBubble *bubble)
+ gtk_box_pack_start (GTK_BOX (vbox), bubble->priv->body_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (bubble->priv->body_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (bubble->priv->body_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (bubble->priv->body_label), PANGO_WRAP_WORD_CHAR);
+ g_signal_connect (bubble->priv->body_label,
+ "activate-link",
+ G_CALLBACK (on_activate_link),
+diff --git a/src/nd-notification-box.c b/src/nd-notification-box.c
+index 352c515..12267a9 100644
+--- a/src/nd-notification-box.c
++++ b/src/nd-notification-box.c
+@@ -336,6 +336,7 @@ nd_notification_box_init (NdNotificationBox *notification_box)
+ gtk_box_pack_start (GTK_BOX (vbox), notification_box->priv->summary_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (notification_box->priv->summary_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (notification_box->priv->summary_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (notification_box->priv->summary_label), PANGO_WRAP_WORD_CHAR);
+
+ atkobj = gtk_widget_get_accessible (notification_box->priv->summary_label);
+ atk_object_set_description (atkobj, "Notification summary text.");
+@@ -354,6 +355,7 @@ nd_notification_box_init (NdNotificationBox *notification_box)
+ gtk_box_pack_start (GTK_BOX (vbox), notification_box->priv->body_label, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (notification_box->priv->body_label), 0, 0);
+ gtk_label_set_line_wrap (GTK_LABEL (notification_box->priv->body_label), TRUE);
++ gtk_label_set_line_wrap_mode (GTK_LABEL (notification_box->priv->body_label), PANGO_WRAP_WORD_CHAR);
+
+ atkobj = gtk_widget_get_accessible (notification_box->priv->body_label);
+ atk_object_set_description (atkobj, "Notification body text.");
+diff --git a/src/nd-stack.c b/src/nd-stack.c
+index 6c03acc..2206dad 100644
+--- a/src/nd-stack.c
++++ b/src/nd-stack.c
+@@ -357,10 +357,10 @@ nd_stack_shift_notifications (NdStack *stack,
+
+ for (i = 0, l = stack->priv->bubbles; l != NULL; i++, l = l->next) {
+ NdBubble *nw2 = ND_BUBBLE (l->data);
+- GtkRequisition req;
++ GtkRequisition minimum_size, natural_size;
+
+ if (bubble == NULL || nw2 != bubble) {
+- gtk_widget_size_request (GTK_WIDGET (nw2), &req);
++ gtk_widget_get_preferred_size (GTK_WIDGET (nw2), &minimum_size, &natural_size);
+
+ translate_coordinates (stack->priv->location,
+ &workarea,
+@@ -368,8 +368,8 @@ nd_stack_shift_notifications (NdStack *stack,
+ &y,
+ &shiftx,
+ &shifty,
+- req.width,
+- req.height + NOTIFY_STACK_SPACING);
++ natural_size.width,
++ natural_size.height + NOTIFY_STACK_SPACING);
+ positions[i].x = x;
+ positions[i].y = y;
+ } else if (nw_l != NULL) {
+@@ -428,15 +428,15 @@ nd_stack_add_bubble (NdStack *stack,
+ NdBubble *bubble,
+ gboolean new_notification)
+ {
+- GtkRequisition req;
++ GtkRequisition minimum_size, natural_size;
+ int x, y;
+
+- gtk_widget_size_request (GTK_WIDGET (bubble), &req);
++ gtk_widget_get_preferred_size (GTK_WIDGET (bubble), &minimum_size, &natural_size);
+ nd_stack_shift_notifications (stack,
+ bubble,
+ NULL,
+- req.width,
+- req.height + NOTIFY_STACK_SPACING,
++ natural_size.width,
++ natural_size.height + NOTIFY_STACK_SPACING,
+ &x,
+ &y);
+ gtk_widget_show (GTK_WIDGET (bubble));
+--
+2.1.2
+
Deleted: community-x86_64/notification-daemon.install
===================================================================
--- community-x86_64/notification-daemon.install 2014-10-08 22:13:52 UTC (rev 120414)
+++ community-x86_64/notification-daemon.install 2014-10-08 22:14:02 UTC (rev 120415)
@@ -1,22 +0,0 @@
-pkgname=notification-daemon
-
-post_install() {
- usr/sbin/gconfpkg --install ${pkgname}
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-pre_upgrade() {
- pre_remove $1
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- usr/sbin/gconfpkg --uninstall ${pkgname}
-}
-
-post_remove() {
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
More information about the arch-commits
mailing list