[Python-modules-commits] [cairocffi] 01/06: Import cairocffi_0.7.2.orig.tar.gz
Jean-Christophe Jaskula
jcjaskula-guest at moszumanska.debian.org
Sat Oct 24 18:22:44 UTC 2015
This is an automated email from the git hooks/post-receive script.
jcjaskula-guest pushed a commit to branch master
in repository cairocffi.
commit 442c25e12a2070d915ac16d4daba19575babe9fa
Author: Jean-Christophe Jaskula <jean.christophe.jaskula at gmail.com>
Date: Sat Oct 24 13:46:26 2015 -0400
Import cairocffi_0.7.2.orig.tar.gz
---
cairocffi/__init__.py | 27 +++++++++++++++------------
cairocffi/pixbuf.py | 10 ++++------
2 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/cairocffi/__init__.py b/cairocffi/__init__.py
index 3000db2..fe5b39e 100644
--- a/cairocffi/__init__.py
+++ b/cairocffi/__init__.py
@@ -11,6 +11,7 @@
"""
import sys
+import ctypes.util
from . import constants
from .compat import FileNotFoundError
@@ -21,7 +22,7 @@ except ImportError:
# PyPy < 2.6 compatibility
from .ffi_build import ffi
-VERSION = '0.7.1'
+VERSION = '0.7.2'
# pycairo compat:
version = '1.10.0'
version_info = (1, 10, 0)
@@ -30,17 +31,19 @@ version_info = (1, 10, 0)
def dlopen(ffi, *names):
"""Try various names for the same library, for different platforms."""
for name in names:
- try:
- return ffi.dlopen(name)
- except OSError:
- pass
- # Re-raise the exception.
- return ffi.dlopen(names[0]) # pragma: no cover
-
-
-CAIRO_NAMES = ['libcairo.so.2', 'libcairo.2.dylib', 'libcairo-2.dll',
- 'cairo', 'libcairo-2']
-cairo = dlopen(ffi, *CAIRO_NAMES)
+ for lib_name in [name, 'lib' + name]:
+ try:
+ path = ctypes.util.find_library(lib_name)
+ if path:
+ lib = ffi.dlopen(path)
+ if lib:
+ return lib
+ except OSError:
+ pass
+ raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
+
+
+cairo = dlopen(ffi, 'cairo', 'cairo-2')
class CairoError(Exception):
diff --git a/cairocffi/pixbuf.py b/cairocffi/pixbuf.py
index 57d7069..46a5a84 100644
--- a/cairocffi/pixbuf.py
+++ b/cairocffi/pixbuf.py
@@ -26,13 +26,11 @@ except ImportError:
__all__ = ['decode_to_image_surface']
-gdk_pixbuf = dlopen(ffi, 'gdk_pixbuf-2.0', 'libgdk_pixbuf-2.0-0',
- 'libgdk_pixbuf-2.0.so')
-gobject = dlopen(ffi, 'gobject-2.0', 'libgobject-2.0-0', 'libgobject-2.0.so')
-glib = dlopen(ffi, 'glib-2.0', 'libglib-2.0-0', 'libglib-2.0.so')
+gdk_pixbuf = dlopen(ffi, 'gdk_pixbuf-2.0', 'gdk_pixbuf-2.0-0')
+gobject = dlopen(ffi, 'gobject-2.0', 'gobject-2.0-0')
+glib = dlopen(ffi, 'glib-2.0', 'glib-2.0-0')
try:
- gdk = dlopen(ffi, 'gdk-3', 'gdk-x11-2.0', 'libgdk-win32-2.0-0',
- 'libgdk-x11-2.0.so')
+ gdk = dlopen(ffi, 'gdk-3', 'gdk-x11-2.0', 'gdk-win32-2.0-0')
except OSError:
gdk = None
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/cairocffi.git
More information about the Python-modules-commits
mailing list