pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/graphics/py-cairocffi Try open Cairo via dlopen first, ...
details: https://anonhg.NetBSD.org/pkgsrc/rev/3ed1d88f902c
branches: trunk
changeset: 382928:3ed1d88f902c
user: joerg <joerg%pkgsrc.org@localhost>
date: Wed Jul 18 00:24:30 2018 +0000
description:
Try open Cairo via dlopen first, so that rpath is honoured. While it
doesn't currently work on OSX, the original code remains as fallback.
Bump revision.
diffstat:
graphics/py-cairocffi/Makefile | 4 +-
graphics/py-cairocffi/distinfo | 4 +-
graphics/py-cairocffi/patches/patch-cairocffi_____init____.py | 31 +++++++++++
3 files changed, 35 insertions(+), 4 deletions(-)
diffs (62 lines):
diff -r 3a23fd66e15f -r 3ed1d88f902c graphics/py-cairocffi/Makefile
--- a/graphics/py-cairocffi/Makefile Wed Jul 18 00:09:12 2018 +0000
+++ b/graphics/py-cairocffi/Makefile Wed Jul 18 00:24:30 2018 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.12 2018/03/12 11:16:48 wiz Exp $
+# $NetBSD: Makefile,v 1.13 2018/07/18 00:24:30 joerg Exp $
DISTNAME= cairocffi-0.8.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= ${MASTER_SITE_PYPI:=c/cairocffi/}
diff -r 3a23fd66e15f -r 3ed1d88f902c graphics/py-cairocffi/distinfo
--- a/graphics/py-cairocffi/distinfo Wed Jul 18 00:09:12 2018 +0000
+++ b/graphics/py-cairocffi/distinfo Wed Jul 18 00:24:30 2018 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.5 2017/07/16 09:29:58 adam Exp $
+$NetBSD: distinfo,v 1.6 2018/07/18 00:24:30 joerg Exp $
SHA1 (cairocffi-0.8.0.tar.gz) = 5d2a983b3a60dfd974c5c736338cd0ffacaae8cb
RMD160 (cairocffi-0.8.0.tar.gz) = ef591d28ca183e829b446b77bcd79069e3b00554
SHA512 (cairocffi-0.8.0.tar.gz) = 70179e05ca4a4efeaa39ade1ee1a96d280d198ecff5ae8c8fc634c24d8922ea6a3e1eb6cf5f55c5fc9d3f5b2fc3131a53051690eb86712762d8b6400df8a630a
Size (cairocffi-0.8.0.tar.gz) = 79217 bytes
-SHA1 (patch-cairocffi_____init____.py) = 6a9c75106a1041c9f81b73ec0d2e9062382130a2
+SHA1 (patch-cairocffi_____init____.py) = 25e068711b14523041f07163104fd8fb75d7e9cb
diff -r 3a23fd66e15f -r 3ed1d88f902c graphics/py-cairocffi/patches/patch-cairocffi_____init____.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/py-cairocffi/patches/patch-cairocffi_____init____.py Wed Jul 18 00:24:30 2018 +0000
@@ -0,0 +1,31 @@
+$NetBSD: patch-cairocffi_____init____.py,v 1.1 2018/07/18 00:24:30 joerg Exp $
+
+--- cairocffi/__init__.py.orig 2017-02-03 11:41:24.000000000 +0000
++++ cairocffi/__init__.py
+@@ -12,6 +12,7 @@
+
+ import sys
+ import ctypes.util
++import sysconfig
+
+ from . import constants
+ from .compat import FileNotFoundError
+@@ -25,6 +26,18 @@ version_info = (1, 10, 0)
+
+ def dlopen(ffi, *names):
+ """Try various names for the same library, for different platforms."""
++ # First pass: try to dlopen the shared library directly.
++ # This may fail on systems where SHLIB_SUFFIX is broken like OSX.
++ suffix = sysconfig.get_config_var('SHLIB_SUFFIX') or sysconfig.get_config_var('SHLIB_EXT')
++ for name in names:
++ for lib_name in [name, 'lib' + name]:
++ try:
++ lib = ffi.dlopen(lib_name + suffix)
++ if lib:
++ return lib
++ except OSError:
++ pass
++ # Second pass: try to use ctypes as fallback.
+ for name in names:
+ for lib_name in [name, 'lib' + name]:
+ try:
Home |
Main Index |
Thread Index |
Old Index