72 lines
1.8 KiB
Nix
72 lines
1.8 KiB
Nix
{ buildPythonPackage,
|
|
fetchPypi,
|
|
cairosvg,
|
|
pyphen,
|
|
cffi,
|
|
cssselect,
|
|
lxml,
|
|
html5lib,
|
|
tinycss,
|
|
pygobject2,
|
|
glib,
|
|
pango,
|
|
fontconfig,
|
|
stdenv,
|
|
pytest,
|
|
pytestrunner,
|
|
pytest-isort,
|
|
pytest-flake8,
|
|
pytestcov,
|
|
isPy3k,
|
|
substituteAll
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "weasyprint";
|
|
version = "50";
|
|
disabled = !isPy3k;
|
|
|
|
# excluded test needs the Ahem font
|
|
checkPhase = ''
|
|
runHook preCheck
|
|
pytest -k 'not test_font_stretch'
|
|
runHook postCheck
|
|
'';
|
|
|
|
# ignore failing flake8-test
|
|
prePatch = ''
|
|
substituteInPlace setup.cfg \
|
|
--replace '[tool:pytest]' '[tool:pytest]\nflake8-ignore = E501'
|
|
'';
|
|
|
|
checkInputs = [ pytest pytestrunner pytest-isort pytest-flake8 pytestcov ];
|
|
|
|
FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
|
|
|
|
propagatedBuildInputs = [ cairosvg pyphen cffi cssselect lxml html5lib tinycss pygobject2 ];
|
|
|
|
patches = [
|
|
(substituteAll {
|
|
src = ./library-paths.patch;
|
|
fontconfig = "${fontconfig.lib}/lib/libfontconfig${stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
pangoft2 = "${pango.out}/lib/libpangoft2-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
gobject = "${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
pango = "${pango.out}/lib/libpango-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
pangocairo = "${pango.out}/lib/libpangocairo-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
})
|
|
];
|
|
|
|
src = fetchPypi {
|
|
inherit version;
|
|
pname = "WeasyPrint";
|
|
sha256 = "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw";
|
|
};
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = "https://weasyprint.org/";
|
|
description = "Converts web documents to PDF";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ elohmeier ];
|
|
};
|
|
}
|