diff options
Diffstat (limited to 'extra/python-notify')
-rw-r--r-- | extra/python-notify/PKGBUILD | 43 | ||||
-rw-r--r-- | extra/python-notify/libnotify07.patch | 36 | ||||
-rw-r--r-- | extra/python-notify/notify-python-0.1.1-fix-GTK-symbols.patch | 25 |
3 files changed, 104 insertions, 0 deletions
diff --git a/extra/python-notify/PKGBUILD b/extra/python-notify/PKGBUILD new file mode 100644 index 000000000..efb98fd88 --- /dev/null +++ b/extra/python-notify/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 113112 2011-03-08 08:49:12Z ibiru $ +# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com> +# Contributor: Mario Danic <mario.danic@gmail.com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> +pkgname=python-notify +pkgver=0.1.1 +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.7.1') +makedepends=('pkgconfig' 'python2') +options=(!libtool) +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 +} + +package() { + cd ${srcdir}/notify-python-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/extra/python-notify/libnotify07.patch b/extra/python-notify/libnotify07.patch new file mode 100644 index 000000000..289573d50 --- /dev/null +++ b/extra/python-notify/libnotify07.patch @@ -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") diff --git a/extra/python-notify/notify-python-0.1.1-fix-GTK-symbols.patch b/extra/python-notify/notify-python-0.1.1-fix-GTK-symbols.patch new file mode 100644 index 000000000..f985c0136 --- /dev/null +++ b/extra/python-notify/notify-python-0.1.1-fix-GTK-symbols.patch @@ -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 * |