Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=gnometesting.git;a=commitdiff;h=5b88ce5835a085707f8a76ed6e52fd245155b276

commit 5b88ce5835a085707f8a76ed6e52fd245155b276
Author: bouleetbil <bouleet...@frogdev.info>
Date:   Mon Jan 17 17:01:56 2011 +0000

xchat-2.8.8-3-i686
rebuild with libnotify>=0.7

diff --git a/source/xapps/xchat/FrugalBuild b/source/xapps/xchat/FrugalBuild
index 630541c..510d5ce 100644
--- a/source/xapps/xchat/FrugalBuild
+++ b/source/xapps/xchat/FrugalBuild
@@ -4,10 +4,10 @@

pkgname=xchat
pkgver=2.8.8
-pkgrel=2
+pkgrel=3
pkgdesc="A GTK+2 based IRC client"
url="http://www.xchat.org/";
-depends=('gtk+2>=2.20.0-2' 'openssl>=1.0.0' 'glib2>=2.14.1-5'  
'libsexy>=0.1.11-4' 'dbus-glib')
+depends=('gtk+2>=2.20.0-2' 'openssl>=1.0.0' 'glib2>=2.14.1-5'  
'libsexy>=0.1.11-4' 'dbus-glib' 'libnotify>=0.7')
makedepends=('python' 'perl' 'tcl>=8.5')
rodepends=('enchant') # without it libsexy , aspell etc does _nothing_
groups=('xapps')
@@ -15,7 +15,7 @@ archs=('i686' 'x86_64' 'ppc')
up2date="lynx -dump $url|grep Source: | sed 's/.* \([0-9\.]*\)$/\1/'"
source=(http://www.xchat.org/files/source/`echo $pkgver|sed 
's/\([0-9].[0-9]\).[0-9]/\1/'`/$pkgname-$pkgver.tar.bz2 \
README.Frugalware \
-       xchat-2.6.1-fw.diff)
+       xchat-2.6.1-fw.diff libnotify07.diff)
#_F_gnome_schemas=('etc/gconf/schemas/apps_xchat_url_handler.schemas')
_F_gnome_desktop="y"
options=('scriptlet')
@@ -48,6 +48,7 @@ build()

sha1sums=('a4ac161e4e40f4bbabc492675a1ff4380dba8d68' \
'd3042890e443739f4637ccd289d4a04b7d5b879b' \
-          'f05f3ffc59e0dc9241d31d4786a4cca893592e99')
+          'f05f3ffc59e0dc9241d31d4786a4cca893592e99' \
+          'd4c1fe610e44b9b1add2c7081761a31852e0263c')

# optimization OK
diff --git a/source/xapps/xchat/libnotify07.diff 
b/source/xapps/xchat/libnotify07.diff
new file mode 100644
index 0000000..38fa23c
--- /dev/null
+++ b/source/xapps/xchat/libnotify07.diff
@@ -0,0 +1,52 @@
+Port libnotify support to 0.7
+
+* Forwards/backwards-compatible, don't need a recompile when upgrading 
libnotify
+* Haven't tested with older libnotify, but should work fine
+* nn_new() takes the same no. of arguments because everything except the first
+  argument is optional, and the last argument passed is supposed to be NULL.
+
+---
+--- a/src/fe-gtk/plugin-tray.c
++++ b/src/fe-gtk/plugin-tray.c
+@@ -145,6 +145,7 @@
+ libnotify_notify_new (const char *title, const char *text, GtkStatusIcon 
*icon)
+ {
+       void *noti;
++      int libnotify_version = 0;
+
+       if (!nn_mod)
+       {
+@@ -152,8 +153,13 @@
+               if (!nn_mod)
+               {
+                       nn_mod = g_module_open ("libnotify.so.1", 
G_MODULE_BIND_LAZY);
+-                      if (!nn_mod)
+-                              return FALSE;
++                      if (!nn_mod) {
++                              nn_mod = g_module_open ("libnotify.so.4", 
G_MODULE_BIND_LAZY);
++                              if (!nn_mod)
++                                      return FALSE;
++                              libnotify_version = 4;
++                      }
++                      libnotify_version = 1;
+               }
+
+               if (!g_module_symbol (nn_mod, "notify_init", 
(gpointer)&nn_init))
+@@ -161,7 +167,15 @@
+               if (!g_module_symbol (nn_mod, "notify_uninit", 
(gpointer)&nn_uninit))
+                       goto bad;
+               if (!g_module_symbol (nn_mod, 
"notify_notification_new_with_status_icon", (gpointer)&nn_new_with_status_icon))
+-                      goto bad;
++                      if (libnotify_version == 1)
++                              /* We know we're using API version 1, but 
something is wrong */
++                              goto bad;
++                      else
++                              /* It's probably API version 4, aka 
libnotify-0.7 */
++                              libnotify_version = 4;
++              else
++                      /* Only this API version has 
notify_notification_new_with_status_icon */
++                      libnotify_version = 1;
+               if (!g_module_symbol (nn_mod, "notify_notification_new", 
(gpointer)&nn_new))
+                       goto bad;
+               if (!g_module_symbol (nn_mod, "notify_notification_show", 
(gpointer)&nn_show))
+
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to