diff options
| author | John Kehayias <john@guixotic.coop> | 2025-09-11 16:51:08 -0400 |
|---|---|---|
| committer | Maxim Cournoyer <maxim@guixotic.coop> | 2025-09-30 16:48:20 +0900 |
| commit | 58c345f56c05f8d02b1ba22660ad1cf71d50d727 (patch) | |
| tree | 946fe60f305964505be1c2f42557eea5fdad122e /gnu/packages/xml.scm | |
| parent | c0c4ce6d642bc3ae32ad345c17f77ed57842d667 (diff) | |
gnu: libxml2: Update to 2.14.6; deprecate python-libxml2.
Python bindings for libxml2 are now built as part of libxml2; remove all
python-libxml2 inputs for libxml2 (nearly all already had libxml2) and
deprecate the package. This was done manually using
git grep python-libxml2 gnu/packages
to find affected packages and then check all their input fields.
With the update to libxml2, we can remove all the libxml2-next* variants.
This change was automated with:
git grep -rl libxml2-next | xargs sed -i 's/\(libxml2-next\|libxml2-next-for-grafting\)/libxml2/g'
* gnu/packages/xml.scm (libxml2): Update to 2.14.6.
[arguments]<#:phases>: Add configure-python phase (from python-libxml2).
[native-inputs]: Add pkg-config and python-minimal.
(libxml2-next, libxml2-next/fixed, libxml2-next-for-grafting): Remove.
(python-libxml2): Deprecate in favor of libxml2.
Change-Id: I2976f2fde086e9bc345d661edbdc125abbb7a753
Diffstat (limited to 'gnu/packages/xml.scm')
| -rw-r--r-- | gnu/packages/xml.scm | 110 |
1 files changed, 20 insertions, 90 deletions
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index b7482bfbe9..20cb0e0bc8 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net> +;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -192,15 +193,16 @@ hierarchical form with variable field lengths.") (define-public libxml2 (package (name "libxml2") - (version "2.9.14") + (version "2.14.6") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libxml2/" - (version-major+minor version)"/libxml2-" - version ".tar.xz")) - (sha256 - (base32 - "1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0")))) + (method url-fetch) + (uri (string-append "mirror://gnome/sources/libxml2/" + (version-major+minor version)"/libxml2-" + version ".tar.xz")) + (sha256 + (base32 + "0fi0jysncjpvhvp29qcx3bydndapwphgkx7ial5kzf7ymyh5ir3w")) + (patches (search-patches "python-libxml2-utf8.patch")))) (build-system gnu-build-system) (outputs '("out" "static" "doc")) (arguments @@ -218,6 +220,13 @@ hierarchical form with variable field lengths.") (string-append "/bin/" file)) ".")) '("config.guess" "config.sub"))))) #~()) + (add-before 'configure 'configure-python + (lambda _ + (substitute* "python/setup.py.in" + ;; The build system ignores C_INCLUDE_PATH & co, so + ;; provide the absolute directory name. + (("/opt/include") + (string-append #$output "/include/libxml2"))))) (add-after 'install 'use-other-outputs (lambda _ (let ((doc (string-append #$output:doc "/share/")) @@ -245,7 +254,7 @@ hierarchical form with variable field lengths.") (native-inputs (append (if (target-loongarch64?) (list config) '()) - (list perl))) + (list perl pkg-config python-minimal))) (native-search-paths (list $SGML_CATALOG_FILES $XML_CATALOG_FILES)) (search-paths native-search-paths) @@ -254,58 +263,6 @@ hierarchical form with variable field lengths.") project (but it is usable outside of the Gnome platform).") (license license:x11))) -(define-public libxml2-next - (package - (inherit libxml2) - (name "libxml2") - (version "2.14.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libxml2/" - (version-major+minor version)"/libxml2-" - version ".tar.xz")) - (sha256 - (base32 - "0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03")))) - (native-inputs (modify-inputs (package-native-inputs libxml2) - (append pkg-config - python-minimal))))) - -(define-public libxml2-next/fixed - (package - (inherit libxml2) - (properties '((hidden? . #t))) - (name "libxml2") - (version "2.14.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libxml2/" - (version-major+minor version)"/libxml2-" - version ".tar.xz")) - (sha256 - (base32 - "0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03")))) - (arguments - (substitute-keyword-arguments (package-arguments libxml2-next) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'symlink-hardcoded-lib-for-grafts - (lambda _ - (let ((lib (string-append #$output "/lib/libxml2.so"))) - ;; XXX: When grafting, we need to reproduce the file paths to - ;; the libraries too. - (symlink (string-append lib ".16") - (string-append lib ".2"))))))))) - (native-inputs (modify-inputs (package-native-inputs libxml2) - (append pkg-config - python-minimal))))) - -(define-public libxml2-next-for-grafting - (package - (inherit libxml2) - (replacement libxml2-next/fixed) - (properties '((hidden? . #t))))) - (define-public libxml2-xpath0 (package/inherit libxml2 (name "libxml2-xpath0") @@ -320,34 +277,7 @@ provides an @code{--xpath0} option to @command{xmllint} that enables it to output XPath results with a null delimiter."))) (define-public python-libxml2 - (package/inherit libxml2 - (name "python-libxml2") - (source (origin - (inherit (package-source libxml2)) - (patches - (append (search-patches "python-libxml2-utf8.patch") - (origin-patches (package-source libxml2)))))) - (build-system pyproject-build-system) - (outputs '("out")) - (arguments - (list - ;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'. - #:tests? #f - #:phases - #~(modify-phases %standard-phases - (add-before 'build 'configure - (lambda* (#:key inputs #:allow-other-keys) - (chdir "python") - (let ((libxml2-headers (search-input-directory - inputs "include/libxml2"))) - (substitute* "setup.py" - ;; The build system ignores C_INCLUDE_PATH & co, so - ;; provide the absolute directory name. - (("/opt/include") - (dirname libxml2-headers))))))))) - (native-inputs (list python-setuptools)) - (inputs (list libxml2)) - (synopsis "Python bindings for the libxml2 library"))) + (deprecated-package "python-libxml2" libxml2)) (define-public libxlsxwriter (package @@ -1256,7 +1186,7 @@ XSL-T processor. It also performs any necessary post-processing.") "1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq")))) (build-system gnu-build-system) (propagated-inputs ; according to xmlsec1.pc - (list libxml2-next libxslt)) + (list libxml2 libxslt)) (inputs (list gnutls libgcrypt libltdl)) (native-inputs |
