pythonPackages.cairocffi: move out of python-modules.nix
This commit is contained in:
parent
795e49bc4f
commit
cd35a39b11
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchFromGitHub, python27Packages, glib, cairo, pango, pkgconfig, libxcb, xcbutilcursor }:
|
{ stdenv, fetchFromGitHub, python27Packages, glib, cairo, pango, pkgconfig, libxcb, xcbutilcursor }:
|
||||||
|
|
||||||
let cairocffi-xcffib = python27Packages.cairocffi.override {
|
let cairocffi-xcffib = python27Packages.cairocffi.override {
|
||||||
pythonPath = [ python27Packages.xcffib ];
|
withXcffib = true;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
|
65
pkgs/development/python-modules/cairocffi/default.nix
Normal file
65
pkgs/development/python-modules/cairocffi/default.nix
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
{ buildPythonPackage
|
||||||
|
, fetchurl
|
||||||
|
, makeFontsConf
|
||||||
|
, freefont_ttf
|
||||||
|
, pytest
|
||||||
|
, glibcLocales
|
||||||
|
, cairo
|
||||||
|
, cffi
|
||||||
|
, withXcffib ? false, xcffib
|
||||||
|
, python
|
||||||
|
, fetchpatch
|
||||||
|
, glib
|
||||||
|
, gdk_pixbuf }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
name = "cairocffi-0.7.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://pypi/c/cairocffi/${name}.tar.gz";
|
||||||
|
sha256 = "e42b4256d27bd960cbf3b91a6c55d602defcdbc2a73f7317849c80279feeb975";
|
||||||
|
};
|
||||||
|
|
||||||
|
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}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# FIXME: make gdk_pixbuf dependency optional
|
||||||
|
# Happens with 0.7.1 and 0.7.2
|
||||||
|
# OSError: dlopen() failed to load a library: gdk_pixbuf-2.0 / gdk_pixbuf-2.0-0
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# This patch from PR substituted upstream
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/avnik/cairocffi/commit/2266882e263c5efc87350cf016d117b2ec6a1d59.patch";
|
||||||
|
sha256 = "0gb570z3ivf1b0ixsk526n3h29m8c5rhjsiyam7rr3x80dp65cdl";
|
||||||
|
})
|
||||||
|
|
||||||
|
./dlopen-paths.patch
|
||||||
|
./fix_test_scaled_font.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# Hardcode cairo library path
|
||||||
|
substituteInPlace cairocffi/__init__.py --subst-var-by cairo ${cairo.out}
|
||||||
|
substituteInPlace cairocffi/__init__.py --subst-var-by glib ${glib.out}
|
||||||
|
substituteInPlace cairocffi/__init__.py --subst-var-by gdk_pixbuf ${gdk_pixbuf.out}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = https://github.com/SimonSapin/cairocffi;
|
||||||
|
license = "bsd";
|
||||||
|
description = "cffi-based cairo bindings for Python";
|
||||||
|
};
|
||||||
|
}
|
@ -2052,58 +2052,7 @@ in {
|
|||||||
|
|
||||||
canmatrix = callPackage ../development/python-modules/canmatrix {};
|
canmatrix = callPackage ../development/python-modules/canmatrix {};
|
||||||
|
|
||||||
cairocffi = buildPythonPackage rec {
|
cairocffi = callPackage ../development/python-modules/cairocffi {};
|
||||||
name = "cairocffi-0.7.2";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/c/cairocffi/${name}.tar.gz";
|
|
||||||
sha256 = "e42b4256d27bd960cbf3b91a6c55d602defcdbc2a73f7317849c80279feeb975";
|
|
||||||
};
|
|
||||||
|
|
||||||
LC_ALL = "en_US.UTF-8";
|
|
||||||
|
|
||||||
# checkPhase require at least one 'normal' font and one 'monospace',
|
|
||||||
# otherwise glyph tests fails
|
|
||||||
FONTCONFIG_FILE = pkgs.makeFontsConf {
|
|
||||||
fontDirectories = [ pkgs.freefont_ttf ];
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = with self; [ pytest pkgs.glibcLocales ];
|
|
||||||
propagatedBuildInputs = with self; [ pkgs.cairo cffi ];
|
|
||||||
|
|
||||||
checkPhase = ''
|
|
||||||
py.test $out/${python.sitePackages}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# FIXME: make gdk_pixbuf dependency optional (as wel as xcfffi)
|
|
||||||
# Happens with 0.7.1 and 0.7.2
|
|
||||||
# OSError: dlopen() failed to load a library: gdk_pixbuf-2.0 / gdk_pixbuf-2.0-0
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
# This patch from PR substituted upstream
|
|
||||||
(pkgs.fetchpatch {
|
|
||||||
url = "https://github.com/avnik/cairocffi/commit/2266882e263c5efc87350cf016d117b2ec6a1d59.patch";
|
|
||||||
sha256 = "0gb570z3ivf1b0ixsk526n3h29m8c5rhjsiyam7rr3x80dp65cdl";
|
|
||||||
})
|
|
||||||
|
|
||||||
../development/python-modules/cairocffi/dlopen-paths.patch
|
|
||||||
../development/python-modules/cairocffi/fix_test_scaled_font.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# Hardcode cairo library path
|
|
||||||
substituteInPlace cairocffi/__init__.py --subst-var-by cairo ${pkgs.cairo.out}
|
|
||||||
substituteInPlace cairocffi/__init__.py --subst-var-by glib ${pkgs.glib.out}
|
|
||||||
substituteInPlace cairocffi/__init__.py --subst-var-by gdk_pixbuf ${pkgs.gdk_pixbuf.out}
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://github.com/SimonSapin/cairocffi;
|
|
||||||
license = "bsd";
|
|
||||||
description = "cffi-based cairo bindings for Python";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
cairosvg = buildPythonPackage rec {
|
cairosvg = buildPythonPackage rec {
|
||||||
version = "1.0.18";
|
version = "1.0.18";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user