From: Andy Tai <atai@atai.org>
To: 64012@debbugs.gnu.org, liliana.prikler@gmail.com
Cc: Andy Tai <atai@atai.org>
Subject: [bug#64012] [PATCH v3] gnu: libxml2: Add version 2.11.4
Date: Mon, 12 Jun 2023 22:01:00 -0700 [thread overview]
Message-ID: <536cd0b0eb1ac6f618f1b03ea722432e267b7bbd.1686632370.git.atai@atai.org> (raw)
In-Reply-To: <6996b9b078528ad04b159a83f29ecd8adf7f79c4.1686556929.git.atai@atai.org>
* gnu/packages/xml.scm (libxml2-next): Version 2.11.4 as new variable
(python-libxml2-next): Version 2.11.4 as new variable
* gnu/packages/glib.scm (itstool) [inputs]: Switch to libxml2-next
and python-libxml2-next
---
gnu/packages/glib.scm | 5 +++-
gnu/packages/xml.scm | 64 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index e988e8dc87..40dbd8f951 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -674,7 +674,10 @@ (define itstool
"1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb"))))
(build-system gnu-build-system)
(inputs
- (list libxml2 python-libxml2 python))
+ (list libxml2-next python-libxml2-next python))
+ ;; libxml2-next contains upstream fix for crash on UTF-8 data
+ ;; https://gitlab.gnome.org/GNOME/libxml2/-/commit/76c6da420923f2721a2e16adfcef8707a2454a1b
+ ;; so we change dependency to the new libxml2 version
(arguments
(list
#:phases
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 8d9974b825..74976f7402 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -191,6 +191,9 @@ (define-public libxml2
(sha256
(base32
"1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0"))))
+ ;; TODO: remove once migrated to libxml2-next as upstream has
+ ;; proper fix in libxml2 2.11.4
+ ;; defined as libxml2-next below for now
(build-system gnu-build-system)
(outputs '("out" "static" "doc"))
(arguments
@@ -249,6 +252,25 @@ (define-public libxml2-xpath0
provides an @code{--xpath0} option to @command{xmllint} that enables it
to output XPath results with a null delimiter.")))
+
+;; libxml2-next contains upstream fix for itstool crash on UTF-8 data
+;; https://gitlab.gnome.org/GNOME/libxml2/-/commit/76c6da420923f2721a2e16adfcef8707a2454a1b
+;; so we need to being in the new libxml2 version
+;; for itstool to depend on to avoid crash
+(define-public libxml2-next
+ (package/inherit libxml2
+ (version "2.11.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://download.gnome.org/sources/libxml2/"
+ (version-major+minor version) "/libxml2-" version
+ ".tar.xz"))
+ (sha256 (base32
+ "1xspgyswllk26g7jg95pnkfk1gqpzna28fm1kir3kwdki9ziszkk"))))
+ (native-inputs (list perl python-minimal-wrapper pkg-config))))
+
+
(define-public python-libxml2
(package/inherit libxml2
(name "python-libxml2")
@@ -278,6 +300,48 @@ (define-public python-libxml2
(inputs (list libxml2))
(synopsis "Python bindings for the libxml2 library")))
+(define-public python-libxml2-next
+ (package/inherit python-libxml2
+ (version "2.11.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://download.gnome.org/sources/libxml2/"
+ (version-major+minor version) "/libxml2-" version
+ ".tar.xz"))
+ (sha256 (base32
+ "1xspgyswllk26g7jg95pnkfk1gqpzna28fm1kir3kwdki9ziszkk"))))
+
+ (native-inputs (list pkg-config
+ autoconf-wrapper
+ automake
+ libtool
+ perl
+ python-minimal-wrapper))
+ ;; needed to generate setup.py
+
+ (arguments (list
+ ;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'.
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-env
+ (lambda _
+ (setenv "CONFIG_SHELL"
+ (which "sh")) #t))
+ (add-before 'build 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "sh" "autogen.sh")
+ (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)))))))))
+ (inputs (list libxml2-next))))
+
(define-public libxlsxwriter
(package
(name "libxlsxwriter")
base-commit: 6fe9a004dba2d4ddf69ff6f1714af15ffaa7e62a
--
2.40.1
next prev parent reply other threads:[~2023-06-13 5:02 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 8:03 [bug#64012] [PATCH] gnu: libxml2: Update to 2.11.4 Andy Tai
2023-06-12 8:47 ` [bug#64012] [PATCH v2] " Andy Tai
2023-06-12 18:40 ` Liliana Marie Prikler
2023-06-12 18:52 ` Andy Tai
2023-06-12 19:38 ` Liliana Marie Prikler
2023-06-13 5:01 ` Andy Tai [this message]
2023-06-13 18:26 ` [bug#64012] [PATCH v3] gnu: libxml2: Add version 2.11.4 Liliana Marie Prikler
2023-06-15 18:31 ` Andy Tai
2023-06-14 6:04 ` [bug#64012] [PATCH v4 1/3] " Andy Tai
2023-06-14 6:04 ` [bug#64012] [PATCH v4 2/3] Ignu: python-libxml2: " Andy Tai
2023-06-14 6:04 ` [bug#64012] [PATCH v4 3/3] gnu: itstool: Add version depending on needed fix Andy Tai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=536cd0b0eb1ac6f618f1b03ea722432e267b7bbd.1686632370.git.atai@atai.org \
--to=atai@atai.org \
--cc=64012@debbugs.gnu.org \
--cc=liliana.prikler@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).