diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2022-01-08 14:45:18 +0000 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2022-01-08 16:08:52 +0100 |
commit | b26451314a196a4e4d3afbc886c7df57001a5c31 (patch) | |
tree | 00ad80ae0429f327816ba05993b448bacd85d8b2 | |
parent | 345370b21cdba29aab36f53ae101543ead01f748 (diff) | |
download | nixpkgs-b26451314a196a4e4d3afbc886c7df57001a5c31.tar nixpkgs-b26451314a196a4e4d3afbc886c7df57001a5c31.tar.gz nixpkgs-b26451314a196a4e4d3afbc886c7df57001a5c31.tar.bz2 nixpkgs-b26451314a196a4e4d3afbc886c7df57001a5c31.tar.lz nixpkgs-b26451314a196a4e4d3afbc886c7df57001a5c31.tar.xz nixpkgs-b26451314a196a4e4d3afbc886c7df57001a5c31.tar.zst nixpkgs-b26451314a196a4e4d3afbc886c7df57001a5c31.zip |
python3.pkgs.weasyprint: 53.4 → 54.0
Updated hoping it fixes tests, no luck (https://github.com/Kozea/WeasyPrint/issues/1535). https://github.com/Kozea/WeasyPrint/releases/tag/v54.0b1 https://github.com/Kozea/WeasyPrint/releases/tag/v54.0
-rw-r--r-- | pkgs/development/python-modules/weasyprint/default.nix | 63 | ||||
-rw-r--r-- | pkgs/development/python-modules/weasyprint/library-paths.patch | 15 |
2 files changed, 46 insertions, 32 deletions
diff --git a/pkgs/development/python-modules/weasyprint/default.nix b/pkgs/development/python-modules/weasyprint/default.nix index f43fd2d5462..e19ed16d48a 100644 --- a/pkgs/development/python-modules/weasyprint/default.nix +++ b/pkgs/development/python-modules/weasyprint/default.nix @@ -4,6 +4,7 @@ , pytestCheckHook , brotli , cairosvg +, flit-core , fonttools , pydyf , pyphen @@ -26,32 +27,33 @@ buildPythonPackage rec { pname = "weasyprint"; - version = "53.4"; + version = "54.0"; disabled = !isPy3k; + format = "pyproject"; + src = fetchPypi { inherit version; pname = "weasyprint"; - sha256 = "sha256-EMyxfVXHMJa98e3T7+WMuFWwfkwwfZutTryaPxP/RYA="; + sha256 = "0aeda9a045c7881289420cac917cc57115b1243e476187338e66d593dd000853"; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace "--isort --flake8 --cov --no-cov-on-fail" "" - ''; - - disabledTests = [ - # needs the Ahem font (fails on macOS) - "test_font_stretch" + 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}"; + harfbuzz = "${harfbuzz.out}/lib/libharfbuzz${stdenv.hostPlatform.extensions.sharedLibrary}"; + }) ]; - checkInputs = [ - pytestCheckHook - ghostscript + nativeBuildInputs = [ + flit-core ]; - FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; - propagatedBuildInputs = [ brotli cairosvg @@ -60,24 +62,35 @@ buildPythonPackage rec { fonttools html5lib lxml + flit-core pydyf pyphen tinycss zopfli ]; - 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}"; - harfbuzz = "${harfbuzz.out}/lib/libharfbuzz${stdenv.hostPlatform.extensions.sharedLibrary}"; - }) + checkInputs = [ + pytestCheckHook + ghostscript ]; + disabledTests = [ + # needs the Ahem font (fails on macOS) + "test_font_stretch" + ]; + + FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "--isort --flake8 --cov --no-cov-on-fail" "" + ''; + + preCheck = '' + # Fontconfig wants to create a cache. + export HOME=$TMPDIR + ''; + meta = with lib; { homepage = "https://weasyprint.org/"; description = "Converts web documents to PDF"; diff --git a/pkgs/development/python-modules/weasyprint/library-paths.patch b/pkgs/development/python-modules/weasyprint/library-paths.patch index 9a10990fd43..bcd1c48ff61 100644 --- a/pkgs/development/python-modules/weasyprint/library-paths.patch +++ b/pkgs/development/python-modules/weasyprint/library-paths.patch @@ -2,25 +2,26 @@ diff --git a/weasyprint/text/ffi.py b/weasyprint/text/ffi.py index 0734cbea..22e31a5e 100644 --- a/weasyprint/text/ffi.py +++ b/weasyprint/text/ffi.py -@@ -387,21 +387,11 @@ def _dlopen(ffi, *names): +@@ -387,22 +387,11 @@ def _dlopen(ffi, *names): return ffi.dlopen(names[0]) # pragma: no cover -gobject = _dlopen( - ffi, 'gobject-2.0-0', 'gobject-2.0', 'libgobject-2.0-0', -- 'libgobject-2.0.so.0', 'libgobject-2.0.dylib') +- 'libgobject-2.0.so.0', 'libgobject-2.0.dylib', 'libgobject-2.0-0.dll') -pango = _dlopen( - ffi, 'pango-1.0-0', 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so.0', -- 'libpango-1.0.dylib') +- 'libpango-1.0.dylib', 'libpango-1.0-0.dll') -harfbuzz = _dlopen( - ffi, 'harfbuzz', 'harfbuzz-0.0', 'libharfbuzz-0', -- 'libharfbuzz.so.0', 'libharfbuzz.so.0', 'libharfbuzz.0.dylib') +- 'libharfbuzz.so.0', 'libharfbuzz.so.0', 'libharfbuzz.0.dylib', +- 'libharfbuzz-0.dll') -fontconfig = _dlopen( -- ffi, 'fontconfig-1', 'fontconfig', 'libfontconfig', 'libfontconfig-1.dll', -- 'libfontconfig.so.1', 'libfontconfig-1.dylib') +- ffi, 'fontconfig-1', 'fontconfig', 'libfontconfig', 'libfontconfig.so.1', +- 'libfontconfig-1.dylib', 'libfontconfig-1.dll') -pangoft2 = _dlopen( - ffi, 'pangoft2-1.0-0', 'pangoft2-1.0', 'libpangoft2-1.0-0', -- 'libpangoft2-1.0.so.0', 'libpangoft2-1.0.dylib') +- 'libpangoft2-1.0.so.0', 'libpangoft2-1.0.dylib', 'libpangoft2-1.0-0.dll') +gobject = _dlopen(ffi, '@gobject@') +pango = _dlopen(ffi, '@pango@') +harfbuzz = _dlopen(ffi, '@harfbuzz@') |