summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2022-01-08 14:45:18 +0000
committerJan Tojnar <jtojnar@gmail.com>2022-01-08 16:08:52 +0100
commitb26451314a196a4e4d3afbc886c7df57001a5c31 (patch)
tree00ad80ae0429f327816ba05993b448bacd85d8b2
parent345370b21cdba29aab36f53ae101543ead01f748 (diff)
downloadnixpkgs-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.nix63
-rw-r--r--pkgs/development/python-modules/weasyprint/library-paths.patch15
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@')