wok-next annotate notify-python/stuff/patches/notify-python-0.1.1-fix-GTK-symbols.patch @ rev 21068

Rebuild Perl modules
author Aleksej Bobylev <al.bobylev@gmail.com>
date Tue Dec 11 23:38:35 2018 +0200 (2018-12-11)
parents
children
rev   line source
al@20980 1 diff -up notify-python-0.1.1/src/__init__.py.BAD notify-python-0.1.1/src/__init__.py
al@20980 2 --- notify-python-0.1.1/src/__init__.py.BAD 2010-08-31 09:04:45.353844005 -0400
al@20980 3 +++ notify-python-0.1.1/src/__init__.py 2010-08-31 09:04:49.281844300 -0400
al@20980 4 @@ -1 +1,21 @@
al@20980 5 +"""
al@20980 6 +Fedora's libnotify.so is not linked against GTK2 or GTK3. The idea
al@20980 7 +was to support being linked against different parallel-installable
al@20980 8 +GTK stacks.
al@20980 9 +
al@20980 10 +Unfortunately, python needs to jump through some special hoops in order
al@20980 11 +to share symbols with extension modules, specifically, pygtk, which does
al@20980 12 +link against GTK2.
al@20980 13 +
al@20980 14 +Without using sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL),
al@20980 15 +the result is:
al@20980 16 +libnotify-WARNING **: Missing symbol 'gdk_screen_make_display_name'
al@20980 17 +
al@20980 18 +Thanks to David Malcolm for figuring out the workaround.
al@20980 19 +"""
al@20980 20 +import ctypes
al@20980 21 +import sys
al@20980 22 +sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL)
al@20980 23 +import gtk
al@20980 24 +
al@20980 25 from _pynotify import *