summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2023-05-12 16:01:33 +0200
committerSebastian Pipping <sping@gentoo.org>2023-05-12 16:01:33 +0200
commit0f0ba1c7b1f617b17eb0b946a5f63e92b3320a01 (patch)
treee432b27286c8fdc957ebea90609e71cd58713234 /app-text/xmlstarlet
parentmedia-radio/xdx: add 2.91 (diff)
downloadgentoo-0f0ba1c7b1f617b17eb0b946a5f63e92b3320a01.tar.gz
gentoo-0f0ba1c7b1f617b17eb0b946a5f63e92b3320a01.tar.bz2
gentoo-0f0ba1c7b1f617b17eb0b946a5f63e92b3320a01.zip
app-text/xmlstarlet: EAPI 8 + Clang 16 fixes
Closes: https://bugs.gentoo.org/883131 Signed-off-by: Sebastian Pipping <sping@gentoo.org>
Diffstat (limited to 'app-text/xmlstarlet')
-rw-r--r--app-text/xmlstarlet/files/xmlstarlet-1.6.1-clang16.patch32
-rw-r--r--app-text/xmlstarlet/xmlstarlet-1.6.1-r1.ebuild59
2 files changed, 91 insertions, 0 deletions
diff --git a/app-text/xmlstarlet/files/xmlstarlet-1.6.1-clang16.patch b/app-text/xmlstarlet/files/xmlstarlet-1.6.1-clang16.patch
new file mode 100644
index 000000000000..fda631611216
--- /dev/null
+++ b/app-text/xmlstarlet/files/xmlstarlet-1.6.1-clang16.patch
@@ -0,0 +1,32 @@
+From d01c3e8a488282bc8bc2fae5bd21efc6c3931a32 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Jan 2023 14:50:08 -0800
+Subject: [PATCH] Fix hash_key_put() signature
+
+Fixes
+
+../xmlstarlet-1.6.1/src/xml_elem.c:271:27: error: incompatible function pointer types passing 'void (void *, void *, xmlChar *)' (aka 'void (void *, void *, unsigned char *)') to parameter of type 'xmlHashScanner' (aka 'void (*)(void *, void *, const unsigned char *)') [-Wincompatible-function-pointer-types]
+ xmlHashScan(uniq, hash_key_put, &lines);
+ ^~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/xml_elem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/xml_elem.c b/src/xml_elem.c
+index 024e62a..a73038a 100644
+--- a/src/xml_elem.c
++++ b/src/xml_elem.c
+@@ -186,7 +186,7 @@ typedef struct {
+ * put @name into @data->array[@data->offset]
+ */
+ static void
+-hash_key_put(void *payload, void *data, xmlChar *name)
++hash_key_put(void *payload, void *data, const xmlChar *name)
+ {
+ ArrayDest *dest = data;
+ dest->array[dest->offset++] = name;
+--
+2.40.1
+
diff --git a/app-text/xmlstarlet/xmlstarlet-1.6.1-r1.ebuild b/app-text/xmlstarlet/xmlstarlet-1.6.1-r1.ebuild
new file mode 100644
index 000000000000..a508a3ef094f
--- /dev/null
+++ b/app-text/xmlstarlet/xmlstarlet-1.6.1-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="A set of tools to transform, query, validate, and edit XML documents"
+HOMEPAGE="https://xmlstar.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xmlstar/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="
+ dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/libgcrypt:0=
+ virtual/libiconv"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ # We need to patch use of /usr/lib because it is a problem with
+ # linker lld with profile 17.1 on amd64 (see https://bugs.gentoo.org/729600).
+ # The grep sandwich acts as a regression test so that a future
+ # version bump cannot break patching without noticing.
+ if [[ $(get_libdir) != lib ]]; then
+ grep -wq _PREFIX/lib m4/xstar-check-libs.m4 || die
+ sed "s,_PREFIX/lib,_PREFIX/$(get_libdir)," -i m4/xstar-check-libs.m4 || die
+ grep -w _PREFIX/lib m4/xstar-check-libs.m4 && die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cppflags $($(tc-getPKG_CONFIG) --cflags libxml-2.0)
+
+ # NOTE: Fully built documentation is already shipped with the tarball:
+ # - doc/xmlstarlet-ug.{pdf,ps,html}
+ # - doc/xmlstarlet.txt
+ # - doc/xmlstarlet.1
+ econf \
+ --disable-build-docs \
+ --disable-static-libs
+}
+
+src_install() {
+ default
+ dosym xml /usr/bin/xmlstarlet
+}