pkgsrc-wip/kdebindings4-python/patches/patch-ab
2009-01-10 09:32:40 +00:00

33 lines
984 B
Text

$NetBSD: patch-ab,v 1.1 2009/01/10 09:32:40 mwdavies Exp $
deal with possible lack of DLFCN package as its only on Linux and Solaris
--- python/pykde4/__init__.py.orig 2008-07-22 12:00:52.000000000 +1200
+++ python/pykde4/__init__.py
@@ -1,4 +1,22 @@
-import sys,DLFCN
+import sys
+try:
+ from DLFCN import RTLD_NOW, RTLD_GLOBAL
+except ImportError:
+ RTLD_GLOBAL = -1
+ RTLD_NOW = -1
+ import os
+ osname = os.uname()[0]
+ if osname == 'Linux' or osname == 'SunOS' or osname == 'FreeBSD' or osname == 'NetBSD':
+ RTLD_GLOBAL = 0x100
+ RTLD_NOW = 0x2
+ elif osname == 'Darwin':
+ RTLD_GLOBAL = 0x8
+ RTLD_NOW = 0x2
+ del os
+except:
+ RTLD_GLOBAL = -1
+ RTLD_NOW = -1
+
# This is needed to ensure that dynamic_cast and RTTI works inside kdelibs.
-sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL)
-
\ No newline at end of file
+if RTLD_GLOBAL != -1 and RTLD_NOW != -1:
+ sys.setdlopenflags(RTLD_NOW|RTLD_GLOBAL)