aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/cairocffi
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2018-06-06 07:17:52 +0000
committerOrivej Desh <orivej@gmx.fr>2018-06-06 07:18:13 +0000
commit832973d1791cacedb22f3ee4be87c4c84288f581 (patch)
treeb44336a6ca3770f32f22908f7d94d54a2d157404 /pkgs/development/python-modules/cairocffi
parent46dfe1eca806defde9a13fb8a94254ba5b086f7a (diff)
python.pkgs.cairocffi: support darwin
Diffstat (limited to 'pkgs/development/python-modules/cairocffi')
-rw-r--r--pkgs/development/python-modules/cairocffi/default.nix4
-rw-r--r--pkgs/development/python-modules/cairocffi/dlopen-paths.patch8
2 files changed, 7 insertions, 5 deletions
diff --git a/pkgs/development/python-modules/cairocffi/default.nix b/pkgs/development/python-modules/cairocffi/default.nix
index a9c4a3437b5..13d00d0529c 100644
--- a/pkgs/development/python-modules/cairocffi/default.nix
+++ b/pkgs/development/python-modules/cairocffi/default.nix
@@ -1,5 +1,6 @@
# FIXME: make gdk_pixbuf dependency optional
-{ buildPythonPackage
+{ stdenv
+, buildPythonPackage
, fetchPypi
, lib
, substituteAll
@@ -42,6 +43,7 @@ buildPythonPackage rec {
# OSError: dlopen() failed to load a library: gdk_pixbuf-2.0 / gdk_pixbuf-2.0-0
(substituteAll {
src = ./dlopen-paths.patch;
+ ext = stdenv.hostPlatform.extensions.sharedLibrary;
cairo = cairo.out;
glib = glib.out;
gdk_pixbuf = gdk_pixbuf.out;
diff --git a/pkgs/development/python-modules/cairocffi/dlopen-paths.patch b/pkgs/development/python-modules/cairocffi/dlopen-paths.patch
index bc5e939ceba..862f7bd4bf7 100644
--- a/pkgs/development/python-modules/cairocffi/dlopen-paths.patch
+++ b/pkgs/development/python-modules/cairocffi/dlopen-paths.patch
@@ -16,10 +16,10 @@ index 718aa7f..1a1dcff 100644
+# Use hardcoded soname, because ctypes.util use gcc/objdump which shouldn't be required for runtime
+_LIBS = {
-+ 'cairo': '@cairo@/lib/libcairo.so.2',
-+ 'glib-2.0': '@glib@/lib/libglib-2.0.so.0',
-+ 'gobject-2.0': '@glib@/lib/libgobject-2.0.so.0',
-+ 'gdk_pixbuf-2.0': '@gdk_pixbuf@/lib/libgdk_pixbuf-2.0.so.0',
++ 'cairo': '@cairo@/lib/libcairo@ext@',
++ 'glib-2.0': '@glib@/lib/libglib-2.0@ext@',
++ 'gobject-2.0': '@glib@/lib/libgobject-2.0@ext@',
++ 'gdk_pixbuf-2.0': '@gdk_pixbuf@/lib/libgdk_pixbuf-2.0@ext@',
+}
-def dlopen(ffi, *names):