gnu: weasyprint: Update to 52.1.

Fixes <https://issues.guix.gnu.org/42409>.

* gnu/packages/patches/weasyprint-library-paths.patch: Delete.
* gnu/packages/pdf.scm (weasyprint): Update to 52.1
[phases]{patch-library-paths}: Adjust.
{check}: Remove.
{register-dejavu-font}: New phase.
[native-inputs]: Add font-dejavu.
This commit is contained in:
Maxim Cournoyer 2020-11-20 09:42:12 -05:00
parent e59a26cf3e
commit c601e2bf9a
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 42 additions and 68 deletions

View file

@ -20,6 +20,7 @@
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -59,6 +60,7 @@
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages djvu)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gcc)
@ -1428,14 +1430,17 @@ manipulating PDF documents from the command line. It supports
(define-public weasyprint
(package
(name "weasyprint")
(version "51")
(version "52.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "WeasyPrint" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/FelixSchwarz/WeasyPrint")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0skdzwq7cd715dnnds6abx0k0xmmnmsqp0vb1r1w20sg7abp3sdk"))
(patches (search-patches "weasyprint-library-paths.patch"))))
(base32
"0rcj9yah3bp6bbvkmny3w4csx4l5v49lc7mrk29g0x77qnwswjy7"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -1447,27 +1452,39 @@ manipulating PDF documents from the command line. It supports
(pango (assoc-ref inputs "pango"))
(pangoft2 (assoc-ref inputs "pangoft2")))
(substitute* "weasyprint/fonts.py"
(("@fontconfig@")
(string-append fontconfig "/lib/libfontconfig.so"))
(("@pangoft2@")
(string-append pango "/lib/libpangoft2-1.0.so")))
(("'fontconfig'")
(format #f "'~a/lib/libfontconfig.so'" fontconfig))
(("'pangoft2-1.0'")
(format #f "'~a/lib/libpangoft2-1.0.so'" pango)))
(substitute* "weasyprint/text.py"
(("@gobject@")
(string-append glib "/lib/libgobject-2.0.so"))
(("@pango@")
(string-append pango "/lib/libpango-1.0.so"))
(("@pangocairo@")
(string-append pango "/lib/libpangocairo-1.0.so"))))))
(add-after 'unpack 'remove-pytest-options
(("'gobject-2.0'")
(format #f "'~a/lib/libgobject-2.0.so'" glib))
(("'pango-1.0'")
(format #f "'~a/lib/libpango-1.0.so'" pango))
(("'pangocairo-1.0'")
(format #f "'~a/lib/libpangocairo-1.0.so'" pango)))
#t)))
(add-after 'unpack 'disable-linters
;; Their check fails; none of our business.
(lambda _
(substitute* "setup.cfg"
;; flake8 and isort syntax checks fail, which is not our
;; business.
(("addopts = --flake8 --isort") ""))))
(replace 'check
(lambda _
;; Run pytest, excluding one failing test.
(invoke "pytest" "-k" "not test_flex_column_wrap_reverse"))))))
((".*pytest-flake8.*") "")
((".*pytest-isort.*") "")
(("--flake8") "")
(("--isort") ""))
#t))
(add-before 'check 'register-dejavu-font
(lambda* (#:key inputs #:allow-other-keys)
;; TODO: fix FreeType so that fonts found in XDG_DATA_DIRS are
;; honored.
(let* ((HOME "/tmp")
(dejavu (assoc-ref inputs "font-dejavu"))
(fonts-dir (string-append HOME "/.fonts")))
(setenv "HOME" HOME)
(mkdir-p fonts-dir)
(symlink (string-append dejavu "/share/fonts/truetype")
(string-append fonts-dir "/truetype"))
(invoke "fc-cache" "-rv")))))))
(inputs
`(("fontconfig" ,fontconfig)
("glib" ,glib)
@ -1482,7 +1499,8 @@ manipulating PDF documents from the command line. It supports
("python-pyphen" ,python-pyphen)
("python-tinycss2" ,python-tinycss2)))
(native-inputs
`(("python-pytest-cov" ,python-pytest-cov)
`(("font-dejavu" ,font-dejavu) ;tests depend on it
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-runner" ,python-pytest-runner)))
(home-page "https://weasyprint.org/")
(synopsis "Document factory for creating PDF files from HTML")