diff options
Diffstat (limited to 'pkgs/development/python-modules/cairocffi')
-rw-r--r-- | pkgs/development/python-modules/cairocffi/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/cairocffi/default.nix b/pkgs/development/python-modules/cairocffi/default.nix new file mode 100644 index 000000000000..a8a8ac110f10 --- /dev/null +++ b/pkgs/development/python-modules/cairocffi/default.nix @@ -0,0 +1,58 @@ +# FIXME: make gdk_pixbuf dependency optional +{ buildPythonPackage +, fetchPypi +, lib +, substituteAll +, makeFontsConf +, freefont_ttf +, pytest +, glibcLocales +, cairo +, cffi +, withXcffib ? false, xcffib +, python +, glib +, gdk_pixbuf }: + +buildPythonPackage rec { + pname = "cairocffi"; + version = "0.8.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0i9m3p39g9wrkpjvpawch2qmnmm3cnim7niz3nmmbcp2hrkixwk5"; + }; + + LC_ALL = "en_US.UTF-8"; + + # checkPhase require at least one 'normal' font and one 'monospace', + # otherwise glyph tests fails + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ freefont_ttf ]; + }; + + checkInputs = [ pytest glibcLocales ]; + propagatedBuildInputs = [ cairo cffi ] ++ lib.optional withXcffib xcffib; + + checkPhase = '' + py.test $out/${python.sitePackages} + ''; + + patches = [ + # OSError: dlopen() failed to load a library: gdk_pixbuf-2.0 / gdk_pixbuf-2.0-0 + (substituteAll { + src = ./dlopen-paths.patch; + cairo = cairo.out; + glib = glib.out; + gdk_pixbuf = gdk_pixbuf.out; + }) + ./fix_test_scaled_font.patch + ]; + + meta = with lib; { + homepage = https://github.com/SimonSapin/cairocffi; + license = licenses.bsd3; + maintainers = with maintainers; []; + description = "cffi-based cairo bindings for Python"; + }; +} |