gnu: Add python-lxml-for-texlive.

* gnu/packages/xml.scm (python-lxml-for-texlive): New variable.

Change-Id: I736960de9bcf5ccf403678ca626904d65e70cff7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Nicolas Graves 2025-11-02 02:18:58 +01:00 committed by Andreas Enge
parent 236a1f2f26
commit bff6dfe3f7
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3

View file

@ -1929,6 +1929,48 @@ because lxml.etree already has its own implementation of XPath 1.0.")
libxml2 and libxslt.")
(license license:bsd-3))) ; and a few more, see LICENSES.txt
(define-public python-lxml-for-texlive
(package
(name "python-lxml-for-texlive")
(version "6.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lxml" version))
(sha256
(base32 "14064h0pxdsx36nhyjzrw0v16ygz977qf6l0ydnh5p97pwp8hfib"))))
(build-system gnu-build-system)
(arguments
(list
;; Essentially a lighter copy of the former python-build-system.
;; Using it rather than pyproject-build-system allows to edit the latter
;; without a texlive + haskell world rebuild.
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure)
(replace 'build
(lambda _
(invoke "python" "./setup.py" "build")))
(replace 'install
(lambda _
(invoke "python" "./setup.py" "install"
(string-append "--prefix=" #$output) "--no-compile")
(invoke "python" "-m" "compileall"
"--invalidation-mode=unchecked-hash" #$output))))))
(native-inputs
(list python-wrapper python-setuptools-bootstrap))
(inputs
(list libxml2 libxslt))
(home-page "https://lxml.de/")
(synopsis "Python XML processing library")
(description
"The lxml XML toolkit is a Pythonic binding for the C libraries
libxml2 and libxslt. This variant is pinned to be updated less often than
@code{python-lxml}.")
(license license:bsd-3)))
(define-public python-lxml-4.9
(hidden-package
(package