Date: Tuesday, March 8, 2011 @ 03:49:12 Author: ibiru Revision: 113112
upgpkg: python-notify 0.1.1-10 really rebuild against libnotify 0.7 Added: python-notify/trunk/libnotify07.patch python-notify/trunk/notify-python-0.1.1-fix-GTK-symbols.patch Modified: python-notify/trunk/PKGBUILD -------------------------------------------+ PKGBUILD | 21 +++++++++++++--- libnotify07.patch | 36 ++++++++++++++++++++++++++++ notify-python-0.1.1-fix-GTK-symbols.patch | 25 +++++++++++++++++++ 3 files changed, 78 insertions(+), 4 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-03-08 08:47:50 UTC (rev 113111) +++ PKGBUILD 2011-03-08 08:49:12 UTC (rev 113112) @@ -6,20 +6,33 @@ # Contributor: Daniel J Griffiths <[email protected]> pkgname=python-notify pkgver=0.1.1 -pkgrel=9 +pkgrel=10 pkgdesc="Python bindings for libnotify" arch=('i686' 'x86_64') url="http://www.galago-project.org/" license=('GPL') -depends=('pygtk>=2.22.0' 'libnotify>=0.4.5') +depends=('pygtk>=2.22.0' 'libnotify>=0.7.1') makedepends=('pkgconfig' 'python2') options=(!libtool) -source=(http://www.galago-project.org/files/releases/source/notify-python/notify-python-${pkgver}.tar.gz) -md5sums=('8f0ef0939cc8edd2efd896ce5ba80cf4') +source=(http://www.galago-project.org/files/releases/source/notify-python/notify-python-${pkgver}.tar.gz + libnotify07.patch + notify-python-0.1.1-fix-GTK-symbols.patch) +md5sums=('8f0ef0939cc8edd2efd896ce5ba80cf4' + 'b40c4542575d5aef559908fe60a21634' + 'c6922028da5951e69a6a0167bdb4461c') build() { cd ${srcdir}/notify-python-${pkgver} + + patch -Np1 -i ${srcdir}/libnotify07.patch + patch -Np1 -i ${srcdir}/notify-python-0.1.1-fix-GTK-symbols.patch + ./configure --prefix=/usr + + # WARNING - we touch src/pynotify.override in build because upstream did not rebuild pynotify.c + # from the input definitions, this forces pynotify.c to be regenerated, at some point this can be removed + touch src/pynotify.override + make clean make } Added: libnotify07.patch =================================================================== --- libnotify07.patch (rev 0) +++ libnotify07.patch 2011-03-08 08:49:12 UTC (rev 113112) @@ -0,0 +1,36 @@ +diff -up notify-python-0.1.1/src/pynotify.defs.notify070 notify-python-0.1.1/src/pynotify.defs +--- notify-python-0.1.1/src/pynotify.defs.notify070 2010-11-02 17:11:14.928179237 -0400 ++++ notify-python-0.1.1/src/pynotify.defs 2010-11-02 17:11:51.153180231 -0400 +@@ -38,7 +38,6 @@ + '("const-gchar*" "summary") + '("const-gchar*" "message" (null-ok) (default "NULL")) + '("const-gchar*" "icon" (null-ok) (default "NULL")) +- '("GtkWidget*" "attach" (null-ok) (default "NULL")) + ) + ) + +@@ -53,24 +52,6 @@ + ) + ) + +-(define-method attach_to_widget +- (of-object "NotifyNotification") +- (c-name "notify_notification_attach_to_widget") +- (return-type "none") +- (parameters +- '("GtkWidget*" "attach") +- ) +-) +- +-(define-method attach_to_status_icon +- (of-object "NotifyNotification") +- (c-name "notify_notification_attach_to_status_icon") +- (return-type "none") +- (parameters +- '("GtkStatusIcon*" "attach") +- ) +-) +- + (define-method show + (of-object "NotifyNotification") + (c-name "notify_notification_show") Added: notify-python-0.1.1-fix-GTK-symbols.patch =================================================================== --- notify-python-0.1.1-fix-GTK-symbols.patch (rev 0) +++ notify-python-0.1.1-fix-GTK-symbols.patch 2011-03-08 08:49:12 UTC (rev 113112) @@ -0,0 +1,25 @@ +diff -up notify-python-0.1.1/src/__init__.py.BAD notify-python-0.1.1/src/__init__.py +--- notify-python-0.1.1/src/__init__.py.BAD 2010-08-31 09:04:45.353844005 -0400 ++++ notify-python-0.1.1/src/__init__.py 2010-08-31 09:04:49.281844300 -0400 +@@ -1 +1,21 @@ ++""" ++Fedora's libnotify.so is not linked against GTK2 or GTK3. The idea ++was to support being linked against different parallel-installable ++GTK stacks. ++ ++Unfortunately, python needs to jump through some special hoops in order ++to share symbols with extension modules, specifically, pygtk, which does ++link against GTK2. ++ ++Without using sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL), ++the result is: ++libnotify-WARNING **: Missing symbol 'gdk_screen_make_display_name' ++ ++Thanks to David Malcolm for figuring out the workaround. ++""" ++import ctypes ++import sys ++sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL) ++import gtk ++ + from _pynotify import *
