summaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
Diffstat (limited to 'textproc')
-rw-r--r--textproc/Makefile2
-rw-r--r--textproc/docbook-utils/Makefile4
-rw-r--r--textproc/feluda/Makefile21
-rw-r--r--textproc/feluda/Makefile.crates354
-rw-r--r--textproc/feluda/distinfo711
-rw-r--r--textproc/feluda/pkg-descr3
-rw-r--r--textproc/go-yq/Makefile10
-rw-r--r--textproc/go-yq/distinfo10
-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/libjcat/Makefile2
-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/Makefile9
-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-bracex/Makefile3
-rw-r--r--textproc/py-bracex/distinfo6
-rw-r--r--textproc/py-docx-generator/Makefile11
-rw-r--r--textproc/py-docx-generator/distinfo6
-rw-r--r--textproc/py-docxtpl/Makefile4
-rw-r--r--textproc/py-docxtpl/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/py-wcmatch/Makefile2
-rw-r--r--textproc/py-wcmatch/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
-rw-r--r--textproc/yamlfmt/Makefile2
-rw-r--r--textproc/yamlfmt/distinfo10
69 files changed, 1931 insertions, 227 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 6c3deac8e34e..f1f4b3ce0604 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -207,6 +207,7 @@
SUBDIR += fcitx5-m17n
SUBDIR += fcitx5-qt
SUBDIR += fcitx5-qt-common
+ SUBDIR += feluda
SUBDIR += fex
SUBDIR += ffe
SUBDIR += fi-aspell
@@ -1485,7 +1486,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/feluda/Makefile b/textproc/feluda/Makefile
new file mode 100644
index 000000000000..1461a4ab077f
--- /dev/null
+++ b/textproc/feluda/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= feluda
+DISTVERSION= 1.8.5
+CATEGORIES= textproc
+
+MAINTAINER= nxjoseph@protonmail.com
+COMMENT= Detect license usage restrictions in your project
+WWW= https://github.com/anistark/feluda
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libgit2.so:devel/libgit2 \
+ libssh2.so:security/libssh2
+
+USES= cargo localbase ssl
+USE_GITHUB= yes
+GH_ACCOUNT= anistark
+
+PLIST_FILES= bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/textproc/feluda/Makefile.crates b/textproc/feluda/Makefile.crates
new file mode 100644
index 000000000000..446c40472e1b
--- /dev/null
+++ b/textproc/feluda/Makefile.crates
@@ -0,0 +1,354 @@
+CARGO_CRATES= addr2line-0.24.2 \
+ adler2-2.0.0 \
+ aho-corasick-1.1.3 \
+ allocator-api2-0.2.21 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anstream-0.6.18 \
+ anstyle-1.0.10 \
+ anstyle-parse-0.2.6 \
+ anstyle-query-1.1.2 \
+ anstyle-wincon-3.0.7 \
+ atomic-0.6.0 \
+ atomic-waker-1.1.2 \
+ autocfg-1.4.0 \
+ backtrace-0.3.75 \
+ base64-0.22.1 \
+ bitflags-2.8.0 \
+ bstr-1.11.3 \
+ bumpalo-3.17.0 \
+ bytemuck-1.21.0 \
+ byteorder-1.5.0 \
+ bytes-1.10.0 \
+ camino-1.1.9 \
+ cargo-platform-0.2.0 \
+ cargo-util-schemas-0.2.0 \
+ cargo_metadata-0.20.0 \
+ cassowary-0.3.0 \
+ castaway-0.2.3 \
+ cc-1.2.14 \
+ cfg-if-1.0.0 \
+ cfg_aliases-0.2.1 \
+ chrono-0.4.41 \
+ clap-4.5.39 \
+ clap_builder-4.5.39 \
+ clap_derive-4.5.32 \
+ clap_lex-0.7.4 \
+ color-eyre-0.6.5 \
+ color-spantrace-0.3.0 \
+ colorchoice-1.0.3 \
+ colored-3.0.0 \
+ compact_str-0.8.1 \
+ core-foundation-0.9.4 \
+ core-foundation-sys-0.8.7 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crossterm-0.28.1 \
+ crossterm_winapi-0.9.1 \
+ cssparser-0.34.0 \
+ cssparser-macros-0.6.1 \
+ darling-0.20.10 \
+ darling_core-0.20.10 \
+ darling_macro-0.20.10 \
+ derive_more-0.99.19 \
+ dirs-6.0.0 \
+ dirs-sys-0.5.0 \
+ displaydoc-0.2.5 \
+ downcast-0.11.0 \
+ dtoa-1.0.9 \
+ dtoa-short-0.3.5 \
+ ego-tree-0.10.0 \
+ either-1.13.0 \
+ equivalent-1.0.2 \
+ erased-serde-0.4.6 \
+ errno-0.3.10 \
+ eyre-0.6.12 \
+ fastrand-2.3.0 \
+ figment-0.10.19 \
+ fnv-1.0.7 \
+ foldhash-0.1.4 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.1 \
+ fragile-2.0.0 \
+ futf-0.1.5 \
+ futures-channel-0.3.31 \
+ futures-core-0.3.31 \
+ futures-io-0.3.31 \
+ futures-sink-0.3.31 \
+ futures-task-0.3.31 \
+ futures-util-0.3.31 \
+ fxhash-0.2.1 \
+ getopts-0.2.21 \
+ getrandom-0.2.15 \
+ getrandom-0.3.1 \
+ gimli-0.31.1 \
+ git2-0.20.2 \
+ globset-0.4.15 \
+ h2-0.4.8 \
+ hashbrown-0.15.2 \
+ heck-0.4.1 \
+ heck-0.5.0 \
+ html5ever-0.29.1 \
+ http-1.3.1 \
+ http-body-1.0.1 \
+ http-body-util-0.1.2 \
+ httparse-1.10.0 \
+ hyper-1.6.0 \
+ hyper-rustls-0.27.5 \
+ hyper-tls-0.6.0 \
+ hyper-util-0.1.14 \
+ iana-time-zone-0.1.63 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-1.5.0 \
+ icu_locid-1.5.0 \
+ icu_locid_transform-1.5.0 \
+ icu_locid_transform_data-1.5.0 \
+ icu_normalizer-1.5.0 \
+ icu_normalizer_data-1.5.0 \
+ icu_properties-1.5.1 \
+ icu_properties_data-1.5.0 \
+ icu_provider-1.5.0 \
+ icu_provider_macros-1.5.0 \
+ ident_case-1.0.1 \
+ idna-1.0.3 \
+ idna_adapter-1.2.0 \
+ ignore-0.4.23 \
+ indenter-0.3.3 \
+ indexmap-2.7.1 \
+ indoc-2.0.5 \
+ inlinable_string-0.1.15 \
+ instability-0.3.7 \
+ ipnet-2.11.0 \
+ iri-string-0.7.8 \
+ is_terminal_polyfill-1.70.1 \
+ itertools-0.13.0 \
+ itoa-1.0.14 \
+ jobserver-0.1.32 \
+ js-sys-0.3.77 \
+ lazy_static-1.5.0 \
+ libc-0.2.172 \
+ libgit2-sys-0.18.1+1.9.0 \
+ libredox-0.1.3 \
+ libssh2-sys-0.3.1 \
+ libz-sys-1.1.22 \
+ linux-raw-sys-0.4.15 \
+ linux-raw-sys-0.9.2 \
+ litemap-0.7.4 \
+ lock_api-0.4.12 \
+ log-0.4.25 \
+ lru-0.12.5 \
+ mac-0.1.1 \
+ maplit-1.0.2 \
+ markup5ever-0.14.1 \
+ match_token-0.1.0 \
+ matchers-0.1.0 \
+ memchr-2.7.4 \
+ mime-0.3.17 \
+ miniz_oxide-0.8.8 \
+ mio-1.0.3 \
+ mockall-0.13.1 \
+ mockall_derive-0.13.1 \
+ native-tls-0.2.14 \
+ new_debug_unreachable-1.0.6 \
+ nu-ansi-term-0.46.0 \
+ num-traits-0.2.19 \
+ object-0.36.7 \
+ once_cell-1.20.3 \
+ openssl-0.10.73 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.6 \
+ openssl-sys-0.9.109 \
+ option-ext-0.2.0 \
+ ordered-float-2.10.1 \
+ overload-0.1.1 \
+ owo-colors-4.2.1 \
+ parking_lot-0.12.3 \
+ parking_lot_core-0.9.10 \
+ paste-1.0.15 \
+ pear-0.2.9 \
+ pear_codegen-0.2.9 \
+ percent-encoding-2.3.1 \
+ phf-0.11.3 \
+ phf_codegen-0.11.3 \
+ phf_generator-0.11.3 \
+ phf_macros-0.11.3 \
+ phf_shared-0.11.3 \
+ pin-project-lite-0.2.16 \
+ pin-utils-0.1.0 \
+ pkg-config-0.3.31 \
+ ppv-lite86-0.2.20 \
+ precomputed-hash-0.1.1 \
+ predicates-3.1.3 \
+ predicates-core-1.0.9 \
+ predicates-tree-1.0.12 \
+ proc-macro2-1.0.93 \
+ proc-macro2-diagnostics-0.10.1 \
+ quinn-0.11.6 \
+ quinn-proto-0.11.9 \
+ quinn-udp-0.5.10 \
+ quote-1.0.38 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ ratatui-0.29.0 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ redox_syscall-0.5.8 \
+ redox_users-0.5.0 \
+ regex-1.11.1 \
+ regex-automata-0.1.10 \
+ regex-automata-0.4.9 \
+ regex-syntax-0.6.29 \
+ regex-syntax-0.8.5 \
+ reqwest-0.12.19 \
+ ring-0.17.14 \
+ rustc-demangle-0.1.24 \
+ rustc-hash-2.1.1 \
+ rustix-0.38.44 \
+ rustix-1.0.2 \
+ rustls-0.23.23 \
+ rustls-pki-types-1.11.0 \
+ rustls-webpki-0.102.8 \
+ rustversion-1.0.19 \
+ ryu-1.0.19 \
+ same-file-1.0.6 \
+ schannel-0.1.27 \
+ scopeguard-1.2.0 \
+ scraper-0.23.1 \
+ security-framework-2.11.1 \
+ security-framework-sys-2.14.0 \
+ selectors-0.26.0 \
+ semver-1.0.25 \
+ serde-1.0.219 \
+ serde-untagged-0.1.7 \
+ serde-value-0.7.0 \
+ serde_derive-1.0.219 \
+ serde_json-1.0.140 \
+ serde_spanned-0.6.9 \
+ serde_urlencoded-0.7.1 \
+ serde_yaml-0.9.34+deprecated \
+ servo_arc-0.4.0 \
+ sharded-slab-0.1.7 \
+ shlex-1.3.0 \
+ signal-hook-0.3.17 \
+ signal-hook-mio-0.2.4 \
+ signal-hook-registry-1.4.2 \
+ siphasher-1.0.1 \
+ slab-0.4.9 \
+ smallvec-1.14.0 \
+ socket2-0.5.10 \
+ spinners-4.1.1 \
+ stable_deref_trait-1.2.0 \
+ static_assertions-1.1.0 \
+ string_cache-0.8.8 \
+ string_cache_codegen-0.5.3 \
+ strsim-0.11.1 \
+ strum-0.24.1 \
+ strum-0.26.3 \
+ strum_macros-0.24.3 \
+ strum_macros-0.26.4 \
+ subtle-2.6.1 \
+ syn-1.0.109 \
+ syn-2.0.98 \
+ sync_wrapper-1.0.2 \
+ synstructure-0.13.1 \
+ temp-env-0.3.6 \
+ tempfile-3.20.0 \
+ tendril-0.4.3 \
+ termtree-0.5.1 \
+ thiserror-1.0.69 \
+ thiserror-2.0.12 \
+ thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.12 \
+ thread_local-1.1.8 \
+ tinystr-0.7.6 \
+ tinyvec-1.8.1 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.45.1 \
+ tokio-native-tls-0.3.1 \
+ tokio-rustls-0.26.1 \
+ tokio-util-0.7.13 \
+ toml-0.8.23 \
+ toml_datetime-0.6.11 \
+ toml_edit-0.22.27 \
+ toml_write-0.1.2 \
+ tower-0.5.2 \
+ tower-http-0.6.6 \
+ tower-layer-0.3.3 \
+ tower-service-0.3.3 \
+ tracing-0.1.41 \
+ tracing-attributes-0.1.28 \
+ tracing-core-0.1.33 \
+ tracing-error-0.2.1 \
+ tracing-log-0.2.0 \
+ tracing-subscriber-0.3.19 \
+ try-lock-0.2.5 \
+ typeid-1.0.3 \
+ uncased-0.9.10 \
+ unicode-ident-1.0.16 \
+ unicode-segmentation-1.12.0 \
+ unicode-truncate-1.1.0 \
+ unicode-width-0.1.14 \
+ unicode-width-0.2.0 \
+ unicode-xid-0.2.6 \
+ unsafe-libyaml-0.2.11 \
+ untrusted-0.9.0 \
+ url-2.5.4 \
+ utf-8-0.7.6 \
+ utf16_iter-1.0.5 \
+ utf8_iter-1.0.4 \
+ utf8parse-0.2.2 \
+ valuable-0.1.1 \
+ vcpkg-0.2.15 \
+ version_check-0.9.5 \
+ walkdir-2.5.0 \
+ want-0.3.1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasi-0.13.3+wasi-0.2.2 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-futures-0.4.50 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ web-sys-0.3.77 \
+ web-time-1.1.0 \
+ webpki-roots-0.26.8 \
+ webpki-roots-1.0.0 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.9 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-core-0.60.1 \
+ windows-implement-0.59.0 \
+ windows-interface-0.59.1 \
+ windows-link-0.1.0 \
+ windows-result-0.3.1 \
+ windows-strings-0.3.1 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-targets-0.52.6 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.52.6 \
+ winnow-0.7.10 \
+ wit-bindgen-rt-0.33.0 \
+ write16-1.0.0 \
+ writeable-0.5.5 \
+ yansi-1.0.1 \
+ yoke-0.7.5 \
+ yoke-derive-0.7.5 \
+ zerocopy-0.7.35 \
+ zerocopy-derive-0.7.35 \
+ zerofrom-0.1.5 \
+ zerofrom-derive-0.1.5 \
+ zeroize-1.8.1 \
+ zerovec-0.10.4 \
+ zerovec-derive-0.10.3
diff --git a/textproc/feluda/distinfo b/textproc/feluda/distinfo
new file mode 100644
index 000000000000..8e4928969121
--- /dev/null
+++ b/textproc/feluda/distinfo
@@ -0,0 +1,711 @@
+TIMESTAMP = 1750626754
+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
+SIZE (rust/crates/adler2-2.0.0.crate) = 13529
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
+SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anstream-0.6.18.crate) = 8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b
+SIZE (rust/crates/anstream-0.6.18.crate) = 29681
+SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
+SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
+SHA256 (rust/crates/anstyle-parse-0.2.6.crate) = 3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9
+SIZE (rust/crates/anstyle-parse-0.2.6.crate) = 22343
+SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c
+SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969
+SHA256 (rust/crates/anstyle-wincon-3.0.7.crate) = ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e
+SIZE (rust/crates/anstyle-wincon-3.0.7.crate) = 12400
+SHA256 (rust/crates/atomic-0.6.0.crate) = 8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994
+SIZE (rust/crates/atomic-0.6.0.crate) = 12919
+SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
+SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002
+SIZE (rust/crates/backtrace-0.3.75.crate) = 92665
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/bitflags-2.8.0.crate) = 8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36
+SIZE (rust/crates/bitflags-2.8.0.crate) = 47482
+SHA256 (rust/crates/bstr-1.11.3.crate) = 531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0
+SIZE (rust/crates/bstr-1.11.3.crate) = 351536
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+SHA256 (rust/crates/bytemuck-1.21.0.crate) = ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3
+SIZE (rust/crates/bytemuck-1.21.0.crate) = 51553
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bytes-1.10.0.crate) = f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9
+SIZE (rust/crates/bytes-1.10.0.crate) = 76656
+SHA256 (rust/crates/camino-1.1.9.crate) = 8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3
+SIZE (rust/crates/camino-1.1.9.crate) = 37552
+SHA256 (rust/crates/cargo-platform-0.2.0.crate) = 84982c6c0ae343635a3a4ee6dedef965513735c8b183caa7289fa6e27399ebd4
+SIZE (rust/crates/cargo-platform-0.2.0.crate) = 13373
+SHA256 (rust/crates/cargo-util-schemas-0.2.0.crate) = e63d2780ac94487eb9f1fea7b0d56300abc9eb488800854ca217f102f5caccca
+SIZE (rust/crates/cargo-util-schemas-0.2.0.crate) = 23612
+SHA256 (rust/crates/cargo_metadata-0.20.0.crate) = 4f7835cfc6135093070e95eb2b53e5d9b5c403dc3a6be6040ee026270aa82502
+SIZE (rust/crates/cargo_metadata-0.20.0.crate) = 32312
+SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53
+SIZE (rust/crates/cassowary-0.3.0.crate) = 22876
+SHA256 (rust/crates/castaway-0.2.3.crate) = 0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5
+SIZE (rust/crates/castaway-0.2.3.crate) = 11509
+SHA256 (rust/crates/cc-1.2.14.crate) = 0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9
+SIZE (rust/crates/cc-1.2.14.crate) = 103164
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
+SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
+SIZE (rust/crates/chrono-0.4.41.crate) = 234621
+SHA256 (rust/crates/clap-4.5.39.crate) = fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f
+SIZE (rust/crates/clap-4.5.39.crate) = 57328
+SHA256 (rust/crates/clap_builder-4.5.39.crate) = 89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51
+SIZE (rust/crates/clap_builder-4.5.39.crate) = 169142
+SHA256 (rust/crates/clap_derive-4.5.32.crate) = 09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7
+SIZE (rust/crates/clap_derive-4.5.32.crate) = 33441
+SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
+SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/color-eyre-0.6.5.crate) = e5920befb47832a6d61ee3a3a846565cfa39b331331e68a3b1d1116630f2f26d
+SIZE (rust/crates/color-eyre-0.6.5.crate) = 636255
+SHA256 (rust/crates/color-spantrace-0.3.0.crate) = b8b88ea9df13354b55bc7234ebcce36e6ef896aca2e42a15de9e10edce01b427
+SIZE (rust/crates/color-spantrace-0.3.0.crate) = 12884
+SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
+SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
+SHA256 (rust/crates/colored-3.0.0.crate) = fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e
+SIZE (rust/crates/colored-3.0.0.crate) = 34497
+SHA256 (rust/crates/compact_str-0.8.1.crate) = 3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32
+SIZE (rust/crates/compact_str-0.8.1.crate) = 71371
+SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
+SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crossterm-0.28.1.crate) = 829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6
+SIZE (rust/crates/crossterm-0.28.1.crate) = 132275
+SHA256 (rust/crates/crossterm_winapi-0.9.1.crate) = acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b
+SIZE (rust/crates/crossterm_winapi-0.9.1.crate) = 16027
+SHA256 (rust/crates/cssparser-0.34.0.crate) = b7c66d1cd8ed61bf80b38432613a7a2f09401ab8d0501110655f8b341484a3e3
+SIZE (rust/crates/cssparser-0.34.0.crate) = 53857
+SHA256 (rust/crates/cssparser-macros-0.6.1.crate) = 13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331
+SIZE (rust/crates/cssparser-macros-0.6.1.crate) = 7914
+SHA256 (rust/crates/darling-0.20.10.crate) = 6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989
+SIZE (rust/crates/darling-0.20.10.crate) = 32031
+SHA256 (rust/crates/darling_core-0.20.10.crate) = 95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5
+SIZE (rust/crates/darling_core-0.20.10.crate) = 65015
+SHA256 (rust/crates/darling_macro-0.20.10.crate) = d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806
+SIZE (rust/crates/darling_macro-0.20.10.crate) = 1874
+SHA256 (rust/crates/derive_more-0.99.19.crate) = 3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f
+SIZE (rust/crates/derive_more-0.99.19.crate) = 55072
+SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
+SIZE (rust/crates/dirs-6.0.0.crate) = 14190
+SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab
+SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/downcast-0.11.0.crate) = 1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1
+SIZE (rust/crates/downcast-0.11.0.crate) = 5976
+SHA256 (rust/crates/dtoa-1.0.9.crate) = dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653
+SIZE (rust/crates/dtoa-1.0.9.crate) = 17002
+SHA256 (rust/crates/dtoa-short-0.3.5.crate) = cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87
+SIZE (rust/crates/dtoa-short-0.3.5.crate) = 8287
+SHA256 (rust/crates/ego-tree-0.10.0.crate) = b2972feb8dffe7bc8c5463b1dacda1b0dfbed3710e50f977d965429692d74cd8
+SIZE (rust/crates/ego-tree-0.10.0.crate) = 17436
+SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
+SIZE (rust/crates/either-1.13.0.crate) = 19169
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/erased-serde-0.4.6.crate) = e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7
+SIZE (rust/crates/erased-serde-0.4.6.crate) = 28352
+SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
+SIZE (rust/crates/errno-0.3.10.crate) = 11824
+SHA256 (rust/crates/eyre-0.6.12.crate) = 7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec
+SIZE (rust/crates/eyre-0.6.12.crate) = 45330
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/figment-0.10.19.crate) = 8cb01cd46b0cf372153850f4c6c272d9cbea2da513e07538405148f95bd789f3
+SIZE (rust/crates/figment-0.10.19.crate) = 70111
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/foldhash-0.1.4.crate) = a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f
+SIZE (rust/crates/foldhash-0.1.4.crate) = 13764
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/fragile-2.0.0.crate) = 6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa
+SIZE (rust/crates/fragile-2.0.0.crate) = 14668
+SHA256 (rust/crates/futf-0.1.5.crate) = df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843
+SIZE (rust/crates/futf-0.1.5.crate) = 11344
+SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
+SIZE (rust/crates/futures-channel-0.3.31.crate) = 31971
+SHA256 (rust/crates/futures-core-0.3.31.crate) = 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e
+SIZE (rust/crates/futures-core-0.3.31.crate) = 14318
+SHA256 (rust/crates/futures-io-0.3.31.crate) = 9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6
+SIZE (rust/crates/futures-io-0.3.31.crate) = 9047
+SHA256 (rust/crates/futures-sink-0.3.31.crate) = e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7
+SIZE (rust/crates/futures-sink-0.3.31.crate) = 7958
+SHA256 (rust/crates/futures-task-0.3.31.crate) = f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988
+SIZE (rust/crates/futures-task-0.3.31.crate) = 11217
+SHA256 (rust/crates/futures-util-0.3.31.crate) = 9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81
+SIZE (rust/crates/futures-util-0.3.31.crate) = 162124
+SHA256 (rust/crates/fxhash-0.2.1.crate) = c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c
+SIZE (rust/crates/fxhash-0.2.1.crate) = 4102
+SHA256 (rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5
+SIZE (rust/crates/getopts-0.2.21.crate) = 18457
+SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
+SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
+SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
+SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
+SIZE (rust/crates/gimli-0.31.1.crate) = 279515
+SHA256 (rust/crates/git2-0.20.2.crate) = 2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110
+SIZE (rust/crates/git2-0.20.2.crate) = 223479
+SHA256 (rust/crates/globset-0.4.15.crate) = 15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19
+SIZE (rust/crates/globset-0.4.15.crate) = 25177
+SHA256 (rust/crates/h2-0.4.8.crate) = 5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2
+SIZE (rust/crates/h2-0.4.8.crate) = 174535
+SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
+SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/html5ever-0.29.1.crate) = 3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c
+SIZE (rust/crates/html5ever-0.29.1.crate) = 72424
+SHA256 (rust/crates/http-1.3.1.crate) = f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565
+SIZE (rust/crates/http-1.3.1.crate) = 106063
+SHA256 (rust/crates/http-body-1.0.1.crate) = 1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184
+SIZE (rust/crates/http-body-1.0.1.crate) = 6125
+SHA256 (rust/crates/http-body-util-0.1.2.crate) = 793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f
+SIZE (rust/crates/http-body-util-0.1.2.crate) = 12821
+SHA256 (rust/crates/httparse-1.10.0.crate) = f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a
+SIZE (rust/crates/httparse-1.10.0.crate) = 44882
+SHA256 (rust/crates/hyper-1.6.0.crate) = cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80
+SIZE (rust/crates/hyper-1.6.0.crate) = 153923
+SHA256 (rust/crates/hyper-rustls-0.27.5.crate) = 2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2
+SIZE (rust/crates/hyper-rustls-0.27.5.crate) = 34660
+SHA256 (rust/crates/hyper-tls-0.6.0.crate) = 70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0
+SIZE (rust/crates/hyper-tls-0.6.0.crate) = 15052
+SHA256 (rust/crates/hyper-util-0.1.14.crate) = dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb
+SIZE (rust/crates/hyper-util-0.1.14.crate) = 101462
+SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8
+SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/icu_collections-1.5.0.crate) = db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526
+SIZE (rust/crates/icu_collections-1.5.0.crate) = 82762
+SHA256 (rust/crates/icu_locid-1.5.0.crate) = 13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637
+SIZE (rust/crates/icu_locid-1.5.0.crate) = 55131
+SHA256 (rust/crates/icu_locid_transform-1.5.0.crate) = 01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e
+SIZE (rust/crates/icu_locid_transform-1.5.0.crate) = 29094
+SHA256 (rust/crates/icu_locid_transform_data-1.5.0.crate) = fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e
+SIZE (rust/crates/icu_locid_transform_data-1.5.0.crate) = 44727
+SHA256 (rust/crates/icu_normalizer-1.5.0.crate) = 19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f
+SIZE (rust/crates/icu_normalizer-1.5.0.crate) = 53113
+SHA256 (rust/crates/icu_normalizer_data-1.5.0.crate) = f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516
+SIZE (rust/crates/icu_normalizer_data-1.5.0.crate) = 50561
+SHA256 (rust/crates/icu_properties-1.5.1.crate) = 93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5
+SIZE (rust/crates/icu_properties-1.5.1.crate) = 64479
+SHA256 (rust/crates/icu_properties_data-1.5.0.crate) = 67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569
+SIZE (rust/crates/icu_properties_data-1.5.0.crate) = 227993
+SHA256 (rust/crates/icu_provider-1.5.0.crate) = 6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9
+SIZE (rust/crates/icu_provider-1.5.0.crate) = 52722
+SHA256 (rust/crates/icu_provider_macros-1.5.0.crate) = 1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6
+SIZE (rust/crates/icu_provider_macros-1.5.0.crate) = 6436
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e
+SIZE (rust/crates/idna-1.0.3.crate) = 142515
+SHA256 (rust/crates/idna_adapter-1.2.0.crate) = daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71
+SIZE (rust/crates/idna_adapter-1.2.0.crate) = 8206
+SHA256 (rust/crates/ignore-0.4.23.crate) = 6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b
+SIZE (rust/crates/ignore-0.4.23.crate) = 55901
+SHA256 (rust/crates/indenter-0.3.3.crate) = ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683
+SIZE (rust/crates/indenter-0.3.3.crate) = 6587
+SHA256 (rust/crates/indexmap-2.7.1.crate) = 8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652
+SIZE (rust/crates/indexmap-2.7.1.crate) = 88644
+SHA256 (rust/crates/indoc-2.0.5.crate) = b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5
+SIZE (rust/crates/indoc-2.0.5.crate) = 14396
+SHA256 (rust/crates/inlinable_string-0.1.15.crate) = c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb
+SIZE (rust/crates/inlinable_string-0.1.15.crate) = 19290
+SHA256 (rust/crates/instability-0.3.7.crate) = 0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d
+SIZE (rust/crates/instability-0.3.7.crate) = 13682
+SHA256 (rust/crates/ipnet-2.11.0.crate) = 469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130
+SIZE (rust/crates/ipnet-2.11.0.crate) = 29718
+SHA256 (rust/crates/iri-string-0.7.8.crate) = dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2
+SIZE (rust/crates/iri-string-0.7.8.crate) = 141493
+SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
+SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
+SIZE (rust/crates/itertools-0.13.0.crate) = 146261
+SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
+SIZE (rust/crates/itoa-1.0.14.crate) = 11210
+SHA256 (rust/crates/jobserver-0.1.32.crate) = 48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0
+SIZE (rust/crates/jobserver-0.1.32.crate) = 27549
+SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
+SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
+SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
+SIZE (rust/crates/libc-0.2.172.crate) = 791646
+SHA256 (rust/crates/libgit2-sys-0.18.1+1.9.0.crate) = e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e
+SIZE (rust/crates/libgit2-sys-0.18.1+1.9.0.crate) = 1855262
+SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d
+SIZE (rust/crates/libredox-0.1.3.crate) = 6068
+SHA256 (rust/crates/libssh2-sys-0.3.1.crate) = 220e4f05ad4a218192533b300327f5150e809b54c4ec83b5a1d91833601811b9
+SIZE (rust/crates/libssh2-sys-0.3.1.crate) = 582851
+SHA256 (rust/crates/libz-sys-1.1.22.crate) = 8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d
+SIZE (rust/crates/libz-sys-1.1.22.crate) = 841053
+SHA256 (rust/crates/linux-raw-sys-0.4.15.crate) = d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab
+SIZE (rust/crates/linux-raw-sys-0.4.15.crate) = 2150898
+SHA256 (rust/crates/linux-raw-sys-0.9.2.crate) = 6db9c683daf087dc577b7506e9695b3d556a9f3849903fa28186283afd6809e9
+SIZE (rust/crates/linux-raw-sys-0.9.2.crate) = 2297426
+SHA256 (rust/crates/litemap-0.7.4.crate) = 4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104
+SIZE (rust/crates/litemap-0.7.4.crate) = 28257
+SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17
+SIZE (rust/crates/lock_api-0.4.12.crate) = 27591
+SHA256 (rust/crates/log-0.4.25.crate) = 04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f
+SIZE (rust/crates/log-0.4.25.crate) = 44876
+SHA256 (rust/crates/lru-0.12.5.crate) = 234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38
+SIZE (rust/crates/lru-0.12.5.crate) = 16047
+SHA256 (rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
+SIZE (rust/crates/mac-0.1.1.crate) = 4838
+SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
+SIZE (rust/crates/maplit-1.0.2.crate) = 8871
+SHA256 (rust/crates/markup5ever-0.14.1.crate) = c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18
+SIZE (rust/crates/markup5ever-0.14.1.crate) = 38103
+SHA256 (rust/crates/match_token-0.1.0.crate) = 88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b
+SIZE (rust/crates/match_token-0.1.0.crate) = 4903
+SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
+SIZE (rust/crates/matchers-0.1.0.crate) = 6948
+SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
+SIZE (rust/crates/memchr-2.7.4.crate) = 96670
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/miniz_oxide-0.8.8.crate) = 3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a
+SIZE (rust/crates/miniz_oxide-0.8.8.crate) = 67065
+SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd
+SIZE (rust/crates/mio-1.0.3.crate) = 103703
+SHA256 (rust/crates/mockall-0.13.1.crate) = 39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2
+SIZE (rust/crates/mockall-0.13.1.crate) = 22825
+SHA256 (rust/crates/mockall_derive-0.13.1.crate) = 25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898
+SIZE (rust/crates/mockall_derive-0.13.1.crate) = 47822
+SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
+SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
+SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
+SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
+SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
+SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
+SIZE (rust/crates/object-0.36.7.crate) = 329938
+SHA256 (rust/crates/once_cell-1.20.3.crate) = 945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e
+SIZE (rust/crates/once_cell-1.20.3.crate) = 33456
+SHA256 (rust/crates/openssl-0.10.73.crate) = 8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8
+SIZE (rust/crates/openssl-0.10.73.crate) = 283994
+SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c
+SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
+SHA256 (rust/crates/openssl-probe-0.1.6.crate) = d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e
+SIZE (rust/crates/openssl-probe-0.1.6.crate) = 8128
+SHA256 (rust/crates/openssl-sys-0.9.109.crate) = 90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571
+SIZE (rust/crates/openssl-sys-0.9.109.crate) = 78247
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/ordered-float-2.10.1.crate) = 68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c
+SIZE (rust/crates/ordered-float-2.10.1.crate) = 16029
+SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
+SIZE (rust/crates/overload-0.1.1.crate) = 24439
+SHA256 (rust/crates/owo-colors-4.2.1.crate) = 26995317201fa17f3656c36716aed4a7c81743a9634ac4c99c0eeda495db0cec
+SIZE (rust/crates/owo-colors-4.2.1.crate) = 37924
+SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27
+SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860
+SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8
+SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406
+SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
+SIZE (rust/crates/paste-1.0.15.crate) = 18374
+SHA256 (rust/crates/pear-0.2.9.crate) = bdeeaa00ce488657faba8ebf44ab9361f9365a97bd39ffb8a60663f57ff4b467
+SIZE (rust/crates/pear-0.2.9.crate) = 19083
+SHA256 (rust/crates/pear_codegen-0.2.9.crate) = 4bab5b985dc082b345f812b7df84e1bef27e7207b39e448439ba8bd69c93f147
+SIZE (rust/crates/pear_codegen-0.2.9.crate) = 7250
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/phf-0.11.3.crate) = 1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078
+SIZE (rust/crates/phf-0.11.3.crate) = 23231
+SHA256 (rust/crates/phf_codegen-0.11.3.crate) = aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a
+SIZE (rust/crates/phf_codegen-0.11.3.crate) = 13741
+SHA256 (rust/crates/phf_generator-0.11.3.crate) = 3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d
+SIZE (rust/crates/phf_generator-0.11.3.crate) = 15431
+SHA256 (rust/crates/phf_macros-0.11.3.crate) = f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216
+SIZE (rust/crates/phf_macros-0.11.3.crate) = 18436
+SHA256 (rust/crates/phf_shared-0.11.3.crate) = 67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5
+SIZE (rust/crates/phf_shared-0.11.3.crate) = 15199
+SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b
+SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.31.crate) = 953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2
+SIZE (rust/crates/pkg-config-0.3.31.crate) = 20880
+SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
+SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
+SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
+SHA256 (rust/crates/predicates-3.1.3.crate) = a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573
+SIZE (rust/crates/predicates-3.1.3.crate) = 24063
+SHA256 (rust/crates/predicates-core-1.0.9.crate) = 727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa
+SIZE (rust/crates/predicates-core-1.0.9.crate) = 8618
+SHA256 (rust/crates/predicates-tree-1.0.12.crate) = 72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c
+SIZE (rust/crates/predicates-tree-1.0.12.crate) = 8392
+SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
+SIZE (rust/crates/proc-macro2-1.0.93.crate) = 52388
+SHA256 (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8
+SIZE (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = 12219
+SHA256 (rust/crates/quinn-0.11.6.crate) = 62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef
+SIZE (rust/crates/quinn-0.11.6.crate) = 78222
+SHA256 (rust/crates/quinn-proto-0.11.9.crate) = a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d
+SIZE (rust/crates/quinn-proto-0.11.9.crate) = 209286
+SHA256 (rust/crates/quinn-udp-0.5.10.crate) = e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944
+SIZE (rust/crates/quinn-udp-0.5.10.crate) = 30920
+SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc
+SIZE (rust/crates/quote-1.0.38.crate) = 31252
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/ratatui-0.29.0.crate) = eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b
+SIZE (rust/crates/ratatui-0.29.0.crate) = 543514
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/redox_syscall-0.5.8.crate) = 03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834
+SIZE (rust/crates/redox_syscall-0.5.8.crate) = 26319
+SHA256 (rust/crates/redox_users-0.5.0.crate) = dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b
+SIZE (rust/crates/redox_users-0.5.0.crate) = 15586
+SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
+SIZE (rust/crates/regex-1.11.1.crate) = 254170
+SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
+SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
+SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908
+SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525
+SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1
+SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
+SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
+SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
+SHA256 (rust/crates/reqwest-0.12.19.crate) = a2f8e5513d63f2e5b386eb5106dc67eaf3f84e95258e210489136b8b92ad6119
+SIZE (rust/crates/reqwest-0.12.19.crate) = 198998
+SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7
+SIZE (rust/crates/ring-0.17.14.crate) = 1502610
+SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f
+SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
+SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154
+SIZE (rust/crates/rustix-0.38.44.crate) = 379347
+SHA256 (rust/crates/rustix-1.0.2.crate) = f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825
+SIZE (rust/crates/rustix-1.0.2.crate) = 411835
+SHA256 (rust/crates/rustls-0.23.23.crate) = 47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395
+SIZE (rust/crates/rustls-0.23.23.crate) = 342561
+SHA256 (rust/crates/rustls-pki-types-1.11.0.crate) = 917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c
+SIZE (rust/crates/rustls-pki-types-1.11.0.crate) = 63933
+SHA256 (rust/crates/rustls-webpki-0.102.8.crate) = 64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9
+SIZE (rust/crates/rustls-webpki-0.102.8.crate) = 204327
+SHA256 (rust/crates/rustversion-1.0.19.crate) = f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4
+SIZE (rust/crates/rustversion-1.0.19.crate) = 20616
+SHA256 (rust/crates/ryu-1.0.19.crate) = 6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd
+SIZE (rust/crates/ryu-1.0.19.crate) = 48770
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/schannel-0.1.27.crate) = 1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d
+SIZE (rust/crates/schannel-0.1.27.crate) = 42772
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/scraper-0.23.1.crate) = 527e65d9d888567588db4c12da1087598d0f6f8b346cc2c5abc91f05fc2dffe2
+SIZE (rust/crates/scraper-0.23.1.crate) = 24157
+SHA256 (rust/crates/security-framework-2.11.1.crate) = 897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02
+SIZE (rust/crates/security-framework-2.11.1.crate) = 80188
+SHA256 (rust/crates/security-framework-sys-2.14.0.crate) = 49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32
+SIZE (rust/crates/security-framework-sys-2.14.0.crate) = 20537
+SHA256 (rust/crates/selectors-0.26.0.crate) = fd568a4c9bb598e291a08244a5c1f5a8a6650bee243b5b0f8dbb3d9cc1d87fe8
+SIZE (rust/crates/selectors-0.26.0.crate) = 64329
+SHA256 (rust/crates/semver-1.0.25.crate) = f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03
+SIZE (rust/crates/semver-1.0.25.crate) = 31291
+SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
+SIZE (rust/crates/serde-1.0.219.crate) = 78983
+SHA256 (rust/crates/serde-untagged-0.1.7.crate) = 299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e
+SIZE (rust/crates/serde-untagged-0.1.7.crate) = 17371
+SHA256 (rust/crates/serde-value-0.7.0.crate) = f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c
+SIZE (rust/crates/serde-value-0.7.0.crate) = 10249
+SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
+SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
+SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373
+SIZE (rust/crates/serde_json-1.0.140.crate) = 154852
+SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3
+SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47
+SIZE (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 65290
+SHA256 (rust/crates/servo_arc-0.4.0.crate) = ae65c4249478a2647db249fb43e23cec56a2c8974a427e7bd8cb5a1d0964921a
+SIZE (rust/crates/servo_arc-0.4.0.crate) = 15813
+SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
+SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801
+SIZE (rust/crates/signal-hook-0.3.17.crate) = 50296
+SHA256 (rust/crates/signal-hook-mio-0.2.4.crate) = 34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd
+SIZE (rust/crates/signal-hook-mio-0.2.4.crate) = 9314
+SHA256 (rust/crates/signal-hook-registry-1.4.2.crate) = a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1
+SIZE (rust/crates/signal-hook-registry-1.4.2.crate) = 18064
+SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
+SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.14.0.crate) = 7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd
+SIZE (rust/crates/smallvec-1.14.0.crate) = 35561
+SHA256 (rust/crates/socket2-0.5.10.crate) = e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678
+SIZE (rust/crates/socket2-0.5.10.crate) = 58169
+SHA256 (rust/crates/spinners-4.1.1.crate) = a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82
+SIZE (rust/crates/spinners-4.1.1.crate) = 9238
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/string_cache-0.8.8.crate) = 938d512196766101d333398efde81bc1f37b00cb42c2f8350e5df639f040bbbe
+SIZE (rust/crates/string_cache-0.8.8.crate) = 17181
+SHA256 (rust/crates/string_cache_codegen-0.5.3.crate) = 244292f3441c89febe5b5bdfbb6863aeaf4f64da810ea3050fd927b27b8d92ce
+SIZE (rust/crates/string_cache_codegen-0.5.3.crate) = 9176
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/strum-0.24.1.crate) = 063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f
+SIZE (rust/crates/strum-0.24.1.crate) = 5636
+SHA256 (rust/crates/strum-0.26.3.crate) = 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06
+SIZE (rust/crates/strum-0.26.3.crate) = 7237
+SHA256 (rust/crates/strum_macros-0.24.3.crate) = 1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59
+SIZE (rust/crates/strum_macros-0.24.3.crate) = 20696
+SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be
+SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531
+SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
+SIZE (rust/crates/subtle-2.6.1.crate) = 14562
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.98.crate) = 36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1
+SIZE (rust/crates/syn-2.0.98.crate) = 297807
+SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263
+SIZE (rust/crates/sync_wrapper-1.0.2.crate) = 6958
+SHA256 (rust/crates/synstructure-0.13.1.crate) = c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971
+SIZE (rust/crates/synstructure-0.13.1.crate) = 18327
+SHA256 (rust/crates/temp-env-0.3.6.crate) = 96374855068f47402c3121c6eed88d29cb1de8f3ab27090e273e420bdabcf050
+SIZE (rust/crates/temp-env-0.3.6.crate) = 10746
+SHA256 (rust/crates/tempfile-3.20.0.crate) = e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1
+SIZE (rust/crates/tempfile-3.20.0.crate) = 42306
+SHA256 (rust/crates/tendril-0.4.3.crate) = d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0
+SIZE (rust/crates/tendril-0.4.3.crate) = 37210
+SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
+SIZE (rust/crates/termtree-0.5.1.crate) = 8498
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708
+SIZE (rust/crates/thiserror-2.0.12.crate) = 28693
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
+SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
+SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c
+SIZE (rust/crates/thread_local-1.1.8.crate) = 13962
+SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
+SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
+SHA256 (rust/crates/tinyvec-1.8.1.crate) = 022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8
+SIZE (rust/crates/tinyvec-1.8.1.crate) = 47269
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/tokio-1.45.1.crate) = 75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779
+SIZE (rust/crates/tokio-1.45.1.crate) = 811787
+SHA256 (rust/crates/tokio-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2
+SIZE (rust/crates/tokio-native-tls-0.3.1.crate) = 20676
+SHA256 (rust/crates/tokio-rustls-0.26.1.crate) = 5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37
+SIZE (rust/crates/tokio-rustls-0.26.1.crate) = 31214
+SHA256 (rust/crates/tokio-util-0.7.13.crate) = d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078
+SIZE (rust/crates/tokio-util-0.7.13.crate) = 115191
+SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362
+SIZE (rust/crates/toml-0.8.23.crate) = 36050
+SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c
+SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125
+SHA256 (rust/crates/toml_edit-0.22.27.crate) = 41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a
+SIZE (rust/crates/toml_edit-0.22.27.crate) = 78602
+SHA256 (rust/crates/toml_write-0.1.2.crate) = 5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801
+SIZE (rust/crates/toml_write-0.1.2.crate) = 15660
+SHA256 (rust/crates/tower-0.5.2.crate) = d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9
+SIZE (rust/crates/tower-0.5.2.crate) = 109417
+SHA256 (rust/crates/tower-http-0.6.6.crate) = adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2
+SIZE (rust/crates/tower-http-0.6.6.crate) = 133515
+SHA256 (rust/crates/tower-layer-0.3.3.crate) = 121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e
+SIZE (rust/crates/tower-layer-0.3.3.crate) = 6180
+SHA256 (rust/crates/tower-service-0.3.3.crate) = 8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3
+SIZE (rust/crates/tower-service-0.3.3.crate) = 6950
+SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0
+SIZE (rust/crates/tracing-0.1.41.crate) = 82448
+SHA256 (rust/crates/tracing-attributes-0.1.28.crate) = 395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d
+SIZE (rust/crates/tracing-attributes-0.1.28.crate) = 33280
+SHA256 (rust/crates/tracing-core-0.1.33.crate) = e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c
+SIZE (rust/crates/tracing-core-0.1.33.crate) = 63434
+SHA256 (rust/crates/tracing-error-0.2.1.crate) = 8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db
+SIZE (rust/crates/tracing-error-0.2.1.crate) = 14135
+SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
+SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
+SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008
+SIZE (rust/crates/tracing-subscriber-0.3.19.crate) = 198345
+SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b
+SIZE (rust/crates/try-lock-0.2.5.crate) = 4314
+SHA256 (rust/crates/typeid-1.0.3.crate) = bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c
+SIZE (rust/crates/typeid-1.0.3.crate) = 9006
+SHA256 (rust/crates/uncased-0.9.10.crate) = e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697
+SIZE (rust/crates/uncased-0.9.10.crate) = 10872
+SHA256 (rust/crates/unicode-ident-1.0.16.crate) = a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034
+SIZE (rust/crates/unicode-ident-1.0.16.crate) = 47684
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/unicode-truncate-1.1.0.crate) = b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf
+SIZE (rust/crates/unicode-truncate-1.1.0.crate) = 12529
+SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af
+SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615
+SHA256 (rust/crates/unicode-width-0.2.0.crate) = 1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd
+SIZE (rust/crates/unicode-width-0.2.0.crate) = 271509
+SHA256 (rust/crates/unicode-xid-0.2.6.crate) = ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853
+SIZE (rust/crates/unicode-xid-0.2.6.crate) = 15744
+SHA256 (rust/crates/unsafe-libyaml-0.2.11.crate) = 673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861
+SIZE (rust/crates/unsafe-libyaml-0.2.11.crate) = 62101
+SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
+SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
+SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
+SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
+SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
+SHA256 (rust/crates/utf16_iter-1.0.5.crate) = c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246
+SIZE (rust/crates/utf16_iter-1.0.5.crate) = 9736
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65
+SIZE (rust/crates/valuable-0.1.1.crate) = 28679
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e
+SIZE (rust/crates/want-0.3.1.crate) = 6398
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2
+SIZE (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 136754
+SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
+SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
+SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.50.crate) = 555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61
+SIZE (rust/crates/wasm-bindgen-futures-0.4.50.crate) = 16181
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
+SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
+SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2
+SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
+SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
+SIZE (rust/crates/web-time-1.1.0.crate) = 18026
+SHA256 (rust/crates/webpki-roots-0.26.8.crate) = 2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9
+SIZE (rust/crates/webpki-roots-0.26.8.crate) = 257981
+SHA256 (rust/crates/webpki-roots-1.0.0.crate) = 2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb
+SIZE (rust/crates/webpki-roots-1.0.0.crate) = 248893
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb
+SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-core-0.60.1.crate) = ca21a92a9cae9bf4ccae5cf8368dce0837100ddf6e6d57936749e85f152f6247
+SIZE (rust/crates/windows-core-0.60.1.crate) = 36171
+SHA256 (rust/crates/windows-implement-0.59.0.crate) = 83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1
+SIZE (rust/crates/windows-implement-0.59.0.crate) = 11373
+SHA256 (rust/crates/windows-interface-0.59.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8
+SIZE (rust/crates/windows-interface-0.59.1.crate) = 11735
+SHA256 (rust/crates/windows-link-0.1.0.crate) = 6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3
+SIZE (rust/crates/windows-link-0.1.0.crate) = 6153
+SHA256 (rust/crates/windows-result-0.3.1.crate) = 06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189
+SIZE (rust/crates/windows-result-0.3.1.crate) = 13383
+SHA256 (rust/crates/windows-strings-0.3.1.crate) = 87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319
+SIZE (rust/crates/windows-strings-0.3.1.crate) = 13922
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/winnow-0.7.10.crate) = c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec
+SIZE (rust/crates/winnow-0.7.10.crate) = 176073
+SHA256 (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c
+SIZE (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3357
+SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
+SIZE (rust/crates/write16-1.0.0.crate) = 7218
+SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
+SIZE (rust/crates/writeable-0.5.5.crate) = 22354
+SHA256 (rust/crates/yansi-1.0.1.crate) = cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049
+SIZE (rust/crates/yansi-1.0.1.crate) = 75497
+SHA256 (rust/crates/yoke-0.7.5.crate) = 120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40
+SIZE (rust/crates/yoke-0.7.5.crate) = 29673
+SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154
+SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
+SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
+SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
+SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
+SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
+SHA256 (rust/crates/zerofrom-0.1.5.crate) = cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e
+SIZE (rust/crates/zerofrom-0.1.5.crate) = 5091
+SHA256 (rust/crates/zerofrom-derive-0.1.5.crate) = 595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808
+SIZE (rust/crates/zerofrom-derive-0.1.5.crate) = 8285
+SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde
+SIZE (rust/crates/zeroize-1.8.1.crate) = 20029
+SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079
+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 (anistark-feluda-1.8.5_GH0.tar.gz) = 9e86ac73fe7aaada534992523b4f0a2ea7bbe44d5e89d0eec9dd898f77101bb4
+SIZE (anistark-feluda-1.8.5_GH0.tar.gz) = 88219
diff --git a/textproc/feluda/pkg-descr b/textproc/feluda/pkg-descr
new file mode 100644
index 000000000000..a5f035923a0d
--- /dev/null
+++ b/textproc/feluda/pkg-descr
@@ -0,0 +1,3 @@
+Feluda is a Rust-based command-line tool that analyzes the dependencies
+of a project, notes down their licenses, and flags any permissions that
+restrict personal or commercial usage.
diff --git a/textproc/go-yq/Makefile b/textproc/go-yq/Makefile
index e0bf7914c3c1..ca893c964758 100644
--- a/textproc/go-yq/Makefile
+++ b/textproc/go-yq/Makefile
@@ -1,16 +1,16 @@
-PORTNAME= go-yq
+PORTNAME= go-yq
DISTVERSIONPREFIX= v
-DISTVERSION= 4.44.2
-PORTREVISION= 3
-CATEGORIES= textproc
+DISTVERSION= 4.45.4
+CATEGORIES= textproc
MAINTAINER= timp87@gmail.com
COMMENT= Portable commandline YAML processor written in go
WWW= https://github.com/mikefarah/yq
LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:1.21,modules
+USES= go:1.24,modules
GO_MODULE= github.com/mikefarah/yq/v4
GO_TARGET= .:yq
diff --git a/textproc/go-yq/distinfo b/textproc/go-yq/distinfo
index f5e5064fe352..f6a19e4e8f38 100644
--- a/textproc/go-yq/distinfo
+++ b/textproc/go-yq/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1721232275
-SHA256 (go/textproc_go-yq/go-yq-v4.44.2/v4.44.2.mod) = 132ef6c3f5d4dbab51f83a8f917b03f26905aafe7554fa6e99ffbde6cf3edbde
-SIZE (go/textproc_go-yq/go-yq-v4.44.2/v4.44.2.mod) = 1030
-SHA256 (go/textproc_go-yq/go-yq-v4.44.2/v4.44.2.zip) = 91705006fd571a0a0e2cee6c9b0ffd77e430681659c906b94601704dca7eb448
-SIZE (go/textproc_go-yq/go-yq-v4.44.2/v4.44.2.zip) = 477231
+TIMESTAMP = 1750777412
+SHA256 (go/textproc_go-yq/go-yq-v4.45.4/v4.45.4.mod) = 3828ced67e69ab15e357b5d5d065a4d1b5b4fede629b646c0699b6820c564ffa
+SIZE (go/textproc_go-yq/go-yq-v4.45.4/v4.45.4.mod) = 982
+SHA256 (go/textproc_go-yq/go-yq-v4.45.4/v4.45.4.zip) = dc3ddd7f4ad66e98d26e5deb8826c95fd4d22f1e11989cd3690ddd93780d3fca
+SIZE (go/textproc_go-yq/go-yq-v4.45.4/v4.45.4.zip) = 456199
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/libjcat/Makefile b/textproc/libjcat/Makefile
index df4c83fdf578..b5df28c2ef59 100644
--- a/textproc/libjcat/Makefile
+++ b/textproc/libjcat/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libjcat
DISTVERSION= 0.2.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= textproc
MASTER_SITES= https://github.com/hughsie/${PORTNAME}/releases/download/${DISTVERSION}/
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..8939dc02e167 100644
--- a/textproc/opensearch-dashboards219/Makefile
+++ b/textproc/opensearch-dashboards219/Makefile
@@ -1,6 +1,7 @@
PORTNAME= opensearch-dashboards
DISTVERSION= 2.19.1
DISTVERSIONSUFFIX= -linux-${OPENSEARCH_ARCH}
+PORTREVISION= 1
CATEGORIES= textproc www
MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
PKGNAMESUFFIX= 219
@@ -17,9 +18,9 @@ ONLY_FOR_ARCHS= aarch64 amd64
CONFLICTS= opensearch-dashboards opensearch-dashboards210 opensearch-dashboards213 \
opensearch-dashboards216
-BUILD_DEPENDS= npm-node18>0:www/npm-node18
+BUILD_DEPENDS= npm-node20>0:www/npm-node20
-USES= nodejs:18,build,run python:build
+USES= nodejs:20,build,run python:build
USE_RC_SUBR= ${PORTNAME}
SUB_FILES= pkg-deinstall
@@ -29,7 +30,7 @@ SUB_LIST= PORTNAME="${PORTNAME}" \
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-NODE_VER= 18.18.0
+NODE_VER= 20.19.2
NO_BUILD= yes
_DEVDIR= ${WRKDIR}/.devdir
@@ -43,7 +44,7 @@ OPENSEARCH_ARCH= x64
.endif
post-patch:
- @${REINPLACE_CMD} -e 's|14.20.1|${NODE_VER}|g' ${WRKSRC}/package.json
+ @${REINPLACE_CMD} -e 's|<19|<=${NODE_VER}|g' ${WRKSRC}/package.json
${RM} \
${WRKSRC}/bin/*.orig \
${WRKSRC}/bin/*.bak \
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-bracex/Makefile b/textproc/py-bracex/Makefile
index a73ee562ce9e..7de03699a0ac 100644
--- a/textproc/py-bracex/Makefile
+++ b/textproc/py-bracex/Makefile
@@ -1,9 +1,8 @@
PORTNAME= bracex
-DISTVERSION= 2.5.post1
+PORTVERSION= 2.6
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-PORTVERSION= 2.5p1
MAINTAINER= matthew@FreeBSD.org
COMMENT= Brace expansion
diff --git a/textproc/py-bracex/distinfo b/textproc/py-bracex/distinfo
index a15366dbb090..d14bdd315bfb 100644
--- a/textproc/py-bracex/distinfo
+++ b/textproc/py-bracex/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735735982
-SHA256 (bracex-2.5.post1.tar.gz) = 12c50952415bfa773d2d9ccb8e79651b8cdb1f31a42f6091b804f6ba2b4a66b6
-SIZE (bracex-2.5.post1.tar.gz) = 26641
+TIMESTAMP = 1750795480
+SHA256 (bracex-2.6.tar.gz) = 98f1347cd77e22ee8d967a30ad4e310b233f7754dbf31ff3fceb76145ba47dc7
+SIZE (bracex-2.6.tar.gz) = 26642
diff --git a/textproc/py-docx-generator/Makefile b/textproc/py-docx-generator/Makefile
index f2c3685c537e..af29d25f795d 100644
--- a/textproc/py-docx-generator/Makefile
+++ b/textproc/py-docx-generator/Makefile
@@ -1,6 +1,6 @@
PORTNAME= docx-generator
-PORTVERSION= 0.8.0
-PORTREVISION= 1
+PORTVERSION= 0.9.1
+DISTVERSIONPREFIX= v
CATEGORIES= textproc python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -10,20 +10,21 @@ WWW= https://github.com/dfir-iris/docx-generator
LICENSE= LGPL3
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}docxcompose>0:textproc/py-docxcompose@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}docxtpl>0:textproc/py-docxtpl@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-docx>0:textproc/py-python-docx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}mistletoe>0:textproc/py-mistletoe@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
USE_GITHUB= yes
GH_ACCOUNT= dfir-iris
GH_PROJECT= ${PORTNAME}
-GH_TAGNAME= 6b2d68f2ea8b34daac76bd399b083d5e85eee23b
USES= python
-USE_PYTHON= autoplist distutils
+USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/textproc/py-docx-generator/distinfo b/textproc/py-docx-generator/distinfo
index a1506a7d9409..47d7f4001619 100644
--- a/textproc/py-docx-generator/distinfo
+++ b/textproc/py-docx-generator/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1682838277
-SHA256 (dfir-iris-docx-generator-0.8.0-6b2d68f2ea8b34daac76bd399b083d5e85eee23b_GH0.tar.gz) = 5608f69a0d37629dc9a3ac91d77b31e19bd29d382149fd916de5317ed3099549
-SIZE (dfir-iris-docx-generator-0.8.0-6b2d68f2ea8b34daac76bd399b083d5e85eee23b_GH0.tar.gz) = 6352886
+TIMESTAMP = 1750748858
+SHA256 (dfir-iris-docx-generator-v0.9.1_GH0.tar.gz) = 1aa9a4f08dcc7d16abb6cc32099204c7a778e2e72ba3de26801a009ea8295c8f
+SIZE (dfir-iris-docx-generator-v0.9.1_GH0.tar.gz) = 6381768
diff --git a/textproc/py-docxtpl/Makefile b/textproc/py-docxtpl/Makefile
index 7e18be22cfd1..d53b217c57f9 100644
--- a/textproc/py-docxtpl/Makefile
+++ b/textproc/py-docxtpl/Makefile
@@ -1,6 +1,5 @@
PORTNAME= docxtpl
-PORTVERSION= 0.16.6
-PORTREVISION= 2
+PORTVERSION= 0.20.0
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -14,7 +13,6 @@ LICENSE= LGPL21
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=3.3.4:devel/py-lxml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-docx>0:textproc/py-python-docx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}docxcompose>0:textproc/py-docxcompose@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR}
USES= python
diff --git a/textproc/py-docxtpl/distinfo b/textproc/py-docxtpl/distinfo
index 1f95fea2da67..65b7d939193d 100644
--- a/textproc/py-docxtpl/distinfo
+++ b/textproc/py-docxtpl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1682829200
-SHA256 (docxtpl-0.16.6.tar.gz) = c5938dd891bf13958dd5dfd513816c688999060f037c316756a005cdebf9a322
-SIZE (docxtpl-0.16.6.tar.gz) = 29991
+TIMESTAMP = 1750747705
+SHA256 (docxtpl-0.20.0.tar.gz) = 87d5d9c7f73a6c74c182b4b78a82886047e33db64973f7adaac3e0a824ffef63
+SIZE (docxtpl-0.20.0.tar.gz) = 31544
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/py-wcmatch/Makefile b/textproc/py-wcmatch/Makefile
index 3d98dcae5d31..2ef025769dba 100644
--- a/textproc/py-wcmatch/Makefile
+++ b/textproc/py-wcmatch/Makefile
@@ -1,5 +1,5 @@
PORTNAME= wcmatch
-PORTVERSION= 10.0
+PORTVERSION= 10.1
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-wcmatch/distinfo b/textproc/py-wcmatch/distinfo
index 2ed89595c59d..84e221221e2f 100644
--- a/textproc/py-wcmatch/distinfo
+++ b/textproc/py-wcmatch/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1727468313
-SHA256 (wcmatch-10.0.tar.gz) = e72f0de09bba6a04e0de70937b0cf06e55f36f37b3deb422dfaf854b867b840a
-SIZE (wcmatch-10.0.tar.gz) = 115578
+TIMESTAMP = 1750793217
+SHA256 (wcmatch-10.1.tar.gz) = f11f94208c8c8484a16f4f48638a85d771d9513f4ab3f37595978801cb9465af
+SIZE (wcmatch-10.1.tar.gz) = 117421
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])
+
diff --git a/textproc/yamlfmt/Makefile b/textproc/yamlfmt/Makefile
index 57781a6d6127..8fffadefd4a6 100644
--- a/textproc/yamlfmt/Makefile
+++ b/textproc/yamlfmt/Makefile
@@ -1,6 +1,6 @@
PORTNAME= yamlfmt
DISTVERSIONPREFIX= v
-DISTVERSION= 0.17.0
+DISTVERSION= 0.17.2
CATEGORIES= textproc
MAINTAINER= meta@FreeBSD.org
diff --git a/textproc/yamlfmt/distinfo b/textproc/yamlfmt/distinfo
index 51e78e179e84..c1ab8ca1157a 100644
--- a/textproc/yamlfmt/distinfo
+++ b/textproc/yamlfmt/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1749616586
-SHA256 (go/textproc_yamlfmt/yamlfmt-v0.17.0/v0.17.0.mod) = da0bfaa1174b546a2f38c9e6e55a76f7d3e478b713bbbac3fb7f86d8f5e922c3
-SIZE (go/textproc_yamlfmt/yamlfmt-v0.17.0/v0.17.0.mod) = 390
-SHA256 (go/textproc_yamlfmt/yamlfmt-v0.17.0/v0.17.0.zip) = a315e642f3808e84b10f15cc5bf005ebd080b450d56c96d5705185c942feee5b
-SIZE (go/textproc_yamlfmt/yamlfmt-v0.17.0/v0.17.0.zip) = 245620
+TIMESTAMP = 1750750674
+SHA256 (go/textproc_yamlfmt/yamlfmt-v0.17.2/v0.17.2.mod) = da0bfaa1174b546a2f38c9e6e55a76f7d3e478b713bbbac3fb7f86d8f5e922c3
+SIZE (go/textproc_yamlfmt/yamlfmt-v0.17.2/v0.17.2.mod) = 390
+SHA256 (go/textproc_yamlfmt/yamlfmt-v0.17.2/v0.17.2.zip) = df0858a273e5b4a933229fe28f39e9cc20a2dfb5136824c480cc5f7722efa51c
+SIZE (go/textproc_yamlfmt/yamlfmt-v0.17.2/v0.17.2.zip) = 245967