summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJohn Kehayias <john@guixotic.coop>2025-09-11 16:51:08 -0400
committerMaxim Cournoyer <maxim@guixotic.coop>2025-09-30 16:48:20 +0900
commit58c345f56c05f8d02b1ba22660ad1cf71d50d727 (patch)
tree946fe60f305964505be1c2f42557eea5fdad122e /gnu
parentc0c4ce6d642bc3ae32ad345c17f77ed57842d667 (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')
-rw-r--r--gnu/packages/augeas.scm2
-rw-r--r--gnu/packages/bioinformatics.scm2
-rw-r--r--gnu/packages/elf.scm2
-rw-r--r--gnu/packages/engineering.scm3
-rw-r--r--gnu/packages/freedesktop.scm2
-rw-r--r--gnu/packages/gl.scm1
-rw-r--r--gnu/packages/glib.scm4
-rw-r--r--gnu/packages/gnome.scm32
-rw-r--r--gnu/packages/gtk.scm2
-rw-r--r--gnu/packages/image-processing.scm2
-rw-r--r--gnu/packages/libreoffice.scm8
-rw-r--r--gnu/packages/mate.scm2
-rw-r--r--gnu/packages/messaging.scm2
-rw-r--r--gnu/packages/patches/python-libxml2-utf8.patch16
-rw-r--r--gnu/packages/rdesktop.scm3
-rw-r--r--gnu/packages/virtualization.scm4
-rw-r--r--gnu/packages/vpn.scm2
-rw-r--r--gnu/packages/xml.scm110
18 files changed, 63 insertions, 136 deletions
diff --git a/gnu/packages/augeas.scm b/gnu/packages/augeas.scm
index 0b3233e960e..8a784f48175 100644
--- a/gnu/packages/augeas.scm
+++ b/gnu/packages/augeas.scm
@@ -57,7 +57,7 @@
57 "1zzdp5bwnszza5q6cjw66hkicay8b49n5pda7cbcgfg4hbbzv2rn")))) 57 "1zzdp5bwnszza5q6cjw66hkicay8b49n5pda7cbcgfg4hbbzv2rn"))))
58 (build-system gnu-build-system) 58 (build-system gnu-build-system)
59 (propagated-inputs 59 (propagated-inputs
60 (list libxml2-next)) 60 (list libxml2))
61 (native-inputs 61 (native-inputs
62 (list readline pkg-config)) 62 (list readline pkg-config))
63 (home-page "https://augeas.net") 63 (home-page "https://augeas.net")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 75fc119f681..3cd2c838bfd 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -23604,7 +23604,7 @@ The output is in SAM format.")
23604 #$(this-package-input "libxml2") 23604 #$(this-package-input "libxml2")
23605 "/include/libxml2")))) 23605 "/include/libxml2"))))
23606 (propagated-inputs 23606 (propagated-inputs
23607 (list libxml2-next)) 23607 (list libxml2))
23608 (native-inputs 23608 (native-inputs
23609 (list check swig)) 23609 (list check swig))
23610 (home-page "https://sbml.org/Software/libSBML") 23610 (home-page "https://sbml.org/Software/libSBML")
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 40558a4c6ca..0b435993ef4 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -243,7 +243,7 @@ object or archive file), @command{eu-strip} (for discarding symbols),
243 (list pkg-config texinfo python-sphinx python)) 243 (list pkg-config texinfo python-sphinx python))
244 (propagated-inputs 244 (propagated-inputs
245 (list elfutils ;libabigail.la says -lelf 245 (list elfutils ;libabigail.la says -lelf
246 libxml2-next)) ;in Requires.private of libabigail.pc 246 libxml2)) ;in Requires.private of libabigail.pc
247 (synopsis "Analyze application binary interfaces (ABIs)") 247 (synopsis "Analyze application binary interfaces (ABIs)")
248 (description 248 (description
249 "@dfn{ABIGAIL} stands for the Application Binary Interface Generic 249 "@dfn{ABIGAIL} stands for the Application Binary Interface Generic
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 0d5748b3c0d..f398fab48b5 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1566,8 +1566,7 @@ use on a given system.")
1566 parallel 1566 parallel
1567 perl 1567 perl
1568 pkg-config 1568 pkg-config
1569 python-wrapper 1569 python-wrapper))
1570 python-libxml2))
1571 (inputs 1570 (inputs
1572 (list pcre2)) 1571 (list pcre2))
1573 (home-page "https://www.gnu.org/software/libredwg/") 1572 (home-page "https://www.gnu.org/software/libredwg/")
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 89a0a0f6ec8..d5589fba198 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2234,7 +2234,7 @@ between protocols to provide a unified interface for applications.")
2234 (inputs (list sqlite)) 2234 (inputs (list sqlite))
2235 (propagated-inputs 2235 (propagated-inputs
2236 ;; telepathy-logger-0.2.pc refers to all these. 2236 ;; telepathy-logger-0.2.pc refers to all these.
2237 (list libxml2-next telepathy-glib)) 2237 (list libxml2 telepathy-glib))
2238 (synopsis "Telepathy logger library") 2238 (synopsis "Telepathy logger library")
2239 (home-page "https://telepathy.freedesktop.org/") 2239 (home-page "https://telepathy.freedesktop.org/")
2240 (description 2240 (description
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 255b4526243..ae2abd3bd1f 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -357,7 +357,6 @@ also known as DXTn or DXTC) for Mesa.")
357 glslang 357 glslang
358 libclc 358 libclc
359 pkg-config 359 pkg-config
360 python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
361 python-mako 360 python-mako
362 python-ply 361 python-ply
363 python-pyyaml 362 python-pyyaml
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 8347359a846..acdf9268cda 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -770,7 +770,7 @@ The intltool collection can be used to do these things:
770 "1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb")))) 770 "1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb"))))
771 (build-system gnu-build-system) 771 (build-system gnu-build-system)
772 (inputs 772 (inputs
773 (list bash-minimal libxml2 python-libxml2 python)) 773 (list bash-minimal libxml2 python))
774 (arguments 774 (arguments
775 (list 775 (list
776 #:phases 776 #:phases
@@ -858,7 +858,7 @@ by GDBus included in Glib.")
858 pkg-config 858 pkg-config
859 vala)) 859 vala))
860 (inputs (list check python python-pygobject)) 860 (inputs (list check python python-pygobject))
861 (propagated-inputs (list glib libxml2-next sqlite)) 861 (propagated-inputs (list glib libxml2 sqlite))
862 (arguments 862 (arguments
863 (list #:tests? #f ;one test fails. 863 (list #:tests? #f ;one test fails.
864 #:imported-modules `((guix build python-build-system) 864 #:imported-modules `((guix build python-build-system)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bff88c49477..bca1a8d22ab 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -443,7 +443,7 @@ services.")
443 "/share/gtk-doc/html")))) 443 "/share/gtk-doc/html"))))
444 (native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable 444 (native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable
445 pkg-config)) 445 pkg-config))
446 (propagated-inputs (list glib libsoup-minimal-2 libxml2-next-for-grafting)) 446 (propagated-inputs (list glib libsoup-minimal-2 libxml2))
447 (synopsis "Glib library for feeds") 447 (synopsis "Glib library for feeds")
448 (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom, 448 (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom,
449and other formats.") 449and other formats.")
@@ -1223,7 +1223,7 @@ Library reference documentation.")
1223 ;; These inputs are required by the pkg-config file. 1223 ;; These inputs are required by the pkg-config file.
1224 (list glib 1224 (list glib
1225 libsoup 1225 libsoup
1226 libxml2-next-for-grafting)) 1226 libxml2))
1227 (synopsis "WebDav server implementation using libsoup") 1227 (synopsis "WebDav server implementation using libsoup")
1228 (description "PhoDav was initially developed as a file-sharing mechanism for Spice, 1228 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
1229but it is generic enough to be reused in other projects, 1229but it is generic enough to be reused in other projects,
@@ -1433,7 +1433,7 @@ a debugging tool, @command{gssdp-device-sniffer}.")
1433 gsettings-desktop-schemas ;for ‘org.gnome.system.proxy’. 1433 gsettings-desktop-schemas ;for ‘org.gnome.system.proxy’.
1434 gssdp 1434 gssdp
1435 libsoup 1435 libsoup
1436 libxml2-next-for-grafting)) 1436 libxml2))
1437 (synopsis "PnP API for GNOME") 1437 (synopsis "PnP API for GNOME")
1438 (description "This package provides GUPnP, an object-oriented framework 1438 (description "This package provides GUPnP, an object-oriented framework
1439for creating UPnP devices and control points, written in C using 1439for creating UPnP devices and control points, written in C using
@@ -2018,7 +2018,7 @@ and system administrators.")
2018 (inputs 2018 (inputs
2019 (list graphene 2019 (list graphene
2020 gtk+ 2020 gtk+
2021 libxml2-next-for-grafting 2021 libxml2
2022 libxslt 2022 libxslt
2023 poppler 2023 poppler
2024 python-minimal 2024 python-minimal
@@ -2068,7 +2068,7 @@ formats like PNG, SVG, PDF and EPS.")
2068 ("json-glib" ,json-glib) 2068 ("json-glib" ,json-glib)
2069 ("liboauth" ,liboauth) 2069 ("liboauth" ,liboauth)
2070 ("libsoup" ,libsoup-minimal-2) 2070 ("libsoup" ,libsoup-minimal-2)
2071 ("libxml2" ,libxml2-next-for-grafting))) 2071 ("libxml2" ,libxml2)))
2072 (home-page "https://wiki.gnome.org/Projects/libgdata") 2072 (home-page "https://wiki.gnome.org/Projects/libgdata")
2073 (synopsis "Library for accessing online service APIs") 2073 (synopsis "Library for accessing online service APIs")
2074 (description 2074 (description
@@ -3600,7 +3600,7 @@ XML/CSS rendering engine.")
3600 zlib)) 3600 zlib))
3601 (propagated-inputs 3601 (propagated-inputs
3602 (list glib 3602 (list glib
3603 libxml2-next-for-grafting)) 3603 libxml2))
3604 (synopsis "G Structured File Library") 3604 (synopsis "G Structured File Library")
3605 (description "Libgsf aims to provide an efficient extensible I/O abstraction 3605 (description "Libgsf aims to provide an efficient extensible I/O abstraction
3606for dealing with different structured file formats.") 3606for dealing with different structured file formats.")
@@ -4215,7 +4215,7 @@ ported to GTK+.")
4215 (inputs 4215 (inputs
4216 (list python)) ;; needed for the optional libglade-convert program 4216 (list python)) ;; needed for the optional libglade-convert program
4217 (propagated-inputs 4217 (propagated-inputs
4218 (list gtk+-2 libxml2-next-for-grafting)) ; required by libglade-2.0.pc 4218 (list gtk+-2 libxml2)) ; required by libglade-2.0.pc
4219 (native-inputs 4219 (native-inputs
4220 (list pkg-config)) 4220 (list pkg-config))
4221 (home-page "https://developer.gnome.org/libglade") 4221 (home-page "https://developer.gnome.org/libglade")
@@ -4254,7 +4254,7 @@ widgets built in the loading process.")
4254 ;; Therefore we must do it. 4254 ;; Therefore we must do it.
4255 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))))))))) 4255 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
4256 ;; Mentioned as Required by the .pc file 4256 ;; Mentioned as Required by the .pc file
4257 (propagated-inputs (list libxml2-next-for-grafting)) 4257 (propagated-inputs (list libxml2))
4258 (inputs 4258 (inputs
4259 (list popt pangox-compat libgnome libgnomecanvas libglade)) 4259 (list popt pangox-compat libgnome libgnomecanvas libglade))
4260 (native-inputs 4260 (native-inputs
@@ -4911,7 +4911,7 @@ GLib and GObject, and integrates JSON with GLib data types.")
4911 ("libtool" ,libtool))) 4911 ("libtool" ,libtool)))
4912 (propagated-inputs 4912 (propagated-inputs
4913 ;; Required by libxklavier.pc. 4913 ;; Required by libxklavier.pc.
4914 (list glib libxml2-next-for-grafting)) 4914 (list glib libxml2))
4915 (inputs 4915 (inputs
4916 (list iso-codes/pinned libxi libxkbfile xkbcomp xkeyboard-config)) 4916 (list iso-codes/pinned libxi libxkbfile xkbcomp xkeyboard-config))
4917 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/") 4917 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
@@ -5040,7 +5040,7 @@ files.")
5040 (list `(,glib "bin") gobject-introspection pkg-config)) 5040 (list `(,glib "bin") gobject-introspection pkg-config))
5041 (propagated-inputs 5041 (propagated-inputs
5042 ;; rest-0.7.pc refers to all these. 5042 ;; rest-0.7.pc refers to all these.
5043 (list glib libsoup-minimal-2 libxml2-next-for-grafting)) 5043 (list glib libsoup-minimal-2 libxml2))
5044 (home-page "https://www.gtk.org/") 5044 (home-page "https://www.gtk.org/")
5045 (synopsis "RESTful web api query library") 5045 (synopsis "RESTful web api query library")
5046 (description 5046 (description
@@ -5202,7 +5202,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
5202 libpsl 5202 libpsl
5203 nghttp2 ;for pkg-config 5203 nghttp2 ;for pkg-config
5204 `(,nghttp2 "lib") 5204 `(,nghttp2 "lib")
5205 libxml2-next-for-grafting 5205 libxml2
5206 sqlite 5206 sqlite
5207 zlib)) 5207 zlib))
5208 (inputs 5208 (inputs
@@ -6010,7 +6010,7 @@ service via the system message bus.")
6010 (list gtk+ 6010 (list gtk+
6011 gdk-pixbuf 6011 gdk-pixbuf
6012 json-glib 6012 json-glib
6013 libxml2-next-for-grafting 6013 libxml2
6014 libsoup 6014 libsoup
6015 geocode-glib)) 6015 geocode-glib))
6016 (inputs 6016 (inputs
@@ -6129,7 +6129,7 @@ settings, themes, mouse settings, and startup of other daemons.")
6129 (list intltool 6129 (list intltool
6130 `(,glib "bin") gobject-introspection pkg-config)) 6130 `(,glib "bin") gobject-introspection pkg-config))
6131 (propagated-inputs 6131 (propagated-inputs
6132 (list glib gmime libarchive libgcrypt libxml2-next-for-grafting)) 6132 (list glib gmime libarchive libgcrypt libxml2))
6133 (inputs 6133 (inputs
6134 (list libsoup)) 6134 (list libsoup))
6135 (home-page "https://projects.gnome.org/totem") 6135 (home-page "https://projects.gnome.org/totem")
@@ -8114,7 +8114,7 @@ to display dialog boxes from the commandline and shell scripts.")
8114 libxext 8114 libxext
8115 libxfixes 8115 libxfixes
8116 libxkbcommon 8116 libxkbcommon
8117 libxml2-next-for-grafting 8117 libxml2
8118 libxrandr 8118 libxrandr
8119 mesa 8119 mesa
8120 pango 8120 pango
@@ -8940,7 +8940,7 @@ the available networks and allows users to easily switch between them.")
8940 (base32 "0gp8irc5ny9i6bw9fp21p8djgksi1s8l5flbn5blisgfpcb2w820")))) 8940 (base32 "0gp8irc5ny9i6bw9fp21p8djgksi1s8l5flbn5blisgfpcb2w820"))))
8941 (build-system gnu-build-system) 8941 (build-system gnu-build-system)
8942 (propagated-inputs 8942 (propagated-inputs
8943 (list libxml2-next-for-grafting)) ;required by .pc file 8943 (list libxml2)) ;required by .pc file
8944 (native-inputs 8944 (native-inputs
8945 (list autoconf 8945 (list autoconf
8946 automake 8946 automake
@@ -13877,7 +13877,7 @@ developed with the aim of being used with the Librem 5 phone.")
13877 sqlite 13877 sqlite
13878 vala)) 13878 vala))
13879 (propagated-inputs 13879 (propagated-inputs
13880 (list libxml2-next-for-grafting)) ; required by libgda-5.0.pc 13880 (list libxml2)) ; required by libgda-5.0.pc
13881 (home-page "https://gitlab.gnome.org/GNOME/libgda") 13881 (home-page "https://gitlab.gnome.org/GNOME/libgda")
13882 (synopsis "Uniform data access") 13882 (synopsis "Uniform data access")
13883 (description 13883 (description
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2899b4bc699..e9bdb59964f 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -613,7 +613,7 @@ diagrams.")
613 fribidi 613 fribidi
614 glib 614 glib
615 gtk 615 gtk
616 libxml2-next 616 libxml2
617 pango 617 pango
618 pcre2)) 618 pcre2))
619 (home-page "https://wiki.gnome.org/Projects/GtkSourceView") 619 (home-page "https://wiki.gnome.org/Projects/GtkSourceView")
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index f228166137b..0e50ec7a444 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -816,7 +816,7 @@ the OpenCV-Python library.")
816 libpng 816 libpng
817 (librsvg-for-system) 817 (librsvg-for-system)
818 libtiff 818 libtiff
819 libxml2-next 819 libxml2
820 libwebp 820 libwebp
821 matio 821 matio
822 openexr 822 openexr
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a0b3cd353ae..a23b980bdf6 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -286,7 +286,7 @@ into other word processors.")
286 (native-inputs 286 (native-inputs
287 (list cppunit gperf pkg-config)) 287 (list cppunit gperf pkg-config))
288 (propagated-inputs ; in Requires or Requires.private field of .pkg 288 (propagated-inputs ; in Requires or Requires.private field of .pkg
289 (list icu4c liblangtag librevenge libxml2-next)) 289 (list icu4c liblangtag librevenge libxml2))
290 (inputs 290 (inputs
291 (list boost)) 291 (list boost))
292 (arguments 292 (arguments
@@ -372,7 +372,7 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
372 (native-inputs 372 (native-inputs
373 (list autoconf automake libtool cppunit pkg-config)) 373 (list autoconf automake libtool cppunit pkg-config))
374 (propagated-inputs ;in Requires field of .pkg 374 (propagated-inputs ;in Requires field of .pkg
375 (list curl libxml2-next)) 375 (list curl libxml2))
376 (inputs 376 (inputs
377 (list boost cyrus-sasl openssl)) 377 (list boost cyrus-sasl openssl))
378 (arguments 378 (arguments
@@ -413,7 +413,7 @@ as Alfresco or Nuxeo.")
413 (native-inputs 413 (native-inputs
414 (list doxygen gperf perl pkg-config)) 414 (list doxygen gperf perl pkg-config))
415 (propagated-inputs ; in Requires or Requires.private field of .pkg 415 (propagated-inputs ; in Requires or Requires.private field of .pkg
416 (list librevenge libxml2-next)) 416 (list librevenge libxml2))
417 (inputs 417 (inputs
418 (list boost)) 418 (list boost))
419 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw") 419 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
@@ -467,7 +467,7 @@ CorelDRAW documents of all versions.")
467 (native-inputs 467 (native-inputs
468 (list cppunit doxygen gperf pkg-config)) 468 (list cppunit doxygen gperf pkg-config))
469 (propagated-inputs ; in Requires or Requires.private field of .pkg 469 (propagated-inputs ; in Requires or Requires.private field of .pkg
470 (list liblangtag librevenge libxml2-next zlib)) 470 (list liblangtag librevenge libxml2 zlib))
471 (inputs 471 (inputs
472 (list boost glm mdds)) 472 (list boost glm mdds))
473 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek") 473 (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 286252b6ed0..64f92318362 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -303,7 +303,7 @@ desktop and the mate-about program.")
303 (propagated-inputs 303 (propagated-inputs
304 ;; both of these are requires.private in mateweather.pc 304 ;; both of these are requires.private in mateweather.pc
305 (list libsoup-minimal-2 305 (list libsoup-minimal-2
306 libxml2-next)) 306 libxml2))
307 (home-page "https://mate-desktop.org/") 307 (home-page "https://mate-desktop.org/")
308 (synopsis "MATE library for weather information from the Internet") 308 (synopsis "MATE library for weather information from the Internet")
309 (description 309 (description
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1b9d6d2cbde..63e3b170b7b 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -300,7 +300,7 @@ XMPP-based sessions.")
300 gtk-doc/stable 300 gtk-doc/stable
301 pkg-config)) 301 pkg-config))
302 (inputs (list libxcrypt ncurses)) 302 (inputs (list libxcrypt ncurses))
303 (propagated-inputs (list glib libxml2-next)) 303 (propagated-inputs (list glib libxml2))
304 (synopsis "GLib Ncurses Toolkit") 304 (synopsis "GLib Ncurses Toolkit")
305 (description "GNT is an ncurses toolkit for creating text-mode graphical 305 (description "GNT is an ncurses toolkit for creating text-mode graphical
306user interfaces in a fast and easy way. It is based on GLib and ncurses.") 306user interfaces in a fast and easy way. It is based on GLib and ncurses.")
diff --git a/gnu/packages/patches/python-libxml2-utf8.patch b/gnu/packages/patches/python-libxml2-utf8.patch
index e39672faa1b..9c4ca4fdb29 100644
--- a/gnu/packages/patches/python-libxml2-utf8.patch
+++ b/gnu/packages/patches/python-libxml2-utf8.patch
@@ -6,18 +6,18 @@ that 'itstool' stumbles upon when processing UTF-8 data:
6Patch by Jan Matejek 6Patch by Jan Matejek
7from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>. 7from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>.
8 8
9--- libxml2-2.9.5.orig/python/libxml.c 9--- a/python/libxml.c
10+++ libxml2-2.9.5/python/libxml.c 10+++ b/python/libxml.c
11@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU 11@@ -1499,6 +1499,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg,
12 PyObject *message; 12 PyObject *message;
13 PyObject *result; 13 PyObject *result;
14 char str[1000]; 14 char str[1000];
15+ unsigned char *ptr = (unsigned char *)str; 15+ unsigned char *ptr = (unsigned char *)str;
16 16
17 #ifdef DEBUG_ERROR 17 if (libxml_xmlPythonErrorFuncHandler == NULL) {
18 printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg); 18 va_start(ap, msg);
19@@ -1636,12 +1637,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU 19@@ -1510,12 +1511,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg,
20 str[999] = 0; 20 str[999] = 0;
21 va_end(ap); 21 va_end(ap);
22 22
23+#if PY_MAJOR_VERSION >= 3 23+#if PY_MAJOR_VERSION >= 3
@@ -32,7 +32,7 @@ from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>.
32- message = libxml_charPtrConstWrap(str); 32- message = libxml_charPtrConstWrap(str);
33+ message = libxml_charPtrConstWrap(ptr); 33+ message = libxml_charPtrConstWrap(ptr);
34 PyTuple_SetItem(list, 1, message); 34 PyTuple_SetItem(list, 1, message);
35 result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list); 35 result = PyObject_CallObject(libxml_xmlPythonErrorFuncHandler, list);
36+ /* Forget any errors caused in the error handler. */ 36+ /* Forget any errors caused in the error handler. */
37+ PyErr_Clear(); 37+ PyErr_Clear();
38 Py_XDECREF(list); 38 Py_XDECREF(list);
diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index d341c59e629..bfb0bb82b55 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -252,8 +252,7 @@ of parts of the Windows API.")
252 linux-pam 252 linux-pam
253 openssl 253 openssl
254 pixman 254 pixman
255 python 255 python))
256 python-libxml2))
257 (native-inputs 256 (native-inputs
258 (append 257 (append
259 (list bison 258 (list bison
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 44abfd621ea..954a9d84849 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1775,7 +1775,7 @@ to integrate other virtualization mechanisms if needed.")
1775 `(,glib "bin") vala)) 1775 `(,glib "bin") vala))
1776 (propagated-inputs 1776 (propagated-inputs
1777 ;; ‘Required:’ by the installed .pc files. 1777 ;; ‘Required:’ by the installed .pc files.
1778 (list glib libvirt libxml2-next gobject-introspection)) 1778 (list glib libvirt libxml2 gobject-introspection))
1779 (home-page "https://libvirt.org") 1779 (home-page "https://libvirt.org")
1780 (synopsis "GLib wrapper around libvirt") 1780 (synopsis "GLib wrapper around libvirt")
1781 (description "libvirt-glib wraps the libvirt library to provide a 1781 (description "libvirt-glib wraps the libvirt library to provide a
@@ -1901,8 +1901,8 @@ virtualization library.")
1901 libosinfo 1901 libosinfo
1902 libvirt 1902 libvirt
1903 libvirt-glib 1903 libvirt-glib
1904 libxml2
1904 python-minimal 1905 python-minimal
1905 python-libxml2
1906 python-libvirt 1906 python-libvirt
1907 python-pycairo 1907 python-pycairo
1908 python-pygobject 1908 python-pygobject
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index f961feab3de..6d07462f4d3 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -771,7 +771,7 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer
771 "etc/vpnc/vpnc-script"))))) 771 "etc/vpnc/vpnc-script")))))
772 (native-inputs (list gettext-minimal pkg-config)) 772 (native-inputs (list gettext-minimal pkg-config))
773 (inputs (list lz4 vpnc-scripts)) 773 (inputs (list lz4 vpnc-scripts))
774 (propagated-inputs (list libxml2-next gnutls zlib)) 774 (propagated-inputs (list libxml2 gnutls zlib))
775 (synopsis "Client for Cisco VPN") 775 (synopsis "Client for Cisco VPN")
776 (description 776 (description
777 "OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is 777 "OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index b7482bfbe97..20cb0e0bc85 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -37,6 +37,7 @@
37;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> 37;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
38;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> 38;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
39;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net> 39;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
40;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
40;;; 41;;;
41;;; This file is part of GNU Guix. 42;;; This file is part of GNU Guix.
42;;; 43;;;
@@ -192,15 +193,16 @@ hierarchical form with variable field lengths.")
192(define-public libxml2 193(define-public libxml2
193 (package 194 (package
194 (name "libxml2") 195 (name "libxml2")
195 (version "2.9.14") 196 (version "2.14.6")
196 (source (origin 197 (source (origin
197 (method url-fetch) 198 (method url-fetch)
198 (uri (string-append "mirror://gnome/sources/libxml2/" 199 (uri (string-append "mirror://gnome/sources/libxml2/"
199 (version-major+minor version)"/libxml2-" 200 (version-major+minor version)"/libxml2-"
200 version ".tar.xz")) 201 version ".tar.xz"))
201 (sha256 202 (sha256
202 (base32 203 (base32
203 "1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0")))) 204 "0fi0jysncjpvhvp29qcx3bydndapwphgkx7ial5kzf7ymyh5ir3w"))
205 (patches (search-patches "python-libxml2-utf8.patch"))))
204 (build-system gnu-build-system) 206 (build-system gnu-build-system)
205 (outputs '("out" "static" "doc")) 207 (outputs '("out" "static" "doc"))
206 (arguments 208 (arguments
@@ -218,6 +220,13 @@ hierarchical form with variable field lengths.")
218 (string-append "/bin/" file)) ".")) 220 (string-append "/bin/" file)) "."))
219 '("config.guess" "config.sub"))))) 221 '("config.guess" "config.sub")))))
220 #~()) 222 #~())
223 (add-before 'configure 'configure-python
224 (lambda _
225 (substitute* "python/setup.py.in"
226 ;; The build system ignores C_INCLUDE_PATH & co, so
227 ;; provide the absolute directory name.
228 (("/opt/include")
229 (string-append #$output "/include/libxml2")))))
221 (add-after 'install 'use-other-outputs 230 (add-after 'install 'use-other-outputs
222 (lambda _ 231 (lambda _
223 (let ((doc (string-append #$output:doc "/share/")) 232 (let ((doc (string-append #$output:doc "/share/"))
@@ -245,7 +254,7 @@ hierarchical form with variable field lengths.")
245 (native-inputs (append (if (target-loongarch64?) 254 (native-inputs (append (if (target-loongarch64?)
246 (list config) 255 (list config)
247 '()) 256 '())
248 (list perl))) 257 (list perl pkg-config python-minimal)))
249 (native-search-paths 258 (native-search-paths
250 (list $SGML_CATALOG_FILES $XML_CATALOG_FILES)) 259 (list $SGML_CATALOG_FILES $XML_CATALOG_FILES))
251 (search-paths native-search-paths) 260 (search-paths native-search-paths)
@@ -254,58 +263,6 @@ hierarchical form with variable field lengths.")
254project (but it is usable outside of the Gnome platform).") 263project (but it is usable outside of the Gnome platform).")
255 (license license:x11))) 264 (license license:x11)))
256 265
257(define-public libxml2-next
258 (package
259 (inherit libxml2)
260 (name "libxml2")
261 (version "2.14.5")
262 (source (origin
263 (method url-fetch)
264 (uri (string-append "mirror://gnome/sources/libxml2/"
265 (version-major+minor version)"/libxml2-"
266 version ".tar.xz"))
267 (sha256
268 (base32
269 "0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03"))))
270 (native-inputs (modify-inputs (package-native-inputs libxml2)
271 (append pkg-config
272 python-minimal)))))
273
274(define-public libxml2-next/fixed
275 (package
276 (inherit libxml2)
277 (properties '((hidden? . #t)))
278 (name "libxml2")
279 (version "2.14.5")
280 (source (origin
281 (method url-fetch)
282 (uri (string-append "mirror://gnome/sources/libxml2/"
283 (version-major+minor version)"/libxml2-"
284 version ".tar.xz"))
285 (sha256
286 (base32
287 "0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03"))))
288 (arguments
289 (substitute-keyword-arguments (package-arguments libxml2-next)
290 ((#:phases phases #~%standard-phases)
291 #~(modify-phases #$phases
292 (add-after 'install 'symlink-hardcoded-lib-for-grafts
293 (lambda _
294 (let ((lib (string-append #$output "/lib/libxml2.so")))
295 ;; XXX: When grafting, we need to reproduce the file paths to
296 ;; the libraries too.
297 (symlink (string-append lib ".16")
298 (string-append lib ".2")))))))))
299 (native-inputs (modify-inputs (package-native-inputs libxml2)
300 (append pkg-config
301 python-minimal)))))
302
303(define-public libxml2-next-for-grafting
304 (package
305 (inherit libxml2)
306 (replacement libxml2-next/fixed)
307 (properties '((hidden? . #t)))))
308
309(define-public libxml2-xpath0 266(define-public libxml2-xpath0
310 (package/inherit libxml2 267 (package/inherit libxml2
311 (name "libxml2-xpath0") 268 (name "libxml2-xpath0")
@@ -320,34 +277,7 @@ provides an @code{--xpath0} option to @command{xmllint} that enables it
320to output XPath results with a null delimiter."))) 277to output XPath results with a null delimiter.")))
321 278
322(define-public python-libxml2 279(define-public python-libxml2
323 (package/inherit libxml2 280 (deprecated-package "python-libxml2" libxml2))
324 (name "python-libxml2")
325 (source (origin
326 (inherit (package-source libxml2))
327 (patches
328 (append (search-patches "python-libxml2-utf8.patch")
329 (origin-patches (package-source libxml2))))))
330 (build-system pyproject-build-system)
331 (outputs '("out"))
332 (arguments
333 (list
334 ;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'.
335 #:tests? #f
336 #:phases
337 #~(modify-phases %standard-phases
338 (add-before 'build 'configure
339 (lambda* (#:key inputs #:allow-other-keys)
340 (chdir "python")
341 (let ((libxml2-headers (search-input-directory
342 inputs "include/libxml2")))
343 (substitute* "setup.py"
344 ;; The build system ignores C_INCLUDE_PATH & co, so
345 ;; provide the absolute directory name.
346 (("/opt/include")
347 (dirname libxml2-headers)))))))))
348 (native-inputs (list python-setuptools))
349 (inputs (list libxml2))
350 (synopsis "Python bindings for the libxml2 library")))
351 281
352(define-public libxlsxwriter 282(define-public libxlsxwriter
353 (package 283 (package
@@ -1256,7 +1186,7 @@ XSL-T processor. It also performs any necessary post-processing.")
1256 "1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq")))) 1186 "1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq"))))
1257 (build-system gnu-build-system) 1187 (build-system gnu-build-system)
1258 (propagated-inputs ; according to xmlsec1.pc 1188 (propagated-inputs ; according to xmlsec1.pc
1259 (list libxml2-next libxslt)) 1189 (list libxml2 libxslt))
1260 (inputs 1190 (inputs
1261 (list gnutls libgcrypt libltdl)) 1191 (list gnutls libgcrypt libltdl))
1262 (native-inputs 1192 (native-inputs