summaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
Diffstat (limited to 'textproc')
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/docbook-utils/Makefile4
-rw-r--r--textproc/groff/Makefile2
-rw-r--r--textproc/groff/files/mdoc.local11
-rw-r--r--textproc/harper/Makefile2
-rw-r--r--textproc/harper/distinfo6
-rw-r--r--textproc/ibus-table/Makefile3
-rw-r--r--textproc/ibus-typing-booster/Makefile2
-rw-r--r--textproc/ibus-typing-booster/distinfo6
-rw-r--r--textproc/jade/Makefile13
-rw-r--r--textproc/jade/distinfo5
-rw-r--r--textproc/jade/files/patch-config.h13
-rw-r--r--textproc/kf6-kcodecs/distinfo6
-rw-r--r--textproc/kf6-sonnet/distinfo6
-rw-r--r--textproc/kf6-syntax-highlighting/distinfo6
-rw-r--r--textproc/libxml2/Makefile7
-rw-r--r--textproc/libxml2/distinfo8
-rw-r--r--textproc/linux-rl9-expat/Makefile4
-rw-r--r--textproc/linux-rl9-expat/distinfo18
-rw-r--r--textproc/linux-rl9-libxml2/Makefile4
-rw-r--r--textproc/linux-rl9-libxml2/distinfo18
-rw-r--r--textproc/linux-rl9-libxslt/Makefile4
-rw-r--r--textproc/linux-rl9-libxslt/distinfo18
-rw-r--r--textproc/linuxdoc-tools/Makefile4
-rw-r--r--textproc/opensearch-dashboards216/Makefile3
-rw-r--r--textproc/opensearch-dashboards219/Makefile3
-rw-r--r--textproc/p5-XML-GDOME/Makefile2
-rw-r--r--textproc/py-backrefs/Makefile2
-rw-r--r--textproc/py-backrefs/distinfo6
-rw-r--r--textproc/py-libxml2/Makefile2
-rw-r--r--textproc/py-mkdocs-material/Makefile2
-rw-r--r--textproc/py-mkdocs-material/distinfo6
-rw-r--r--textproc/py-orange3-text/Makefile42
-rw-r--r--textproc/py-orange3-text/distinfo3
-rw-r--r--textproc/py-orange3-text/pkg-descr7
-rw-r--r--textproc/py-pyahocorasick/Makefile8
-rw-r--r--textproc/py-pyahocorasick/distinfo6
-rw-r--r--textproc/py-pygments/Makefile7
-rw-r--r--textproc/py-pygments/distinfo6
-rw-r--r--textproc/py-pymdown-extensions/Makefile2
-rw-r--r--textproc/py-pymdown-extensions/distinfo6
-rw-r--r--textproc/py-sphinx-notfound-page/Makefile2
-rw-r--r--textproc/py-sphinx-notfound-page/distinfo6
-rw-r--r--textproc/sgmlformat/Makefile2
-rw-r--r--textproc/xmlstarlet/Makefile32
-rw-r--r--textproc/xmlstarlet/files/patch-clang17-compat59
-rw-r--r--textproc/xmlstarlet/files/patch-configure-no-silent-rules16
-rw-r--r--textproc/xmlstarlet/files/patch-configure-remove-libdir-links22
-rw-r--r--textproc/xmlstarlet/files/patch-fix-format-security393
-rw-r--r--textproc/xmlstarlet/files/patch-fix-unesc-dqout16
-rw-r--r--textproc/xmlstarlet/files/patch-fix-version-info47
-rw-r--r--textproc/xmlstarlet/files/patch-use-pkgconfig105
52 files changed, 801 insertions, 183 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 6c3deac8e34e..b6a8f2ef81df 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1485,7 +1485,6 @@
SUBDIR += py-opensearch-py
SUBDIR += py-openstackdocstheme
SUBDIR += py-openstep-plist
- SUBDIR += py-orange3-text
SUBDIR += py-os-api-ref
SUBDIR += py-packageurl-python
SUBDIR += py-pager
diff --git a/textproc/docbook-utils/Makefile b/textproc/docbook-utils/Makefile
index acfaf22cfdc5..958d10beba1a 100644
--- a/textproc/docbook-utils/Makefile
+++ b/textproc/docbook-utils/Makefile
@@ -8,9 +8,6 @@ MAINTAINER= ports@FreeBSD.org
COMMENT= Generates various output formats from DocBook SGML documents
WWW= https://www.sourceware.org/docbook-tools/
-DEPRECATED= Depends on expired textproc/jade
-EXPIRATION_DATE=2025-03-31
-
BUILD_DEPENDS+= docbook-sgml>0:textproc/docbook-sgml \
dsssl-docbook-modular>0:textproc/dsssl-docbook-modular \
nsgmls:textproc/jade
@@ -26,7 +23,6 @@ USE_PERL5= run
USE_TEX= jadetex
GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
MAKE_ARGS+= docdir="${DOCSDIR}" htmldir="${DOCSDIR}/html"
NO_ARCH= yes
SHEBANG_FILES= bin/sgmldiff.in
diff --git a/textproc/groff/Makefile b/textproc/groff/Makefile
index 3f14302a0146..67bf93a38c6b 100644
--- a/textproc/groff/Makefile
+++ b/textproc/groff/Makefile
@@ -1,6 +1,6 @@
PORTNAME= groff
PORTVERSION= 1.23.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= textproc
MASTER_SITES= GNU
diff --git a/textproc/groff/files/mdoc.local b/textproc/groff/files/mdoc.local
index 353d69398b42..eaf689c78a96 100644
--- a/textproc/groff/files/mdoc.local
+++ b/textproc/groff/files/mdoc.local
@@ -48,7 +48,7 @@
.ds doc-str-Lb-libstdthreads C11 Threads Library (libstdthreads, \-lstdthreads)
.
.\" Default .Os value
-.ds doc-default-operating-system FreeBSD\~14.1
+.ds doc-default-operating-system FreeBSD\~14.3
.
.\" FreeBSD releases not found in doc-common
.ds doc-operating-system-FreeBSD-2.2.0 2.2.0
@@ -91,11 +91,20 @@
.ds doc-operating-system-FreeBSD-14.4 14.4
.ds doc-operating-system-FreeBSD-14.5 14.5
.ds doc-operating-system-FreeBSD-14.6 14.6
+.ds doc-operating-system-FreeBSD-15 15
.ds doc-operating-system-FreeBSD-15.0 15.0
.ds doc-operating-system-FreeBSD-15.1 15.1
.ds doc-operating-system-FreeBSD-15.2 15.2
.ds doc-operating-system-FreeBSD-15.3 15.3
+.ds doc-operating-system-FreeBSD-15.4 15.4
+.ds doc-operating-system-FreeBSD-15.5 15.5
+.ds doc-operating-system-FreeBSD-16 16
.ds doc-operating-system-FreeBSD-16.0 16.0
+.ds doc-operating-system-FreeBSD-16.1 16.1
+.ds doc-operating-system-FreeBSD-16.2 16.2
+.ds doc-operating-system-FreeBSD-16.3 16.3
+.ds doc-operating-system-FreeBSD-17 17
+.ds doc-operating-system-FreeBSD-17.0 17.0
.
.\" Definitions for other *BSDs not (yet) in doc-common
.ds doc-operating-system-NetBSD-7 7
diff --git a/textproc/harper/Makefile b/textproc/harper/Makefile
index 619be5121bb4..96d6875ac306 100644
--- a/textproc/harper/Makefile
+++ b/textproc/harper/Makefile
@@ -1,6 +1,6 @@
PORTNAME= harper
DISTVERSIONPREFIX= v
-DISTVERSION= 0.43.0
+DISTVERSION= 0.44.0
CATEGORIES= textproc
MAINTAINER= ashish@FreeBSD.org
diff --git a/textproc/harper/distinfo b/textproc/harper/distinfo
index 1277ed59025a..6ceb99f65c5b 100644
--- a/textproc/harper/distinfo
+++ b/textproc/harper/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1750156817
+TIMESTAMP = 1750448888
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
@@ -693,5 +693,5 @@ SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19d
SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
-SHA256 (Automattic-harper-v0.43.0_GH0.tar.gz) = c49eefa86b96295ba033c1ab4324d195df26f3caec48ca885003a86ce64dcb63
-SIZE (Automattic-harper-v0.43.0_GH0.tar.gz) = 4078269
+SHA256 (Automattic-harper-v0.44.0_GH0.tar.gz) = bb5bb86ded921a63629d3db2731282fe1cdfc755bdb6c88a9e6d006970bbdf84
+SIZE (Automattic-harper-v0.44.0_GH0.tar.gz) = 4099561
diff --git a/textproc/ibus-table/Makefile b/textproc/ibus-table/Makefile
index 1477697a186f..0aba04314efa 100644
--- a/textproc/ibus-table/Makefile
+++ b/textproc/ibus-table/Makefile
@@ -9,9 +9,6 @@ WWW= https://github.com/kaio/ibus-table
LICENSE= LGPL20
LICENSE_FILE= ${WRKSRC}/COPYING
-DEPRECATED= Depends on expired textproc/docbook-utils
-EXPIRATION_DATE=2025-06-21
-
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
docbook2man:textproc/docbook-utils \
docbook-sgml>0:textproc/docbook-sgml
diff --git a/textproc/ibus-typing-booster/Makefile b/textproc/ibus-typing-booster/Makefile
index 8fb05f8f00f3..18fb5df893e9 100644
--- a/textproc/ibus-typing-booster/Makefile
+++ b/textproc/ibus-typing-booster/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ibus-typing-booster
-PORTVERSION= 2.27.59
+PORTVERSION= 2.27.64
CATEGORIES= textproc
MAINTAINER= thierry@FreeBSD.org
diff --git a/textproc/ibus-typing-booster/distinfo b/textproc/ibus-typing-booster/distinfo
index 26225170ae8c..3af673034954 100644
--- a/textproc/ibus-typing-booster/distinfo
+++ b/textproc/ibus-typing-booster/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747906464
-SHA256 (mike-fabian-ibus-typing-booster-2.27.59_GH0.tar.gz) = 9de946f644bab6fca7af9280c62545d21def02ed6c2f989cba1b932db943d7bd
-SIZE (mike-fabian-ibus-typing-booster-2.27.59_GH0.tar.gz) = 13491352
+TIMESTAMP = 1750596173
+SHA256 (mike-fabian-ibus-typing-booster-2.27.64_GH0.tar.gz) = 7ee36ed14c7050793a68374e918708b1c63a394539daf8b3c9f722411ca22976
+SIZE (mike-fabian-ibus-typing-booster-2.27.64_GH0.tar.gz) = 13515065
diff --git a/textproc/jade/Makefile b/textproc/jade/Makefile
index 2e8ace3a60f6..4150bec1a116 100644
--- a/textproc/jade/Makefile
+++ b/textproc/jade/Makefile
@@ -2,18 +2,13 @@ PORTNAME= jade
PORTVERSION= 1.2.1
PORTREVISION= 11
CATEGORIES= textproc
-MASTER_SITES= ftp://ftp.jclark.com/pub/jade/ \
- http://dist.bsdlab.org/
+MASTER_SITES= ftp://ftp.jclark.com/pub/jade/
-#PATCH_SITES= http://ftp.debian.org/debian/pool/main/j/jade/
-PATCH_SITES= http://dist.bsdlab.org/
-PATCHFILES= jade_1.2.1-35.diff.gz
+PATCH_SITES= https://old-releases.ubuntu.com/ubuntu/pool/main/j/jade/
+PATCHFILES= jade_1.2.1-47.1.diff.gz
PATCH_DIST_STRIP= -p1
-DEPRECATED= Upstream has disappeared
-EXPIRATION_DATE= 2024-10-30
-
-MAINTAINER= cy@FreeBSD.org
+MAINTAINER= danfe@FreeBSD.org
COMMENT= Object-oriented SGML/XML parser toolkit and DSSSL engine
WWW= http://www.jclark.com/jade/
diff --git a/textproc/jade/distinfo b/textproc/jade/distinfo
index cd0fb120e748..9414161e42b8 100644
--- a/textproc/jade/distinfo
+++ b/textproc/jade/distinfo
@@ -1,4 +1,5 @@
+TIMESTAMP = 908257416
SHA256 (jade-1.2.1.tar.gz) = 84e2f8a2a87aab44f86a46b71405d4f919b219e4c73e03a83ab6c746a674b187
SIZE (jade-1.2.1.tar.gz) = 1092062
-SHA256 (jade_1.2.1-35.diff.gz) = c6cc35f8a23e88736bc4870caaa70a4cb83fd954885ddcb4f1df8acefff0801d
-SIZE (jade_1.2.1-35.diff.gz) = 226237
+SHA256 (jade_1.2.1-47.1.diff.gz) = 396ff61e83bb74f52ec743b96245f621d98d9ecf2ac9d0181007f06367b2a334
+SIZE (jade_1.2.1-47.1.diff.gz) = 376672
diff --git a/textproc/jade/files/patch-config.h b/textproc/jade/files/patch-config.h
deleted file mode 100644
index 912f31b5be44..000000000000
--- a/textproc/jade/files/patch-config.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- include/config.h.orig Fri Jun 14 12:58:51 2002
-+++ include/config.h Fri Jun 14 13:01:00 2002
-@@ -31,6 +31,10 @@
- #define SP_ANSI_LIB
- #define SP_NO_STD_NAMESPACE
- #undef SP_NEW_H_MISSING
-+#if __GNUC__ > 2
-+#define SP_HAVE_TYPENAME
-+#undef SP_NO_STD_NAMESPACE
-+#endif
- #endif
-
- #endif /* __GNUG__ */
diff --git a/textproc/kf6-kcodecs/distinfo b/textproc/kf6-kcodecs/distinfo
index 7a927236c900..561436d7caa7 100644
--- a/textproc/kf6-kcodecs/distinfo
+++ b/textproc/kf6-kcodecs/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746358561
-SHA256 (KDE/frameworks/6.14/kcodecs-6.14.0.tar.xz) = 008f5912162d394498022d0e955c860c77c33867e8fa448e99448f3a364d6914
-SIZE (KDE/frameworks/6.14/kcodecs-6.14.0.tar.xz) = 2492152
+TIMESTAMP = 1749476630
+SHA256 (KDE/frameworks/6.15/kcodecs-6.15.0.tar.xz) = bdf57733f2d641cb0cb749ced5f6f67e42c8e9d17db3f6c2e6a2054c86636ec1
+SIZE (KDE/frameworks/6.15/kcodecs-6.15.0.tar.xz) = 2467912
diff --git a/textproc/kf6-sonnet/distinfo b/textproc/kf6-sonnet/distinfo
index a3011b8a758f..6c4b38b7a708 100644
--- a/textproc/kf6-sonnet/distinfo
+++ b/textproc/kf6-sonnet/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746358562
-SHA256 (KDE/frameworks/6.14/sonnet-6.14.0.tar.xz) = a0de64c132c08d4986b00de9ee8e299615ad50008b14e26910fcefcad734afd3
-SIZE (KDE/frameworks/6.14/sonnet-6.14.0.tar.xz) = 2434848
+TIMESTAMP = 1749476631
+SHA256 (KDE/frameworks/6.15/sonnet-6.15.0.tar.xz) = 0f7c7315afbaf2c8f7d898d4a960c5bbab851e65338f79aee54f76e925234886
+SIZE (KDE/frameworks/6.15/sonnet-6.15.0.tar.xz) = 2412652
diff --git a/textproc/kf6-syntax-highlighting/distinfo b/textproc/kf6-syntax-highlighting/distinfo
index b80f25d507a4..6f3a67616a17 100644
--- a/textproc/kf6-syntax-highlighting/distinfo
+++ b/textproc/kf6-syntax-highlighting/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746358562
-SHA256 (KDE/frameworks/6.14/syntax-highlighting-6.14.0.tar.xz) = dfdc025ac968a7d0cb430826e54f3e96b4ca8798cff4b5df7df493e2d0e4dfbc
-SIZE (KDE/frameworks/6.14/syntax-highlighting-6.14.0.tar.xz) = 3642012
+TIMESTAMP = 1749476631
+SHA256 (KDE/frameworks/6.15/syntax-highlighting-6.15.0.tar.xz) = 7b2490e6ba656fd85974d9776aede828a0a450eb44ead7969d484ed9486c74cc
+SIZE (KDE/frameworks/6.15/syntax-highlighting-6.15.0.tar.xz) = 3663240
diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile
index 251af286f36d..67c3243418bf 100644
--- a/textproc/libxml2/Makefile
+++ b/textproc/libxml2/Makefile
@@ -1,10 +1,15 @@
PORTNAME= libxml2
DISTVERSION= 2.11.9
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES?= textproc gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
+PATCH_SITES= https://gitlab.gnome.org/GNOME/${PORTNAME}/-/commit/
+PATCHFILES+= 245b70d7d2768572ae1b05b3668ca858b9ec4ed4.patch:-p1 # CVE-2024-56171
+PATCHFILES+= 858ca26c0689161a6b903a6682cc8a1cc10a0ea8.patch:-p1 # CVE-2025-24928
+PATCHFILES+= d7657811964eac1cb9743bb98649278ad948f0d2.patch:-p1 # CVE-2025-32414
+
MAINTAINER= desktop@FreeBSD.org
COMMENT?= XML parser library for GNOME
WWW= http://xmlsoft.org/
diff --git a/textproc/libxml2/distinfo b/textproc/libxml2/distinfo
index 4ea4340dc6f1..fc9a1ddad574 100644
--- a/textproc/libxml2/distinfo
+++ b/textproc/libxml2/distinfo
@@ -1,3 +1,9 @@
-TIMESTAMP = 1725749707
+TIMESTAMP = 1750532030
SHA256 (gnome/libxml2-2.11.9.tar.xz) = 780157a1efdb57188ec474dca87acaee67a3a839c2525b2214d318228451809f
SIZE (gnome/libxml2-2.11.9.tar.xz) = 2627500
+SHA256 (gnome/245b70d7d2768572ae1b05b3668ca858b9ec4ed4.patch) = 5fb5bed3c40fee5ecb60dbf96fd6c5071f08a54487f534540c54bc9cb6d5b16e
+SIZE (gnome/245b70d7d2768572ae1b05b3668ca858b9ec4ed4.patch) = 1273
+SHA256 (gnome/858ca26c0689161a6b903a6682cc8a1cc10a0ea8.patch) = e3585a9e59f3146a53a1091fd00378e81676a824feab037cd8d71807cea73c73
+SIZE (gnome/858ca26c0689161a6b903a6682cc8a1cc10a0ea8.patch) = 1806
+SHA256 (gnome/d7657811964eac1cb9743bb98649278ad948f0d2.patch) = 3d7e10866d8be511da64bee6a998c4f68785326bf0d403af7be6745830d9bca2
+SIZE (gnome/d7657811964eac1cb9743bb98649278ad948f0d2.patch) = 2526
diff --git a/textproc/linux-rl9-expat/Makefile b/textproc/linux-rl9-expat/Makefile
index 064d4b49587b..4d3cb68e191f 100644
--- a/textproc/linux-rl9-expat/Makefile
+++ b/textproc/linux-rl9-expat/Makefile
@@ -1,7 +1,7 @@
PORTNAME= expat
PORTVERSION= 2.5.0
-DISTVERSIONSUFFIX= -3.el9_5.3
-PORTREVISION= 6
+DISTVERSIONSUFFIX= -5.el9_6
+PORTREVISION= 7
CATEGORIES= textproc linux
MAINTAINER= emulation@FreeBSD.org
diff --git a/textproc/linux-rl9-expat/distinfo b/textproc/linux-rl9-expat/distinfo
index 1a567555eb17..c2475152818e 100644
--- a/textproc/linux-rl9-expat/distinfo
+++ b/textproc/linux-rl9-expat/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1744754341
-SHA256 (rocky/e/expat-2.5.0-3.el9_5.3.aarch64.rpm) = d94b605c6784bb8334f320747b1e7ec8c5e442f1b4d2cb269e49715576938a35
-SIZE (rocky/e/expat-2.5.0-3.el9_5.3.aarch64.rpm) = 112623
-SHA256 (rocky/e/expat-2.5.0-3.el9_5.3.i686.rpm) = 24273bc60249316b2fde775ffbaf6746cfaca57a8d6a8c948b12e2876979b901
-SIZE (rocky/e/expat-2.5.0-3.el9_5.3.i686.rpm) = 121099
-SHA256 (rocky/e/expat-2.5.0-3.el9_5.3.x86_64.rpm) = b1b057622166c708bad7f5eb485d503b0411e3a5c518a6530d6a4c6222a8854e
-SIZE (rocky/e/expat-2.5.0-3.el9_5.3.x86_64.rpm) = 118132
-SHA256 (rocky/e/expat-2.5.0-3.el9_5.3.src.rpm) = 53e04f3471c422a4e7932e33c6f3bf2c668df8ee37dd11cc53e3c0d366c98965
-SIZE (rocky/e/expat-2.5.0-3.el9_5.3.src.rpm) = 8366649
+TIMESTAMP = 1750636429
+SHA256 (rocky/e/expat-2.5.0-5.el9_6.aarch64.rpm) = 0614299bb63a2a6e17af187a2ad1f314f3a57fe7d29d14a450d43b7a63f717df
+SIZE (rocky/e/expat-2.5.0-5.el9_6.aarch64.rpm) = 111754
+SHA256 (rocky/e/expat-2.5.0-5.el9_6.i686.rpm) = 13b44274b2618c38140946133f85568cd9641c2490de13dcde35555053bb8f9b
+SIZE (rocky/e/expat-2.5.0-5.el9_6.i686.rpm) = 120593
+SHA256 (rocky/e/expat-2.5.0-5.el9_6.x86_64.rpm) = 58565fc36bd01ba4e1fa65eee691ecf010122679ca98bb1a22acbb6179ae74a6
+SIZE (rocky/e/expat-2.5.0-5.el9_6.x86_64.rpm) = 117599
+SHA256 (rocky/e/expat-2.5.0-5.el9_6.src.rpm) = 86598817ad77aa37cfea0229705a900ef7803b11d5b0a892cc4cf8ff9aabc2b2
+SIZE (rocky/e/expat-2.5.0-5.el9_6.src.rpm) = 8366517
diff --git a/textproc/linux-rl9-libxml2/Makefile b/textproc/linux-rl9-libxml2/Makefile
index 5be7846622db..88e995c000d0 100644
--- a/textproc/linux-rl9-libxml2/Makefile
+++ b/textproc/linux-rl9-libxml2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= libxml2
PORTVERSION= 2.9.13
-DISTVERSIONSUFFIX= -6.el9_5.2
-PORTREVISION= 6
+DISTVERSIONSUFFIX= -9.el9_6
+PORTREVISION= 7
CATEGORIES= textproc linux
MAINTAINER= emulation@FreeBSD.org
diff --git a/textproc/linux-rl9-libxml2/distinfo b/textproc/linux-rl9-libxml2/distinfo
index 7063b9466981..8ff3cb96a081 100644
--- a/textproc/linux-rl9-libxml2/distinfo
+++ b/textproc/linux-rl9-libxml2/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1744754594
-SHA256 (rocky/l/libxml2-2.9.13-6.el9_5.2.aarch64.rpm) = 1bf69619cbe30a62b0592940f9052c79968c8a04d75508c54caa3c2101178e31
-SIZE (rocky/l/libxml2-2.9.13-6.el9_5.2.aarch64.rpm) = 746550
-SHA256 (rocky/l/libxml2-2.9.13-6.el9_5.2.i686.rpm) = fde5ee22cab43672e5274c38ed1f9ff7e04b1b70956f83fe47b453b5025c06f2
-SIZE (rocky/l/libxml2-2.9.13-6.el9_5.2.i686.rpm) = 802979
-SHA256 (rocky/l/libxml2-2.9.13-6.el9_5.2.x86_64.rpm) = 89d69d0c6563f61f1a2461059ec2271f42267937f06fdd178e03ed0123524c63
-SIZE (rocky/l/libxml2-2.9.13-6.el9_5.2.x86_64.rpm) = 764297
-SHA256 (rocky/l/libxml2-2.9.13-6.el9_5.2.src.rpm) = b4039b59bd2ae37ef739a97f56bde9aa52e4321b292447d2644d3275cd36abfd
-SIZE (rocky/l/libxml2-2.9.13-6.el9_5.2.src.rpm) = 3274887
+TIMESTAMP = 1750640320
+SHA256 (rocky/l/libxml2-2.9.13-9.el9_6.aarch64.rpm) = fe512f3279b1b814caea17e5673d6cdba945b87257881e76ca67e9e44596e213
+SIZE (rocky/l/libxml2-2.9.13-9.el9_6.aarch64.rpm) = 746007
+SHA256 (rocky/l/libxml2-2.9.13-9.el9_6.i686.rpm) = ee3f310cba35d537a6d3c2def4ebbbd5272fe3db4e646021e59bfe62405c4232
+SIZE (rocky/l/libxml2-2.9.13-9.el9_6.i686.rpm) = 802196
+SHA256 (rocky/l/libxml2-2.9.13-9.el9_6.x86_64.rpm) = b396d041086c62dc315b697b34d9eed7a771999f10d86be1f37840adeba51da8
+SIZE (rocky/l/libxml2-2.9.13-9.el9_6.x86_64.rpm) = 763753
+SHA256 (rocky/l/libxml2-2.9.13-9.el9_6.src.rpm) = 4478c3f8fd5b3be120ae47c3aaff2e0b619ce2369fc891659db33c7629273fa5
+SIZE (rocky/l/libxml2-2.9.13-9.el9_6.src.rpm) = 3274891
diff --git a/textproc/linux-rl9-libxslt/Makefile b/textproc/linux-rl9-libxslt/Makefile
index e268e3b4fc5a..c3a42c0a25b3 100644
--- a/textproc/linux-rl9-libxslt/Makefile
+++ b/textproc/linux-rl9-libxslt/Makefile
@@ -1,7 +1,7 @@
PORTNAME= libxslt
PORTVERSION= 1.1.34
-DISTVERSIONSUFFIX= -9.el9_5.3
-PORTREVISION= 2
+DISTVERSIONSUFFIX= -13.el9_6
+PORTREVISION= 3
CATEGORIES= textproc linux
MAINTAINER= emulation@FreeBSD.org
diff --git a/textproc/linux-rl9-libxslt/distinfo b/textproc/linux-rl9-libxslt/distinfo
index e06834de8ae3..c4a3bb0fbc96 100644
--- a/textproc/linux-rl9-libxslt/distinfo
+++ b/textproc/linux-rl9-libxslt/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1746515269
-SHA256 (rocky/l/libxslt-1.1.34-9.el9_5.3.aarch64.rpm) = e3129459d32ce481efadea71a39088d369fbd3ed422897dc82d663d3cf2445a8
-SIZE (rocky/l/libxslt-1.1.34-9.el9_5.3.aarch64.rpm) = 242701
-SHA256 (rocky/l/libxslt-1.1.34-9.el9_5.3.i686.rpm) = ed444faf1edadfecb9e2587513ad646992a90e9626e5edc88ee13c7547c80d58
-SIZE (rocky/l/libxslt-1.1.34-9.el9_5.3.i686.rpm) = 261593
-SHA256 (rocky/l/libxslt-1.1.34-9.el9_5.3.x86_64.rpm) = 208fe9293cbdce22f5a67dbbea78a42ad1151639132f1c2bc5164128e074a34f
-SIZE (rocky/l/libxslt-1.1.34-9.el9_5.3.x86_64.rpm) = 245204
-SHA256 (rocky/l/libxslt-1.1.34-9.el9_5.3.src.rpm) = 2aecab508b6612bc42d9a895e8f46d99cd0245f6194c99697ac2ada287ca9590
-SIZE (rocky/l/libxslt-1.1.34-9.el9_5.3.src.rpm) = 3552090
+TIMESTAMP = 1750641674
+SHA256 (rocky/l/libxslt-1.1.34-13.el9_6.aarch64.rpm) = ab6b6e9baae1e7773bce3e24e3cfaff2eb8ddb7f03d364a616409b0140d16665
+SIZE (rocky/l/libxslt-1.1.34-13.el9_6.aarch64.rpm) = 242276
+SHA256 (rocky/l/libxslt-1.1.34-13.el9_6.i686.rpm) = 7406e396df62d04c205e3c5d04a66ad0fd5dd8d58227823d4fd6f738062ef7ad
+SIZE (rocky/l/libxslt-1.1.34-13.el9_6.i686.rpm) = 260920
+SHA256 (rocky/l/libxslt-1.1.34-13.el9_6.x86_64.rpm) = fac9a4758013437961bc90a3ad59cf09e5dfd90c42a846e2d0f1b711a53982ec
+SIZE (rocky/l/libxslt-1.1.34-13.el9_6.x86_64.rpm) = 244807
+SHA256 (rocky/l/libxslt-1.1.34-13.el9_6.src.rpm) = 7da955d2497abed8d387246871d047a6c808b70283f0a7a430594ed7c639361c
+SIZE (rocky/l/libxslt-1.1.34-13.el9_6.src.rpm) = 3552261
diff --git a/textproc/linuxdoc-tools/Makefile b/textproc/linuxdoc-tools/Makefile
index 108aa0ea3b02..9295feb7b3ae 100644
--- a/textproc/linuxdoc-tools/Makefile
+++ b/textproc/linuxdoc-tools/Makefile
@@ -13,9 +13,6 @@ LICENSE_NAME_LinuxdocTools= The linuxdoc-tools license
LICENSE_FILE_LinuxdocTools= ${WRKSRC}/COPYING
LICENSE_PERMS_LinuxdocTools= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-DEPRECATED= Depends on expired textproc/jade
-EXPIRATION_DATE=2025-03-31
-
BUILD_DEPENDS= gawk:lang/gawk \
nsgmls:textproc/jade \
sgmlsasp:textproc/sgmls
@@ -27,7 +24,6 @@ USE_GITLAB= yes
GL_ACCOUNT= agmartin
GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USES= gmake groff:both perl5 tar:bzip2
CONFIGURE_ARGS= --with-installed-sgmlsasp
diff --git a/textproc/opensearch-dashboards216/Makefile b/textproc/opensearch-dashboards216/Makefile
index c64e705134d7..227521da1181 100644
--- a/textproc/opensearch-dashboards216/Makefile
+++ b/textproc/opensearch-dashboards216/Makefile
@@ -13,6 +13,9 @@ WWW= https://opensearch.org
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+DEPRECATED= Depends on expired www/npm-node18
+EXPIRATION_DATE=2025-09-01
+
CONFLICTS?= opensearch-dashboards opensearch-dashboards210 opensearch-dashboards213
BUILD_DEPENDS= npm-node18>0:www/npm-node18
diff --git a/textproc/opensearch-dashboards219/Makefile b/textproc/opensearch-dashboards219/Makefile
index dfe6740216b9..d45962095735 100644
--- a/textproc/opensearch-dashboards219/Makefile
+++ b/textproc/opensearch-dashboards219/Makefile
@@ -12,6 +12,9 @@ WWW= https://opensearch.org
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+DEPRECATED= Depends on expired www/npm-node18
+EXPIRATION_DATE=2025-09-01
+
ONLY_FOR_ARCHS= aarch64 amd64
CONFLICTS= opensearch-dashboards opensearch-dashboards210 opensearch-dashboards213 \
diff --git a/textproc/p5-XML-GDOME/Makefile b/textproc/p5-XML-GDOME/Makefile
index a32204a82185..567388be3e2b 100644
--- a/textproc/p5-XML-GDOME/Makefile
+++ b/textproc/p5-XML-GDOME/Makefile
@@ -12,6 +12,8 @@ WWW= https://metacpan.org/release/XML-GDOME
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
+BROKEN= Fails to build with libxml2 2.14, error: unknown type name 'xmlChar'
+
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-XML-LibXML>=0:textproc/p5-XML-LibXML \
p5-XML-SAX>=0:textproc/p5-XML-SAX
diff --git a/textproc/py-backrefs/Makefile b/textproc/py-backrefs/Makefile
index 7dab29e80fb8..0131c80a27d8 100644
--- a/textproc/py-backrefs/Makefile
+++ b/textproc/py-backrefs/Makefile
@@ -1,5 +1,5 @@
PORTNAME= backrefs
-DISTVERSION= 5.8
+DISTVERSION= 5.9
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-backrefs/distinfo b/textproc/py-backrefs/distinfo
index 551bb31115c3..a6fb10fd4704 100644
--- a/textproc/py-backrefs/distinfo
+++ b/textproc/py-backrefs/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741278890
-SHA256 (backrefs-5.8.tar.gz) = 2cab642a205ce966af3dd4b38ee36009b31fa9502a35fd61d59ccc116e40a6bd
-SIZE (backrefs-5.8.tar.gz) = 6773994
+TIMESTAMP = 1750652014
+SHA256 (backrefs-5.9.tar.gz) = 808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59
+SIZE (backrefs-5.9.tar.gz) = 5765857
diff --git a/textproc/py-libxml2/Makefile b/textproc/py-libxml2/Makefile
index 7633fdebb4a1..a9ff9bf0a9c7 100644
--- a/textproc/py-libxml2/Makefile
+++ b/textproc/py-libxml2/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= textproc gnome python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-mkdocs-material/Makefile b/textproc/py-mkdocs-material/Makefile
index 44a94b8d704f..f8ef2619ca0b 100644
--- a/textproc/py-mkdocs-material/Makefile
+++ b/textproc/py-mkdocs-material/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mkdocs-material
-DISTVERSION= 9.6.12
+DISTVERSION= 9.6.14
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-mkdocs-material/distinfo b/textproc/py-mkdocs-material/distinfo
index 9c5b1c1ba4d7..872ad4131302 100644
--- a/textproc/py-mkdocs-material/distinfo
+++ b/textproc/py-mkdocs-material/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745381345
-SHA256 (mkdocs_material-9.6.12.tar.gz) = add6a6337b29f9ea7912cb1efc661de2c369060b040eb5119855d794ea85b473
-SIZE (mkdocs_material-9.6.12.tar.gz) = 3951532
+TIMESTAMP = 1747327291
+SHA256 (mkdocs_material-9.6.14.tar.gz) = 39d795e90dce6b531387c255bd07e866e027828b7346d3eba5ac3de265053754
+SIZE (mkdocs_material-9.6.14.tar.gz) = 3951707
diff --git a/textproc/py-orange3-text/Makefile b/textproc/py-orange3-text/Makefile
deleted file mode 100644
index 077e90cd6ac3..000000000000
--- a/textproc/py-orange3-text/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-PORTNAME= orange3-text
-DISTVERSION= 1.3.1
-PORTREVISION= 5
-CATEGORIES= textproc python
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= Text Mining add-on for Orange3
-WWW= https://github.com/biolab/orange3-text
-
-LICENSE= AGPLv3
-
-DEPRECATED= Depends on expiring misc/orange3
-EXPIRATION_DATE=2025-06-21
-
-RUN_DEPENDS= orange3>0:misc/orange3 \
- ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}beautifulsoup>0:www/py-beautifulsoup@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}biopython>0:biology/py-biopython@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.8.0:devel/py-python-dateutil@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}docx2txt>=0.6:textproc/py-docx2txt@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}gensim>=0.12.3:textproc/py-gensim@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}nltk>=3.0.5:textproc/py-nltk@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}odfpy>=1.3.5:devel/py-odfpy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pdfminer3k>=1.3.1:textproc/py-pdfminer3k@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scikit-learn>0:science/py-scikit-learn@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}simhash>=1.11:math/py-simhash@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}tweepy>0:net/py-tweepy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}ufal.udpipe>0:textproc/py-ufal.udpipe@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}wikipedia>0:www/py-wikipedia@${PY_FLAVOR}
-
-USES= python
-USE_PYTHON= distutils autoplist
-
-USE_GITHUB= yes
-GH_ACCOUNT= biolab
-
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/textproc/py-orange3-text/distinfo b/textproc/py-orange3-text/distinfo
deleted file mode 100644
index ec78a0a092eb..000000000000
--- a/textproc/py-orange3-text/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1616813930
-SHA256 (biolab-orange3-text-1.3.1_GH0.tar.gz) = a94fb9b5a712a4afcfecbbb21dce73c51b8b75071bd40a0d23192c927a4bc9cd
-SIZE (biolab-orange3-text-1.3.1_GH0.tar.gz) = 24673035
diff --git a/textproc/py-orange3-text/pkg-descr b/textproc/py-orange3-text/pkg-descr
deleted file mode 100644
index abd79e386325..000000000000
--- a/textproc/py-orange3-text/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-Orange3 Text extends Orange3, a data mining software package, with common
-functionality for text mining. It provides access to publicly available data,
-like NY Times, Twitter, Wikipedia and PubMed. Furthermore, it provides tools
-for preprocessing, constructing vector spaces (like bag-of-words, topic
-modeling, and similarity hashing) and visualizations like word cloud end geo
-map. All features can be combined with powerful data mining techniques from
-the Orange data mining framework.
diff --git a/textproc/py-pyahocorasick/Makefile b/textproc/py-pyahocorasick/Makefile
index 4b49bf43532e..8b0ef9a2d53b 100644
--- a/textproc/py-pyahocorasick/Makefile
+++ b/textproc/py-pyahocorasick/Makefile
@@ -1,6 +1,5 @@
PORTNAME= pyahocorasick
-DISTVERSION= 2.1.0
-PORTREVISION= 1
+DISTVERSION= 2.2.0
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,8 +11,11 @@ WWW= https://github.com/WojciechMula/pyahocorasick
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
USES= python
-USE_PYTHON= autoplist concurrent distutils pytest
+USE_PYTHON= autoplist concurrent pep517 pytest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
diff --git a/textproc/py-pyahocorasick/distinfo b/textproc/py-pyahocorasick/distinfo
index d2536dfecbb6..f72fb54eaa6c 100644
--- a/textproc/py-pyahocorasick/distinfo
+++ b/textproc/py-pyahocorasick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711786347
-SHA256 (pyahocorasick-2.1.0.tar.gz) = 4df4845c1149e9fa4aa33f0f0aa35f5a42957a43a3d6e447c9b44e679e2672ea
-SIZE (pyahocorasick-2.1.0.tar.gz) = 103259
+TIMESTAMP = 1750580932
+SHA256 (pyahocorasick-2.2.0.tar.gz) = 817f302088400a1402bf2f8631fdb21cf5a2666888e0d6a7d5a3ad556212e9da
+SIZE (pyahocorasick-2.2.0.tar.gz) = 103916
diff --git a/textproc/py-pygments/Makefile b/textproc/py-pygments/Makefile
index 3655bb1f897b..cd875c34d8e1 100644
--- a/textproc/py-pygments/Makefile
+++ b/textproc/py-pygments/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pygments
-DISTVERSION= 2.19.1
+DISTVERSION= 2.19.2
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,7 +12,7 @@ LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=1.18.0:devel/py-hatchling@${PY_FLAVOR}
-# tests: 5184 passed, 7 skipped
+# tests: 5186 passed, 7 skipped, 1 warning
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-cov>=4.1.0:devel/py-pytest-cov@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-randomly>=3.12.0:devel/py-pytest-randomly@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wcag-contrast-ratio>=0.9:www/py-wcag-contrast-ratio@${PY_FLAVOR}
@@ -21,6 +21,9 @@ USES= cpe python tex
USE_PYTHON= autoplist concurrent pep517 pytest
USE_TEX= latex:test
+# We don't want to use Pytest plugins, for example devel/py-ruff, if available in the system
+TEST_ENV= PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
NO_ARCH= yes
.include <bsd.port.mk>
diff --git a/textproc/py-pygments/distinfo b/textproc/py-pygments/distinfo
index ac9567c3f21c..6adf922fde7f 100644
--- a/textproc/py-pygments/distinfo
+++ b/textproc/py-pygments/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1737292768
-SHA256 (pygments-2.19.1.tar.gz) = 61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f
-SIZE (pygments-2.19.1.tar.gz) = 4968581
+TIMESTAMP = 1750573109
+SHA256 (pygments-2.19.2.tar.gz) = 636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887
+SIZE (pygments-2.19.2.tar.gz) = 4968631
diff --git a/textproc/py-pymdown-extensions/Makefile b/textproc/py-pymdown-extensions/Makefile
index fe08f8c4850c..2ad6619267ac 100644
--- a/textproc/py-pymdown-extensions/Makefile
+++ b/textproc/py-pymdown-extensions/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pymdown-extensions
-DISTVERSION= 10.15
+DISTVERSION= 10.16
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-pymdown-extensions/distinfo b/textproc/py-pymdown-extensions/distinfo
index 751079213745..c6509995d6f2 100644
--- a/textproc/py-pymdown-extensions/distinfo
+++ b/textproc/py-pymdown-extensions/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747475056
-SHA256 (pymdown_extensions-10.15.tar.gz) = 0e5994e32155f4b03504f939e501b981d306daf7ec2aa1cd2eb6bd300784f8f7
-SIZE (pymdown_extensions-10.15.tar.gz) = 852320
+TIMESTAMP = 1750580673
+SHA256 (pymdown_extensions-10.16.tar.gz) = 71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de
+SIZE (pymdown_extensions-10.16.tar.gz) = 853197
diff --git a/textproc/py-sphinx-notfound-page/Makefile b/textproc/py-sphinx-notfound-page/Makefile
index 0b59b61600cc..8624913fac1f 100644
--- a/textproc/py-sphinx-notfound-page/Makefile
+++ b/textproc/py-sphinx-notfound-page/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sphinx-notfound-page
-DISTVERSION= 1.0.4
+DISTVERSION= 1.1.0
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-sphinx-notfound-page/distinfo b/textproc/py-sphinx-notfound-page/distinfo
index 61dd25973caa..deb8ab8ef267 100644
--- a/textproc/py-sphinx-notfound-page/distinfo
+++ b/textproc/py-sphinx-notfound-page/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1730477793
-SHA256 (sphinx_notfound_page-1.0.4.tar.gz) = 2a52f49cd367b5c4e64072de1591cc367714098500abf4ecb9a3ecb4fec25aae
-SIZE (sphinx_notfound_page-1.0.4.tar.gz) = 519228
+TIMESTAMP = 1750498240
+SHA256 (sphinx_notfound_page-1.1.0.tar.gz) = 913e1754370bb3db201d9300d458a8b8b5fb22e9246a816643a819a9ea2b8067
+SIZE (sphinx_notfound_page-1.1.0.tar.gz) = 7392
diff --git a/textproc/sgmlformat/Makefile b/textproc/sgmlformat/Makefile
index daa03e201a71..8be63bbc9797 100644
--- a/textproc/sgmlformat/Makefile
+++ b/textproc/sgmlformat/Makefile
@@ -25,8 +25,6 @@ WITH_OPENJADE= yes
RUN_DEPENDS= openjade>0:textproc/openjade
.else
RUN_DEPENDS= nsgmls:textproc/jade
-DEPRECATED= Depends on expired textproc/jade
-EXPIRATION_DATE=2025-03-31
.endif
RUN_DEPENDS+= linuxdoc>0:textproc/linuxdoc \
docbook-sgml>0:textproc/docbook-sgml \
diff --git a/textproc/xmlstarlet/Makefile b/textproc/xmlstarlet/Makefile
index 94426a1ca5b3..8f540ce005b0 100644
--- a/textproc/xmlstarlet/Makefile
+++ b/textproc/xmlstarlet/Makefile
@@ -1,8 +1,8 @@
PORTNAME= xmlstarlet
-PORTVERSION= 1.6.1
+DISTVERSION= 1.6.1
PORTREVISION= 4
CATEGORIES= textproc
-MASTER_SITES= SF/xmlstar/${PORTNAME}/${PORTVERSION}
+MASTER_SITES= SF/xmlstar/${PORTNAME}/${DISTVERSION}
MAINTAINER= hrs@FreeBSD.org
COMMENT= Command Line XML Toolkit
@@ -11,24 +11,34 @@ WWW= https://xmlstar.sourceforge.net/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-USE_GNOME= libxslt
-USES= gnome iconv
+USES= autoreconf gnome iconv pkgconfig
+USE_GNOME= libxml2 libxslt
+
GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
-CONFIGURE_ARGS= --with-libxml-prefix=${LOCALBASE} \
- --with-libxslt-prefix=${LOCALBASE} \
- ${ICONV_CONFIGURE_ARG} \
- --disable-static-libs
-PLIST_FILES= bin/xml share/man/man1/xmlstarlet.1.gz
+
+CFLAGS+= -Wno-incompatible-function-pointer-types
+
+PLIST_FILES= bin/xml \
+ share/man/man1/xmlstarlet.1.gz
+
PORTDOCS= xmlstarlet.txt \
xmlstarlet-man.xml \
xmlstarlet-ug.html xmlstarlet-ug.pdf \
xmlstarlet-ug.ps xmlstarlet-ug.xml \
html.css
+
+CONFIGURE_ARGS= ${ICONV_CONFIGURE_ARG}
+
OPTIONS_DEFINE= DOCS
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|g' \
+ ${PATCH_WRKSRC}/configure.ac
+ @${REINPLACE_CMD} -e 's/ATTRIBUTE_UNUSED/__attribute__((unused))/g' \
+ ${PATCH_WRKSRC}/src/xml_pyx.c
+
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
- cd ${WRKSRC}/doc && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC}/doc && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
.include <bsd.port.mk>
diff --git a/textproc/xmlstarlet/files/patch-clang17-compat b/textproc/xmlstarlet/files/patch-clang17-compat
new file mode 100644
index 000000000000..a2fe3760b21a
--- /dev/null
+++ b/textproc/xmlstarlet/files/patch-clang17-compat
@@ -0,0 +1,59 @@
+From e1da090da24f5620784daf853eb1353aa164583f Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Wed, 27 Mar 2024 23:25:39 +0100
+Subject: [PATCH] Address -Wincompatible-function-pointer-types for Clang 17
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Also showed with -Werror=incompatible-pointer-types with GCC.
+
+Bug: https://bugs.gentoo.org/927838
+
+Symptom with GCC was:
+> src/xml.c: In function ‘main’:
+> src/xml.c:300:43: error: passing argument 2 of ‘xmlSetStructuredErrorFunc’ from incompatible pointer type [-Werror=incompatible-pointer-types]
+> 300 | xmlSetStructuredErrorFunc(&errorInfo, reportError);
+> | ^~~~~~~~~~~
+> | |
+> | void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
+> In file included from /usr/include/libxml2/libxml/valid.h:15,
+> from /usr/include/libxml2/libxml/parser.h:19,
+> from /usr/include/libxml2/libxml/tree.h:17,
+> from /usr/include/libxslt/xslt.h:13,
+> from src/xml.c:37:
+> /usr/include/libxml2/libxml/xmlerror.h:898:57: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
+---
+ src/xml.c | 2 +-
+ src/xmlstar.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/xml.c b/src/xml.c
+index cf47cc2..e6f19c1 100644
+--- src/xml.c
++++ src/xml.c
+@@ -104,7 +104,7 @@ void reportGenericError(void* ctx, const char * msg, ...) {
+ /* by default all errors are reported */
+ static ErrorInfo errorInfo = { NULL, NULL, VERBOSE, CONTINUE };
+
+-void reportError(void *ptr, xmlErrorPtr error)
++void reportError(void *ptr, const xmlError *error)
+ {
+ ErrorInfo *errorInfo = (ErrorInfo*) ptr;
+ assert(errorInfo);
+diff --git a/src/xmlstar.h b/src/xmlstar.h
+index 3e1eed3..e8d7177 100644
+--- src/xmlstar.h
++++ src/xmlstar.h
+@@ -32,7 +32,7 @@ typedef struct _errorInfo {
+ ErrorStop stop;
+ } ErrorInfo;
+
+-void reportError(void *ptr, xmlErrorPtr error);
++void reportError(void *ptr, const xmlError *error);
+ void suppressErrors(void);
+
+ typedef struct _gOptions {
+--
+2.44.0
+
diff --git a/textproc/xmlstarlet/files/patch-configure-no-silent-rules b/textproc/xmlstarlet/files/patch-configure-no-silent-rules
new file mode 100644
index 000000000000..facb3d85a7ca
--- /dev/null
+++ b/textproc/xmlstarlet/files/patch-configure-no-silent-rules
@@ -0,0 +1,16 @@
+Description: Don't hide the real compiler flags to allow automatic checks for
+ missing (hardening) flags via blhc. It avoids buildd log scanner
+ tag W-compiler-flags-hidden.
+Author: Mònica Ramírez Arceda <monica@debian.org>
+Last-Update: 2013-07-14
+
+--- configure.ac
++++ configure.ac
+@@ -6,7 +6,6 @@
+ AC_REVISION(AC_PACKAGE_VERSION)
+
+ AM_INIT_AUTOMAKE([1.11 foreign -Wall subdir-objects no-define std-options parallel-tests color-tests])
+-AM_SILENT_RULES([yes])
+ AM_MAINTAINER_MODE
+
+ [LIBXML_REQUIRED_VERSION=2.6.27]
diff --git a/textproc/xmlstarlet/files/patch-configure-remove-libdir-links b/textproc/xmlstarlet/files/patch-configure-remove-libdir-links
new file mode 100644
index 000000000000..725c65727e00
--- /dev/null
+++ b/textproc/xmlstarlet/files/patch-configure-remove-libdir-links
@@ -0,0 +1,22 @@
+Description: Remove links from /usr/lib to fix #722870.
+Author: Mònica Ramírez Arceda <monica@debian.org>
+Bug: https://bugs.debian.org/722870
+Last-Update: 2012-10-28
+--- configure.ac
++++ configure.ac
+@@ -56,7 +56,6 @@
+ AS_IF([test "x$STATIC_LIBS" != xno],
+ [LIBXML_LIBS="$LIBXML_LIBDIR/libxml2.a"],
+ [LIBXML_LIBS="-lxml2"])
+-[LIBXML_LDFLAGS="-L$LIBXML_LIBDIR"]
+
+
+ XSTAR_LIB_CHECK([LIBXSLT], [xslt-config])
+@@ -68,7 +67,6 @@
+ AS_IF([test "x$STATIC_LIBS" != xno],
+ [LIBXSLT_LIBS="$LIBXSLT_SRCDIR/libexslt/.libs/libexslt.a $LIBXSLT_SRCDIR/libxslt/.libs/libxslt.a"])],
+ [XSLTPROC_PATH="$PATH"
+- LIBXSLT_LDFLAGS="-L$LIBXSLT_LIBDIR"
+ AS_IF([test "x$STATIC_LIBS" != xno],
+ [LIBXSLT_LIBS="$LIBXSLT_LIBDIR/libexslt.a $LIBXSLT_LIBDIR/libxslt.a"])])
+
diff --git a/textproc/xmlstarlet/files/patch-fix-format-security b/textproc/xmlstarlet/files/patch-fix-format-security
new file mode 100644
index 000000000000..7ebfcaa8433e
--- /dev/null
+++ b/textproc/xmlstarlet/files/patch-fix-format-security
@@ -0,0 +1,393 @@
+Description: Fix format string literals and avoid gcc error:
+ "format not a string literal and no format arguments
+ [-Werror=format-security]"
+Author: Mònica Ramírez Arceda <monica@debian.org>
+Last-Update: 2014-09-10
+
+--- src/xml_elem.c
++++ src/xml_elem.c
+@@ -132,7 +132,7 @@
+ if (xmlTextReaderHasAttributes(reader))
+ {
+ int have_attr, first = 1;
+- fprintf(stdout, "[");
++ fprintf(stdout, "%s", "[");
+ for (have_attr = xmlTextReaderMoveToFirstAttribute(reader);
+ have_attr;
+ have_attr = xmlTextReaderMoveToNextAttribute(reader))
+@@ -141,15 +141,15 @@
+ *avalue = xmlTextReaderConstValue(reader);
+ char quote;
+ if (!first)
+- fprintf(stdout, " and ");
++ fprintf(stdout, "%s", " and ");
+ first = 0;
+
+ quote = xmlStrchr(avalue, '\'')? '"' : '\'';
+ fprintf(stdout, "@%s=%c%s%c", aname, quote, avalue, quote);
+ }
+- fprintf(stdout, "]");
++ fprintf(stdout, "%s", "]");
+ }
+- fprintf(stdout, "\n");
++ fprintf(stdout, "%s", "\n");
+ }
+ else if (elOps.sort_uniq)
+ {
+--- src/xml.c
++++ src/xml.c
+@@ -145,7 +145,7 @@
+ fprintf(stderr, ", %s", error->str3);
+ }
+ }
+- fprintf(stderr, "\n");
++ fprintf(stderr, "%s", "\n");
+
+
+ if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) ||
+@@ -168,7 +168,7 @@
+ }
+
+ #define CHECK_MEM(ret) if (!ret) \
+- (fprintf(stderr, "out of memory\n"), exit(EXIT_INTERNAL_ERROR))
++ (fprintf(stderr, "%s", "out of memory\n"), exit(EXIT_INTERNAL_ERROR))
+
+ void*
+ xmalloc(size_t size)
+@@ -444,7 +444,7 @@
+
+ if (*plen >= MAX_NS_ARGS)
+ {
+- fprintf(stderr, "too many namespaces increase MAX_NS_ARGS\n");
++ fprintf(stderr, "%s", "too many namespaces increase MAX_NS_ARGS\n");
+ exit(EXIT_BAD_ARGS);
+ }
+
+--- src/xml_trans.c
++++ src/xml_trans.c
+@@ -168,7 +168,7 @@
+
+ if (*plen >= MAX_PARAMETERS)
+ {
+- fprintf(stderr, "too many params increase MAX_PARAMETERS\n");
++ fprintf(stderr, "%s", "too many params increase MAX_PARAMETERS\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+
+@@ -197,7 +197,7 @@
+ {
+ if (xmlStrchr(string, '\''))
+ {
+- fprintf(stderr,
++ fprintf(stderr, "%s",
+ "string parameter contains both quote and double-quotes\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+@@ -214,7 +214,7 @@
+
+ if (*plen >= MAX_PARAMETERS)
+ {
+- fprintf(stderr, "too many params increase MAX_PARAMETERS\n");
++ fprintf(stderr, "%s", "too many params increase MAX_PARAMETERS\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+
+--- src/xml_edit.c
++++ src/xml_edit.c
+@@ -339,7 +339,7 @@
+ xmlNodePtr node;
+
+ if (nodes->nodeTab[i] == (void*) doc && mode != 0) {
+- fprintf(stderr, "The document node cannot have siblings.\n");
++ fprintf(stderr, "%s", "The document node cannot have siblings.\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+
+@@ -382,7 +382,7 @@
+ for (i = 0; i < nodes->nodeNr; i++)
+ {
+ if (nodes->nodeTab[i] == (void*) doc) {
+- fprintf(stderr, "The document node cannot be renamed.\n");
++ fprintf(stderr, "%s", "The document node cannot be renamed.\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+ xmlNodeSetName(nodes->nodeTab[i], BAD_CAST val);
+@@ -399,12 +399,12 @@
+ for (i = nodes->nodeNr - 1; i >= 0; i--)
+ {
+ if (nodes->nodeTab[i] == (void*) doc) {
+- fprintf(stderr, "The document node cannot be deleted.\n");
++ fprintf(stderr, "%s", "The document node cannot be deleted.\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+
+ if (nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) {
+- fprintf(stderr, "FIXME: can't delete namespace nodes\n");
++ fprintf(stderr, "%s", "FIXME: can't delete namespace nodes\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+ /* delete node */
+@@ -426,12 +426,12 @@
+ for (i = 0; i < nodes->nodeNr; i++)
+ {
+ if (nodes->nodeTab[i] == (void*) doc) {
+- fprintf(stderr, "The document node cannot be moved.\n");
++ fprintf(stderr, "%s", "The document node cannot be moved.\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+
+ if (nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) {
+- fprintf(stderr, "FIXME: can't move namespace nodes\n");
++ fprintf(stderr, "%s", "FIXME: can't move namespace nodes\n");
+ exit(EXIT_INTERNAL_ERROR);
+ }
+ /* move node */
+@@ -501,7 +501,7 @@
+ if (!res_to
+ || res_to->type != XPATH_NODESET
+ || res_to->nodesetval->nodeNr != 1) {
+- fprintf(stderr, "move destination is not a single node\n");
++ fprintf(stderr, "%s", "move destination is not a single node\n");
+ continue;
+ }
+ edMove(doc, nodes, res_to->nodesetval->nodeTab[0]);
+--- src/trans.c
++++ src/trans.c
+@@ -104,7 +104,7 @@
+ {
+ char *catalogs = getenv("SGML_CATALOG_FILES");
+ if (catalogs == NULL)
+- fprintf(stderr, "Variable $SGML_CATALOG_FILES not set\n");
++ fprintf(stderr, "%s", "Variable $SGML_CATALOG_FILES not set\n");
+ else
+ xmlLoadCatalogs(catalogs);
+ }
+--- src/xml_pyx.c
++++ src/xml_pyx.c
+@@ -82,9 +82,9 @@
+ /* DON'T modify the attributes array, ever. */
+ const xmlChar*** atts = &attributes;
+
+- fprintf(stdout,"(");
++ fprintf(stdout, "%s", "(");
+ print_qname(prefix, localname);
+- fprintf(stdout, "\n");
++ fprintf(stdout, "%s", "\n");
+
+ if (nb_attributes > 1) {
+ atts = calloc(nb_attributes, sizeof(*atts));
+@@ -139,7 +139,7 @@
+ pyxEndElement(void *userData, const xmlChar *localname, const xmlChar *prefix,
+ const xmlChar *URI)
+ {
+- fprintf(stdout,")");
++ fprintf(stdout, "%s", ")");
+ print_qname(prefix, localname);
+ putchar('\n');
+ }
+@@ -147,7 +147,7 @@
+ void
+ pyxCharacterData(void *userData, const xmlChar *s, int len)
+ {
+- fprintf(stdout, "-");
++ fprintf(stdout, "%s", "-");
+ SanitizeData(s, len);
+ putchar('\n');
+ }
+@@ -159,7 +159,7 @@
+ {
+ fprintf(stdout,"?%s ",target);
+ SanitizeData(data, xmlStrlen(data));
+- fprintf(stdout,"\n");
++ fprintf(stdout, "%s", "\n");
+ }
+
+ void
+@@ -191,7 +191,7 @@
+ const xmlChar *name)
+ {
+ const xmlChar *p = name;
+- fprintf (stdout, "&");
++ fprintf (stdout, "%s", "&");
+ /* Up to space is the name of the referenced entity */
+ while (*p && (*p != ' ')) {
+ putchar (*p);
+@@ -205,11 +205,11 @@
+ {
+ fprintf(stdout, "D %s PUBLIC", name); /* TODO: re-check */
+ if (ExternalID == NULL)
+- fprintf(stdout, " ");
++ fprintf(stdout, "%s", " ");
+ else
+ fprintf(stdout, " \"%s\"", ExternalID);
+ if (SystemID == NULL)
+- fprintf(stdout, "\n");
++ fprintf(stdout, "%s", "\n");
+ else
+ fprintf(stdout, " \"%s\"\n", SystemID);
+ }
+@@ -217,17 +217,17 @@
+ static void
+ pyxCommentHandler(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value)
+ {
+- fprintf(stdout,"C");
++ fprintf(stdout, "%s", "C");
+ SanitizeData(value, xmlStrlen(value));
+- fprintf(stdout,"\n");
++ fprintf(stdout, "%s", "\n");
+ }
+
+ static void
+ pyxCdataBlockHandler(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value, int len)
+ {
+- fprintf(stdout,"[");
++ fprintf(stdout, "%s", "[");
+ SanitizeData(value, len);
+- fprintf(stdout,"\n");
++ fprintf(stdout, "%s", "\n");
+ }
+
+ static void
+--- src/xml_C14N.c
++++ src/xml_C14N.c
+@@ -84,7 +84,7 @@
+ if(xpath_filename) {
+ xpath = load_xpath_expr(doc, xpath_filename);
+ if(xpath == NULL) {
+- fprintf(stderr,"Error: unable to evaluate xpath expression\n");
++ fprintf(stderr, "%s", "Error: unable to evaluate xpath expression\n");
+ xmlFreeDoc(doc);
+ return(EXIT_BAD_FILE);
+ }
+@@ -160,7 +160,7 @@
+ ret = run_c14n(argv[3], 0, 1, (argc > 4) ? argv[4] : NULL, list, nonet);
+ if(list != NULL) xmlFree(list);
+ } else {
+- fprintf(stderr, "error: bad arguments.\n");
++ fprintf(stderr, "%s", "error: bad arguments.\n");
+ c14nUsage(argv[0], EXIT_BAD_ARGS);
+ }
+
+@@ -275,7 +275,7 @@
+
+ ctx = xmlXPathNewContext(parent_doc);
+ if(ctx == NULL) {
+- fprintf(stderr,"Error: unable to create new context\n");
++ fprintf(stderr, "%s", "Error: unable to create new context\n");
+ xmlFree(expr);
+ xmlFreeDoc(doc);
+ return(NULL);
+@@ -301,7 +301,7 @@
+ */
+ xpath = xmlXPathEvalExpression(expr, ctx);
+ if(xpath == NULL) {
+- fprintf(stderr,"Error: unable to evaluate xpath expression\n");
++ fprintf(stderr, "%s", "Error: unable to evaluate xpath expression\n");
+ xmlFree(expr);
+ xmlXPathFreeContext(ctx);
+ xmlFreeDoc(doc);
+@@ -323,11 +323,11 @@
+ int i;
+
+ if(nodes == NULL ){
+- fprintf(stderr, "Error: no nodes set defined\n");
++ fprintf(stderr, "%s", "Error: no nodes set defined\n");
+ return;
+ }
+
+- fprintf(stderr, "Nodes Set:\n-----\n");
++ fprintf(stderr, "%s", "Nodes Set:\n-----\n");
+ for(i = 0; i < nodes->nodeNr; ++i) {
+ if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) {
+ xmlNsPtr ns;
+--- src/xml_escape.c
++++ src/xml_escape.c
+@@ -94,7 +94,7 @@
+ buffer = (xmlChar *) \
+ xmlRealloc(buffer, buffer_size * sizeof(xmlChar)); \
+ if (buffer == NULL) { \
+- fprintf(stderr, "growing buffer error"); \
++ fprintf(stderr, "%s", "growing buffer error"); \
+ abort(); \
+ } \
+ }
+@@ -129,7 +129,7 @@
+ buffer_size = 1000;
+ buffer = (xmlChar *) xmlMallocAtomic(buffer_size * sizeof(xmlChar));
+ if (buffer == NULL) {
+- fprintf(stderr, "allocating buffer error");
++ fprintf(stderr, "%s", "allocating buffer error");
+ abort();
+ }
+ out = buffer;
+--- src/xml_select.c
++++ src/xml_select.c
+@@ -229,7 +229,7 @@
+ {
+ if (argv[i + 1][0] == '-')
+ {
+- fprintf(stderr, "-E option requires argument <encoding> ex: (utf-8, unicode...)\n");
++ fprintf(stderr, "%s", "-E option requires argument <encoding> ex: (utf-8, unicode...)\n");
+ exit(EXIT_BAD_ARGS);
+ }
+ else
+@@ -239,7 +239,7 @@
+ }
+ else
+ {
+- fprintf(stderr, "-E option requires argument <encoding> ex: (utf-8, unicode...)\n");
++ fprintf(stderr, "%s", "-E option requires argument <encoding> ex: (utf-8, unicode...)\n");
+ exit(EXIT_BAD_ARGS);
+ }
+
+@@ -308,7 +308,7 @@
+ if (strcmp(argv[start], "-t") != 0 &&
+ strcmp(argv[start], "--template") != 0)
+ {
+- fprintf(stderr, "not at the beginning of template\n");
++ fprintf(stderr, "%s", "not at the beginning of template\n");
+ abort();
+ }
+
+@@ -345,7 +345,7 @@
+ found_option:
+ if (newtarg == &OPT_SORT && (targ != &OPT_MATCH && targ != &OPT_SORT))
+ {
+- fprintf(stderr, "sort(s) must follow match\n");
++ fprintf(stderr, "%s", "sort(s) must follow match\n");
+ exit(EXIT_BAD_ARGS);
+ }
+ else if (newtarg == &OPT_TEMPLATE)
+@@ -363,7 +363,7 @@
+ {
+ node = node->parent;
+ if (node->_private != &OPT_IF) {
+- fprintf(stderr, "else without if\n");
++ fprintf(stderr, "%s", "else without if\n");
+ exit(EXIT_BAD_ARGS);
+ }
+ }
+@@ -463,9 +463,9 @@
+
+ if (templateEmpty)
+ {
+- fprintf(stderr, "error in arguments:");
+- fprintf(stderr, " -t or --template option must be followed by");
+- fprintf(stderr, " --match or other options\n");
++ fprintf(stderr, "%s", "error in arguments:");
++ fprintf(stderr, "%s", " -t or --template option must be followed by");
++ fprintf(stderr, "%s", " --match or other options\n");
+ exit(EXIT_BAD_ARGS);
+ }
+
+@@ -528,8 +528,8 @@
+ */
+ if (t == 0)
+ {
+- fprintf(stderr, "error in arguments:");
+- fprintf(stderr, " no -t or --template options found\n");
++ fprintf(stderr, "%s", "error in arguments:");
++ fprintf(stderr, "%s", " no -t or --template options found\n");
+ exit(EXIT_BAD_ARGS);
+ }
+
diff --git a/textproc/xmlstarlet/files/patch-fix-unesc-dqout b/textproc/xmlstarlet/files/patch-fix-unesc-dqout
new file mode 100644
index 000000000000..e164f3257e94
--- /dev/null
+++ b/textproc/xmlstarlet/files/patch-fix-unesc-dqout
@@ -0,0 +1,16 @@
+Description: unesc fails to handle &quot; and &apos; correctly because it thinks they are too long.
+Author: Norbert Kiesel <nk@iname.com>
+Bug: https://bugs.debian.org/837122
+Last-Update: 2016-09-08
+
+--- src/xml_escape.c
++++ src/xml_escape.c
+@@ -222,7 +222,7 @@
+ semicolon_off++;
+ }
+ entity_len = semicolon_off - i;
+- if (entity_len < MAX_ENTITY_NAME) {
++ if (entity_len <= MAX_ENTITY_NAME) {
+ memcpy(entity, &str[i], entity_len);
+ entity[entity_len] = '\0';
+ if (str[semicolon_off] == ';') {
diff --git a/textproc/xmlstarlet/files/patch-fix-version-info b/textproc/xmlstarlet/files/patch-fix-version-info
new file mode 100644
index 000000000000..7fb561299e0c
--- /dev/null
+++ b/textproc/xmlstarlet/files/patch-fix-version-info
@@ -0,0 +1,47 @@
+Description: Do not get version from git repository, get upstream version from
+Debian environment variable.
+Author: Mònica Ramírez Arceda <monica@debian.org>
+Bug: https://bugs.debian.org/850842
+Last-Update: 2017-01-24
+
+--- Makefile.am
++++ Makefile.am
+@@ -7,18 +7,11 @@
+ AM_CFLAGS = -Wall -pedantic
+ endif
+
+-GIT_DESCRIBE = git describe --tags --dirty
+-
+ # TODO: figure out why log removal is needed and/or make it completely automatic
+ dist-hook:
+ @for log in $(srcdir)/examples/*.log ; do if [ -f "$$log" ] ; then \
+ rm $(srcdir)/examples/*.log ; \
+ echo 'ERROR: log files need to cleaned BEFORE making tarball, try again'; exit 1 ; fi ; done
+- @ if [ -d .git ] ; then \
+- if [ $(VERSION) != `$(GIT_DESCRIBE)` ] ; then \
+- echo 'ERROR: version mismatch, rerun autoconf -f' ; exit 1 ; fi ; \
+- $(SED) 's/\[m4_esyscmd_s(\[$(GIT_DESCRIBE)\])\]/[$(VERSION)]/' \
+- $(srcdir)/configure.ac > $(distdir)/configure.ac ; fi
+
+ cleantar:
+ @(rm -f xmlstarlet*.tar.gz)
+@@ -40,9 +33,7 @@
+ dist-win32: $(distdir)-win32.zip
+
+ version.h: VERSION
+- @if [ -d .git ] ; then \
+- VERSION=`$(GIT_DESCRIBE)`; \
+- else VERSION=$(VERSION) ; fi; \
++ VERSION=$(VERSION) ; \
+ NEW_VERSION="#define VERSION \"$$VERSION\""; \
+ OLD_VERSION=`cat version.h 2>/dev/null` ; \
+ if [ "$$NEW_VERSION" != "$$OLD_VERSION" ] ; then \
+--- configure.ac
++++ configure.ac
+@@ -1,5 +1,5 @@
+ AC_PREREQ([2.62])
+-AC_INIT([XMLStarlet], [m4_esyscmd_s([git describe --tags --dirty])],
++AC_INIT([XMLStarlet], [%%DISTVERSION%%],
+ [http://sourceforge.net/projects/xmlstar/support],
+ [],
+ [http://xmlstar.sourceforge.net/])
diff --git a/textproc/xmlstarlet/files/patch-use-pkgconfig b/textproc/xmlstarlet/files/patch-use-pkgconfig
new file mode 100644
index 000000000000..df55ce8dbf0b
--- /dev/null
+++ b/textproc/xmlstarlet/files/patch-use-pkgconfig
@@ -0,0 +1,105 @@
+Description: Use PKG_CHECK_MODULES to detect libxml2, libxslt and libexslt.
+ Also remove the STATIC_LIBS build option, since Debian doesn't ship static
+ libraries for libxslt or libexslt.
+Author: Hugh McMaster <hugh.mcmaster@outlook.com>
+Bug-Debian: https://bugs.debian.org/948791
+Bug-Debian: https://bugs.debian.org/949513
+Forwarded: no
+Last-Update: 2020-05-31
+
+--- configure.ac
++++ configure.ac
+@@ -11,16 +11,6 @@
+ [LIBXML_REQUIRED_VERSION=2.6.27]
+ [LIBXSLT_REQUIRED_VERSION=1.1.9]
+
+-XSTAR_LIB_ARGS_WITH([LIBXML], [with-src])
+-XSTAR_LIB_ARGS_WITH([LIBXSLT], [with-src])
+-XSTAR_LIB_ARGS_WITH([LIBICONV])
+-
+-AC_ARG_ENABLE([static-libs],
+- [AS_HELP_STRING([--enable-static-libs],
+- [link statically with libxml2 and lib(e)xslt @<:@default=no@:>@])],
+- [STATIC_LIBS=$enableval],
+- [STATIC_LIBS=no])
+-
+ AS_IF([test -r doc/xmlstarlet.1], [LACK_DOCS=no], [LACK_DOCS=yes])
+
+ AC_ARG_ENABLE([build_docs],
+@@ -42,33 +32,14 @@
+ AC_ARG_PROGRAM dnl Transforming Program Names When Installing
+ AC_PROG_SED
+ AC_PROG_AWK
++PKG_PROG_PKG_CONFIG
+
+-XSTAR_LIB_CHECK([LIBXML], [xml2-config])
++PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= $LIBXML_REQUIRED_VERSION])
++PKG_CHECK_EXISTS([libexslt],
++ [PKG_CHECK_MODULES([LIBXSLT], [libexslt])],
++ [PKG_CHECK_MODULES([LIBXSLT], [libxslt >= $LIBXSLT_REQUIRED_VERSION])])
+
+-AS_IF([test "x$LIBXML_SRCDIR" != x],
+- [LIBXML_INCDIR="$LIBXML_SRCDIR/include"])
+-[: ${LIBXML_INCDIR="$LIBXML_PREFIX/include/libxml2"}]
+-
+-AS_IF([test "x$STATIC_LIBS" != xno],
+- [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR -DLIBXML_STATIC"],
+- [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR"])
+-
+-AS_IF([test "x$STATIC_LIBS" != xno],
+- [LIBXML_LIBS="$LIBXML_LIBDIR/libxml2.a"],
+- [LIBXML_LIBS="-lxml2"])
+-
+-
+-XSTAR_LIB_CHECK([LIBXSLT], [xslt-config])
+-
+-AS_IF([test "x$LIBXSLT_SRCDIR" != x],
+- [XSLTPROC_PATH="$LIBXSLT_SRCDIR/xsltproc:$PATH"
+- LIBXSLT_INCDIR="$LIBXSLT_SRCDIR"
+- LIBXSLT_LDFLAGS="-L$LIBXSLT_SRCDIR/libexslt/.libs -L$LIBXSLT_SRCDIR/libxslt/.libs"
+- AS_IF([test "x$STATIC_LIBS" != xno],
+- [LIBXSLT_LIBS="$LIBXSLT_SRCDIR/libexslt/.libs/libexslt.a $LIBXSLT_SRCDIR/libxslt/.libs/libxslt.a"])],
+- [XSLTPROC_PATH="$PATH"
+- AS_IF([test "x$STATIC_LIBS" != xno],
+- [LIBXSLT_LIBS="$LIBXSLT_LIBDIR/libexslt.a $LIBXSLT_LIBDIR/libxslt.a"])])
++XSLTPROC_PATH="$PATH"
+
+ AS_IF([test x"$enable_build_docs" = xyes],
+ [AC_PATH_PROG(XSLTPROC, xsltproc, [none], [$XSLTPROC_PATH])
+@@ -87,13 +58,8 @@
+
+ AM_CONDITIONAL([BUILD_DOCS], [test x"$enable_build_docs" = xyes])
+
+-
+-AS_IF([test "x$STATIC_LIBS" = xno],
+- [LIBXSLT_LIBS="-lexslt -lxslt"])
+-
+-[: ${LIBXSLT_INCDIR="$LIBXSLT_PREFIX/include"}]
+-[LIBXSLT_CPPFLAGS="-I$LIBXSLT_INCDIR"]
+-
++[LIBXML_CPPFLAGS="$LIBXML_CFLAGS"]
++[LIBXSLT_CPPFLAGS="$LIBXSLT_CFLAGS"]
+
+ [WIN32_EXTRA_LDFLAGS=]
+ [WIN32_EXTRA_LIBS=]
+@@ -116,20 +82,6 @@
+ # replace the libraries from ./configure
+ [USER_LIBS="$LIBS"]
+ [LIBS=]
+-# shared libraries link to dependant libraries automatically
+-AS_IF([test "x$STATIC_LIBS" != xno],
+- [AC_SEARCH_LIBS([dlopen], [dl], [], [], "$USER_LIBS")
+- AC_SEARCH_LIBS([sqrt], [m], [], [], "$USER_LIBS")
+- AC_SEARCH_LIBS([iconv_open], [iconv], [],
+- [AC_SEARCH_LIBS([libiconv_open], [iconv], [], [], "$USER_LIBS")], "$USER_LIBS")
+- AC_SEARCH_LIBS([clock_gettime], [rt], [], [], "$USER_LIBS")
+- AC_SEARCH_LIBS([deflate], [z], [], [], "$USER_LIBS")
+- AC_SEARCH_LIBS([gcry_cipher_encrypt], [gcrypt], [], [], "$USER_LIBS")
+-
+- # Checks for inet libraries:
+- AC_SEARCH_LIBS([gethostent], [nsl], [], [], "$USER_LIBS")
+- AC_SEARCH_LIBS([setsockopt], [socket net network], [], [], "$USER_LIBS")
+- AC_SEARCH_LIBS([connect], [inet], [], [], "$USER_LIBS")])
+
+ AC_CHECK_FUNCS_ONCE([lstat stat])
+