summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mk/Scripts/electron-create-mtree.sh34
-rw-r--r--Mk/Scripts/electron-normalize-permissions.awk30
-rw-r--r--Mk/Uses/electron.mk819
-rw-r--r--Mk/Uses/pyqt.mk2
-rw-r--r--audio/mac/Makefile2
-rw-r--r--audio/mac/distinfo6
-rw-r--r--audio/mpg123/Makefile2
-rw-r--r--audio/mpg123/distinfo6
-rw-r--r--cad/irsim/Makefile2
-rw-r--r--cad/irsim/distinfo6
-rw-r--r--cad/kicad-devel/Makefile1
-rw-r--r--cad/kicad/Makefile2
-rw-r--r--comms/chirp/Makefile1
-rw-r--r--comms/flrig/Makefile2
-rw-r--r--comms/flrig/distinfo6
-rw-r--r--comms/quisk/Makefile2
-rw-r--r--converters/simdutf/Makefile2
-rw-r--r--converters/simdutf/distinfo6
-rw-r--r--databases/grass8/Makefile2
-rw-r--r--deskutils/tatuin/Makefile3
-rw-r--r--deskutils/tatuin/Makefile.crates18
-rw-r--r--deskutils/tatuin/distinfo42
-rw-r--r--devel/RStudio/Makefile4
-rw-r--r--devel/RStudio/distinfo.desktop6
-rw-r--r--devel/go-tools/Makefile3
-rw-r--r--devel/go-tools/distinfo10
-rw-r--r--devel/gopls/Makefile5
-rw-r--r--devel/gopls/distinfo10
-rw-r--r--devel/gopls/pkg-plist1
-rw-r--r--devel/goreleaser/Makefile2
-rw-r--r--devel/goreleaser/distinfo10
-rw-r--r--devel/immer/Makefile4
-rw-r--r--devel/immer/distinfo6
-rw-r--r--devel/immer/files/patch-cmake_FindBoehmGC.cmake23
-rw-r--r--devel/immer/pkg-plist43
-rw-r--r--devel/libphonenumber/Makefile2
-rw-r--r--devel/libphonenumber/distinfo6
-rw-r--r--devel/ninja/Makefile2
-rw-r--r--devel/ninja/distinfo6
-rw-r--r--devel/py-sip/Makefile8
-rw-r--r--devel/py-sip/distinfo16
-rw-r--r--devel/qt6-base/Makefile4
-rw-r--r--devel/qt6-base/pkg-plist22
-rw-r--r--devel/simdjson/Makefile2
-rw-r--r--devel/simdjson/distinfo6
-rw-r--r--editors/ad/Makefile3
-rw-r--r--editors/ad/Makefile.crates217
-rw-r--r--editors/ad/distinfo440
-rw-r--r--editors/ad/pkg-plist6
-rw-r--r--editors/vscode/Makefile.version4
-rw-r--r--editors/vscode/distinfo14
-rw-r--r--emulators/playonbsd/Makefile2
-rw-r--r--emulators/wine-devel/Makefile2
-rw-r--r--emulators/wine-devel/distinfo6
-rw-r--r--emulators/wine-devel/files/pkg32.sh27
-rw-r--r--emulators/wine-devel/files/wine-wow64.sh5
-rw-r--r--finance/homebank/Makefile2
-rw-r--r--finance/homebank/distinfo6
-rw-r--r--finance/homebank/pkg-plist443
-rw-r--r--games/alienarena/Makefile2
-rw-r--r--graphics/gmic-qt/Makefile2
-rw-r--r--graphics/gmic-qt/distinfo6
-rw-r--r--graphics/hugin/Makefile2
-rw-r--r--graphics/hugin/distinfo6
-rw-r--r--graphics/krita-gmic-plugin/Makefile4
-rw-r--r--graphics/krita-gmic-plugin/distinfo6
-rw-r--r--graphics/krita-gmic-plugin/files/patch-CMakeLists.txt4
-rw-r--r--graphics/krita/Makefile3
-rw-r--r--graphics/krita/distinfo6
-rw-r--r--graphics/plutovg/Makefile2
-rw-r--r--graphics/plutovg/distinfo6
-rw-r--r--graphics/py-mayavi/Makefile2
-rw-r--r--graphics/qgis-ltr/Makefile3
-rw-r--r--graphics/qgis-ltr/distinfo6
-rw-r--r--graphics/wallhaven-cli/Makefile5
-rw-r--r--graphics/wallhaven-cli/distinfo10
-rw-r--r--misc/pyobd/Makefile2
-rw-r--r--misc/qt5ct/Makefile21
-rw-r--r--misc/qt5ct/distinfo6
-rw-r--r--misc/qt5ct/pkg-plist2
-rw-r--r--misc/qt6ct/Makefile4
-rw-r--r--misc/zoneinfo/Makefile2
-rw-r--r--misc/zoneinfo/distinfo6
-rw-r--r--misc/zoneinfo/files/patch-zone1970.tab14
-rw-r--r--multimedia/kvazaar/Makefile6
-rw-r--r--multimedia/kvazaar/distinfo6
-rw-r--r--multimedia/kvazaar/pkg-plist2
-rw-r--r--multimedia/photofilmstrip/Makefile2
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp16
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp16
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt4
-rw-r--r--net-im/dino/Makefile51
-rw-r--r--net-im/dino/distinfo8
-rw-r--r--net-im/dino/pkg-plist171
-rw-r--r--net-im/sshout/Makefile48
-rw-r--r--net-im/sshout/distinfo6
-rw-r--r--net-im/sshout/files/patch-Makefile11
-rw-r--r--net-im/sshout/pkg-descr14
-rw-r--r--net-im/sshout/pkg-message6
-rw-r--r--net-p2p/py-stig/Makefile6
-rw-r--r--net-p2p/py-stig/distinfo6
-rw-r--r--net/boinc-client/Makefile35
-rw-r--r--net/boinc-client/distinfo6
-rw-r--r--net/boinc-client/pkg-plist6
-rw-r--r--net/go-pkgsite/Makefile3
-rw-r--r--net/go-pkgsite/distinfo10
-rw-r--r--net/nbdkit/Makefile4
-rw-r--r--net/nbdkit/distinfo6
-rw-r--r--net/nbdkit/pkg-plist14
-rw-r--r--net/traefik/Makefile3
-rw-r--r--net/traefik/distinfo6
-rw-r--r--net/unfs3/Makefile4
-rw-r--r--science/afni/Makefile2
-rw-r--r--science/afni/distinfo6
-rw-r--r--security/krb5-121/Makefile12
-rw-r--r--security/krb5-122/Makefile12
-rw-r--r--security/krb5-devel/Makefile12
-rw-r--r--security/vuxml/vuln/2025.xml165
-rw-r--r--security/wazuh-manager/distinfo8
-rw-r--r--security/xray-core/Makefile1
-rw-r--r--security/xray-core/files/xray.in3
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/py-rendercv/Makefile43
-rw-r--r--sysutils/py-rendercv/distinfo3
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py21
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py11
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py11
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py46
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py22
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py23
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py8
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py8
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py22
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py19
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py38
-rw-r--r--sysutils/py-rendercv/pkg-descr5
-rw-r--r--sysutils/stackit/Makefile2
-rw-r--r--sysutils/stackit/distinfo10
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/R-cran-litedown/Makefile4
-rw-r--r--textproc/R-cran-litedown/distinfo6
-rw-r--r--textproc/py-typst/Makefile27
-rw-r--r--textproc/py-typst/Makefile.crates381
-rw-r--r--textproc/py-typst/distinfo765
-rw-r--r--textproc/py-typst/files/patch-Cargo.lock26
-rw-r--r--textproc/py-typst/files/patch-Cargo.toml12
-rw-r--r--textproc/py-typst/pkg-descr2
-rw-r--r--www/gallery-dl/Makefile2
-rw-r--r--www/gallery-dl/distinfo6
-rw-r--r--www/gohugo/Makefile3
-rw-r--r--www/gohugo/distinfo10
-rw-r--r--www/lexbor/Makefile7
-rw-r--r--www/lexbor/distinfo6
-rw-r--r--www/lexbor/pkg-plist67
-rw-r--r--www/librewolf/Makefile7
-rw-r--r--www/librewolf/distinfo6
-rw-r--r--www/oauth2-proxy/Makefile103
-rw-r--r--www/oauth2-proxy/distinfo190
-rw-r--r--www/oauth2-proxy/files/patch-go.mod10
-rw-r--r--x11-fonts/Makefile1
-rw-r--r--x11-fonts/py-rendercv-fonts/Makefile21
-rw-r--r--x11-fonts/py-rendercv-fonts/distinfo3
-rw-r--r--x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml9
-rw-r--r--x11-fonts/py-rendercv-fonts/pkg-descr2
-rw-r--r--x11-toolkits/py-wxPython4/Makefile11
-rw-r--r--x11-toolkits/py-wxPython4/distinfo6
-rw-r--r--x11-toolkits/py-wxPython4/files/patch-setup.py11
-rw-r--r--x11/xkbcomp/Makefile9
-rw-r--r--x11/xkbcomp/distinfo6
-rw-r--r--x11/xkbcomp/pkg-descr5
173 files changed, 4010 insertions, 1271 deletions
diff --git a/Mk/Scripts/electron-create-mtree.sh b/Mk/Scripts/electron-create-mtree.sh
new file mode 100644
index 000000000000..6e213f0d5b23
--- /dev/null
+++ b/Mk/Scripts/electron-create-mtree.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# MAINTAINER: tagattie@FreeBSD.org
+
+PATH=/bin:/usr/bin:/usr/sbin
+
+set -e
+set -o pipefail
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_ELECTRON_CREATE_MTREE}" ] && set -x
+
+PREFETCH_TIMESTAMP=61171200 # 1971-12-10 00:00:00 GMT
+
+set -u
+
+usage() {
+ cat <<EOF
+ Usage: ${0##*/} dirname
+EOF
+ exit 1
+}
+
+if [ $# -ne 1 ]; then
+ usage
+fi
+
+mtree -cbnSp "$1" | mtree -C | \
+awk -f "${SCRIPTSDIR}/electron-normalize-permissions.awk" | \
+sed -e "s/time=[0-9.]*/time=${PREFETCH_TIMESTAMP}.000000000/" \
+ -e 's/\([gu]id\)=[0-9]*/\1=0/g' \
+ -e 's/flags=.*/flags=none/' \
+ -e "s|^\.|$1|" \
+ -e "s|^${WRKDIR}/||" \
+ -e '1d'
diff --git a/Mk/Scripts/electron-normalize-permissions.awk b/Mk/Scripts/electron-normalize-permissions.awk
new file mode 100644
index 000000000000..876f6c4fb684
--- /dev/null
+++ b/Mk/Scripts/electron-normalize-permissions.awk
@@ -0,0 +1,30 @@
+# MAINTAINER: tagattie@FreeBSD.org
+
+function oct2dec(octstr, i, c, val) {
+ val = 0
+ for (i = 1; i <= length(octstr); i++) {
+ c = substr(octstr, i, 1)
+ if (c < "0" || c > "7") {
+ break
+ }
+ val = val * 8 + (c - "0")
+ }
+ return val
+}
+
+{
+ if (match($0, /mode=[0-7]+/)) {
+ mode_str = substr($0, RSTART+5, RLENGTH-5)
+ mode = oct2dec(mode_str)
+ exec_bits = 73 # 0o111
+ special_bits = 3584 # 0o7000
+ special = and(mode, special_bits)
+ if (and(mode, exec_bits) != 0) {
+ newmode = or(special, 493) # 0o755
+ } else {
+ newmode = or(special, 420) # 0o644
+ }
+ sub(/mode=[0-7]+/, "mode=" sprintf("%04o", newmode))
+ }
+ print
+}
diff --git a/Mk/Uses/electron.mk b/Mk/Uses/electron.mk
new file mode 100644
index 000000000000..cfd4c4037e26
--- /dev/null
+++ b/Mk/Uses/electron.mk
@@ -0,0 +1,819 @@
+# Provides support for Electron-based ports
+#
+# Feature: electron
+# Usage: USES=electron:<version>[,ARGS]
+# Valid ARGS: <version>, build, run, test, env
+#
+# <version>: A specific major version of Electron the port is based on.
+# The port must specify exactly a single major version.
+# build: Electron is needed at build time. Adds it to BUILD_DEPENDS.
+# run: Electron is needed at run time. Adds it to RUN_DEPENDS.
+# test: Electron is needed at test time. Adds it to TEST_DEPENDS.
+# env: Electron is not needed at any of build, run, or test time.
+# However, the port needs USE_ELECTRON features.
+#
+# NOTE 1: {build, run, test} and env are mutually exclusive. If the port
+# specifies both of them, env takes precedence.
+#
+# NOTE 2: If the port specifies none of build, run or test, we assume the port
+# requires all those dependencies.
+#
+# Variables, which may be set by the port:
+#
+# USE_ELECTRON: A list of additional features and functionalities to
+# enable. Supported features are:
+#
+# npm: A node package manager the port uses.
+# Supported package managers are:
+#
+# npm: The port uses NPM as package manager.
+# yarn1: The port uses Yarn (v1) as package manager.
+# yarn2: The port uses Yarn (v2 or v3) as package manager.
+# yarn4: The port uses Yarn (v4+) as package manager.
+# pnpm: The port uses PNPM as package manager.
+#
+# NOTE: The port must specify exactly a single package manager.
+# Multiple package managers cannot be specified.
+#
+# Other valid arguments are:
+#
+# fetch, extract, build, run, and test,
+#
+# each of which corresponds to respective dependency. If the port
+# does not specify any of those dependencies, we assume only
+# build time dependency is required.
+#
+# appbuilder: An app-builder version the port uses. Supported
+# arguments are:
+#
+# release: The port uses released version of app-builder and add
+# devel/app-builder to BUILD_DEPENDS.
+# devel: The port uses development version of app-builder and add
+# devel/app-builder-devel to BUILD_DEPENDS.
+#
+# NOTE: If the port specifies none of those arguments, we assume
+# release has been specified.
+#
+# prefetch: Downloads node modules the port uses according to the
+# pre-stored package.json (and package-lock.json,
+# yarn.lock, or pnpm-lock.yaml depending on the node
+# package manager used) in PKGJSONSDIR. Downloaded node
+# modules are archived into a single tarball as one of
+# the DISTFILES.
+#
+# NOTE 1: If the source directory of the port has other relevant
+# files than package.json and lockfile, the relevant files must
+# also be copied into PKGJSONSDIR. (Examples of relevant files
+# includes .npmrc, .yarnrc, and pnpm-workspace.yaml.)
+#
+# NOTE 2: If the source directory of the port contains multiple
+# package.json's and/or lockfiles, all files needed for generating
+# node modules archive must be copied into PKGJSONSDIR with
+# directory hierarchy preserved.
+#
+# extract: Installs the prefetched node modules into the port's
+# working source directory.
+#
+# rebuild: Rebuilds native node modules against nodejs or electron.
+# Supported arguments are:
+#
+# nodejs: Rebuilds native node modules against the version of
+# nodejs installed before pre-build phase so that nodejs
+# can execute the native modules during build.
+# electron: Rebuilds native node modules against the version of
+# electron the port uses before do-build phase so that
+# the native modules can be executed with electron on run
+# time.
+#
+# NOTE: If the port specifies none of those arguments, we assume
+# only electron has been specified.
+#
+# build: Prepares an electron application in a distributable
+# format using the specified package builder as an
+# argument. Supported arguments are:
+#
+# builder: Uses electron-builder for packaging.
+# forge: Uses electron-forge for packaging.
+# packager: Uses electron-packager for packaging.
+#
+# NOTE: The port must specify exactly a single argument. Multiple
+# package builders cannot be specified.
+#
+# NPM_VER: A version of node package manager the port uses. If yarn
+# 2 or later, or pnpm is used for the package manager, the
+# framework requires the variable to be set so that it can
+# bootstrap the correct version of package manager.
+#
+# It is usually specified as the key "packageManager" in
+# package.json and the framework tries to automatically
+# detect the version. Auto-detection can be overridden by
+# manually specifying the value in Makefile.
+#
+# UPSTREAM_ELECTRON_VER:
+# UPSTREAM_CHROMEDRIVER_VER:
+# UPSTREAM_MKSNAPSHOT_VER:
+# Electron, chromedriver, and mksnapshot versions the port
+# depends on. Those versions are usually specified in
+# either package-lock.json, yarn.lock, or pnpm-lock.yaml
+# file in the port's source directory.
+#
+# The build process tries to automatically detect those
+# versions so the port does not usually have to specify
+# the values. Auto-detection can be overridden by manually
+# specifying the values in Makefile.
+#
+# The build process will generate a zip archive and a
+# checksum file of electron/chromedriver/mksnapshot to
+# prevent the build phase from trying to download binary
+# distribution files from GitHub.
+#
+# ELECTRON_MAKE_FLAGS: Additional command-line flags to pass to the specified
+# package builder when build feature is used. The default
+# flags are defined in this file.
+#
+# MAINTAINER: tagattie@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ELECTRON_MK)
+_INCLUDE_USES_ELECTRON_MK= yes
+
+# Electron uses Node.js (actually a node package manager) for build
+.include "${USESDIR}/nodejs.mk"
+
+_VALID_ELECTRON_VERSIONS= 36 37 38 39
+_VALID_ELECTRON_FEATURES= npm appbuilder prefetch extract rebuild build
+_VALID_ELECTRON_FEATURES_NPM= npm yarn1 yarn2 yarn4 pnpm
+_VALID_ELECTRON_FEATURES_APPBUILDER=release devel
+_VALID_ELECTRON_FEATURES_REBUILD=nodejs electron
+_VALID_ELECTRON_FEATURES_BUILD= builder forge packager
+
+_ELECTRON_CMD_BASE= electron
+_ELECTRON_PORT_BASE= devel/electron
+_ELECTRON_DOWNLOAD_URL_BASE= https://github.com/electron/electron/releases/download
+_NODEJS_PKGNAME= node${NODEJS_VERSION}
+_NODEJS_PORT= www/node${NODEJS_VERSION}
+
+# Process USES=electron[:ARGS]
+# Detect build, run, test, or env dependency
+_ELECTRON_ARGS= ${electron_ARGS:S/,/ /g}
+. if ${_ELECTRON_ARGS:Mbuild}
+_ELECTRON_BUILD_DEP= yes
+_ELECTRON_ARGS:= ${_ELECTRON_ARGS:Nbuild}
+. endif
+. if ${_ELECTRON_ARGS:Mrun}
+_ELECTRON_RUN_DEP= yes
+_ELECTRON_ARGS:= ${_ELECTRON_ARGS:Nrun}
+. endif
+. if ${_ELECTRON_ARGS:Mtest}
+_ELECTRON_TEST_DEP= yes
+_ELECTRON_ARGS:= ${_ELECTRON_ARGS:Ntest}
+. endif
+. if ${_ELECTRON_ARGS:Menv}
+_ELECTRON_NO_DEP= yes
+_ELECTRON_ARGS:= ${_ELECTRON_ARGS:Nenv}
+. endif
+# If no dependencies are specified, assume build, run, and test are required
+. if !defined(_ELECTRON_BUILD_DEP) && !defined(_ELECTRON_RUN_DEP) && \
+ !defined(_ELECTRON_TEST_DEP) && !defined(_ELECTRON_NO_DEP)
+_ELECTRON_BUILD_DEP= yes
+_ELECTRON_RUN_DEP= yes
+_ELECTRON_TEST_DEP= yes
+. endif
+# Now _ELECTRON_ARGS should contain a single major version unless env is set
+. if !defined(_ELECTRON_NO_DEP)
+. if ${_VALID_ELECTRON_VERSIONS:M${_ELECTRON_ARGS}}
+_ELECTRON_VERSION= ${_ELECTRON_ARGS}
+_ELECTRON_PORTDIR= ${_ELECTRON_PORT_BASE}${_ELECTRON_VERSION}
+. include "${PORTSDIR}/${_ELECTRON_PORTDIR}/Makefile.version"
+. elif empty(_ELECTRON_ARGS)
+IGNORE= does not specify a major version of electron with USES=electron
+. else
+IGNORE= specifies unknown USES=electron arguments: ${_ELECTRON_ARGS}
+. endif
+. endif
+
+# Detect features used with USE_ELECTRON
+. for var in ${USE_ELECTRON}
+. if empty(_VALID_ELECTRON_FEATURES:M${var:C/\:.*//})
+_INVALID_ELECTRON_FEATURES+= ${var}
+. endif
+. endfor
+. if !empty(_INVALID_ELECTRON_FEATURES)
+IGNORE= uses unknown USE_ELECTRON features: ${_INVALID_ELECTRON_FEATURES}
+. endif
+# Make each individual feature available as _ELECTRON_FEATURE_<FEATURENAME>
+. for var in ${USE_ELECTRON}
+_ELECTRON_FEATURE_${var:C/\:.*//:tu}= ${var}
+. endfor
+. if !defined(_ELECTRON_FEATURE_NPM)
+IGNORE= does not specify a single node package manager with USE_ELECTRON=npm
+. endif
+
+# Process USE_ELECTRON=npm[:ARGS]
+# Detect fetch, extract, build, run, or test dependency
+_NODEJS_NPM?=
+. if defined(_ELECTRON_FEATURE_NPM)
+_ELECTRON_FEATURE_NPM:= ${_ELECTRON_FEATURE_NPM:S/,/ /g}
+. if ${_ELECTRON_FEATURE_NPM:Mfetch}
+_ELECTRON_FEATURE_NPM_FETCH= yes
+_ELECTRON_FEATURE_NPM:= ${_ELECTRON_FEATURE_NPM:Nfetch}
+. endif
+. if ${_ELECTRON_FEATURE_NPM:Mextract}
+_ELECTRON_FEATURE_NPM_EXTRACT= yes
+_ELECTRON_FEATURE_NPM:= ${_ELECTRON_FEATURE_NPM:Nextract}
+. endif
+. if ${_ELECTRON_FEATURE_NPM:Mbuild}
+_ELECTRON_FEATURE_NPM_BUILD= yes
+_ELECTRON_FEATURE_NPM:= ${_ELECTRON_FEATURE_NPM:Nbuild}
+. endif
+. if ${_ELECTRON_FEATURE_NPM:Mrun}
+_ELECTRON_FEATURE_NPM_RUN= yes
+_ELECTRON_FEATURE_NPM:= ${_ELECTRON_FEATURE_NPM:Nrun}
+. endif
+. if ${_ELECTRON_FEATURE_NPM:Mtest}
+_ELECTRON_FEATURE_NPM_TEST= yes
+_ELECTRON_FEATURE_NPM:= ${_ELECTRON_FEATURE_NPM:Ntest}
+. endif
+# If no dependencies are specified, we assume only build dep is required
+. if !defined(_ELECTRON_FEATURE_NPM_FETCH) && !defined(_ELECTRON_FEATURE_NPM_EXTRACT) && \
+ !defined(_ELECTRON_FEATURE_NPM_BUILD) && !defined(_ELECTRON_FEATURE_NPM_RUN) && \
+ !defined(_ELECTRON_FEATURE_NPM_TEST)
+_ELECTRON_FEATURE_NPM_BUILD= yes
+. endif
+# Now _ELECTRON_FEATURE_NPM should contain a single package manager
+. if ${_VALID_ELECTRON_FEATURES_NPM:M${_ELECTRON_FEATURE_NPM:C/^[^\:]*(\:|\$)//}}
+_NODEJS_NPM= ${_ELECTRON_FEATURE_NPM:C/^[^\:]*(\:|\$)//}
+. if ${_NODEJS_NPM} == npm
+_NPM_PKGNAME= ${_NODEJS_NPM}${NODEJS_SUFFIX}
+_NPM_PORTDIR= www/${_NODEJS_NPM}${NODEJS_SUFFIX}
+. elif ${_NODEJS_NPM} == yarn1
+_NPM_PKGNAME= yarn${NODEJS_SUFFIX}
+_NPM_PORTDIR= www/yarn${NODEJS_SUFFIX}
+. endif
+. elif empty(_ELECTRON_FEATURES_NPM)
+IGNORE= does not specify a single node package manager with USE_ELECTRON=npm
+. else
+IGNORE= specifies unknown USE_ELECTRON=npm arguments: ${_ELECTRON_FEATURE_NPM}
+. endif
+. endif
+
+# Process USE_ELECTRON=appbuilder[:ARGS]
+# Detect stable or devel argument of appbuilder feature
+. if defined(_ELECTRON_FEATURE_APPBUILDER)
+_ELECTRON_FEATURE_APPBUILDER:= ${_ELECTRON_FEATURE_APPBUILDER:C/^[^\:]*(\:|\$)//}
+. if ${_ELECTRON_FEATURE_APPBUILDER:Mrelease}
+_ELECTRON_FEATURE_APPBUILDER_RELEASE= yes
+_ELECTRON_FEATURE_APPBUILDER:= ${_ELECTRON_FEATURE_APPBUILDER:Nrelease}
+. endif
+. if ${_ELECTRON_FEATURE_APPBUILDER:Mdevel}
+_ELECTRON_FEATURE_APPBUILDER_DEVEL= yes
+_ELECTRON_FEATURE_APPBUILDER:= ${_ELECTRON_FEATURE_APPBUILDER:Ndevel}
+. endif
+# If no arguments are specified, we assume release is specified
+. if !defined(_ELECTRON_FEATURE_APPBUILDER_RELEASE) && \
+ !defined(_ELECTRON_FEATURE_APPBUILDER_DEVEL)
+_ELECTRON_FEATURE_APPBUILDER_RELEASE= yes
+. endif
+. if !empty(_ELECTRON_FEATURE_APPBUILDER)
+IGNORE= specifies unknown USE_ELECTRON=appbuilder arguments: ${_ELECTRON_FEATURE_APPBUILDER}
+. endif
+. endif
+
+# Process USE_ELECTRON=rebuild[:ARGS]
+# Detect nodejs or electron argument of rebuild feature
+. if defined(_ELECTRON_FEATURE_REBUILD)
+_ELECTRON_FEATURE_REBUILD:= ${_ELECTRON_FEATURE_REBUILD:C/^[^\:]*(\:|\$)//:S/,/ /g}
+. if ${_ELECTRON_FEATURE_REBUILD:Mnodejs}
+_ELECTRON_FEATURE_REBUILD_NODEJS= yes
+_ELECTRON_FEATURE_REBUILD:= ${_ELECTRON_FEATURE_REBUILD:Nnodejs}
+. endif
+. if ${_ELECTRON_FEATURE_REBUILD:Melectron}
+_ELECTRON_FEATURE_REBUILD_ELECTRON= yes
+_ELECTRON_FEATURE_REBUILD:= ${_ELECTRON_FEATURE_REBUILD:Nelectron}
+. endif
+# If no arguments are specified, we assume electron is specified
+. if !defined(_ELECTRON_FEATURE_REBUILD_NODEJS) && \
+ !defined(_ELECTRON_FEATURE_REBUILD_ELECTRON)
+_ELECTRON_FEATURE_REBUILD_ELECTRON= yes
+. endif
+. if !empty(_ELECTRON_FEATURE_REBUILD)
+IGNORE= specifies unknown USE_ELECTRON=rebuild arguments: ${_ELECTRON_FEATURE_REBUILD}
+. endif
+. endif
+
+# Process USE_ELECTRON=build:ARG
+# Detect builder used with USE_ELECTRON=builder
+. if defined(_ELECTRON_FEATURE_BUILD)
+. if ${_VALID_ELECTRON_FEATURES_BUILD:M${_ELECTRON_FEATURE_BUILD:C/^[^\:]*(\:|\$)//}}
+_ELECTRON_FEATURE_BUILD:= ${_ELECTRON_FEATURE_BUILD:C/^[^\:]*(\:|\$)//}
+. else
+IGNORE= specifies unknown USE_ELECTRON=build arguments: ${_ELECTRON_FEATURE_BUILD}
+. endif
+. endif
+
+# Setup dependencies
+. for stage in BUILD RUN TEST
+. if defined(_ELECTRON_${stage}_DEP) && ${_ELECTRON_${stage}_DEP} == yes
+${stage}_DEPENDS+= ${_ELECTRON_CMD_BASE}${ELECTRON_VER_MAJOR}:${_ELECTRON_PORTDIR}
+. endif
+. endfor
+. for stage in FETCH EXTRACT BUILD RUN TEST
+. if defined(_ELECTRON_FEATURE_NPM_${stage}) && ${_ELECTRON_FEATURE_NPM_${stage}} == yes
+. if ${_NODEJS_NPM} == npm || ${_NODEJS_NPM} == yarn1
+${stage}_DEPENDS+= ${_NPM_PKGNAME}>0:${_NPM_PORTDIR}
+. elif ${_NODEJS_NPM} == yarn2 || ${_NODEJS_NPM} == yarn4 || ${_NODEJS_NPM} == pnpm
+${stage}_DEPENDS+= ${_NODEJS_PKGNAME}>0:${_NODEJS_PORT}
+. endif
+. endif
+. endfor
+. if defined(_ELECTRON_FEATURE_APPBUILDER_RELEASE) && ${_ELECTRON_FEATURE_APPBUILDER_RELEASE} == yes
+BUILD_DEPENDS+= app-builder:devel/app-builder
+. elif defined(_ELECTRON_FEATURE_APPBUILDER_DEVEL) && ${_ELECTRON_FEATURE_APPBUILDER_DEVEL} == yes
+BUILD_DEPENDS+= app-builder:devel/app-builder-devel
+. endif
+
+# Define variables related to node package manager
+NPM_FETCH_FLAGS?=
+NPM_EXTRACT_FLAGS?=
+NPM_EXEC_FLAGS?=
+NPM_REBUILD_FLAGS?=
+
+NPM_PKGFILE?= package.json
+. if ${_NODEJS_NPM} == npm
+NPM_LOCKFILE?= package-lock.json
+NPM_MODULE_CACHE?= node_modules
+NPM_CMDNAME?= npm
+NPM_CACHE_SETUP_CMD?= ${DO_NADA}
+NPM_FETCH_CMD?= ${NPM_CMDNAME} ci
+NPM_FETCH_FLAGS+= --ignore-scripts --no-progress --no-audit --no-fund --no-update-notifier --loglevel=error
+NPM_EXEC_CMD?= ${NPM_CMDNAME} exec
+NPM_EXEC_FLAGS+= --no-update-notifier
+NPM_REBUILD_CMD?= ${NPM_CMDNAME} rebuild
+NPM_REBUILD_FLAGS+= --no-update-notifier
+. elif ${_NODEJS_NPM:Myarn*}
+NPM_LOCKFILE?= yarn.lock
+NPM_MODULE_CACHE?= yarn-offline-cache
+NPM_CMDNAME?= yarn
+NPM_FETCH_CMD?= ${NPM_CMDNAME} install
+NPM_EXTRACT_CMD?= ${NPM_CMDNAME} install
+NPM_EXEC_CMD?= ${NPM_CMDNAME} exec
+. if ${_NODEJS_NPM} == yarn1
+NPM_CACHE_SETUP_CMD?= ${ECHO_CMD} 'yarn-offline-mirror "./${NPM_MODULE_CACHE}"' >> .yarnrc
+NPM_FETCH_FLAGS+= --frozen-lockfile --ignore-scripts --silent
+NPM_EXTRACT_FLAGS+= ${NPM_FETCH_FLAGS} --offline
+. elif ${_NODEJS_NPM} == yarn2
+NPM_CACHE_SETUP_CMD?= ${NPM_CMDNAME} config set cacheFolder "./${NPM_MODULE_CACHE}"
+NPM_FETCH_FLAGS+= --immutable --mode=skip-build --silent
+NPM_EXTRACT_SETUP_CMD?= ${SH} -c "${NPM_CMDNAME} config set enableNetwork false; \
+ ${NPM_CMDNAME} config set enableInlineBuilds true"
+NPM_EXTRACT_FLAGS+= ${NPM_FETCH_FLAGS} --immutable-cache
+NPM_REBUILD_CMD?= ${NPM_CMDNAME} rebuild
+. elif ${_NODEJS_NPM} == yarn4
+NPM_CACHE_SETUP_CMD?= ${SH} -c "${NPM_CMDNAME} config set enableGlobalCache false; \
+ ${NPM_CMDNAME} config set cacheFolder \"./${NPM_MODULE_CACHE}\""
+NPM_FETCH_FLAGS+= --immutable --mode=skip-build --silent
+NPM_EXTRACT_SETUP_CMD?= ${SH} -c "${NPM_CMDNAME} config set enableNetwork false; \
+ ${NPM_CMDNAME} config set enableInlineBuilds true"
+NPM_EXTRACT_FLAGS+= ${NPM_FETCH_FLAGS} --immutable-cache
+NPM_REBUILD_CMD?= ${NPM_CMDNAME} rebuild
+. endif
+. elif ${_NODEJS_NPM} == pnpm
+NPM_LOCKFILE?= pnpm-lock.yaml
+NPM_MODULE_CACHE?= node_modules
+NPM_CMDNAME?= pnpm
+NPM_CACHE_SETUP_CMD?= ${NPM_CMDNAME} set extendNodePath false
+NPM_FETCH_CMD?= ${NPM_CMDNAME} install
+NPM_FETCH_FLAGS+= --frozen-lockfile --ignore-scripts --loglevel=error
+NPM_EXEC_CMD?= ${NPM_CMDNAME} exec
+NPM_REBUILD_CMD?= ${NPM_CMDNAME} rebuild
+. endif
+
+# Define user-accessible variables
+JQ_CMD?= ${LOCALBASE}/bin/jq
+YQ_CMD?= ${LOCALBASE}/bin/yq
+APP_BUILDER_CMD?= ${LOCALBASE}/bin/app-builder
+
+ELECTRON_ARCH= ${ARCH:S/aarch64/arm64/:S/amd64/x64/:S/i386/ia32/}
+
+PKGJSONSDIR?= ${FILESDIR}/packagejsons
+NPM_VER?=
+NPM_EXTRACT_WRKSRC?= ${WRKSRC}
+NPM_REBUILD_WRKSRC_NODEJS?= ${WRKSRC}
+NPM_REBUILD_WRKSRC_ELECTRON?= ${WRKSRC}
+
+# Check existence of package.json
+_EXISTS_NPM_PKGFILE?=
+. if exists(${PKGJSONSDIR}/${NPM_PKGFILE})
+_EXISTS_NPM_PKGFILE= 1
+. endif
+
+# If yarn 2+ or pnpm is used, we need to know the version of node package
+# manager. It is usually specified as the key "packageManager", so try to
+# automatically detect the version.
+. if ${_NODEJS_NPM} == yarn2 || ${_NODEJS_NPM} == yarn4 || ${_NODEJS_NPM} == pnpm
+. if ${_EXISTS_NPM_PKGFILE} == 1 && empty(NPM_VER)
+NPM_VER!= ${GREP} packageManager ${PKGJSONSDIR}/${NPM_PKGFILE} | \
+ ${AWK} -F ':' '{print $$NF}' | \
+ ${SED} -e 's/[",]//g' | \
+ ${CUT} -f 2 -d '@' | \
+ ${CUT} -f 1 -d '+'
+. endif
+. if empty(NPM_VER)
+IGNORE= does not specity version of ${NPM_CMDNAME} used for prefetching node modules
+. endif
+
+_USES_fetch+= 490:electron-fetch-node-package-manager
+
+DISTFILES+= ${NPM_CMDNAME}-${NPM_VER}.tgz:prefetch
+FETCH_DEPENDS+= ${_NODEJS_PKGNAME}>0:${_NODEJS_PORT}
+
+electron-fetch-node-package-manager:
+ @${ECHO_MSG} "===> Fetching and setting up ${NPM_CMDNAME} version ${NPM_VER}"
+ @${MKDIR} ${DISTDIR}/${DIST_SUBDIR} ${WRKDIR}/.bin
+ @${SETENV} ${MAKE_ENV} corepack enable --install-directory ${WRKDIR}/.bin
+ @if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/${NPM_CMDNAME}-${NPM_VER}.tgz ]; then \
+ cd ${WRKDIR} && \
+ ${SETENV} ${MAKE_ENV} corepack pack ${NPM_CMDNAME}@${NPM_VER} && \
+ ${TAR} -xzf corepack.tgz && \
+ ${SETENV} SCRIPTSDIR=${SCRIPTSDIR} WRKDIR=${WRKDIR} \
+ ${SH} ${SCRIPTSDIR}/electron-create-mtree.sh ${NPM_CMDNAME} > \
+ ${NPM_CMDNAME}.mtree && \
+ ${SETENV} LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 \
+ ${TAR} -cz --options 'gzip:!timestamp' \
+ -f ${DISTDIR}/${DIST_SUBDIR}/${NPM_CMDNAME}-${NPM_VER}.tgz @${NPM_CMDNAME}.mtree; \
+ fi
+ @${SETENV} ${MAKE_ENV} corepack install -g ${DISTDIR}/${DIST_SUBDIR}/${NPM_CMDNAME}-${NPM_VER}.tgz
+. endif
+
+# When prefetch feature is used, downloads node modules the port uses according
+# to the pre-stored package.json.
+. if defined(_ELECTRON_FEATURE_PREFETCH)
+. if empty(_EXISTS_NPM_PKGFILE)
+IGNORE= does not store ${NPM_PKGFILE} in ${PKGJSONSDIR} for prefetching node modules
+. endif
+
+_USES_fetch+= 491:electron-fetch-node-modules \
+ 492:electron-archive-node-modules
+
+_DISTFILE_prefetch= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSION}-node-modules${EXTRACT_SUFX}
+DISTFILES+= ${_DISTFILE_prefetch}:prefetch
+
+. if ${_NODEJS_NPM} == npm || ${_NODEJS_NPM} == yarn1
+FETCH_DEPENDS+= ${_NPM_PKGNAME}>0:${_NPM_PORTDIR}
+. elif ${_NODEJS_NPM} == pnpm
+FETCH_DEPENDS+= ${YQ_CMD}:textproc/yq
+. endif
+
+electron-fetch-node-modules:
+ @${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
+ @if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/${_DISTFILE_prefetch} ]; then \
+ ${ECHO_MSG} "===> Setting up node modules cache directory"; \
+ ${MKDIR} ${WRKDIR}/node-modules-cache; \
+ ${TAR} -cf - -C ${PKGJSONSDIR} . | ${TAR} -xf - -C ${WRKDIR}/node-modules-cache; \
+ cd ${WRKDIR}/node-modules-cache && ${SETENV} ${MAKE_ENV} ${NPM_CACHE_SETUP_CMD}; \
+ ${ECHO_MSG} "===> Prefetching node modules"; \
+ for dir in `${FIND} ${WRKDIR}/node-modules-cache -type f -name ${NPM_LOCKFILE} -exec ${DIRNAME} {} ';'`; do \
+ cd $${dir} && \
+ ${SETENV} ${MAKE_ENV} ${NPM_FETCH_CMD} ${NPM_FETCH_FLAGS}; \
+ ${RM} $${dir}/${NPM_MODULE_CACHE}/.gitignore; \
+ if [ -f $${dir}/${NPM_MODULE_CACHE}/.modules.yaml ]; then \
+ ${YQ_CMD} -yi 'del(.prunedAt, .storeDir)' \
+ $${dir}/${NPM_MODULE_CACHE}/.modules.yaml; \
+ fi; \
+ ${RM} $${dir}/${NPM_MODULE_CACHE}/.pnpm-workspace-state*.json; \
+ done; \
+ fi
+
+electron-archive-node-modules:
+. if ${_NODEJS_NPM} == npm || ${_NODEJS_NPM} == pnpm
+ @if [ -d ${WRKDIR}/node-modules-cache ]; then \
+ ${ECHO_MSG} "===> Archiving prefetched node modules"; \
+ for dir in `${FIND} -s ${WRKDIR}/node-modules-cache -type d -name ${NPM_MODULE_CACHE} -print | \
+ ${GREP} -ve '${NPM_MODULE_CACHE}/.*/${NPM_MODULE_CACHE}'`; do \
+ ${SETENV} SCRIPTSDIR=${SCRIPTSDIR} WRKDIR=${WRKDIR} \
+ ${SH} ${SCRIPTSDIR}/electron-create-mtree.sh $${dir} >> \
+ ${WRKDIR}/node-modules-cache.mtree; \
+ done; \
+ ${SETENV} LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 \
+ ${TAR} -cz --options 'gzip:!timestamp' \
+ -f ${DISTDIR}/${DIST_SUBDIR}/${_DISTFILE_prefetch} \
+ -C ${WRKDIR} @node-modules-cache.mtree; \
+ if [ ${TMPDIR} != ${WRKDIR} ]; then \
+ ${RM} -r ${WRKDIR}; \
+ fi; \
+ fi
+. elif ${_NODEJS_NPM:Myarn*}
+ @if [ -d ${WRKDIR}/node-modules-cache ]; then \
+ ${ECHO_MSG} "===> Archiving prefetched node modules"; \
+ cd ${WRKDIR}/node-modules-cache && \
+ ${SETENV} SCRIPTSDIR=${SCRIPTSDIR} WRKDIR=${WRKDIR} \
+ ${SH} ${SCRIPTSDIR}/electron-create-mtree.sh ${NPM_MODULE_CACHE} > \
+ node-modules-cache.mtree && \
+ ${SETENV} LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 \
+ ${TAR} -cz --options 'gzip:!timestamp' \
+ -f ${DISTDIR}/${DIST_SUBDIR}/${_DISTFILE_prefetch} @node-modules-cache.mtree; \
+ if [ ${TMPDIR} != ${WRKDIR} ]; then \
+ ${RM} -r ${WRKDIR}; \
+ fi; \
+ fi
+. endif
+. endif # _FEATURE_ELECTRON_PREFETCH
+
+# When extract feature is used, installs the prefetched node modules into the
+# port's working source directory.
+. if defined(_ELECTRON_FEATURE_EXTRACT)
+_USES_extract+= 600:electron-extract-node-package-manager \
+ 601:electron-copy-package-file \
+ 602:electron-install-node-modules
+
+. if ${_NODEJS_NPM} == yarn1
+EXTRACT_DEPENDS+= ${_NPM_PKGNAME}>0:${_NPM_PORTDIR}
+. elif ${_NODEJS_NPM} == yarn2 || ${_NODEJS_NPM} == yarn4 || ${_NODEJS_NPM} == pnpm
+EXTRACT_DEPENDS+= ${_NODEJS_PKGNAME}>0:${_NODEJS_PORT}
+. endif
+
+electron-extract-node-package-manager:
+. if ${_NODEJS_NPM} == yarn2 || ${_NODEJS_NPM} == yarn4 || ${_NODEJS_NPM} == pnpm
+ @${ECHO_MSG} "===> Setting up ${NPM_CMDNAME} version ${NPM_VER}"
+ @${MKDIR} ${WRKDIR}/.bin
+ @${SETENV} ${MAKE_ENV} corepack enable --install-directory ${WRKDIR}/.bin
+ @${SETENV} ${MAKE_ENV} corepack install -g ${DISTDIR}/${DIST_SUBDIR}/${NPM_CMDNAME}-${NPM_VER}.tgz
+. else
+ @${DO_NADA}
+. endif
+
+electron-copy-package-file:
+. if ${_EXISTS_NPM_PKGFILE} == 1
+ @${ECHO_MSG} "===> Copying ${NPM_PKGFILE} and ${NPM_LOCKFILE} to ${NPM_EXTRACT_WRKSRC}"
+ @for f in `${FIND} ${PKGJSONSDIR} -type f \( -name ${NPM_PKGFILE} -o -name ${NPM_LOCKFILE} \) -print | ${SED} -e 's|${PKGJSONSDIR}/||'`; do \
+ ${MKDIR} -p `${DIRNAME} ${NPM_EXTRACT_WRKSRC}/$${f}`; \
+ if [ -f ${NPM_EXTRACT_WRKSRC}/$${f} ]; then \
+ ${MV} -f ${NPM_EXTRACT_WRKSRC}/$${f} ${NPM_EXTRACT_WRKSRC}/$${f}.bak; \
+ fi; \
+ ${CP} ${PKGJSONSDIR}/$${f} ${NPM_EXTRACT_WRKSRC}/$${f}; \
+ done
+. endif
+
+electron-install-node-modules:
+. if ${_NODEJS_NPM} == npm || ${_NODEJS_NPM} == pnpm
+ @${ECHO_MSG} "===> Moving prefetched node modules to ${NPM_EXTRACT_WRKSRC}"
+ @if [ -d ${EXTRACT_WRKDIR}/node-modules-cache ]; then \
+ for dir in `${FIND} -s ${EXTRACT_WRKDIR}/node-modules-cache -type d -name ${NPM_MODULE_CACHE} -print | \
+ ${GREP} -ve '${NPM_MODULE_CACHE}/.*/${NPM_MODULE_CACHE}'`; do \
+ ${MV} $${dir} `${ECHO_CMD} $${dir} | sed -e 's|${EXTRACT_WRKDIR}/node-modules-cache|${NPM_EXTRACT_WRKSRC}|'`; \
+ done; \
+ fi
+. elif ${_NODEJS_NPM:Myarn*}
+ @${ECHO_MSG} "===> Installing node modules from prefetched cache"
+ @if [ -d ${EXTRACT_WRKDIR}/${NPM_MODULE_CACHE} ]; then \
+ ${MV} ${EXTRACT_WRKDIR}/${NPM_MODULE_CACHE} ${NPM_EXTRACT_WRKSRC}; \
+ fi
+ @cd ${NPM_EXTRACT_WRKSRC} && ${SETENV} ${MAKE_ENV} ${NPM_CACHE_SETUP_CMD}
+. if defined(NPM_EXTRACT_SETUP_CMD) && !empty(NPM_EXTRACT_SETUP_CMD)
+ @${ECHO_MSG} "===> Setting up ${NPM_CMDNAME} command options"
+ @cd ${NPM_EXTRACT_WRKSRC} && ${SETENV} ${MAKE_ENV} ${NPM_EXTRACT_SETUP_CMD}
+. endif
+ @if [ -d ${PKGJSONSDIR} ]; then \
+ cd ${PKGJSONSDIR} && \
+ for dir in `${FIND} . -type f -name ${NPM_LOCKFILE} -exec ${DIRNAME} {} ';'`; do \
+ cd ${NPM_EXTRACT_WRKSRC}/$${dir} && \
+ ${SETENV} ${MAKE_ENV} ${NPM_EXTRACT_CMD} ${NPM_EXTRACT_FLAGS}; \
+ done; \
+ else \
+ cd ${NPM_EXTRACT_WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} ${NPM_EXTRACT_CMD} ${NPM_EXTRACT_FLAGS}; \
+ fi
+. endif
+. endif # _ELECTRON_FEATURE_EXTRACT
+
+# Always generate distribution zip files from installed electron package
+# directory. This is necessary to prevent the build phase from downloading
+# binary distribution files from GitHub.
+_USES_build+= 290:electron-generate-electron-zip
+
+BUILD_DEPENDS+= zip:archivers/zip
+. if ${_NODEJS_NPM} == npm
+BUILD_DEPENDS+= ${JQ_CMD}:textproc/jq
+. elif ${_NODEJS_NPM} == yarn2 || ${_NODEJS_NPM} == yarn4 || ${_NODEJS_NPM} == pnpm
+BUILD_DEPENDS+= ${YQ_CMD}:textproc/yq
+. endif
+
+. if !defined(UPSTREAM_ELECTRON_VER)
+. if ${_EXISTS_NPM_PKGFILE} == 1
+. if ${_NODEJS_NPM} == npm && exists(${JQ_CMD})
+UPSTREAM_ELECTRON_VER!= ${JQ_CMD} -r \
+ '.packages | \
+ to_entries | \
+ map(if(.key | test("electron$$")) then .value.version else empty end) | \
+ .[]' ${PKGJSONSDIR}/${NPM_LOCKFILE} | \
+ ${SORT} -n | \
+ ${TAIL} -n 1
+. elif ${_NODEJS_NPM} == yarn1
+UPSTREAM_ELECTRON_VER!= ${GREP} -e 'resolved.*/electron/' ${PKGJSONSDIR}/${NPM_LOCKFILE} | \
+ ${AWK} -F- '{print $$NF}' | \
+ ${SED} -E 's/\.[a-z]+.*$$//' | \
+ ${SORT} -n | \
+ ${TAIL} -n 1
+. elif (${_NODEJS_NPM} == yarn2 || ${_NODEJS_NPM} == yarn4) && exists(${YQ_CMD})
+UPSTREAM_ELECTRON_VER!= ${YQ_CMD} -r \
+ '. | \
+ to_entries | \
+ map(if(.key | test("^electron@")) then .value.version else empty end) | \
+ .[]' ${PKGJSONSDIR}/${NPM_LOCKFILE} | \
+ ${SORT} -n | \
+ ${TAIL} -n 1
+. elif ${_NODEJS_NPM} == pnpm && exists(${YQ_CMD})
+UPSTREAM_ELECTRON_VER!= ${YQ_CMD} -r \
+ '.packages | \
+ to_entries | \
+ map(if(.key | test("^electron@")) then .key else empty end) | \
+ .[]' ${PKGJSONSDIR}/${NPM_LOCKFILE} | \
+ ${CUT} -f 2 -d '@' | \
+ ${SORT} -n | \
+ ${TAIL} -n 1
+. endif
+. endif
+. endif
+ELECTRON_DOWNLOAD_URL= ${_ELECTRON_DOWNLOAD_URL_BASE}/v${UPSTREAM_ELECTRON_VER}
+ELECTRON_DOWNLOAD_URL_HASH!= ${SHA256} -q -s ${ELECTRON_DOWNLOAD_URL}
+ELECTRON_DOWNLOAD_CACHE_DIR= .cache/electron/${ELECTRON_DOWNLOAD_URL_HASH}
+
+. if !defined(UPSTREAM_CHROMEDRIVER_VER)
+. if ${_EXISTS_NPM_PKGFILE} == 1
+UPSTREAM_CHROMEDRIVER_VER!= ${GREP} -e 'resolved.*/electron-chromedriver/' ${PKGJSONSDIR}/${NPM_LOCKFILE} | \
+ ${HEAD} -n 1 | ${AWK} -F- '{print $$NF}' | ${SED} -E 's/\.[a-z]+.*$$//'
+. endif
+. endif
+CHROMEDRIVER_DOWNLOAD_URL= ${_ELECTRON_DOWNLOAD_URL_BASE}/v${UPSTREAM_CHROMEDRIVER_VER}
+CHROMEDRIVER_DOWNLOAD_URL_HASH!=${SHA256} -q -s ${CHROMEDRIVER_DOWNLOAD_URL}
+CHROMEDRIVER_DOWNLOAD_CACHE_DIR=.cache/electron/${CHROMEDRIVER_DOWNLOAD_URL_HASH}
+
+. if !defined(UPSTREAM_MKSNAPSHOT_VER)
+. if ${_EXISTS_NPM_PKGFILE} == 1
+UPSTREAM_MKSNAPSHOT_VER!= ${GREP} -e 'resolved.*/electron-mksnapshot/' ${PKGJSONSDIR}/${NPM_LOCKFILE} | \
+ ${HEAD} -n 1 | ${AWK} -F- '{print $$NF}' | ${SED} -E 's/\.[a-z]+.*$$//'
+. endif
+. endif
+MKSNAPSHOT_DOWNLOAD_URL= ${_ELECTRON_DOWNLOAD_URL_BASE}/v${UPSTREAM_MKSNAPSHOT_VER}
+MKSNAPSHOT_DOWNLOAD_URL_HASH!= ${SHA256} -q -s ${MKSNAPSHOT_DOWNLOAD_URL}
+MKSNAPSHOT_DOWNLOAD_CACHE_DIR= .cache/electron/${MKSNAPSHOT_DOWNLOAD_URL_HASH}
+
+electron-generate-electron-zip:
+ @if [ -d ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} ]; then \
+ ${ECHO_MSG} "===> Preparing distribution files of electron/chromedriver/mksnapshot"; \
+ ${RM} -r ${WRKDIR}/electron-dist; \
+ ${MKDIR} ${WRKDIR}/electron-dist; \
+ ${TAR} -cf - -C ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} . | \
+ ${TAR} -xf - -C ${WRKDIR}/electron-dist; \
+ cd ${WRKDIR}/electron-dist && \
+ ${FIND} . -type f -perm ${BINMODE} -exec ${CHMOD} 755 {} ';'; \
+ ${MKDIR} ${WRKDIR}/${ELECTRON_DOWNLOAD_CACHE_DIR}; \
+ cd ${WRKDIR}/electron-dist && \
+ zip -q -r ${WRKDIR}/${ELECTRON_DOWNLOAD_CACHE_DIR}/electron-v${UPSTREAM_ELECTRON_VER}-linux-${ELECTRON_ARCH}.zip .; \
+ cd ${WRKDIR}/${ELECTRON_DOWNLOAD_CACHE_DIR} && \
+ ${SHA256} -r *.zip | \
+ ${SED} -e 's/ / */' > SHASUMS256.txt-${UPSTREAM_ELECTRON_VER}; \
+ cd ${WRKDIR}/${ELECTRON_DOWNLOAD_CACHE_DIR} && \
+ ${SHA256} -r *.zip | \
+ ${SED} -e 's/ / */' > SHASUMS256.txt; \
+ fi
+. if defined(UPSTREAM_CHROMEDRIVER_VER) && !empty(UPSTREAM_CHROMEDRIVER_VER)
+ @if [ -d ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} ]; then \
+ ${MKDIR} ${WRKDIR}/${CHROMEDRIVER_DOWNLOAD_CACHE_DIR}; \
+ cd ${WRKDIR}/electron-dist && \
+ zip -q -r ${WRKDIR}/${CHROMEDRIVER_DOWNLOAD_CACHE_DIR}/chromedriver-v${UPSTREAM_CHROMEDRIVER_VER}-freebsd-${ELECTRON_ARCH}.zip .; \
+ cd ${WRKDIR}/${CHROMEDRIVER_DOWNLOAD_CACHE_DIR} && \
+ ${SHA256} -r *.zip | \
+ ${SED} -e 's/ / */' > SHASUMS256.txt-${UPSTREAM_CHROMEDRIVER_VER}; \
+ cd ${WRKDIR}/${CHROMEDRIVER_DOWNLOAD_CACHE_DIR} && \
+ ${SHA256} -r *.zip | \
+ ${SED} -e 's/ / */' > SHASUMS256.txt; \
+ fi
+. endif
+. if defined(UPSTREAM_MKSNAPSHOT_VER) && !empty(UPSTREAM_MKSNAPSHOT_VER)
+ @if [ -d ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} ]; then \
+ ${MKDIR} ${WRKDIR}/${MKSNAPSHOT_DOWNLOAD_CACHE_DIR}; \
+ cd ${WRKDIR}/electron-dist && \
+ zip -q -r ${WRKDIR}/${MKSNAPSHOT_DOWNLOAD_CACHE_DIR}/mksnapshot-v${UPSTREAM_MKSNAPSHOT_VER}-freebsd-${ELECTRON_ARCH}.zip .; \
+ cd ${WRKDIR}/${MKSNAPSHOT_DOWNLOAD_CACHE_DIR} && \
+ ${SHA256} -r *.zip | \
+ ${SED} -e 's/ / */' > SHASUMS256.txt-${UPSTREAM_MKSNAPSHOT_VER}; \
+ cd ${WRKDIR}/${MKSNAPSHOT_DOWNLOAD_CACHE_DIR} && \
+ ${SHA256} -r *.zip | \
+ ${SED} -e 's/ / */' > SHASUMS256.txt; \
+ fi
+. endif
+
+# When rebuild feature is used, rebuilds native node modules against nodejs or
+# electron.
+. if defined(_ELECTRON_FEATURE_REBUILD)
+_USES_build+= 291:electron-rebuild-native-node-modules-for-node \
+ 490:electron-rebuild-native-node-modules-for-electron
+
+. if ${_NODEJS_NPM} == npm || ${_NODEJS_NPM} == yarn1
+BUILD_DEPENDS+= ${_NPM_PKGNAME}>0:${_NPM_PORTDIR}
+. elif ${_NODEJS_NPM} == yarn2 || ${_NODEJS_NPM} == yarn4 || ${_NODEJS_NPM} == pnpm
+BUILD_DEPENDS+= ${_NODEJS_PKGNAME}>0:${_NODEJS_PORT}
+. endif
+. if ${_NODEJS_NPM} == yarn1
+# jq is needed for detecting native node modules needing build
+BUILD_DEPENDS+= ${JQ_CMD}:textproc/jq
+# npm is needed for executing "npm rebuild" command
+BUILD_DEPENDS+= npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
+. endif
+
+electron-rebuild-native-node-modules-for-node:
+. if defined(_ELECTRON_FEATURE_REBUILD_NODEJS) && \
+ ${_ELECTRON_FEATURE_REBUILD_NODEJS} == yes
+ @${ECHO_MSG} "===> Rebuilding native node modules for nodejs"
+. if ${_NODEJS_NPM} == yarn1
+ @cd ${NPM_REBUILD_WRKSRC_NODEJS} && \
+ ${SETENV} ${MAKE_ENV} ${NODEJS_REBUILD_ENV} npm rebuild
+. else
+ @cd ${NPM_REBUILD_WRKSRC_NODEJS} && \
+ ${SETENV} ${MAKE_ENV} ${NODEJS_REBUILD_ENV} ${NPM_CMDNAME} rebuild
+. endif
+. else
+ @${DO_NADA}
+. endif
+
+electron-rebuild-native-node-modules-for-electron:
+. if defined(_ELECTRON_FEATURE_REBUILD_ELECTRON) && \
+ ${_ELECTRON_FEATURE_REBUILD_ELECTRON} == yes
+. if ${_NODEJS_NPM} == pnpm
+ @for dir in `${APP_BUILDER_CMD} node-dep-tree --dir ${NPM_REBUILD_WRKSRC_ELECTRON} | ${JQ_CMD} -r '.[] | { dir: .dir, name: .deps[].name } | .dir + "/" + .name'`; do \
+ for subdir in `${FIND} $${dir} -type f -name binding.gyp -exec ${DIRNAME} {} ';' 2> /dev/null`; do \
+ cd $${subdir} && \
+ ${ECHO_MSG} "===> Rebuilding native node modules for electron in $${subdir}" && \
+ ${SETENV} ${MAKE_ENV} ${ELECTRON_REBUILD_ENV} ${NPM_REBUILD_CMD} ${NPM_REBUILD_FLAGS}; \
+ done \
+ done
+. else
+ @for dir in `${APP_BUILDER_CMD} node-dep-tree --dir ${NPM_REBUILD_WRKSRC_ELECTRON} | ${JQ_CMD} -r '.[] | { dir: .dir, name: .deps[].name } | .dir + "/" + .name'`; do \
+ for subdir in `${FIND} $${dir} -type f -name binding.gyp -exec ${DIRNAME} {} ';' 2> /dev/null`; do \
+ cd $${subdir} && \
+ ${ECHO_MSG} "===> Rebuilding native node modules for electron in $${subdir}" && \
+ ${SETENV} ${MAKE_ENV} ${ELECTRON_REBUILD_ENV} ${NPM_EXEC_CMD} ${NPM_EXEC_FLAGS} node-gyp rebuild; \
+ done \
+ done
+. endif
+. else
+ @${DO_NADA}
+. endif
+. endif # _ELECTRON_FEATURE_REBUILD
+
+_USES_build+= 499:clean-up-backup-files
+
+clean-up-backup-files:
+ @${ECHO_MSG} "===> Cleaning up backup files in ${WRKSRC}"
+ @${FIND} ${WRKSRC} -type f \( -name '*.bak' -o -name '*.orig' \) -delete
+
+# When build feature is used, prepares an electron application in a
+# distributable format using the specified package builder.
+. if defined(_ELECTRON_FEATURE_BUILD)
+ELECTRON_MAKE_FLAGS?=
+
+. if ${_ELECTRON_FEATURE_BUILD} == builder
+ELECTRON_MAKE_CMD?= ${NPM_EXEC_CMD} ${NPM_EXEC_FLAGS} electron-builder
+ELECTRON_MAKE_FLAGS+= --linux \
+ --dir \
+ --publish never \
+ --config.npmRebuild=false \
+ --config.electronVersion=${ELECTRON_VER} \
+ --config.electronDist=${WRKDIR}/electron-dist
+DO_MAKE_BUILD= ${SETENV} ${MAKE_ENV} ${ELECTRON_MAKE_CMD} ${ELECTRON_MAKE_FLAGS}
+ELECTRON_BUILDER_APP_OUT_DIR= linux-${ARCH:S/aarch64/arm64-/:S/amd64//:S/i386/ia32-/}unpacked
+. elif ${_ELECTRON_FEATURE_BUILD} == packager
+ELECTRON_MAKE_CMD?= ${NPM_EXEC_CMD} ${NPM_EXEC_FLAGS} electron-packager
+ELECTRON_MAKE_FLAGS+= --platform=linux \
+ --no-download \
+ --electron-version=${ELECTRON_VER} \
+ --electron-zip-dir=${WRKDIR}/${ELECTRON_DOWNLOAD_CACHE_DIR} \
+ --prune \
+ --overwrite
+DO_MAKE_BUILD= ${SETENV} ${MAKE_ENV} ${ELECTRON_MAKE_CMD} . ${ELECTRON_MAKE_FLAGS}
+. elif ${_ELECTRON_FEATURE_BUILD} == forge
+ELECTRON_MAKE_CMD?= ${NPM_EXEC_CMD} ${NPM_EXEC_FLAGS} electron-forge package
+ELECTRON_MAKE_FLAGS+= --platform=linux
+DO_MAKE_BUILD= ${SETENV} ${MAKE_ENV} ${ELECTRON_MAKE_CMD} ${ELECTRON_MAKE_FLAGS}
+. endif
+. if ${_NODEJS_NPM} == npm || ${_NODEJS_NPM} == yarn1
+ELECTRON_MAKE_CMD+= --
+. endif
+ALL_TARGET= # empty
+. endif
+
+NODEJS_REBUILD_ENV+= npm_config_nodedir=${LOCALBASE}
+ELECTRON_REBUILD_ENV+= npm_config_runtime=electron
+ELECTRON_REBUILD_ENV+= npm_config_target=${ELECTRON_VER}
+ELECTRON_REBUILD_ENV+= npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers
+
+MAKE_ENV+= ELECTRON_OVERRIDE_DIST_PATH=${WRKDIR}/electron-dist
+MAKE_ENV+= ELECTRON_SKIP_BINARY_DOWNLOAD=1 # don't download electron binary distribution
+MAKE_ENV+= PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 # don't download browser for playwright
+MAKE_ENV+= PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 # don't download chromium for puppeteer
+MAKE_ENV+= SASS_FORCE_BUILD=true # always rebuild native node-sass module
+MAKE_ENV+= USE_SYSTEM_APP_BUILDER=true # always use system app-builder for electron-builder
+MAKE_ENV+= npm_config_build_from_source=true
+SUB_LIST+= ELECTRON_VER_MAJOR=${ELECTRON_VER_MAJOR}
+
+.endif # _INCLUDE_USES_ELECTRON_MK
diff --git a/Mk/Uses/pyqt.mk b/Mk/Uses/pyqt.mk
index 52be74e48e82..880221be3b56 100644
--- a/Mk/Uses/pyqt.mk
+++ b/Mk/Uses/pyqt.mk
@@ -110,7 +110,7 @@ MASTER_SITES_PYQTWEBENGINE= ${MASTER_SITES_PYQT${_PYQT_VERSION}WEBENGINE}
# Qt version-agnostic components
PYQTBUILDER_VERSION= 1.19.1
QSCI2_VERSION= 2.14.1
-SIP_VERSION= 6.15.0 # ,1
+SIP_VERSION= 6.15.1 # ,1
# Qt 5 components
PYQT5SIP_VERSION= 12.17.2
diff --git a/audio/mac/Makefile b/audio/mac/Makefile
index fca05e2559f6..0d8944bea982 100644
--- a/audio/mac/Makefile
+++ b/audio/mac/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mac
-PORTVERSION= 11.89
+PORTVERSION= 11.90
CATEGORIES= audio
MASTER_SITES= https://www.monkeysaudio.com/files/
DISTNAME= ${PORTNAME:tu}_${PORTVERSION:S|.||}_SDK
diff --git a/audio/mac/distinfo b/audio/mac/distinfo
index e9bf9d189a7a..6fd754e6fed3 100644
--- a/audio/mac/distinfo
+++ b/audio/mac/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1764901120
-SHA256 (MAC_1189_SDK.zip) = e641cf51139ede6e2b3055dedc24e79e43443339dee0d8ef8b0b7aa50ae22008
-SIZE (MAC_1189_SDK.zip) = 1735541
+TIMESTAMP = 1766250730
+SHA256 (MAC_1190_SDK.zip) = 6aeb626ba379af91b69a76047d5fb6e8f498630fa4274f865eecfd2b5ccc74d0
+SIZE (MAC_1190_SDK.zip) = 1735265
diff --git a/audio/mpg123/Makefile b/audio/mpg123/Makefile
index b2ba8a16ec17..20b1de48d8f1 100644
--- a/audio/mpg123/Makefile
+++ b/audio/mpg123/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mpg123
-DISTVERSION= 1.33.3
+DISTVERSION= 1.33.4
CATEGORIES= audio
MASTER_SITES= SF \
https://www.mpg123.de/download/
diff --git a/audio/mpg123/distinfo b/audio/mpg123/distinfo
index 44064d06164c..9694f7f05ef3 100644
--- a/audio/mpg123/distinfo
+++ b/audio/mpg123/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759912072
-SHA256 (mpg123-1.33.3.tar.bz2) = 6a0c6472dd156e213c2068f40115ebbb73978c2d873e66bae2a250e2d2198d26
-SIZE (mpg123-1.33.3.tar.bz2) = 1121537
+TIMESTAMP = 1766297989
+SHA256 (mpg123-1.33.4.tar.bz2) = 3ae8c9ff80a97bfc0e22e89fbcd74687eca4fc1db315b12607f27f01cb5a47d9
+SIZE (mpg123-1.33.4.tar.bz2) = 1122088
diff --git a/cad/irsim/Makefile b/cad/irsim/Makefile
index ef0b803403ea..e8d04573354c 100644
--- a/cad/irsim/Makefile
+++ b/cad/irsim/Makefile
@@ -1,5 +1,5 @@
PORTNAME= irsim
-DISTVERSION= 9.7.119
+DISTVERSION= 9.7.121
CATEGORIES= cad
MASTER_SITES= http://opencircuitdesign.com/irsim/archive/
PKGNAMESUFFIX= -${FLAVOR}
diff --git a/cad/irsim/distinfo b/cad/irsim/distinfo
index f403f439604b..d91469954b16 100644
--- a/cad/irsim/distinfo
+++ b/cad/irsim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755438927
-SHA256 (irsim-9.7.119.tgz) = d825f6640462bb287a6f7471b64659c43cdb475806ac8ce9dfdb2aa3669a7a9d
-SIZE (irsim-9.7.119.tgz) = 482299
+TIMESTAMP = 1765936187
+SHA256 (irsim-9.7.121.tgz) = 33edbf04fe51b3d5de0fffdc3d3a8d6db5321747d9a791dd1daae0d60147e216
+SIZE (irsim-9.7.121.tgz) = 482246
diff --git a/cad/kicad-devel/Makefile b/cad/kicad-devel/Makefile
index 243b475f5d0b..8c9cad0e5809 100644
--- a/cad/kicad-devel/Makefile
+++ b/cad/kicad-devel/Makefile
@@ -1,5 +1,6 @@
PORTNAME= kicad
DISTVERSION= r${GIT_SRC_DATE}
+PORTREVISION= 1
#PORTREVISION= 1
CATEGORIES= cad
PKGNAMESUFFIX= -devel
diff --git a/cad/kicad/Makefile b/cad/kicad/Makefile
index f3e3678be54f..741dfc158596 100644
--- a/cad/kicad/Makefile
+++ b/cad/kicad/Makefile
@@ -1,6 +1,6 @@
PORTNAME= kicad
DISTVERSION= 9.0.6
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 2
CATEGORIES= cad
diff --git a/comms/chirp/Makefile b/comms/chirp/Makefile
index 63e22a56b6f8..257c17b458a7 100644
--- a/comms/chirp/Makefile
+++ b/comms/chirp/Makefile
@@ -1,5 +1,6 @@
PORTNAME= chirp
DISTVERSION= 20251106
+PORTREVISION= 1
CATEGORIES= comms hamradio
PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX}
DIST_SUBDIR= chirp
diff --git a/comms/flrig/Makefile b/comms/flrig/Makefile
index 7dd2f5521b6c..d8b9924f9567 100644
--- a/comms/flrig/Makefile
+++ b/comms/flrig/Makefile
@@ -1,5 +1,5 @@
PORTNAME= flrig
-DISTVERSION= 2.0.09
+DISTVERSION= 2.0.10
CATEGORIES= comms hamradio
MASTER_SITES= SF/fldigi/${PORTNAME}
diff --git a/comms/flrig/distinfo b/comms/flrig/distinfo
index 94fc7dde06a3..41244055fed9 100644
--- a/comms/flrig/distinfo
+++ b/comms/flrig/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759848314
-SHA256 (flrig-2.0.09.tar.gz) = 76f521ecf1062af276d5ac3804504b283a2c138455b593d66fd5d51c9464f59d
-SIZE (flrig-2.0.09.tar.gz) = 1137698
+TIMESTAMP = 1766165454
+SHA256 (flrig-2.0.10.tar.gz) = 6a5f2b87d4fffed410a35b3a176b5d04e60ed4de3fda545079f3656e42ef42bd
+SIZE (flrig-2.0.10.tar.gz) = 1225020
diff --git a/comms/quisk/Makefile b/comms/quisk/Makefile
index 17256d3771a9..d5522a7793a8 100644
--- a/comms/quisk/Makefile
+++ b/comms/quisk/Makefile
@@ -1,6 +1,6 @@
PORTNAME= quisk
DISTVERSION= 4.2.36
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= comms hamradio
MASTER_SITES= PYPI
diff --git a/converters/simdutf/Makefile b/converters/simdutf/Makefile
index b7c9df6c2d16..43b40fce068f 100644
--- a/converters/simdutf/Makefile
+++ b/converters/simdutf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= simdutf
DISTVERSIONPREFIX= v
-DISTVERSION= 7.7.0
+DISTVERSION= 7.7.1
CATEGORIES= converters textproc
MAINTAINER= fuz@FreeBSD.org
diff --git a/converters/simdutf/distinfo b/converters/simdutf/distinfo
index d44f68dac66e..ee2b7c58851f 100644
--- a/converters/simdutf/distinfo
+++ b/converters/simdutf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763896945
-SHA256 (simdutf-simdutf-v7.7.0_GH0.tar.gz) = 0180de81a1dd48a87b8c0442ffa81734f3db91a7350914107a449935124e3c6f
-SIZE (simdutf-simdutf-v7.7.0_GH0.tar.gz) = 2231692
+TIMESTAMP = 1766261817
+SHA256 (simdutf-simdutf-v7.7.1_GH0.tar.gz) = 3b119d55c47196f6310f5b7b300563e6f2789b7de352536809438a3de1eb4432
+SIZE (simdutf-simdutf-v7.7.1_GH0.tar.gz) = 2352543
diff --git a/databases/grass8/Makefile b/databases/grass8/Makefile
index 75b146aad364..17c46b0f6d7a 100644
--- a/databases/grass8/Makefile
+++ b/databases/grass8/Makefile
@@ -1,6 +1,6 @@
PORTNAME= grass
DISTVERSION= 8.4.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases geography
MASTER_SITES= https://grass.osgeo.org/%SUBDIR%/ \
http://grass.cict.fr/%SUBDIR%/ \
diff --git a/deskutils/tatuin/Makefile b/deskutils/tatuin/Makefile
index 86d782151285..e837bb487bab 100644
--- a/deskutils/tatuin/Makefile
+++ b/deskutils/tatuin/Makefile
@@ -1,7 +1,6 @@
PORTNAME= tatuin
DISTVERSIONPREFIX= v
-DISTVERSION= 0.25.0
-PORTREVISION= 2
+DISTVERSION= 0.25.2
CATEGORIES= deskutils
MAINTAINER= alven@FreeBSD.org
diff --git a/deskutils/tatuin/Makefile.crates b/deskutils/tatuin/Makefile.crates
index 5d2315c0c973..964be3884d97 100644
--- a/deskutils/tatuin/Makefile.crates
+++ b/deskutils/tatuin/Makefile.crates
@@ -21,7 +21,7 @@ CARGO_CRATES= addr2line-0.25.1 \
bytes-1.10.1 \
cassowary-0.3.0 \
castaway-0.2.4 \
- cc-1.2.44 \
+ cc-1.2.45 \
cfg-if-1.0.4 \
chrono-0.4.42 \
chrono-tz-0.10.4 \
@@ -65,7 +65,7 @@ CARGO_CRATES= addr2line-0.25.1 \
either-1.15.0 \
encoding_rs-0.8.35 \
equivalent-1.0.2 \
- erased-serde-0.4.8 \
+ erased-serde-0.4.9 \
errno-0.3.14 \
eyre-0.6.12 \
fastrand-2.3.0 \
@@ -118,7 +118,7 @@ CARGO_CRATES= addr2line-0.25.1 \
indoc-2.0.7 \
instability-0.3.9 \
ipnet-2.11.0 \
- iri-string-0.7.8 \
+ iri-string-0.7.9 \
is_terminal_polyfill-1.70.2 \
iso8601-duration-0.2.0 \
itertools-0.13.0 \
@@ -151,10 +151,10 @@ CARGO_CRATES= addr2line-0.25.1 \
object-0.37.3 \
once_cell-1.21.3 \
once_cell_polyfill-1.70.2 \
- openssl-0.10.74 \
+ openssl-0.10.75 \
openssl-macros-0.1.1 \
openssl-probe-0.1.6 \
- openssl-sys-0.9.110 \
+ openssl-sys-0.9.111 \
option-ext-0.2.0 \
ordered-multimap-0.7.3 \
owo-colors-4.2.3 \
@@ -176,7 +176,7 @@ CARGO_CRATES= addr2line-0.25.1 \
powerfmt-0.2.0 \
ppv-lite86-0.2.21 \
proc-macro2-1.0.103 \
- quote-1.0.41 \
+ quote-1.0.42 \
r-efi-5.3.0 \
rand-0.8.5 \
rand_chacha-0.3.1 \
@@ -196,7 +196,7 @@ CARGO_CRATES= addr2line-0.25.1 \
rustc-demangle-0.1.26 \
rustix-0.38.44 \
rustix-1.1.2 \
- rustls-0.23.34 \
+ rustls-0.23.35 \
rustls-pki-types-1.13.0 \
rustls-webpki-0.103.8 \
rustversion-1.0.22 \
@@ -232,7 +232,7 @@ CARGO_CRATES= addr2line-0.25.1 \
strum_macros-0.26.4 \
strum_macros-0.27.2 \
subtle-2.6.1 \
- syn-2.0.108 \
+ syn-2.0.109 \
sync_wrapper-1.0.2 \
synstructure-0.13.2 \
system-configuration-0.6.1 \
@@ -253,7 +253,7 @@ CARGO_CRATES= addr2line-0.25.1 \
tokio-native-tls-0.3.1 \
tokio-rustls-0.26.4 \
tokio-stream-0.1.17 \
- tokio-util-0.7.16 \
+ tokio-util-0.7.17 \
toml-0.9.8 \
toml_datetime-0.7.3 \
toml_parser-1.0.4 \
diff --git a/deskutils/tatuin/distinfo b/deskutils/tatuin/distinfo
index 1c92b24fdda0..366adb68b8e7 100644
--- a/deskutils/tatuin/distinfo
+++ b/deskutils/tatuin/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1762451659
+TIMESTAMP = 1765998761
SHA256 (rust/crates/addr2line-0.25.1.crate) = 1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b
SIZE (rust/crates/addr2line-0.25.1.crate) = 43134
SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
@@ -45,8 +45,8 @@ SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40
SIZE (rust/crates/cassowary-0.3.0.crate) = 22876
SHA256 (rust/crates/castaway-0.2.4.crate) = dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a
SIZE (rust/crates/castaway-0.2.4.crate) = 12546
-SHA256 (rust/crates/cc-1.2.44.crate) = 37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3
-SIZE (rust/crates/cc-1.2.44.crate) = 92035
+SHA256 (rust/crates/cc-1.2.45.crate) = 35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe
+SIZE (rust/crates/cc-1.2.45.crate) = 92261
SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
@@ -133,8 +133,8 @@ SHA256 (rust/crates/encoding_rs-0.8.35.crate) = 75030f3c4f45dafd7586dd6780965a8c
SIZE (rust/crates/encoding_rs-0.8.35.crate) = 1381050
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.8.crate) = 259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b
-SIZE (rust/crates/erased-serde-0.4.8.crate) = 28580
+SHA256 (rust/crates/erased-serde-0.4.9.crate) = 89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3
+SIZE (rust/crates/erased-serde-0.4.9.crate) = 28835
SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
SIZE (rust/crates/errno-0.3.14.crate) = 12002
SHA256 (rust/crates/eyre-0.6.12.crate) = 7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec
@@ -239,8 +239,8 @@ SHA256 (rust/crates/instability-0.3.9.crate) = 435d80800b936787d62688c927b6490e8
SIZE (rust/crates/instability-0.3.9.crate) = 14451
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/iri-string-0.7.9.crate) = 4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397
+SIZE (rust/crates/iri-string-0.7.9.crate) = 142144
SHA256 (rust/crates/is_terminal_polyfill-1.70.2.crate) = a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695
SIZE (rust/crates/is_terminal_polyfill-1.70.2.crate) = 7548
SHA256 (rust/crates/iso8601-duration-0.2.0.crate) = a26adff60a5d3ca10dc271ad37a34ff376595d2a1e5f21d02564929ca888c511
@@ -305,14 +305,14 @@ SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a71648
SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
SHA256 (rust/crates/once_cell_polyfill-1.70.2.crate) = 384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe
SIZE (rust/crates/once_cell_polyfill-1.70.2.crate) = 7448
-SHA256 (rust/crates/openssl-0.10.74.crate) = 24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654
-SIZE (rust/crates/openssl-0.10.74.crate) = 285425
+SHA256 (rust/crates/openssl-0.10.75.crate) = 08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328
+SIZE (rust/crates/openssl-0.10.75.crate) = 288136
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.110.crate) = 0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2
-SIZE (rust/crates/openssl-sys-0.9.110.crate) = 80412
+SHA256 (rust/crates/openssl-sys-0.9.111.crate) = 82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321
+SIZE (rust/crates/openssl-sys-0.9.111.crate) = 80871
SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
SHA256 (rust/crates/ordered-multimap-0.7.3.crate) = 49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79
@@ -355,8 +355,8 @@ SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30d
SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
SHA256 (rust/crates/proc-macro2-1.0.103.crate) = 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
SIZE (rust/crates/proc-macro2-1.0.103.crate) = 60024
-SHA256 (rust/crates/quote-1.0.41.crate) = ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1
-SIZE (rust/crates/quote-1.0.41.crate) = 31408
+SHA256 (rust/crates/quote-1.0.42.crate) = a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f
+SIZE (rust/crates/quote-1.0.42.crate) = 31504
SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
@@ -395,8 +395,8 @@ SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65
SIZE (rust/crates/rustix-0.38.44.crate) = 379347
SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
SIZE (rust/crates/rustix-1.1.2.crate) = 422717
-SHA256 (rust/crates/rustls-0.23.34.crate) = 6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7
-SIZE (rust/crates/rustls-0.23.34.crate) = 374030
+SHA256 (rust/crates/rustls-0.23.35.crate) = 533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f
+SIZE (rust/crates/rustls-0.23.35.crate) = 373700
SHA256 (rust/crates/rustls-pki-types-1.13.0.crate) = 94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a
SIZE (rust/crates/rustls-pki-types-1.13.0.crate) = 65448
SHA256 (rust/crates/rustls-webpki-0.103.8.crate) = 2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52
@@ -467,8 +467,8 @@ SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438
SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
SIZE (rust/crates/subtle-2.6.1.crate) = 14562
-SHA256 (rust/crates/syn-2.0.108.crate) = da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917
-SIZE (rust/crates/syn-2.0.108.crate) = 301754
+SHA256 (rust/crates/syn-2.0.109.crate) = 2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f
+SIZE (rust/crates/syn-2.0.109.crate) = 301826
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.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
@@ -509,8 +509,8 @@ SHA256 (rust/crates/tokio-rustls-0.26.4.crate) = 1729aa945f29d91ba541258c8df8902
SIZE (rust/crates/tokio-rustls-0.26.4.crate) = 35430
SHA256 (rust/crates/tokio-stream-0.1.17.crate) = eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047
SIZE (rust/crates/tokio-stream-0.1.17.crate) = 38477
-SHA256 (rust/crates/tokio-util-0.7.16.crate) = 14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5
-SIZE (rust/crates/tokio-util-0.7.16.crate) = 127775
+SHA256 (rust/crates/tokio-util-0.7.17.crate) = 2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594
+SIZE (rust/crates/tokio-util-0.7.17.crate) = 133898
SHA256 (rust/crates/toml-0.9.8.crate) = f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8
SIZE (rust/crates/toml-0.9.8.crate) = 56104
SHA256 (rust/crates/toml_datetime-0.7.3.crate) = f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533
@@ -701,5 +701,5 @@ SHA256 (rust/crates/zerovec-0.11.5.crate) = 6c28719294829477f525be0186d13efa9a3c
SIZE (rust/crates/zerovec-0.11.5.crate) = 119620
SHA256 (rust/crates/zerovec-derive-0.11.2.crate) = eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3
SIZE (rust/crates/zerovec-derive-0.11.2.crate) = 21421
-SHA256 (panter-dsd-tatuin-v0.25.0_GH0.tar.gz) = 245da2d1ec6aae88229596d8ed48a20857c1d2813731e68dd2755669cb892213
-SIZE (panter-dsd-tatuin-v0.25.0_GH0.tar.gz) = 1127739
+SHA256 (panter-dsd-tatuin-v0.25.2_GH0.tar.gz) = 953f1d0cf9cee1eea05ea9818d1b65b31d704e381f27dac6547a577738743657
+SIZE (panter-dsd-tatuin-v0.25.2_GH0.tar.gz) = 1128110
diff --git a/devel/RStudio/Makefile b/devel/RStudio/Makefile
index 804ed24948b6..b7d9268777a6 100644
--- a/devel/RStudio/Makefile
+++ b/devel/RStudio/Makefile
@@ -4,7 +4,7 @@
PORTNAME= RStudio
DISTVERSIONPREFIX= v
DISTVERSION= 2025.09.2+418
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel math java
MASTER_SITES= https://s3.amazonaws.com/rstudio-buildtools/dictionaries/:dictionaries \
https://rstudio-buildtools.s3.amazonaws.com/rstudio-buildtools/:gin \
@@ -115,7 +115,7 @@ NPM_TARBALL= ${PORTNAME}-desktop-node_modules-${DISTVERSION}${EXTRACT_SUFX}
# quarto/panmirror dependencies (uses yarn workspaces)
QUARTO_TARBALL= ${PORTNAME}-quarto-node_modules-${DISTVERSION}${EXTRACT_SUFX}
# Add npm tarballs to DISTFILES for checksum verification
-DISTFILES+= ${PORTNAME}/${NPM_TARBALL}:prefetch \
+#DISTFILES+= ${PORTNAME}/${NPM_TARBALL}:prefetch \
${PORTNAME}/${QUARTO_TARBALL}:prefetch
.endif
diff --git a/devel/RStudio/distinfo.desktop b/devel/RStudio/distinfo.desktop
index d88935495be0..b1946b2c9306 100644
--- a/devel/RStudio/distinfo.desktop
+++ b/devel/RStudio/distinfo.desktop
@@ -1,4 +1,4 @@
-TIMESTAMP = 1764480214
+TIMESTAMP = 1766267269
SHA256 (core-dictionaries.zip) = 4341a9630efb9dcf7f215c324136407f3b3d6003e1c96f2e5e1f9f14d5787494
SIZE (core-dictionaries.zip) = 876339
SHA256 (gin-2.1.2.zip) = b98e704164f54be596779696a3fcd11be5785c9907a99ec535ff6e9525ad5f9a
@@ -19,7 +19,3 @@ SHA256 (rstudio-rsconnect-03c379b_GH0.tar.gz) = d24b6ee49f32f650f6d10bbfc7b2f61a
SIZE (rstudio-rsconnect-03c379b_GH0.tar.gz) = 220711
SHA256 (trestletech-plumber-v0.4.6_GH0.tar.gz) = 7bcbfdf5a8a2e3a051d2c673ac5ac51a483ed888afe73116cba7741dbb5f63a6
SIZE (trestletech-plumber-v0.4.6_GH0.tar.gz) = 83332
-SHA256 (RStudio/RStudio-desktop-node_modules-2025.09.2+418.tar.gz) = dd1f7f2577742977fbab47a34f0e0739b9242188f228bd40d7d46bedcde3869d
-SIZE (RStudio/RStudio-desktop-node_modules-2025.09.2+418.tar.gz) = 35017694
-SHA256 (RStudio/RStudio-quarto-node_modules-2025.09.2+418.tar.gz) = 83a3083b0144a0db3ba14d6283414d1e7c9243251b473535865b9010b3fe4ab0
-SIZE (RStudio/RStudio-quarto-node_modules-2025.09.2+418.tar.gz) = 229334450
diff --git a/devel/go-tools/Makefile b/devel/go-tools/Makefile
index a20ed5f1675f..899fb4a83e97 100644
--- a/devel/go-tools/Makefile
+++ b/devel/go-tools/Makefile
@@ -1,7 +1,6 @@
PORTNAME= tools
DISTVERSIONPREFIX= v
-DISTVERSION= 0.39.0
-PORTREVISION= 1
+DISTVERSION= 0.40.0
PORTEPOCH= 1
CATEGORIES= devel
PKGNAMEPREFIX= go-
diff --git a/devel/go-tools/distinfo b/devel/go-tools/distinfo
index 6986132eff5c..7a12fd53f0e4 100644
--- a/devel/go-tools/distinfo
+++ b/devel/go-tools/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1763116538
-SHA256 (go/devel_go-tools/tools-v0.39.0/v0.39.0.mod) = b479807449df634074dd08e8e15065ed90bb91e123a1664e4ef34ca07fd4c0ac
-SIZE (go/devel_go-tools/tools-v0.39.0/v0.39.0.mod) = 301
-SHA256 (go/devel_go-tools/tools-v0.39.0/v0.39.0.zip) = 498ead1f3de646754a152c14fcaade9b03f86114b2746b65367e3540c1acbcde
-SIZE (go/devel_go-tools/tools-v0.39.0/v0.39.0.zip) = 2854184
+TIMESTAMP = 1765543215
+SHA256 (go/devel_go-tools/tools-v0.40.0/v0.40.0.mod) = c75122d17c58778ae79480a393bbe3281820a0fb9cca327fee767108f43e2de2
+SIZE (go/devel_go-tools/tools-v0.40.0/v0.40.0.mod) = 301
+SHA256 (go/devel_go-tools/tools-v0.40.0/v0.40.0.zip) = 5b8ea096f9184a9df7a4852818ea35d9f9a8f50b68a5558f5078f23a39459780
+SIZE (go/devel_go-tools/tools-v0.40.0/v0.40.0.zip) = 2873030
diff --git a/devel/gopls/Makefile b/devel/gopls/Makefile
index 420d9bdc9a2f..3dde72605fce 100644
--- a/devel/gopls/Makefile
+++ b/devel/gopls/Makefile
@@ -1,7 +1,6 @@
PORTNAME= gopls
DISTVERSIONPREFIX= v
-DISTVERSION= 0.20.0
-PORTREVISION= 6
+DISTVERSION= 0.21.0
CATEGORIES= devel
MAINTAINER= fuz@FreeBSD.org
@@ -11,7 +10,7 @@ WWW= https://pkg.go.dev/golang.org/x/tools/gopls
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:1.24+,modules
+USES= go:1.25+,modules
GO_MODULE= golang.org/x/tools/gopls
OPTIONS_DEFINE= DOCS
diff --git a/devel/gopls/distinfo b/devel/gopls/distinfo
index 39d59afb00ff..dc68138e50c7 100644
--- a/devel/gopls/distinfo
+++ b/devel/gopls/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1754048789
-SHA256 (go/devel_gopls/gopls-v0.20.0/v0.20.0.mod) = 74f06762e74281c9d75a818b97f7a358457d54c85657526bb3e99cefc80387a6
-SIZE (go/devel_gopls/gopls-v0.20.0/v0.20.0.mod) = 1110
-SHA256 (go/devel_gopls/gopls-v0.20.0/v0.20.0.zip) = ebaeab7ce9e90b2f50bd15688843f6f6392897532cdc4826b34a5454d0153357
-SIZE (go/devel_gopls/gopls-v0.20.0/v0.20.0.zip) = 2262520
+TIMESTAMP = 1765639724
+SHA256 (go/devel_gopls/gopls-v0.21.0/v0.21.0.mod) = 45093913c30d49f09eef566b23da6705fa7b1e61d2b2c729814b525ed601fa61
+SIZE (go/devel_gopls/gopls-v0.21.0/v0.21.0.mod) = 1262
+SHA256 (go/devel_gopls/gopls-v0.21.0/v0.21.0.zip) = f366328e7b5e9cc5a596201c78ed5d29007f2826e0344ffa1a043d2dbe8286c8
+SIZE (go/devel_gopls/gopls-v0.21.0/v0.21.0.zip) = 2226113
diff --git a/devel/gopls/pkg-plist b/devel/gopls/pkg-plist
index a23d52446351..ab3302d19ce1 100644
--- a/devel/gopls/pkg-plist
+++ b/devel/gopls/pkg-plist
@@ -38,6 +38,7 @@ bin/gopls
%%PORTDOCS%%%%DOCSDIR%%/doc/release/v0.19.0.md
%%PORTDOCS%%%%DOCSDIR%%/doc/release/v0.20.0.md
%%PORTDOCS%%%%DOCSDIR%%/doc/release/v0.21.0.md
+%%PORTDOCS%%%%DOCSDIR%%/doc/release/v0.22.0.md
%%PORTDOCS%%%%DOCSDIR%%/doc/settings.md
%%PORTDOCS%%%%DOCSDIR%%/doc/troubleshooting.md
%%PORTDOCS%%%%DOCSDIR%%/doc/workspace.md
diff --git a/devel/goreleaser/Makefile b/devel/goreleaser/Makefile
index 3d17bf3e5d1b..d60cb4657882 100644
--- a/devel/goreleaser/Makefile
+++ b/devel/goreleaser/Makefile
@@ -1,6 +1,6 @@
PORTNAME= goreleaser
DISTVERSIONPREFIX= v
-DISTVERSION= 2.13.0
+DISTVERSION= 2.13.1
CATEGORIES= devel
MAINTAINER= fuz@FreeBSD.org
diff --git a/devel/goreleaser/distinfo b/devel/goreleaser/distinfo
index a93f02778371..d702651135c9 100644
--- a/devel/goreleaser/distinfo
+++ b/devel/goreleaser/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1764678894
-SHA256 (go/devel_goreleaser/goreleaser-v2.13.0/v2.13.0.mod) = 0e0943f2ea66259089825775c596506d53465f878576cc916200125ba2bb5ba1
-SIZE (go/devel_goreleaser/goreleaser-v2.13.0/v2.13.0.mod) = 21448
-SHA256 (go/devel_goreleaser/goreleaser-v2.13.0/v2.13.0.zip) = d3d930ff8bc2e68a6bdca3382b8c2e39c029bd8aa908f506d8228afefd34aa28
-SIZE (go/devel_goreleaser/goreleaser-v2.13.0/v2.13.0.zip) = 3441133
+TIMESTAMP = 1765544380
+SHA256 (go/devel_goreleaser/goreleaser-v2.13.1/v2.13.1.mod) = a691d76c821544898c251b6b01bbfa6ec55b27487decca283919c365037f054a
+SIZE (go/devel_goreleaser/goreleaser-v2.13.1/v2.13.1.mod) = 21592
+SHA256 (go/devel_goreleaser/goreleaser-v2.13.1/v2.13.1.zip) = 1550f8efeb4c8e141f3ea41d3e26d6e47bc7d3b9fc69b93485fa7b4e3145c7cd
+SIZE (go/devel_goreleaser/goreleaser-v2.13.1/v2.13.1.zip) = 3444913
diff --git a/devel/immer/Makefile b/devel/immer/Makefile
index 1ea1d45b4818..0ce19bf82890 100644
--- a/devel/immer/Makefile
+++ b/devel/immer/Makefile
@@ -1,6 +1,6 @@
PORTNAME= immer
DISTVERSIONPREFIX= v
-DISTVERSION= 0.8.1
+DISTVERSION= 0.9.0
CATEGORIES= devel
MAINTAINER= jhale@FreeBSD.org
@@ -10,7 +10,7 @@ WWW= https://sinusoid.es/immer/
LICENSE= BSL
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= cmake
+USES= cmake pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= arximboldi
diff --git a/devel/immer/distinfo b/devel/immer/distinfo
index ca28e20f5aed..65a65a74453a 100644
--- a/devel/immer/distinfo
+++ b/devel/immer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1696411685
-SHA256 (arximboldi-immer-v0.8.1_GH0.tar.gz) = de8411c84830864604bb685dc8f2e3c0dbdc40b95b2f6726092f7dcc85e75209
-SIZE (arximboldi-immer-v0.8.1_GH0.tar.gz) = 654638
+TIMESTAMP = 1766279467
+SHA256 (arximboldi-immer-v0.9.0_GH0.tar.gz) = 4e9f9a9018ac6c12f5fa92540feeedffb0a0a7db0de98c07ee62688cc329085a
+SIZE (arximboldi-immer-v0.9.0_GH0.tar.gz) = 745053
diff --git a/devel/immer/files/patch-cmake_FindBoehmGC.cmake b/devel/immer/files/patch-cmake_FindBoehmGC.cmake
index 8bc34f5c5e21..de43409ed283 100644
--- a/devel/immer/files/patch-cmake_FindBoehmGC.cmake
+++ b/devel/immer/files/patch-cmake_FindBoehmGC.cmake
@@ -1,11 +1,16 @@
---- cmake/FindBoehmGC.cmake.orig 2023-10-04 09:47:41 UTC
+CMake Error at cmake/FindBoehmGC.cmake:67 (check_c_source_runs):
+ Unknown CMake command "check_c_source_runs".
+
+https://github.com/arximboldi/immer/pull/315
+
+--- cmake/FindBoehmGC.cmake.orig 2025-12-02 21:25:10 UTC
+++ cmake/FindBoehmGC.cmake
-@@ -57,7 +57,7 @@ IF (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
- IF (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
- # checks if 'gc' supports 'GC_get_parallel' and if it does
- # then use it
-- INCLUDE(${CMAKE_ROOT}/Modules/CheckCSourceCompiles.cmake)
-+ INCLUDE(${CMAKE_ROOT}/Modules/CheckCSourceRuns.cmake)
+@@ -52,7 +52,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ # For FreeBSD we need to use gc-threaded
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ # checks if 'gc' supports 'GC_get_parallel' and if it does then use it
+- include(${CMAKE_ROOT}/Modules/CheckCSourceCompiles.cmake)
++ include(${CMAKE_ROOT}/Modules/CheckCSourceRuns.cmake)
# not sure if this links properly...
- FIND_LIBRARY(BOEHM_GC_LIBRARIES NAMES gc
- HINTS ${PC_BDW_GC_LIBDIR} ${PC_BDW_GC_LIBRARY_DIRS})
+ find_library(
+ BOEHM_GC_LIBRARIES
diff --git a/devel/immer/pkg-plist b/devel/immer/pkg-plist
index 9b67648df9bd..3a0256223e74 100644
--- a/devel/immer/pkg-plist
+++ b/devel/immer/pkg-plist
@@ -27,12 +27,52 @@ include/immer/detail/type_traits.hpp
include/immer/detail/util.hpp
include/immer/experimental/detail/dvektor_impl.hpp
include/immer/experimental/dvektor.hpp
+include/immer/extra/cereal/immer_array.hpp
+include/immer/extra/cereal/immer_box.hpp
+include/immer/extra/cereal/immer_map.hpp
+include/immer/extra/cereal/immer_set.hpp
+include/immer/extra/cereal/immer_table.hpp
+include/immer/extra/cereal/immer_vector.hpp
+include/immer/extra/io.hpp
+include/immer/extra/persist/cereal/archives.hpp
+include/immer/extra/persist/cereal/load.hpp
+include/immer/extra/persist/cereal/policy.hpp
+include/immer/extra/persist/cereal/save.hpp
+include/immer/extra/persist/detail/alias.hpp
+include/immer/extra/persist/detail/array/pool.hpp
+include/immer/extra/persist/detail/box/pool.hpp
+include/immer/extra/persist/detail/cereal/compact_map.hpp
+include/immer/extra/persist/detail/cereal/input_archive_util.hpp
+include/immer/extra/persist/detail/cereal/persistable.hpp
+include/immer/extra/persist/detail/cereal/pools.hpp
+include/immer/extra/persist/detail/cereal/wrap.hpp
+include/immer/extra/persist/detail/champ/champ.hpp
+include/immer/extra/persist/detail/champ/input.hpp
+include/immer/extra/persist/detail/champ/output.hpp
+include/immer/extra/persist/detail/champ/pool.hpp
+include/immer/extra/persist/detail/champ/traits.hpp
+include/immer/extra/persist/detail/common/pool.hpp
+include/immer/extra/persist/detail/names.hpp
+include/immer/extra/persist/detail/node_ptr.hpp
+include/immer/extra/persist/detail/rbts/input.hpp
+include/immer/extra/persist/detail/rbts/output.hpp
+include/immer/extra/persist/detail/rbts/pool.hpp
+include/immer/extra/persist/detail/rbts/traits.hpp
+include/immer/extra/persist/detail/rbts/traverse.hpp
+include/immer/extra/persist/detail/traits.hpp
+include/immer/extra/persist/detail/transform.hpp
+include/immer/extra/persist/detail/type_traverse.hpp
+include/immer/extra/persist/errors.hpp
+include/immer/extra/persist/hash_container_conversion.hpp
+include/immer/extra/persist/transform.hpp
+include/immer/extra/persist/types.hpp
+include/immer/extra/persist/xxhash/xxhash.hpp
+include/immer/extra/persist/xxhash/xxhash_64.cpp
include/immer/flex_vector.hpp
include/immer/flex_vector_transient.hpp
include/immer/heap/cpp_heap.hpp
include/immer/heap/debug_size_heap.hpp
include/immer/heap/free_list_heap.hpp
-include/immer/heap/free_list_node.hpp
include/immer/heap/gc_heap.hpp
include/immer/heap/heap_policy.hpp
include/immer/heap/identity_heap.hpp
@@ -41,7 +81,6 @@ include/immer/heap/split_heap.hpp
include/immer/heap/tags.hpp
include/immer/heap/thread_local_free_list_heap.hpp
include/immer/heap/unsafe_free_list_heap.hpp
-include/immer/heap/with_data.hpp
include/immer/lock/no_lock_policy.hpp
include/immer/lock/spinlock_policy.hpp
include/immer/map.hpp
diff --git a/devel/libphonenumber/Makefile b/devel/libphonenumber/Makefile
index 25b307b796fe..7fa33a12d2fc 100644
--- a/devel/libphonenumber/Makefile
+++ b/devel/libphonenumber/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libphonenumber
DISTVERSIONPREFIX= v
-DISTVERSION= 9.0.18
+DISTVERSION= 9.0.21
CATEGORIES= devel
MAINTAINER= kde@FreeBSD.org
diff --git a/devel/libphonenumber/distinfo b/devel/libphonenumber/distinfo
index c068ffe93f13..772a783e2316 100644
--- a/devel/libphonenumber/distinfo
+++ b/devel/libphonenumber/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763449489
-SHA256 (google-libphonenumber-v9.0.18_GH0.tar.gz) = fdcf2677367b93595d3c7ccbbd58e8e086bbdd5fd58bc01400b445786f9544f7
-SIZE (google-libphonenumber-v9.0.18_GH0.tar.gz) = 13017109
+TIMESTAMP = 1766251070
+SHA256 (google-libphonenumber-v9.0.21_GH0.tar.gz) = 4261a7c38744b3b4859a424a193714ef55b53cd9f3d3d463f9ac589a2c778102
+SIZE (google-libphonenumber-v9.0.21_GH0.tar.gz) = 13022920
diff --git a/devel/ninja/Makefile b/devel/ninja/Makefile
index 931e9b910a68..5bfff5d38364 100644
--- a/devel/ninja/Makefile
+++ b/devel/ninja/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ninja
-PORTVERSION= 1.13.1
+PORTVERSION= 1.13.2
DISTVERSIONPREFIX= v
PORTEPOCH= 4
CATEGORIES= devel
diff --git a/devel/ninja/distinfo b/devel/ninja/distinfo
index 60e7d21f0fd6..0fc2bc91fd57 100644
--- a/devel/ninja/distinfo
+++ b/devel/ninja/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755246529
-SHA256 (ninja-build-ninja-v1.13.1_GH0.tar.gz) = f0055ad0369bf2e372955ba55128d000cfcc21777057806015b45e4accbebf23
-SIZE (ninja-build-ninja-v1.13.1_GH0.tar.gz) = 292098
+TIMESTAMP = 1766255207
+SHA256 (ninja-build-ninja-v1.13.2_GH0.tar.gz) = 974d6b2f4eeefa25625d34da3cb36bdcebe7fbce40f4c16ac0835fd1c0cbae17
+SIZE (ninja-build-ninja-v1.13.2_GH0.tar.gz) = 292385
diff --git a/devel/py-sip/Makefile b/devel/py-sip/Makefile
index d36b47aeb6c3..5596f8a478f4 100644
--- a/devel/py-sip/Makefile
+++ b/devel/py-sip/Makefile
@@ -1,18 +1,10 @@
PORTNAME= sip
PORTVERSION= ${SIP_VERSION}
-PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITES_SIP}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-PATCH_SITES= https://github.com/Python-SIP/sip/commit/
-PATCHFILES= 79da3321082f17d594b29c22dd94e58276d5d23e.patch:-p1 \
- c8424f0208c09c272977cd75b242b01d45d8ad55.patch:-p1 \
- 25010f24cde1f247bb27031543ef5f684fb3c080.patch:-p1 \
- 97b0fd965d9eaba621d6a438f0e7436916ffc3e7.patch:-p1 \
- 8cb66d205024005cca5851395b82dd59942fa1f8.patch:-p1
-
MAINTAINER= kde@FreeBSD.org
COMMENT= Python to C and C++ bindings generator
WWW= https://github.com/Python-SIP/sip
diff --git a/devel/py-sip/distinfo b/devel/py-sip/distinfo
index 45f3e5d4954e..da0980593c08 100644
--- a/devel/py-sip/distinfo
+++ b/devel/py-sip/distinfo
@@ -1,13 +1,3 @@
-TIMESTAMP = 1766213878
-SHA256 (sip-6.15.0.tar.gz) = 3920f26515456ee21114a1f8282144f8c156b1aabc3b44424155d5f81396025f
-SIZE (sip-6.15.0.tar.gz) = 2563129
-SHA256 (79da3321082f17d594b29c22dd94e58276d5d23e.patch) = 78f88cc5ce72a5edd89ee035024b0484cc4901a252a1bf27f11b5923286539bc
-SIZE (79da3321082f17d594b29c22dd94e58276d5d23e.patch) = 743
-SHA256 (c8424f0208c09c272977cd75b242b01d45d8ad55.patch) = 260ab48086ac070b7fc139d194d2f49668595265d13bc88c0676551c1d2f163a
-SIZE (c8424f0208c09c272977cd75b242b01d45d8ad55.patch) = 1569
-SHA256 (25010f24cde1f247bb27031543ef5f684fb3c080.patch) = 3963f0fe344bc122fbe9eea68e90da34588fd5f6371958874a3d0687beb13083
-SIZE (25010f24cde1f247bb27031543ef5f684fb3c080.patch) = 2471
-SHA256 (97b0fd965d9eaba621d6a438f0e7436916ffc3e7.patch) = 9722f6ef69fc95507bbbbcc2b150939e6f333510da43d0b2742f21ca461f64d9
-SIZE (97b0fd965d9eaba621d6a438f0e7436916ffc3e7.patch) = 3799
-SHA256 (8cb66d205024005cca5851395b82dd59942fa1f8.patch) = 4fe967cd9fd905525be97ad60b28c157cf76a5d05a53fefb040f3fa3145ba5e0
-SIZE (8cb66d205024005cca5851395b82dd59942fa1f8.patch) = 1393
+TIMESTAMP = 1766250366
+SHA256 (sip-6.15.1.tar.gz) = dc2e58c1798a74e1b31c28e837339822fe8fa55288ae30e8986eb28100ebca5a
+SIZE (sip-6.15.1.tar.gz) = 2563506
diff --git a/devel/qt6-base/Makefile b/devel/qt6-base/Makefile
index 1f270aa9ad4b..3520f858266b 100644
--- a/devel/qt6-base/Makefile
+++ b/devel/qt6-base/Makefile
@@ -1,5 +1,6 @@
PORTNAME= base
DISTVERSION= ${QT6_VERSION}
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= qt6-
@@ -70,7 +71,8 @@ CUPS_LIB_DEPENDS= libcups.so:print/cups
CUPS_CMAKE_BOOL= FEATURE_cups
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
-WAYLAND_CMAKE_BOOL= FEATURE_wayland
+WAYLAND_CMAKE_BOOL= FEATURE_qtwaylandscanner \
+ FEATURE_wayland
X11_LIB_DEPENDS= libxcb-cursor.so:x11/xcb-util-cursor \
libxcb-icccm.so:x11/xcb-util-wm \
diff --git a/devel/qt6-base/pkg-plist b/devel/qt6-base/pkg-plist
index c4360460bfdb..962c4b4e675d 100644
--- a/devel/qt6-base/pkg-plist
+++ b/devel/qt6-base/pkg-plist
@@ -3419,16 +3419,16 @@ lib/cmake/Qt6TestPrivate/Qt6TestPrivateVersionlessTargets.cmake
%%WAYLAND%%lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateTargets.cmake
%%WAYLAND%%lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateVersionlessAliasTargets.cmake
%%WAYLAND%%lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateVersionlessTargets.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandClientMacros.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandCompositorMacros.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsAdditionalTargetInfo.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsConfig.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsConfigVersion.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsConfigVersionImpl.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsDependencies.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsTargets.cmake
-lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsVersionlessTargets.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandClientMacros.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandCompositorMacros.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsAdditionalTargetInfo.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsConfig.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsConfigVersion.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsConfigVersionImpl.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsDependencies.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsTargets.cmake
+%%WAYLAND%%lib/cmake/Qt6WaylandScannerTools/Qt6WaylandScannerToolsVersionlessTargets.cmake
lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake
lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake
lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake
@@ -4137,7 +4137,7 @@ libdata/pkgconfig/Qt6Xml.pc
%%QT_TOOLDIR%%/qt-internal-configure-tests
%%QT_TOOLDIR%%/qt-testrunner.py
%%QT_TOOLDIR%%/qvkgen
-%%QT_TOOLDIR%%/qtwaylandscanner
+%%WAYLAND%%%%QT_TOOLDIR%%/qtwaylandscanner
%%QT_TOOLDIR%%/rcc
%%QT_TOOLDIR%%/sanitizer-testrunner.py
%%QT_TOOLDIR%%/syncqt
diff --git a/devel/simdjson/Makefile b/devel/simdjson/Makefile
index 82e6425038aa..3e6f4c7d987d 100644
--- a/devel/simdjson/Makefile
+++ b/devel/simdjson/Makefile
@@ -1,6 +1,6 @@
PORTNAME= simdjson
DISTVERSIONPREFIX= v
-PORTVERSION= 4.2.2
+PORTVERSION= 4.2.4
CATEGORIES= devel
MAINTAINER= fuz@FreeBSD.org
diff --git a/devel/simdjson/distinfo b/devel/simdjson/distinfo
index b4041c543b96..cedefa5c9820 100644
--- a/devel/simdjson/distinfo
+++ b/devel/simdjson/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1762943931
-SHA256 (simdjson-simdjson-v4.2.2_GH0.tar.gz) = 3efae22cb41f83299fe0b2e8a187af543d3dda93abbb910586f897df670f9eaa
-SIZE (simdjson-simdjson-v4.2.2_GH0.tar.gz) = 4710677
+TIMESTAMP = 1766051925
+SHA256 (simdjson-simdjson-v4.2.4_GH0.tar.gz) = 6f942d018561a6c30838651a386a17e6e4abbfc396afd0f62740dea1810dedea
+SIZE (simdjson-simdjson-v4.2.4_GH0.tar.gz) = 6042120
SHA256 (simdjson-simdjson-data-351949906abde446f0314bf79606fb5d884f5be7_GH0.tar.gz) = 257371accdfca69814ec88841031bd8183409abf5048fff797df516092b6ded9
SIZE (simdjson-simdjson-data-351949906abde446f0314bf79606fb5d884f5be7_GH0.tar.gz) = 6635608
diff --git a/editors/ad/Makefile b/editors/ad/Makefile
index 374ddeccb050..9002afd6af2f 100644
--- a/editors/ad/Makefile
+++ b/editors/ad/Makefile
@@ -1,6 +1,5 @@
PORTNAME= ad
-DISTVERSION= 0.3.1
-PORTREVISION= 8
+DISTVERSION= 0.4.0
CATEGORIES= editors
MAINTAINER= fuz@FreeBSD.org
diff --git a/editors/ad/Makefile.crates b/editors/ad/Makefile.crates
index 5dfb62b166e3..e7279765201d 100644
--- a/editors/ad/Makefile.crates
+++ b/editors/ad/Makefile.crates
@@ -1,111 +1,160 @@
-CARGO_CRATES= aho-corasick-1.1.3 \
+CARGO_CRATES= adler32-1.2.0 \
+ aho-corasick-1.1.4 \
+ alloca-0.4.0 \
+ allocator-api2-0.2.21 \
anes-0.1.6 \
- anstyle-1.0.8 \
- autocfg-1.4.0 \
+ anstyle-1.0.13 \
+ anyhow-1.0.100 \
+ arbitrary-1.4.2 \
+ assert_fs-1.1.3 \
+ autocfg-1.5.0 \
bitflags-1.3.2 \
- bitflags-2.6.0 \
- bumpalo-3.16.0 \
+ bitflags-2.10.0 \
+ bstr-1.12.1 \
+ bumpalo-3.19.0 \
+ bytes-1.11.0 \
cast-0.3.0 \
- cc-1.2.2 \
- cfg-if-1.0.0 \
+ cc-1.2.49 \
+ cfg-if-1.0.4 \
ciborium-0.2.2 \
ciborium-io-0.2.2 \
ciborium-ll-0.2.2 \
- clap-4.5.19 \
- clap_builder-4.5.19 \
- clap_lex-0.7.2 \
- criterion-0.5.1 \
- criterion-plot-0.5.0 \
- crossbeam-deque-0.8.5 \
+ clap-4.5.53 \
+ clap_builder-4.5.53 \
+ clap_lex-0.7.6 \
+ core2-0.4.0 \
+ crc32fast-1.5.0 \
+ criterion-0.8.0 \
+ criterion-plot-0.8.0 \
+ crossbeam-deque-0.8.6 \
crossbeam-epoch-0.9.18 \
- crossbeam-utils-0.8.20 \
- crunchy-0.2.2 \
- either-1.13.0 \
- equivalent-1.0.1 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.4 \
+ dary_heap-0.3.8 \
+ derive_arbitrary-1.4.2 \
+ difflib-0.4.0 \
+ doc-comment-0.3.4 \
+ either-1.15.0 \
+ equivalent-1.0.2 \
+ errno-0.3.14 \
+ fastrand-2.3.0 \
+ find-msvc-tools-0.1.5 \
fluent-uri-0.1.4 \
- half-2.4.1 \
- hashbrown-0.15.2 \
- hermit-abi-0.4.0 \
- indexmap-2.7.0 \
- is-terminal-0.4.13 \
- itertools-0.10.5 \
- itoa-1.0.11 \
- js-sys-0.3.70 \
+ foldhash-0.2.0 \
+ getrandom-0.3.4 \
+ globset-0.4.18 \
+ globwalk-0.9.1 \
+ half-2.7.1 \
+ hashbrown-0.16.1 \
+ ignore-0.4.25 \
+ indexmap-2.12.1 \
+ itertools-0.13.0 \
+ itoa-1.0.15 \
+ jobserver-0.1.34 \
+ js-sys-0.3.82 \
lazy_static-1.5.0 \
- libc-0.2.162 \
- libloading-0.8.6 \
- log-0.4.22 \
+ lexopt-0.3.1 \
+ libc-0.2.178 \
+ libflate-2.2.1 \
+ libflate_lz77-2.2.0 \
+ libfuzzer-sys-0.4.10 \
+ libloading-0.9.0 \
+ linux-raw-sys-0.11.0 \
+ log-0.4.29 \
lsp-types-0.97.0 \
man-0.3.0 \
- memchr-2.7.4 \
- nu-ansi-term-0.46.0 \
+ memchr-2.7.6 \
+ mio-1.1.0 \
+ nu-ansi-term-0.50.3 \
num-traits-0.2.19 \
- once_cell-1.20.2 \
- oorandom-11.1.4 \
- overload-0.1.1 \
- pin-project-lite-0.2.14 \
+ once_cell-1.21.3 \
+ oorandom-11.1.5 \
+ page_size-0.6.0 \
+ pin-project-lite-0.2.16 \
plotters-0.3.7 \
plotters-backend-0.3.7 \
plotters-svg-0.3.7 \
- proc-macro2-1.0.87 \
- quote-1.0.37 \
- rayon-1.10.0 \
- rayon-core-1.12.1 \
- regex-1.11.0 \
- regex-automata-0.4.8 \
- regex-syntax-0.8.5 \
+ predicates-3.1.3 \
+ predicates-core-1.0.9 \
+ predicates-tree-1.0.12 \
+ proc-macro2-1.0.103 \
+ quote-1.0.42 \
+ r-efi-5.3.0 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
+ regex-1.12.2 \
+ regex-automata-0.4.13 \
+ regex-syntax-0.8.8 \
+ rle-decode-fast-1.0.3 \
roff-0.1.0 \
- ryu-1.0.18 \
+ rustix-1.1.2 \
+ rustversion-1.0.22 \
+ ryu-1.0.20 \
same-file-1.0.6 \
- serde-1.0.215 \
- serde_derive-1.0.215 \
- serde_json-1.0.133 \
- serde_repr-0.1.19 \
- serde_spanned-0.6.8 \
+ serde-1.0.228 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
+ serde_json-1.0.145 \
+ serde_repr-0.1.20 \
+ serde_spanned-1.0.3 \
sharded-slab-0.1.7 \
shlex-1.3.0 \
- simple_test_case-1.2.0 \
- smallvec-1.13.2 \
+ simple_coro-0.1.3 \
+ simple_test_case-1.3.0 \
+ simple_txtar-1.1.0 \
+ smallvec-1.15.1 \
+ socket2-0.6.1 \
streaming-iterator-0.1.9 \
+ structex-0.6.0 \
subprocess-0.2.9 \
- syn-2.0.87 \
- thread_local-1.1.8 \
+ syn-2.0.111 \
+ tempfile-3.23.0 \
+ termtree-0.5.1 \
+ thread_local-1.1.9 \
tinytemplate-1.2.1 \
- toml-0.8.19 \
- toml_datetime-0.6.8 \
- toml_edit-0.22.22 \
- tracing-0.1.40 \
- tracing-attributes-0.1.27 \
- tracing-core-0.1.32 \
+ tokio-1.48.0 \
+ tokio-macros-2.6.0 \
+ toml-0.9.8 \
+ toml_datetime-0.7.3 \
+ toml_parser-1.0.4 \
+ toml_writer-1.0.4 \
+ tracing-0.1.43 \
+ tracing-attributes-0.1.31 \
+ tracing-core-0.1.35 \
tracing-log-0.2.0 \
- tracing-subscriber-0.3.18 \
- tree-sitter-0.24.4 \
- tree-sitter-language-0.1.2 \
- tree-sitter-python-0.23.6 \
- tree-sitter-rust-0.23.2 \
- unicode-ident-1.0.13 \
- unicode-width-0.2.0 \
- valuable-0.1.0 \
+ tracing-subscriber-0.3.22 \
+ tree-sitter-0.25.10 \
+ tree-sitter-language-0.1.5 \
+ tree-sitter-python-0.25.0 \
+ tree-sitter-rust-0.24.0 \
+ unicode-ident-1.0.22 \
+ unicode-width-0.2.2 \
+ valuable-0.1.1 \
walkdir-2.5.0 \
- wasm-bindgen-0.2.93 \
- wasm-bindgen-backend-0.2.93 \
- wasm-bindgen-macro-0.2.93 \
- wasm-bindgen-macro-support-0.2.93 \
- wasm-bindgen-shared-0.2.93 \
- web-sys-0.3.70 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasip2-1.0.1+wasi-0.2.4 \
+ wasm-bindgen-0.2.105 \
+ wasm-bindgen-macro-0.2.105 \
+ wasm-bindgen-macro-support-0.2.105 \
+ wasm-bindgen-shared-0.2.105 \
+ web-sys-0.3.82 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.9 \
+ winapi-util-0.1.11 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
- 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.6.20
+ windows-link-0.2.1 \
+ windows-sys-0.60.2 \
+ windows-sys-0.61.2 \
+ windows-targets-0.53.5 \
+ windows_aarch64_gnullvm-0.53.1 \
+ windows_aarch64_msvc-0.53.1 \
+ windows_i686_gnu-0.53.1 \
+ windows_i686_gnullvm-0.53.1 \
+ windows_i686_msvc-0.53.1 \
+ windows_x86_64_gnu-0.53.1 \
+ windows_x86_64_gnullvm-0.53.1 \
+ windows_x86_64_msvc-0.53.1 \
+ winnow-0.7.13 \
+ wit-bindgen-0.46.0 \
+ zerocopy-0.8.28 \
+ zerocopy-derive-0.8.28
diff --git a/editors/ad/distinfo b/editors/ad/distinfo
index 07339c0a6220..d340c23c3ebe 100644
--- a/editors/ad/distinfo
+++ b/editors/ad/distinfo
@@ -1,225 +1,323 @@
-TIMESTAMP = 1740053565
-SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
-SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+TIMESTAMP = 1765798453
+SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
+SIZE (rust/crates/adler32-1.2.0.crate) = 6411
+SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
+SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015
+SHA256 (rust/crates/alloca-0.4.0.crate) = e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4
+SIZE (rust/crates/alloca-0.4.0.crate) = 4257
+SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
+SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622
SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
SIZE (rust/crates/anes-0.1.6.crate) = 23857
-SHA256 (rust/crates/anstyle-1.0.8.crate) = 1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1
-SIZE (rust/crates/anstyle-1.0.8.crate) = 15771
-SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
-SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/anstyle-1.0.13.crate) = 5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78
+SIZE (rust/crates/anstyle-1.0.13.crate) = 17651
+SHA256 (rust/crates/anyhow-1.0.100.crate) = a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61
+SIZE (rust/crates/anyhow-1.0.100.crate) = 54059
+SHA256 (rust/crates/arbitrary-1.4.2.crate) = c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1
+SIZE (rust/crates/arbitrary-1.4.2.crate) = 38307
+SHA256 (rust/crates/assert_fs-1.1.3.crate) = a652f6cb1f516886fcfee5e7a5c078b9ade62cfcb889524efe5a64d682dd27a9
+SIZE (rust/crates/assert_fs-1.1.3.crate) = 20176
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de
-SIZE (rust/crates/bitflags-2.6.0.crate) = 45357
-SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c
-SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677
+SHA256 (rust/crates/bitflags-2.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
+SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
+SHA256 (rust/crates/bstr-1.12.1.crate) = 63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab
+SIZE (rust/crates/bstr-1.12.1.crate) = 354916
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/bytes-1.11.0.crate) = b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3
+SIZE (rust/crates/bytes-1.11.0.crate) = 78391
SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
SIZE (rust/crates/cast-0.3.0.crate) = 11452
-SHA256 (rust/crates/cc-1.2.2.crate) = f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc
-SIZE (rust/crates/cc-1.2.2.crate) = 98719
-SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cc-1.2.49.crate) = 90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215
+SIZE (rust/crates/cc-1.2.49.crate) = 93145
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
-SHA256 (rust/crates/clap-4.5.19.crate) = 7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615
-SIZE (rust/crates/clap-4.5.19.crate) = 56377
-SHA256 (rust/crates/clap_builder-4.5.19.crate) = a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b
-SIZE (rust/crates/clap_builder-4.5.19.crate) = 163596
-SHA256 (rust/crates/clap_lex-0.7.2.crate) = 1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97
-SIZE (rust/crates/clap_lex-0.7.2.crate) = 12805
-SHA256 (rust/crates/criterion-0.5.1.crate) = f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f
-SIZE (rust/crates/criterion-0.5.1.crate) = 110088
-SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
-SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
-SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
-SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/clap-4.5.53.crate) = c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8
+SIZE (rust/crates/clap-4.5.53.crate) = 62036
+SHA256 (rust/crates/clap_builder-4.5.53.crate) = d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00
+SIZE (rust/crates/clap_builder-4.5.53.crate) = 170811
+SHA256 (rust/crates/clap_lex-0.7.6.crate) = a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d
+SIZE (rust/crates/clap_lex-0.7.6.crate) = 13466
+SHA256 (rust/crates/core2-0.4.0.crate) = b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505
+SIZE (rust/crates/core2-0.4.0.crate) = 37075
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
+SHA256 (rust/crates/criterion-0.8.0.crate) = a0dfe5e9e71bdcf4e4954f7d14da74d1cdb92a3a07686452d1509652684b1aab
+SIZE (rust/crates/criterion-0.8.0.crate) = 122319
+SHA256 (rust/crates/criterion-plot-0.8.0.crate) = 5de36c2bee19fba779808f92bf5d9b0fa5a40095c277aba10c458a12b35d21d6
+SIZE (rust/crates/criterion-plot-0.8.0.crate) = 24724
+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.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80
-SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487
-SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7
-SIZE (rust/crates/crunchy-0.2.2.crate) = 2995
-SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
-SIZE (rust/crates/either-1.13.0.crate) = 19169
-SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
-SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5
+SIZE (rust/crates/crunchy-0.2.4.crate) = 3887
+SHA256 (rust/crates/dary_heap-0.3.8.crate) = 06d2e3287df1c007e74221c49ca10a95d557349e54b3a75dc2fb14712c751f04
+SIZE (rust/crates/dary_heap-0.3.8.crate) = 26544
+SHA256 (rust/crates/derive_arbitrary-1.4.2.crate) = 1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a
+SIZE (rust/crates/derive_arbitrary-1.4.2.crate) = 12290
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/doc-comment-0.3.4.crate) = 780955b8b195a21ab8e4ac6b60dd1dbdcec1dc6c51c0617964b08c81785e12c9
+SIZE (rust/crates/doc-comment-0.3.4.crate) = 4341
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/find-msvc-tools-0.1.5.crate) = 3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844
+SIZE (rust/crates/find-msvc-tools-0.1.5.crate) = 30942
SHA256 (rust/crates/fluent-uri-0.1.4.crate) = 17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d
SIZE (rust/crates/fluent-uri-0.1.4.crate) = 33596
-SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888
-SIZE (rust/crates/half-2.4.1.crate) = 50892
-SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
-SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
-SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc
-SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310
-SHA256 (rust/crates/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
-SHA256 (rust/crates/is-terminal-0.4.13.crate) = 261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b
-SIZE (rust/crates/is-terminal-0.4.13.crate) = 7665
-SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
-SIZE (rust/crates/itertools-0.10.5.crate) = 115354
-SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b
-SIZE (rust/crates/itoa-1.0.11.crate) = 10563
-SHA256 (rust/crates/js-sys-0.3.70.crate) = 1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a
-SIZE (rust/crates/js-sys-0.3.70.crate) = 53863
+SHA256 (rust/crates/foldhash-0.2.0.crate) = 77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb
+SIZE (rust/crates/foldhash-0.2.0.crate) = 23329
+SHA256 (rust/crates/getrandom-0.3.4.crate) = 899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd
+SIZE (rust/crates/getrandom-0.3.4.crate) = 50932
+SHA256 (rust/crates/globset-0.4.18.crate) = 52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3
+SIZE (rust/crates/globset-0.4.18.crate) = 28970
+SHA256 (rust/crates/globwalk-0.9.1.crate) = 0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757
+SIZE (rust/crates/globwalk-0.9.1.crate) = 12572
+SHA256 (rust/crates/half-2.7.1.crate) = 6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b
+SIZE (rust/crates/half-2.7.1.crate) = 61040
+SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
+SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
+SHA256 (rust/crates/ignore-0.4.25.crate) = d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a
+SIZE (rust/crates/ignore-0.4.25.crate) = 59154
+SHA256 (rust/crates/indexmap-2.12.1.crate) = 0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2
+SIZE (rust/crates/indexmap-2.12.1.crate) = 100184
+SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
+SIZE (rust/crates/itertools-0.13.0.crate) = 146261
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/jobserver-0.1.34.crate) = 9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33
+SIZE (rust/crates/jobserver-0.1.34.crate) = 29013
+SHA256 (rust/crates/js-sys-0.3.82.crate) = b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65
+SIZE (rust/crates/js-sys-0.3.82.crate) = 56436
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.162.crate) = 18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398
-SIZE (rust/crates/libc-0.2.162.crate) = 769354
-SHA256 (rust/crates/libloading-0.8.6.crate) = fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34
-SIZE (rust/crates/libloading-0.8.6.crate) = 28922
-SHA256 (rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24
-SIZE (rust/crates/log-0.4.22.crate) = 44027
+SHA256 (rust/crates/lexopt-0.3.1.crate) = 9fa0e2a1fcbe2f6be6c42e342259976206b383122fc152e872795338b5a3f3a7
+SIZE (rust/crates/lexopt-0.3.1.crate) = 26158
+SHA256 (rust/crates/libc-0.2.178.crate) = 37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091
+SIZE (rust/crates/libc-0.2.178.crate) = 783720
+SHA256 (rust/crates/libflate-2.2.1.crate) = e3248b8d211bd23a104a42d81b4fa8bb8ac4a3b75e7a43d85d2c9ccb6179cd74
+SIZE (rust/crates/libflate-2.2.1.crate) = 40550
+SHA256 (rust/crates/libflate_lz77-2.2.0.crate) = a599cb10a9cd92b1300debcef28da8f70b935ec937f44fcd1b70a7c986a11c5c
+SIZE (rust/crates/libflate_lz77-2.2.0.crate) = 7627
+SHA256 (rust/crates/libfuzzer-sys-0.4.10.crate) = 5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404
+SIZE (rust/crates/libfuzzer-sys-0.4.10.crate) = 133968
+SHA256 (rust/crates/libloading-0.9.0.crate) = 754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60
+SIZE (rust/crates/libloading-0.9.0.crate) = 33816
+SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039
+SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624
+SHA256 (rust/crates/log-0.4.29.crate) = 5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897
+SIZE (rust/crates/log-0.4.29.crate) = 51515
SHA256 (rust/crates/lsp-types-0.97.0.crate) = 53353550a17c04ac46c585feb189c2db82154fc84b79c7a66c96c2c644f66071
SIZE (rust/crates/lsp-types-0.97.0.crate) = 70764
SHA256 (rust/crates/man-0.3.0.crate) = ebf5fa795187a80147b1ac10aaedcf5ffd3bbeb1838bda61801a1c9ad700a1c9
SIZE (rust/crates/man-0.3.0.crate) = 16839
-SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
-SIZE (rust/crates/memchr-2.7.4.crate) = 96670
-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/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
+SIZE (rust/crates/memchr-2.7.6.crate) = 97616
+SHA256 (rust/crates/mio-1.1.0.crate) = 69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873
+SIZE (rust/crates/mio-1.1.0.crate) = 105232
+SHA256 (rust/crates/nu-ansi-term-0.50.3.crate) = 7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5
+SIZE (rust/crates/nu-ansi-term-0.50.3.crate) = 29597
SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
-SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775
-SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
-SHA256 (rust/crates/oorandom-11.1.4.crate) = b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9
-SIZE (rust/crates/oorandom-11.1.4.crate) = 10201
-SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
-SIZE (rust/crates/overload-0.1.1.crate) = 24439
-SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02
-SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/oorandom-11.1.5.crate) = d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e
+SIZE (rust/crates/oorandom-11.1.5.crate) = 23750
+SHA256 (rust/crates/page_size-0.6.0.crate) = 30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da
+SIZE (rust/crates/page_size-0.6.0.crate) = 8479
+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/plotters-0.3.7.crate) = 5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747
SIZE (rust/crates/plotters-0.3.7.crate) = 149031
SHA256 (rust/crates/plotters-backend-0.3.7.crate) = df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a
SIZE (rust/crates/plotters-backend-0.3.7.crate) = 13709
SHA256 (rust/crates/plotters-svg-0.3.7.crate) = 51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670
SIZE (rust/crates/plotters-svg-0.3.7.crate) = 6715
-SHA256 (rust/crates/proc-macro2-1.0.87.crate) = b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a
-SIZE (rust/crates/proc-macro2-1.0.87.crate) = 49121
-SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af
-SIZE (rust/crates/quote-1.0.37.crate) = 28558
-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/regex-1.11.0.crate) = 38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8
-SIZE (rust/crates/regex-1.11.0.crate) = 254059
-SHA256 (rust/crates/regex-automata-0.4.8.crate) = 368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3
-SIZE (rust/crates/regex-automata-0.4.8.crate) = 617784
-SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
-SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
+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.103.crate) = 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
+SIZE (rust/crates/proc-macro2-1.0.103.crate) = 60024
+SHA256 (rust/crates/quote-1.0.42.crate) = a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f
+SIZE (rust/crates/quote-1.0.42.crate) = 31504
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
+SHA256 (rust/crates/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f
+SIZE (rust/crates/rayon-1.11.0.crate) = 182470
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
+SHA256 (rust/crates/regex-1.12.2.crate) = 843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4
+SIZE (rust/crates/regex-1.12.2.crate) = 163843
+SHA256 (rust/crates/regex-automata-0.4.13.crate) = 5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c
+SIZE (rust/crates/regex-automata-0.4.13.crate) = 625250
+SHA256 (rust/crates/regex-syntax-0.8.8.crate) = 7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58
+SIZE (rust/crates/regex-syntax-0.8.8.crate) = 359141
+SHA256 (rust/crates/rle-decode-fast-1.0.3.crate) = 3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422
+SIZE (rust/crates/rle-decode-fast-1.0.3.crate) = 62086
SHA256 (rust/crates/roff-0.1.0.crate) = e33e4fb37ba46888052c763e4ec2acfedd8f00f62897b630cadb6298b833675e
SIZE (rust/crates/roff-0.1.0.crate) = 7493
-SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f
-SIZE (rust/crates/ryu-1.0.18.crate) = 47713
+SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
+SIZE (rust/crates/rustix-1.1.2.crate) = 422717
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
+SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
+SIZE (rust/crates/ryu-1.0.20.crate) = 48738
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
-SHA256 (rust/crates/serde-1.0.215.crate) = 6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f
-SIZE (rust/crates/serde-1.0.215.crate) = 78527
-SHA256 (rust/crates/serde_derive-1.0.215.crate) = ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0
-SIZE (rust/crates/serde_derive-1.0.215.crate) = 57092
-SHA256 (rust/crates/serde_json-1.0.133.crate) = c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377
-SIZE (rust/crates/serde_json-1.0.133.crate) = 150739
-SHA256 (rust/crates/serde_repr-0.1.19.crate) = 6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9
-SIZE (rust/crates/serde_repr-0.1.19.crate) = 9997
-SHA256 (rust/crates/serde_spanned-0.6.8.crate) = 87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1
-SIZE (rust/crates/serde_spanned-0.6.8.crate) = 9330
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c
+SIZE (rust/crates/serde_json-1.0.145.crate) = 155748
+SHA256 (rust/crates/serde_repr-0.1.20.crate) = 175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c
+SIZE (rust/crates/serde_repr-0.1.20.crate) = 12627
+SHA256 (rust/crates/serde_spanned-1.0.3.crate) = e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392
+SIZE (rust/crates/serde_spanned-1.0.3.crate) = 11011
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/simple_test_case-1.2.0.crate) = 5d0649fa40b80dcacda1cabd018fd47b6b0c7fbbda6e1c3f658a6c4d5926500a
-SIZE (rust/crates/simple_test_case-1.2.0.crate) = 9956
-SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
-SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
+SHA256 (rust/crates/simple_coro-0.1.3.crate) = 92802be477870645da846efac4217346cb92b80e1bad2b71ad73da2c156a6f7c
+SIZE (rust/crates/simple_coro-0.1.3.crate) = 13693
+SHA256 (rust/crates/simple_test_case-1.3.0.crate) = 6909e2382b73068b0172c9c28726b6fb9efeef51742ecfd05b9260c62c42bb8e
+SIZE (rust/crates/simple_test_case-1.3.0.crate) = 11229
+SHA256 (rust/crates/simple_txtar-1.1.0.crate) = 373fac8aec0b1d99f0915cb639ce66f615a8f4f67e237c39058bc38e1fa89a62
+SIZE (rust/crates/simple_txtar-1.1.0.crate) = 5627
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/socket2-0.6.1.crate) = 17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881
+SIZE (rust/crates/socket2-0.6.1.crate) = 58486
SHA256 (rust/crates/streaming-iterator-0.1.9.crate) = 2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520
SIZE (rust/crates/streaming-iterator-0.1.9.crate) = 18482
+SHA256 (rust/crates/structex-0.6.0.crate) = f42c1c8d013d88c0ccfa0843734f0d714b0c434dfd65459d4670769041ccf57b
+SIZE (rust/crates/structex-0.6.0.crate) = 33672
SHA256 (rust/crates/subprocess-0.2.9.crate) = 0c2e86926081dda636c546d8c5e641661049d7562a68f5488be4a1f7f66f6086
SIZE (rust/crates/subprocess-0.2.9.crate) = 46463
-SHA256 (rust/crates/syn-2.0.87.crate) = 25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d
-SIZE (rust/crates/syn-2.0.87.crate) = 278076
-SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c
-SIZE (rust/crates/thread_local-1.1.8.crate) = 13962
+SHA256 (rust/crates/syn-2.0.111.crate) = 390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87
+SIZE (rust/crates/syn-2.0.111.crate) = 302117
+SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16
+SIZE (rust/crates/tempfile-3.23.0.crate) = 43063
+SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
+SIZE (rust/crates/termtree-0.5.1.crate) = 8498
+SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185
+SIZE (rust/crates/thread_local-1.1.9.crate) = 19315
SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
-SHA256 (rust/crates/toml-0.8.19.crate) = a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e
-SIZE (rust/crates/toml-0.8.19.crate) = 50974
-SHA256 (rust/crates/toml_datetime-0.6.8.crate) = 0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41
-SIZE (rust/crates/toml_datetime-0.6.8.crate) = 12028
-SHA256 (rust/crates/toml_edit-0.22.22.crate) = 4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5
-SIZE (rust/crates/toml_edit-0.22.22.crate) = 106387
-SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
-SIZE (rust/crates/tracing-0.1.40.crate) = 79459
-SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
-SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
-SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
-SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/tokio-1.48.0.crate) = ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408
+SIZE (rust/crates/tokio-1.48.0.crate) = 843434
+SHA256 (rust/crates/tokio-macros-2.6.0.crate) = af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5
+SIZE (rust/crates/tokio-macros-2.6.0.crate) = 16505
+SHA256 (rust/crates/toml-0.9.8.crate) = f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8
+SIZE (rust/crates/toml-0.9.8.crate) = 56104
+SHA256 (rust/crates/toml_datetime-0.7.3.crate) = f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533
+SIZE (rust/crates/toml_datetime-0.7.3.crate) = 17827
+SHA256 (rust/crates/toml_parser-1.0.4.crate) = c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e
+SIZE (rust/crates/toml_parser-1.0.4.crate) = 34978
+SHA256 (rust/crates/toml_writer-1.0.4.crate) = df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2
+SIZE (rust/crates/toml_writer-1.0.4.crate) = 17146
+SHA256 (rust/crates/tracing-0.1.43.crate) = 2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647
+SIZE (rust/crates/tracing-0.1.43.crate) = 90033
+SHA256 (rust/crates/tracing-attributes-0.1.31.crate) = 7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da
+SIZE (rust/crates/tracing-attributes-0.1.31.crate) = 39733
+SHA256 (rust/crates/tracing-core-0.1.35.crate) = 7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c
+SIZE (rust/crates/tracing-core-0.1.35.crate) = 63837
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.18.crate) = ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b
-SIZE (rust/crates/tracing-subscriber-0.3.18.crate) = 196312
-SHA256 (rust/crates/tree-sitter-0.24.4.crate) = b67baf55e7e1b6806063b1e51041069c90afff16afcbbccd278d899f9d84bca4
-SIZE (rust/crates/tree-sitter-0.24.4.crate) = 176161
-SHA256 (rust/crates/tree-sitter-language-0.1.2.crate) = e8ddffe35a0e5eeeadf13ff7350af564c6e73993a24db62caee1822b185c2600
-SIZE (rust/crates/tree-sitter-language-0.1.2.crate) = 1247
-SHA256 (rust/crates/tree-sitter-python-0.23.6.crate) = 3d065aaa27f3aaceaf60c1f0e0ac09e1cb9eb8ed28e7bcdaa52129cffc7f4b04
-SIZE (rust/crates/tree-sitter-python-0.23.6.crate) = 175831
-SHA256 (rust/crates/tree-sitter-rust-0.23.2.crate) = a4d64d449ca63e683c562c7743946a646671ca23947b9c925c0cfbe65051a4af
-SIZE (rust/crates/tree-sitter-rust-0.23.2.crate) = 343880
-SHA256 (rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe
-SIZE (rust/crates/unicode-ident-1.0.13.crate) = 43279
-SHA256 (rust/crates/unicode-width-0.2.0.crate) = 1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd
-SIZE (rust/crates/unicode-width-0.2.0.crate) = 271509
-SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d
-SIZE (rust/crates/valuable-0.1.0.crate) = 27718
+SHA256 (rust/crates/tracing-subscriber-0.3.22.crate) = 2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e
+SIZE (rust/crates/tracing-subscriber-0.3.22.crate) = 212851
+SHA256 (rust/crates/tree-sitter-0.25.10.crate) = 78f873475d258561b06f1c595d93308a7ed124d9977cb26b148c2084a4a3cc87
+SIZE (rust/crates/tree-sitter-0.25.10.crate) = 197383
+SHA256 (rust/crates/tree-sitter-language-0.1.5.crate) = c4013970217383f67b18aef68f6fb2e8d409bc5755227092d32efb0422ba24b8
+SIZE (rust/crates/tree-sitter-language-0.1.5.crate) = 1887
+SHA256 (rust/crates/tree-sitter-python-0.25.0.crate) = 6bf85fd39652e740bf60f46f4cda9492c3a9ad75880575bf14960f775cb74a1c
+SIZE (rust/crates/tree-sitter-python-0.25.0.crate) = 180146
+SHA256 (rust/crates/tree-sitter-rust-0.24.0.crate) = 4b9b18034c684a2420722be8b2a91c9c44f2546b631c039edf575ccba8c61be1
+SIZE (rust/crates/tree-sitter-rust-0.24.0.crate) = 361995
+SHA256 (rust/crates/unicode-ident-1.0.22.crate) = 9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5
+SIZE (rust/crates/unicode-ident-1.0.22.crate) = 47919
+SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
+SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65
+SIZE (rust/crates/valuable-0.1.1.crate) = 28679
SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
-SHA256 (rust/crates/wasm-bindgen-0.2.93.crate) = a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5
-SIZE (rust/crates/wasm-bindgen-0.2.93.crate) = 43769
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b
-SIZE (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 30344
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf
-SIZE (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 6822
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = 20642
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.93.crate) = c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484
-SIZE (rust/crates/wasm-bindgen-shared-0.2.93.crate) = 7527
-SHA256 (rust/crates/web-sys-0.3.70.crate) = 26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0
-SIZE (rust/crates/web-sys-0.3.70.crate) = 615438
+SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7
+SIZE (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 132087
+SHA256 (rust/crates/wasm-bindgen-0.2.105.crate) = da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60
+SIZE (rust/crates/wasm-bindgen-0.2.105.crate) = 48215
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.105.crate) = 04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2
+SIZE (rust/crates/wasm-bindgen-macro-0.2.105.crate) = 9264
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.105.crate) = 420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.105.crate) = 49633
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.105.crate) = 76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76
+SIZE (rust/crates/wasm-bindgen-shared-0.2.105.crate) = 9269
+SHA256 (rust/crates/web-sys-0.3.82.crate) = 3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1
+SIZE (rust/crates/web-sys-0.3.82.crate) = 644272
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-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
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-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.6.20.crate) = 36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b
-SIZE (rust/crates/winnow-0.6.20.crate) = 163617
-SHA256 (sminez-ad-0.3.1_GH0.tar.gz) = 809cd09550daf38b1c4b7d19b975e6dbeb85f424f8942f20fc9cd7808c1ef196
-SIZE (sminez-ad-0.3.1_GH0.tar.gz) = 644795
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
+SHA256 (rust/crates/windows-targets-0.53.5.crate) = 4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3
+SIZE (rust/crates/windows-targets-0.53.5.crate) = 7126
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = 787748
+SHA256 (rust/crates/windows_aarch64_msvc-0.53.1.crate) = b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006
+SIZE (rust/crates/windows_aarch64_msvc-0.53.1.crate) = 838009
+SHA256 (rust/crates/windows_i686_gnu-0.53.1.crate) = 960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3
+SIZE (rust/crates/windows_i686_gnu-0.53.1.crate) = 939775
+SHA256 (rust/crates/windows_i686_gnullvm-0.53.1.crate) = fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c
+SIZE (rust/crates/windows_i686_gnullvm-0.53.1.crate) = 857396
+SHA256 (rust/crates/windows_i686_msvc-0.53.1.crate) = 1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2
+SIZE (rust/crates/windows_i686_msvc-0.53.1.crate) = 907688
+SHA256 (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499
+SIZE (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 903712
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 787739
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.1.crate) = d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650
+SIZE (rust/crates/windows_x86_64_msvc-0.53.1.crate) = 837950
+SHA256 (rust/crates/winnow-0.7.13.crate) = 21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf
+SIZE (rust/crates/winnow-0.7.13.crate) = 174454
+SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
+SIZE (rust/crates/wit-bindgen-0.46.0.crate) = 60508
+SHA256 (rust/crates/zerocopy-0.8.28.crate) = 43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90
+SIZE (rust/crates/zerocopy-0.8.28.crate) = 253838
+SHA256 (rust/crates/zerocopy-derive-0.8.28.crate) = c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26
+SIZE (rust/crates/zerocopy-derive-0.8.28.crate) = 90241
+SHA256 (sminez-ad-0.4.0_GH0.tar.gz) = e35cf1030bc24bf336066fcd367e8a022d097357b896cb316183993951d4ffb8
+SIZE (sminez-ad-0.4.0_GH0.tar.gz) = 3223056
diff --git a/editors/ad/pkg-plist b/editors/ad/pkg-plist
index 1620b10729d5..5e36e8d50fe8 100644
--- a/editors/ad/pkg-plist
+++ b/editors/ad/pkg-plist
@@ -1,6 +1,12 @@
bin/ad
%%PORTDOCS%%%%DOCSDIR%%/9p.md
%%PORTDOCS%%%%DOCSDIR%%/address-syntax.md
+%%PORTDOCS%%%%DOCSDIR%%/demos/exec/edit-with-external-commands
+%%PORTDOCS%%%%DOCSDIR%%/demos/exec/run-external-commands
+%%PORTDOCS%%%%DOCSDIR%%/demos/scratch-buffer/fsys
+%%PORTDOCS%%%%DOCSDIR%%/demos/scratch-buffer/index
+%%PORTDOCS%%%%DOCSDIR%%/demos/scratch-buffer/load-exec
+%%PORTDOCS%%%%DOCSDIR%%/demos/scratch-buffer/overview
%%PORTDOCS%%%%DOCSDIR%%/design.md
%%PORTDOCS%%%%DOCSDIR%%/tour/executing
%%PORTDOCS%%%%DOCSDIR%%/tour/fsys
diff --git a/editors/vscode/Makefile.version b/editors/vscode/Makefile.version
index 57026b24956e..121e47fe5551 100644
--- a/editors/vscode/Makefile.version
+++ b/editors/vscode/Makefile.version
@@ -1,2 +1,2 @@
-VSCODE_VERSION= 1.107.0
-SOURCE_COMMIT_HASH= 302ff6a2e235c95b88e587d4a4b6eeb1b6613297
+VSCODE_VERSION= 1.107.1
+SOURCE_COMMIT_HASH= 994fd12f8d3a5aa16f17d42c041e5809167e845a
diff --git a/editors/vscode/distinfo b/editors/vscode/distinfo
index 5bc95718674c..aabacb98c484 100644
--- a/editors/vscode/distinfo
+++ b/editors/vscode/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1765693727
-SHA256 (vscode/vscode-node-modules-1.107.0.tar.gz) = 2540f57eab612c3f8d773fa2ddd3634f55916d89e9f26385b21e25663b6e141a
-SIZE (vscode/vscode-node-modules-1.107.0.tar.gz) = 467359399
-SHA256 (vscode/vscode-marketplace-exts-1.107.0.tar.gz) = 8b50dde24b1ced293323bb81900da5645dee952866dad8af6247cde6abee784b
-SIZE (vscode/vscode-marketplace-exts-1.107.0.tar.gz) = 1711786
-SHA256 (vscode/microsoft-vscode-1.107.0_GH0.tar.gz) = 6233b61cb7b5f62eca82de2d2c6c960eaec4bccbdc27ed00076eb34dd27939e4
-SIZE (vscode/microsoft-vscode-1.107.0_GH0.tar.gz) = 24211409
+TIMESTAMP = 1766179261
+SHA256 (vscode/vscode-node-modules-1.107.1.tar.gz) = e9e393fdfa331362ce63664ffbd278a6951a8d0d5691bf7e2206c21599841e54
+SIZE (vscode/vscode-node-modules-1.107.1.tar.gz) = 467213984
+SHA256 (vscode/vscode-marketplace-exts-1.107.1.tar.gz) = 1c969e8c5d2ef824564888cc425387d585dc0a2926071d4d1d0a5bf425fbdff5
+SIZE (vscode/vscode-marketplace-exts-1.107.1.tar.gz) = 1702815
+SHA256 (vscode/microsoft-vscode-1.107.1_GH0.tar.gz) = 695707e9a46ce79fc03faece47db443ff940df0e59c5094562a0b9e0610caea2
+SIZE (vscode/microsoft-vscode-1.107.1_GH0.tar.gz) = 24211873
diff --git a/emulators/playonbsd/Makefile b/emulators/playonbsd/Makefile
index 260b492a8331..59c9ca98ac61 100644
--- a/emulators/playonbsd/Makefile
+++ b/emulators/playonbsd/Makefile
@@ -1,6 +1,6 @@
PORTNAME= playonbsd
PORTVERSION= 4.2.10
-PORTREVISION= 16
+PORTREVISION= 17
CATEGORIES= emulators games
MAINTAINER= Clockwork6400@protonmail.com
diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile
index 2f0dfdc83ee8..7bbdb4e26d37 100644
--- a/emulators/wine-devel/Makefile
+++ b/emulators/wine-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= wine
-DISTVERSION= 11.0-rc2
+DISTVERSION= 11.0-rc3
PORTEPOCH= 1
CATEGORIES= emulators
MASTER_SITES= https://dl.winehq.org/wine/source/11.0/
diff --git a/emulators/wine-devel/distinfo b/emulators/wine-devel/distinfo
index 2378c636c5bb..f626c45deaa4 100644
--- a/emulators/wine-devel/distinfo
+++ b/emulators/wine-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765613391
-SHA256 (wine-11.0-rc2.tar.xz) = 58c3f4091e94500ba691bd9cd47095137160ccd3b23c365473a6d90c843b55ef
-SIZE (wine-11.0-rc2.tar.xz) = 33148876
+TIMESTAMP = 1766260757
+SHA256 (wine-11.0-rc3.tar.xz) = 6f1dcd06fe8d9b19d7b6ce605373fa21c17a56abf67f84dba19e7a68b92a1322
+SIZE (wine-11.0-rc3.tar.xz) = 33168328
diff --git a/emulators/wine-devel/files/pkg32.sh b/emulators/wine-devel/files/pkg32.sh
index 04595f6c104c..41fed66b1045 100644
--- a/emulators/wine-devel/files/pkg32.sh
+++ b/emulators/wine-devel/files/pkg32.sh
@@ -18,6 +18,27 @@ if [ ! -d "$I386_ROOT/usr/share/keys/pkg" ]; then
ln -s /usr/share/keys/pkg "$I386_ROOT/usr/share/keys/pkg"
fi
-# Show what we're going to do, then do it.
-echo pkg -o ABI_FILE=$ABI_FILE -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"
-exec pkg -o ABI_FILE=$ABI_FILE -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"
+run_pkg32()
+{
+ # Show what we're going to do, then do it.
+ echo pkg -o ABI_FILE=$ABI_FILE -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@";
+ pkg -o ABI_FILE=$ABI_FILE -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@";
+}
+
+run_pkg32_old()
+{
+ shift
+
+ # Show what we're going to do, then do it.
+ echo pkg -o ABI="FreeBSD:14:i386" -o OSVERSION=1403000 -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@";
+ pkg -o ABI="FreeBSD:14:i386" -o OSVERSION=1403000 -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@";
+}
+
+if [ $# -gt 0 ]; then
+ case $1 in
+ --old) run_pkg32_old "$@" ;;
+ *) run_pkg32 "$@" ;;
+ esac
+else
+ run_pkg32 "$@"
+fi
diff --git a/emulators/wine-devel/files/wine-wow64.sh b/emulators/wine-devel/files/wine-wow64.sh
index 23afe20f1514..478b11d43f99 100644
--- a/emulators/wine-devel/files/wine-wow64.sh
+++ b/emulators/wine-devel/files/wine-wow64.sh
@@ -11,7 +11,9 @@ then
printf "%s doesn't exist!\n\n" "$I386_ROOT/$PREFIX/bin/wine"
printf "Try installing 32-bit Wine with\n\t%s\n" "$PREFIX/share/wine/pkg32.sh install wine-devel mesa-dri"
- printf "In the case of FreeBSD 15.0, use wine64.bin instead or use Poudriere if 32bit is needed\n"
+ printf "In the case of FreeBSD 15.0, use wine64.bin if 32bit is not needed\n"
+ printf "If 32bit is needed, then either use the repository from 14.3 with this command:\n\t%s\n" "$PREFIX/share/wine/pkg32.sh --old install -r FreeBSD-ports wine-devel mesa-dri"
+ printf "Or use Poudriere\n"
ABI=$(pkg config ABI | sed s/amd64/i386/)
FREEBSD_VERSION_MAJOR=`uname -r | sed "s/\..*//"`
@@ -36,6 +38,7 @@ if [ "$WINE32_VERSION" != "$WINE64_VERSION" ]
then
printf "wine [%s] and wine64 [%s] versions do not match!\n\n" "$WINE32_VERSION" "$WINE64_VERSION"
printf "Try updating 32-bit wine with\n\t%s\n" "$PREFIX/share/wine/pkg32.sh upgrade"
+ printf "If you are on 15.0, then you can use the old repository\n\t%s\n" "$PREFIX/share/wine/pkg32.sh --old upgrade -r FreeBSD-ports"
exit 1
fi
diff --git a/finance/homebank/Makefile b/finance/homebank/Makefile
index cd6441ca67b0..d5a8ab99baa3 100644
--- a/finance/homebank/Makefile
+++ b/finance/homebank/Makefile
@@ -1,5 +1,5 @@
PORTNAME= homebank
-PORTVERSION= 5.8.6
+PORTVERSION= 5.9.6
CATEGORIES= finance
MASTER_SITES= https://www.gethomebank.org/public/sources/
diff --git a/finance/homebank/distinfo b/finance/homebank/distinfo
index 6141cc5c8489..829cceebedf1 100644
--- a/finance/homebank/distinfo
+++ b/finance/homebank/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736216842
-SHA256 (homebank-5.8.6.tar.gz) = af138a7bf2cd795c1338c5e3d9e99909ee6b33d920c618dc35c6477fd826ddf5
-SIZE (homebank-5.8.6.tar.gz) = 3780388
+TIMESTAMP = 1766298583
+SHA256 (homebank-5.9.6.tar.gz) = f0320bfe04f2b18fded4372eb89e6a63abd7501638b9458da12cd468243eb77a
+SIZE (homebank-5.9.6.tar.gz) = 4039965
diff --git a/finance/homebank/pkg-plist b/finance/homebank/pkg-plist
index eb392a513039..f58a88078e45 100644
--- a/finance/homebank/pkg-plist
+++ b/finance/homebank/pkg-plist
@@ -1,71 +1,6 @@
bin/homebank
-share/metainfo/homebank.appdata.xml
share/application-registry/homebank.applications
share/applications/homebank.desktop
-share/icons/hicolor/16x16/apps/homebank.png
-share/icons/hicolor/22x22/apps/homebank.png
-share/icons/hicolor/24x24/apps/homebank.png
-share/icons/hicolor/256x256/apps/homebank.png
-share/icons/hicolor/32x32/apps/homebank.png
-share/icons/hicolor/48x48/apps/homebank.png
-share/locale/af/LC_MESSAGES/homebank.mo
-share/locale/ar/LC_MESSAGES/homebank.mo
-share/locale/be/LC_MESSAGES/homebank.mo
-share/locale/bg/LC_MESSAGES/homebank.mo
-share/locale/br/LC_MESSAGES/homebank.mo
-share/locale/ca/LC_MESSAGES/homebank.mo
-share/locale/ckb/LC_MESSAGES/homebank.mo
-share/locale/cs/LC_MESSAGES/homebank.mo
-share/locale/cy/LC_MESSAGES/homebank.mo
-share/locale/da/LC_MESSAGES/homebank.mo
-share/locale/de/LC_MESSAGES/homebank.mo
-share/locale/el/LC_MESSAGES/homebank.mo
-share/locale/en_AU/LC_MESSAGES/homebank.mo
-share/locale/en_CA/LC_MESSAGES/homebank.mo
-share/locale/en_GB/LC_MESSAGES/homebank.mo
-share/locale/es/LC_MESSAGES/homebank.mo
-share/locale/et/LC_MESSAGES/homebank.mo
-share/locale/eu/LC_MESSAGES/homebank.mo
-share/locale/fa/LC_MESSAGES/homebank.mo
-share/locale/fi/LC_MESSAGES/homebank.mo
-share/locale/fr/LC_MESSAGES/homebank.mo
-share/locale/fr_CA/LC_MESSAGES/homebank.mo
-share/locale/gl/LC_MESSAGES/homebank.mo
-share/locale/he/LC_MESSAGES/homebank.mo
-share/locale/hr/LC_MESSAGES/homebank.mo
-share/locale/hu/LC_MESSAGES/homebank.mo
-share/locale/id/LC_MESSAGES/homebank.mo
-share/locale/is/LC_MESSAGES/homebank.mo
-share/locale/it/LC_MESSAGES/homebank.mo
-share/locale/ja/LC_MESSAGES/homebank.mo
-share/locale/ko/LC_MESSAGES/homebank.mo
-share/locale/lt/LC_MESSAGES/homebank.mo
-share/locale/lv/LC_MESSAGES/homebank.mo
-share/locale/ms/LC_MESSAGES/homebank.mo
-share/locale/nb/LC_MESSAGES/homebank.mo
-share/locale/nds/LC_MESSAGES/homebank.mo
-share/locale/nl/LC_MESSAGES/homebank.mo
-share/locale/oc/LC_MESSAGES/homebank.mo
-share/locale/pl/LC_MESSAGES/homebank.mo
-share/locale/pt_BR/LC_MESSAGES/homebank.mo
-share/locale/pt/LC_MESSAGES/homebank.mo
-share/locale/pt_PT/LC_MESSAGES/homebank.mo
-share/locale/ro/LC_MESSAGES/homebank.mo
-share/locale/ru/LC_MESSAGES/homebank.mo
-share/locale/si/LC_MESSAGES/homebank.mo
-share/locale/sl/LC_MESSAGES/homebank.mo
-share/locale/sq/LC_MESSAGES/homebank.mo
-share/locale/sr/LC_MESSAGES/homebank.mo
-share/locale/sv/LC_MESSAGES/homebank.mo
-share/locale/ta/LC_MESSAGES/homebank.mo
-share/locale/tr/LC_MESSAGES/homebank.mo
-share/locale/uk/LC_MESSAGES/homebank.mo
-share/locale/vi/LC_MESSAGES/homebank.mo
-share/locale/zh_CN/LC_MESSAGES/homebank.mo
-share/locale/zh_TW/LC_MESSAGES/homebank.mo
-share/mime-info/homebank.keys
-share/mime-info/homebank.mime
-share/mime/packages/homebank.xml
%%DATADIR%%/datas/ChangeLog
%%DATADIR%%/datas/example.xhb
%%DATADIR%%/datas/hb-categories-cy.csv
@@ -80,11 +15,12 @@ share/mime/packages/homebank.xml
%%DATADIR%%/datas/hb-categories-pt.csv
%%DATADIR%%/datas/hb-categories-ro.csv
%%DATADIR%%/datas/hb-categories-ru.csv
+%%DATADIR%%/datas/hb-categories-se.csv
%%DATADIR%%/datas/hb-categories-sk.csv
%%DATADIR%%/help/00-intro.html
%%DATADIR%%/help/00-lexicon.html
-%%DATADIR%%/help/00-previously.html
%%DATADIR%%/help/00-notenglish.html
+%%DATADIR%%/help/00-previously.html
%%DATADIR%%/help/00-whatsnew.html
%%DATADIR%%/help/dlg-acco.html
%%DATADIR%%/help/dlg-arch.html
@@ -104,17 +40,18 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/frm-main.html
%%DATADIR%%/help/frm-navig.html
%%DATADIR%%/help/help.css
-%%DATADIR%%/help/images/10.png
%%DATADIR%%/help/images/1.png
+%%DATADIR%%/help/images/10.png
%%DATADIR%%/help/images/2.png
%%DATADIR%%/help/images/3.png
+%%DATADIR%%/help/images/4.png
%%DATADIR%%/help/images/45accfilter.png
%%DATADIR%%/help/images/45topsending.png
%%DATADIR%%/help/images/45txnsplit.png
%%DATADIR%%/help/images/46fiscyear.png
%%DATADIR%%/help/images/46schedwe.png
%%DATADIR%%/help/images/46search.png
-%%DATADIR%%/help/images/4.png
+%%DATADIR%%/help/images/5.png
%%DATADIR%%/help/images/50stackbudget.png
%%DATADIR%%/help/images/50txnstatus.png
%%DATADIR%%/help/images/53txntype.png
@@ -130,13 +67,16 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/images/58flags.png
%%DATADIR%%/help/images/58lifeenergy.png
%%DATADIR%%/help/images/58tipfilters.png
-%%DATADIR%%/help/images/5.png
+%%DATADIR%%/help/images/59inlinecalc.png
+%%DATADIR%%/help/images/59newicons.png
+%%DATADIR%%/help/images/59sched.png
%%DATADIR%%/help/images/6.png
%%DATADIR%%/help/images/7.png
%%DATADIR%%/help/images/8.png
%%DATADIR%%/help/images/9.png
%%DATADIR%%/help/images/arrow.png
%%DATADIR%%/help/images/d-info.png
+%%DATADIR%%/help/images/d-warn.png
%%DATADIR%%/help/images/dlg-account1.png
%%DATADIR%%/help/images/dlg-account2.png
%%DATADIR%%/help/images/dlg-account3.png
@@ -156,29 +96,34 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/images/dlg-filter6.png
%%DATADIR%%/help/images/dlg-payee1.png
%%DATADIR%%/help/images/dlg-payee2.png
+%%DATADIR%%/help/images/dlg-prefs0.png
%%DATADIR%%/help/images/dlg-prefs1.png
%%DATADIR%%/help/images/dlg-prefs2.png
+%%DATADIR%%/help/images/dlg-prefs2a.png
+%%DATADIR%%/help/images/dlg-prefs2b.png
%%DATADIR%%/help/images/dlg-prefs3.png
%%DATADIR%%/help/images/dlg-prefs4.png
-%%DATADIR%%/help/images/dlg-prefs5.png
+%%DATADIR%%/help/images/dlg-prefs4a.png
+%%DATADIR%%/help/images/dlg-prefs4b.png
+%%DATADIR%%/help/images/dlg-prefs4c.png
%%DATADIR%%/help/images/dlg-prefs6.png
%%DATADIR%%/help/images/dlg-prefs7.png
%%DATADIR%%/help/images/dlg-prefs8.png
%%DATADIR%%/help/images/dlg-prefs9.png
%%DATADIR%%/help/images/dlg-prefsA.png
%%DATADIR%%/help/images/dlg-prefsB.png
-%%DATADIR%%/help/images/dlg-prefsF.png
+%%DATADIR%%/help/images/dlg-prefsC.png
%%DATADIR%%/help/images/dlg-properties1.png
%%DATADIR%%/help/images/dlg-split1.png
%%DATADIR%%/help/images/dlg-tag.png
%%DATADIR%%/help/images/dlg-template1.png
+%%DATADIR%%/help/images/dlg-template2.png
%%DATADIR%%/help/images/dlg-transaction1.png
%%DATADIR%%/help/images/dlg-transaction2.png
%%DATADIR%%/help/images/dlg-txnmultiple.png
%%DATADIR%%/help/images/dlg-xferselection.png
%%DATADIR%%/help/images/doc_balance.png
%%DATADIR%%/help/images/doc_title.png
-%%DATADIR%%/help/images/d-warn.png
%%DATADIR%%/help/images/g_translate.png
%%DATADIR%%/help/images/hb-ope-auto.png
%%DATADIR%%/help/images/hb-ope-budget.png
@@ -211,7 +156,6 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/images/pm-transfer.png
%%DATADIR%%/help/images/tip-accorder.png
%%DATADIR%%/help/images/tip-listsearch.png
-%%DATADIR%%/help/images/use-assignment1.png
%%DATADIR%%/help/images/use-assignment2b.png
%%DATADIR%%/help/images/use-budget1.png
%%DATADIR%%/help/images/use-budget2.png
@@ -221,7 +165,6 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/images/use-import3a.png
%%DATADIR%%/help/images/use-import3b.png
%%DATADIR%%/help/images/use-import4.png
-%%DATADIR%%/help/images/use-scheduled1.png
%%DATADIR%%/help/images/use-scheduled2.png
%%DATADIR%%/help/images/use-scheduled3.png
%%DATADIR%%/help/images/use-vehiclecost1.png
@@ -235,15 +178,9 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/images/win-budget2.png
%%DATADIR%%/help/images/win-carcost1.png
%%DATADIR%%/help/images/win-main.png
-%%DATADIR%%/help/images/win-main1.png
-%%DATADIR%%/help/images/win-main2.png
-%%DATADIR%%/help/images/win-main3.png
-%%DATADIR%%/help/images/win-main4.png
-%%DATADIR%%/help/images/win-main5.png
%%DATADIR%%/help/images/win-statistics1.png
%%DATADIR%%/help/images/win-statistics2.png
%%DATADIR%%/help/images/win-statistics3.png
-%%DATADIR%%/help/images/win-statistics4.png
%%DATADIR%%/help/images/win-trendtime1.png
%%DATADIR%%/help/images/win-trendtime2.png
%%DATADIR%%/help/index.html
@@ -255,8 +192,8 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/use-budget.html
%%DATADIR%%/help/use-favfilters.html
%%DATADIR%%/help/use-import.html
-%%DATADIR%%/help/use-loan-mortgage.html
%%DATADIR%%/help/use-lend-refund.html
+%%DATADIR%%/help/use-loan-mortgage.html
%%DATADIR%%/help/use-reconcile.html
%%DATADIR%%/help/use-tipsandtricks.html
%%DATADIR%%/help/use-vehiclecost.html
@@ -267,13 +204,111 @@ share/mime/packages/homebank.xml
%%DATADIR%%/help/win-statistics.html
%%DATADIR%%/help/win-trendtime.html
%%DATADIR%%/help/win-vehiclecost.html
-%%DATADIR%%/icons/hicolor/scalable/actions/data-usage-symbolic.svg
-%%DATADIR%%/icons/hicolor/scalable/actions/eye-not-looking-symbolic.svg
-%%DATADIR%%/icons/hicolor/scalable/actions/hb-go-down-symbolic.svg
-%%DATADIR%%/icons/hicolor/scalable/actions/hb-go-up-symbolic.svg
-%%DATADIR%%/icons/hicolor/scalable/actions/list-move-after-symbolic.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-account.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-archive.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-assign.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-budget.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-category.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-clear.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-document-new.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-document-open.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-document-print.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-document-save.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-donate.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-file-export.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-file-import.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-filter.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-go-down.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-go-up.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-help.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-legend.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-life-energy.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-add.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-cleared.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-delete.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-edit.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-future.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-herit.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-multiedit.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-reconciled.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-ope-show.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-payee.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-rate.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-rep-balance.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-rep-budget.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-rep-stats.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-rep-time.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-rep-vehicle.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-bar.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-column.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-donut.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-line.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-list.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-pie.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-progress.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-refresh.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-stack.svg
+%%DATADIR%%/icons/Default/scalable/actions/hb-view-stack100.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-changes-allow.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-changes-prevent.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-file-invalid.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-file-valid.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-gf-blue.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-gf-green.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-gf-none.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-gf-orange.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-gf-purple.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-gf-red.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-gf-yellow.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-added.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-auto.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-budget.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-clear.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-closed.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-edited.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-forced.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-future.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-import.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-pending.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-recon.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-reconlock.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-remind.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-similar.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-item-void.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-cash.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-ccard.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-check.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-dcard.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-deposit.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-directdebit.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-epayment.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-fifee.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-intransfer.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-mobphone.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-none.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-standingorder.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-pm-transfer.svg
+%%DATADIR%%/icons/Default/scalable/status/hb-quicktips.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-advanced.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-backup.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-euro.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-folder.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-forecast.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-general.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-import.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-interface-color.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-interface-theme.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-interface.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-locale.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-report.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-transaction-dialog.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-transaction-payment.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-transaction-transfer.svg
+%%DATADIR%%/icons/Default/scalable/status/prf-transaction.svg
%%DATADIR%%/icons/hicolor/16x16/status/hb-changes-allow.png
%%DATADIR%%/icons/hicolor/16x16/status/hb-changes-prevent.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-file-invalid.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-file-valid.png
%%DATADIR%%/icons/hicolor/16x16/status/hb-gf-blue.png
%%DATADIR%%/icons/hicolor/16x16/status/hb-gf-green.png
%%DATADIR%%/icons/hicolor/16x16/status/hb-gf-none.png
@@ -281,66 +316,64 @@ share/mime/packages/homebank.xml
%%DATADIR%%/icons/hicolor/16x16/status/hb-gf-purple.png
%%DATADIR%%/icons/hicolor/16x16/status/hb-gf-red.png
%%DATADIR%%/icons/hicolor/16x16/status/hb-gf-yellow.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-auto.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-budget.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-cleared.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-edit.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-forced.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-future.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-new.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-prefilled.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-reconciled.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-remind.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-similar.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-ope-void.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-added.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-auto.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-budget.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-clear.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-closed.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-edited.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-forced.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-future.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-import.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-pending.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-recon.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-reconlock.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-remind.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-similar.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-item-void.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-cash.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-ccard.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-check.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-dcard.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-deposit.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-directdebit.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-epayment.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-fifee.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-intransfer.png
%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-mobphone.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-none.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-standingorder.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-transfer.png
+%%DATADIR%%/icons/hicolor/16x16/status/hb-quicktips.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-account.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-archive.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-assign.png
-%%DATADIR%%/icons/hicolor/24x24/actions/hb-assign-run.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-budget.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-category.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-clear.png
-%%DATADIR%%/icons/hicolor/24x24/actions/hb-currency.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-document-new.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-document-open.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-document-print.png
-%%DATADIR%%/icons/hicolor/24x24/actions/hb-document-save-as.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-document-save.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-donate.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-file-export.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-file-import.png
-%%DATADIR%%/icons/hicolor/24x24/actions/hb-file-invalid.png
-%%DATADIR%%/icons/hicolor/24x24/actions/hb-file-valid.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-filter.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-go-down.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-go-up.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-help.png
-%%DATADIR%%/icons/hicolor/24x24/actions/hb-life-energy.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-legend.png
+%%DATADIR%%/icons/hicolor/24x24/actions/hb-life-energy.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-add.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-cleared.png
-%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-convert.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-delete.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-edit.png
+%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-future.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-herit.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-multiedit.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-reconciled.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-ope-show.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-payee.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-cash.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-ccard.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-check.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-dcard.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-deposit.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-directdebit.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-epayment.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-fifee.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-intransfer.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-none.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-standingorder.png
-%%DATADIR%%/icons/hicolor/16x16/status/hb-pm-transfer.png
-%%DATADIR%%/icons/hicolor/48x48/status/prf-advanced.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-rate.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-rep-balance.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-rep-budget.png
@@ -357,25 +390,193 @@ share/mime/packages/homebank.xml
%%DATADIR%%/icons/hicolor/24x24/actions/hb-view-refresh.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-view-stack.png
%%DATADIR%%/icons/hicolor/24x24/actions/hb-view-stack100.png
+%%DATADIR%%/icons/hicolor/48x48/status/prf-advanced.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-backup.png
-%%DATADIR%%/icons/hicolor/48x48/status/prf-columns.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-euro.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-folder.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-forecast.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-general.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-import.png
+%%DATADIR%%/icons/hicolor/48x48/status/prf-interface-color.png
+%%DATADIR%%/icons/hicolor/48x48/status/prf-interface-theme.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-interface.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-locale.png
-%%DATADIR%%/icons/hicolor/48x48/status/prf-payment.png
%%DATADIR%%/icons/hicolor/48x48/status/prf-report.png
+%%DATADIR%%/icons/hicolor/48x48/status/prf-transaction-dialog.png
+%%DATADIR%%/icons/hicolor/48x48/status/prf-transaction-payment.png
+%%DATADIR%%/icons/hicolor/48x48/status/prf-transaction-transfer.png
+%%DATADIR%%/icons/hicolor/48x48/status/prf-transaction.png
+%%DATADIR%%/icons/hicolor/scalable/actions/data-usage-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/edit-split-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/emblem-system-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/eye-not-looking-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-account-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-archive-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-assign-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-budget-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-category-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-clear-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-document-new-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-document-open-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-document-print-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-document-save-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-donate-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-file-export-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-file-import-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-filter-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-go-down-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-go-up-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-help-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-legend-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-life-energy-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-add-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-cleared-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-delete-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-edit-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-future-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-herit-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-multiedit-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-reconciled-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-ope-show-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-payee-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-rate-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-rep-balance-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-rep-budget-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-rep-stats-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-rep-time-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-rep-vehicle-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-bar-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-column-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-donut-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-line-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-list-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-pie-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-progress-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-refresh-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-stack-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/hb-view-stack100-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/list-collapse-all-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/list-duplicate-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/list-expand-all-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/list-merge-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/list-move-after-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/open-in-browser-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/open-menu-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/text-casesensitive-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/text-regularexpression-symbolic.svg
-%%DATADIR%%/icons/hicolor/scalable/actions/toggle-sign-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-changes-allow-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-changes-prevent-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-file-invalid-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-file-valid-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-added-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-auto-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-budget-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-clear-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-closed-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-edited-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-forced-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-future-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-import-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-pending-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-recon-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-reconlock-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-remind-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-similar-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-item-void-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-cash-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-ccard-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-check-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-dcard-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-deposit-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-directdebit-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-epayment-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-fifee-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-intransfer-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-mobphone-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-none-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-standingorder-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-pm-transfer-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/hb-quicktips-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-advanced-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-backup-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-euro-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-folder-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-forecast-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-general-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-import-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-interface-color-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-interface-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-interface-theme-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-locale-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-report-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-transaction-dialog-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-transaction-payment-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-transaction-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/status/prf-transaction-transfer-symbolic.svg
%%DATADIR%%/images/homebank-icon.svg
%%DATADIR%%/images/splash.png
+share/icons/hicolor/16x16/apps/homebank.png
+share/icons/hicolor/22x22/apps/homebank.png
+share/icons/hicolor/24x24/apps/homebank.png
+share/icons/hicolor/256x256/apps/homebank.png
+share/icons/hicolor/32x32/apps/homebank.png
+share/icons/hicolor/48x48/apps/homebank.png
+share/locale/af/LC_MESSAGES/homebank.mo
+share/locale/ar/LC_MESSAGES/homebank.mo
+share/locale/be/LC_MESSAGES/homebank.mo
+share/locale/bg/LC_MESSAGES/homebank.mo
+share/locale/br/LC_MESSAGES/homebank.mo
+share/locale/ca/LC_MESSAGES/homebank.mo
+share/locale/ckb/LC_MESSAGES/homebank.mo
+share/locale/cs/LC_MESSAGES/homebank.mo
+share/locale/cy/LC_MESSAGES/homebank.mo
+share/locale/da/LC_MESSAGES/homebank.mo
+share/locale/de/LC_MESSAGES/homebank.mo
+share/locale/el/LC_MESSAGES/homebank.mo
+share/locale/en_AU/LC_MESSAGES/homebank.mo
+share/locale/en_CA/LC_MESSAGES/homebank.mo
+share/locale/en_GB/LC_MESSAGES/homebank.mo
+share/locale/es/LC_MESSAGES/homebank.mo
+share/locale/et/LC_MESSAGES/homebank.mo
+share/locale/eu/LC_MESSAGES/homebank.mo
+share/locale/fa/LC_MESSAGES/homebank.mo
+share/locale/fi/LC_MESSAGES/homebank.mo
+share/locale/fr/LC_MESSAGES/homebank.mo
+share/locale/fr_CA/LC_MESSAGES/homebank.mo
+share/locale/gl/LC_MESSAGES/homebank.mo
+share/locale/he/LC_MESSAGES/homebank.mo
+share/locale/hr/LC_MESSAGES/homebank.mo
+share/locale/hu/LC_MESSAGES/homebank.mo
+share/locale/id/LC_MESSAGES/homebank.mo
+share/locale/is/LC_MESSAGES/homebank.mo
+share/locale/it/LC_MESSAGES/homebank.mo
+share/locale/ja/LC_MESSAGES/homebank.mo
+share/locale/ko/LC_MESSAGES/homebank.mo
+share/locale/lt/LC_MESSAGES/homebank.mo
+share/locale/lv/LC_MESSAGES/homebank.mo
+share/locale/ms/LC_MESSAGES/homebank.mo
+share/locale/nb/LC_MESSAGES/homebank.mo
+share/locale/nds/LC_MESSAGES/homebank.mo
+share/locale/nl/LC_MESSAGES/homebank.mo
+share/locale/oc/LC_MESSAGES/homebank.mo
+share/locale/pl/LC_MESSAGES/homebank.mo
+share/locale/pt/LC_MESSAGES/homebank.mo
+share/locale/pt_BR/LC_MESSAGES/homebank.mo
+share/locale/pt_PT/LC_MESSAGES/homebank.mo
+share/locale/ro/LC_MESSAGES/homebank.mo
+share/locale/ru/LC_MESSAGES/homebank.mo
+share/locale/si/LC_MESSAGES/homebank.mo
+share/locale/sl/LC_MESSAGES/homebank.mo
+share/locale/sq/LC_MESSAGES/homebank.mo
+share/locale/sr/LC_MESSAGES/homebank.mo
+share/locale/sv/LC_MESSAGES/homebank.mo
+share/locale/ta/LC_MESSAGES/homebank.mo
+share/locale/tr/LC_MESSAGES/homebank.mo
+share/locale/uk/LC_MESSAGES/homebank.mo
+share/locale/vi/LC_MESSAGES/homebank.mo
+share/locale/zh_CN/LC_MESSAGES/homebank.mo
+share/locale/zh_TW/LC_MESSAGES/homebank.mo
+share/metainfo/homebank.appdata.xml
+share/mime-info/homebank.keys
+share/mime-info/homebank.mime
+share/mime/packages/homebank.xml
diff --git a/games/alienarena/Makefile b/games/alienarena/Makefile
index 6714ceb36d1b..659748f11f8f 100644
--- a/games/alienarena/Makefile
+++ b/games/alienarena/Makefile
@@ -49,7 +49,7 @@ CLIENT_LIB_DEPENDS= libcurl.so:ftp/curl \
libogg.so:audio/libogg \
libpng.so:graphics/png \
libvorbis.so:audio/libvorbis \
- libode.so:devel/ode
+ libode.so:devel/ode@double
CLIENT_USES= gl jpeg openal:soft,alut minizip xorg
CLIENT_USE= GL=glu XORG=x11,xxf86dga,xxf86vm
diff --git a/graphics/gmic-qt/Makefile b/graphics/gmic-qt/Makefile
index 4a4fa97881a7..3e5531cb47a4 100644
--- a/graphics/gmic-qt/Makefile
+++ b/graphics/gmic-qt/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gmic-qt
DISTVERSIONPREFIX= v.
-DISTVERSION= 3.6.3
+DISTVERSION= 3.6.5
PORTEPOCH= 1
CATEGORIES= graphics kde
MASTER_SITES= https://github.com/GreycLab/gmic/releases/download/${DISTVERSIONFULL}/ \
diff --git a/graphics/gmic-qt/distinfo b/graphics/gmic-qt/distinfo
index 9c8cb29e06ab..03f18cea3e22 100644
--- a/graphics/gmic-qt/distinfo
+++ b/graphics/gmic-qt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761629870
-SHA256 (KDE/gmic-qt/gmic_3.6.3.tar.gz) = 45304f179f2200ba527c819bd911bd6a85c4a4999740c730c7ccdd164ce240ac
-SIZE (KDE/gmic-qt/gmic_3.6.3.tar.gz) = 20183375
+TIMESTAMP = 1766282141
+SHA256 (KDE/gmic-qt/gmic_3.6.5.tar.gz) = 0987e54d64dc3a82df6a3052e6aa5d5b5f1e9115c6fd4155e1aceb78e462169a
+SIZE (KDE/gmic-qt/gmic_3.6.5.tar.gz) = 20259661
diff --git a/graphics/hugin/Makefile b/graphics/hugin/Makefile
index f72c76ab3d16..a75fd6ca15a3 100644
--- a/graphics/hugin/Makefile
+++ b/graphics/hugin/Makefile
@@ -1,5 +1,5 @@
PORTNAME= hugin
-DISTVERSION= 2025.0.0
+DISTVERSION= 2025.0.1
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION:R}
diff --git a/graphics/hugin/distinfo b/graphics/hugin/distinfo
index 48b81b1c74fb..085c51a4cd19 100644
--- a/graphics/hugin/distinfo
+++ b/graphics/hugin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763222621
-SHA256 (hugin-2025.0.0.tar.bz2) = 0de27a5d5432e36d4e5d38ac25d7bcafc7b7dd542aab031640a61ed66767076c
-SIZE (hugin-2025.0.0.tar.bz2) = 10226271
+TIMESTAMP = 1765683878
+SHA256 (hugin-2025.0.1.tar.bz2) = 7cf8eb33a6a8848cc7f816faf4bc88389228883d5513136dccb5cb243912ab79
+SIZE (hugin-2025.0.1.tar.bz2) = 10229525
diff --git a/graphics/krita-gmic-plugin/Makefile b/graphics/krita-gmic-plugin/Makefile
index ce74b0d39c0d..9f07dfd117e5 100644
--- a/graphics/krita-gmic-plugin/Makefile
+++ b/graphics/krita-gmic-plugin/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gmic
DISTVERSIONPREFIX= v
-DISTVERSION= 3.5.3.0
+DISTVERSION= 3.6.4.1
CATEGORIES= graphics kde
MASTER_SITES= https://github.com/vanyossi/${PORTNAME}/releases/download/v${PORTVERSION}/
PKGNAMEPREFIX= krita-
@@ -20,7 +20,7 @@ BUILD_DEPENDS= bash:shells/bash \
LIB_DEPENDS= libcurl.so:ftp/curl \
libfftw3.so:math/fftw3 \
libkritaqmicinterface.so:graphics/krita \
- libpng.so:graphics/png
+ libpng16.so:graphics/png
USES= cmake compiler:c++14-lang kde:5 pkgconfig qt:5 shebangfix xorg
USE_KDE= coreaddons ecm:build
diff --git a/graphics/krita-gmic-plugin/distinfo b/graphics/krita-gmic-plugin/distinfo
index 1e4b658ff300..0a400f033611 100644
--- a/graphics/krita-gmic-plugin/distinfo
+++ b/graphics/krita-gmic-plugin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741759245
-SHA256 (KDE/krita-gmic-plugin/3.5.3.0/gmic-3.5.3.0.tar.gz) = 64a913946a2c41c68c51018c3c21274b78b5a6cd8d75dd43f3b543b642a37d33
-SIZE (KDE/krita-gmic-plugin/3.5.3.0/gmic-3.5.3.0.tar.gz) = 20909283
+TIMESTAMP = 1766282335
+SHA256 (KDE/krita-gmic-plugin/3.6.4.1/gmic-3.6.4.1.tar.gz) = a6b6c69301560be2ea2b5583a8ec19bd7e50e4b41a977745517ce920bc05fafe
+SIZE (KDE/krita-gmic-plugin/3.6.4.1/gmic-3.6.4.1.tar.gz) = 21834300
diff --git a/graphics/krita-gmic-plugin/files/patch-CMakeLists.txt b/graphics/krita-gmic-plugin/files/patch-CMakeLists.txt
index fee865a8d5dd..74427219efe4 100644
--- a/graphics/krita-gmic-plugin/files/patch-CMakeLists.txt
+++ b/graphics/krita-gmic-plugin/files/patch-CMakeLists.txt
@@ -1,3 +1,7 @@
+Hunk 1: Don't find Qt6 until we can land a KF6-based Krita
+Hunk 2: Link to -lpthread
+Hunk 3: bmake doesn't work for this
+
--- CMakeLists.txt.orig 2023-05-04 22:27:01 UTC
+++ CMakeLists.txt
@@ -153,7 +153,7 @@ find_package(Threads REQUIRED)
diff --git a/graphics/krita/Makefile b/graphics/krita/Makefile
index a7420087a194..2faf09f1ac26 100644
--- a/graphics/krita/Makefile
+++ b/graphics/krita/Makefile
@@ -1,6 +1,5 @@
PORTNAME= krita
-DISTVERSION= 5.2.13
-PORTREVISION= 1
+DISTVERSION= 5.2.14
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION}
DIST_SUBDIR= KDE/${PORTNAME}
diff --git a/graphics/krita/distinfo b/graphics/krita/distinfo
index db6eeedb974f..decd190d4b73 100644
--- a/graphics/krita/distinfo
+++ b/graphics/krita/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759130587
-SHA256 (KDE/krita/krita-5.2.13.tar.xz) = ddd3955d77a9d760499466c9e7e11a51e080020ee52e929e2579a0aab600b45a
-SIZE (KDE/krita/krita-5.2.13.tar.xz) = 191046020
+TIMESTAMP = 1766280587
+SHA256 (KDE/krita/krita-5.2.14.tar.xz) = 41770910517a8d4546f7028c4725b3bd44c69d10d328c978a2788dbcc707d3df
+SIZE (KDE/krita/krita-5.2.14.tar.xz) = 192461664
diff --git a/graphics/plutovg/Makefile b/graphics/plutovg/Makefile
index 185e0dea38dc..beee953266d5 100644
--- a/graphics/plutovg/Makefile
+++ b/graphics/plutovg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= plutovg
DISTVERSIONPREFIX= v
-DISTVERSION= 1.3.1
+DISTVERSION= 1.3.2
CATEGORIES= graphics
MAINTAINER= alven@FreeBSD.org
diff --git a/graphics/plutovg/distinfo b/graphics/plutovg/distinfo
index aa6eef423eca..b6ad64696a86 100644
--- a/graphics/plutovg/distinfo
+++ b/graphics/plutovg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1757841359
-SHA256 (sammycage-plutovg-v1.3.1_GH0.tar.gz) = bea672eb96ee36c2cbeb911b9bac66dfe989b3ad9a9943101e00aeb2df2aefdb
-SIZE (sammycage-plutovg-v1.3.1_GH0.tar.gz) = 236658
+TIMESTAMP = 1766005117
+SHA256 (sammycage-plutovg-v1.3.2_GH0.tar.gz) = 7bd4e79ce18b1d47517e7e91fbb7cf19d4f01942804a519bc7c0bf32b6325dd5
+SIZE (sammycage-plutovg-v1.3.2_GH0.tar.gz) = 236686
diff --git a/graphics/py-mayavi/Makefile b/graphics/py-mayavi/Makefile
index 3436526944e5..47ed81c0fcfa 100644
--- a/graphics/py-mayavi/Makefile
+++ b/graphics/py-mayavi/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mayavi
DISTVERSION= 4.8.2
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics science python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/qgis-ltr/Makefile b/graphics/qgis-ltr/Makefile
index 540a438a5e91..6672beaf5eb0 100644
--- a/graphics/qgis-ltr/Makefile
+++ b/graphics/qgis-ltr/Makefile
@@ -1,6 +1,5 @@
PORTNAME= qgis
-DISTVERSION= 3.40.13
-PORTREVISION= 2
+DISTVERSION= 3.40.14
CATEGORIES= graphics geography
MASTER_SITES= https://qgis.org/downloads/
PKGNAMESUFFIX= -ltr
diff --git a/graphics/qgis-ltr/distinfo b/graphics/qgis-ltr/distinfo
index 6fd8251baa3c..df71b643d5a8 100644
--- a/graphics/qgis-ltr/distinfo
+++ b/graphics/qgis-ltr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763841419
-SHA256 (qgis-3.40.13.tar.bz2) = 2934325e873de4c3c9deba131c40eb3edf10f1f04d0016e2177ad2de90949ef0
-SIZE (qgis-3.40.13.tar.bz2) = 183637998
+TIMESTAMP = 1766241175
+SHA256 (qgis-3.40.14.tar.bz2) = c9277ee2c49de38e70571b3e598d8d17f7c99de088e6f15d4f69c39c290ed1ca
+SIZE (qgis-3.40.14.tar.bz2) = 184396131
diff --git a/graphics/wallhaven-cli/Makefile b/graphics/wallhaven-cli/Makefile
index e245797c5d91..e95f5f2a7865 100644
--- a/graphics/wallhaven-cli/Makefile
+++ b/graphics/wallhaven-cli/Makefile
@@ -1,10 +1,9 @@
PORTNAME= wallhaven-cli
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.5
-PORTREVISION= 7
+DISTVERSION= 2.0.6
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= fuz@FreeBSD.org
COMMENT= CLI for wallhaven to browse wallpapers in terminal
WWW= https://github.com/r3tr0ananas/wallhaven-cli
diff --git a/graphics/wallhaven-cli/distinfo b/graphics/wallhaven-cli/distinfo
index f2bc94a6fe43..d8eec77f6e58 100644
--- a/graphics/wallhaven-cli/distinfo
+++ b/graphics/wallhaven-cli/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1729951373
-SHA256 (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.5/v2.0.5.mod) = e4046e484528215b298e8c6faac0b34dadd3ae78a71f31dbd4ae59f341690ce5
-SIZE (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.5/v2.0.5.mod) = 250
-SHA256 (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.5/v2.0.5.zip) = 0bd3a574b60018884949f577db69f69a03a8a59a8471bd8a25d59799630b32ca
-SIZE (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.5/v2.0.5.zip) = 10615
+TIMESTAMP = 1765677332
+SHA256 (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.6/v2.0.6.mod) = e4046e484528215b298e8c6faac0b34dadd3ae78a71f31dbd4ae59f341690ce5
+SIZE (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.6/v2.0.6.mod) = 250
+SHA256 (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.6/v2.0.6.zip) = 057f7a1a5f969e420c2f469b8d0fe48cc355a5ab0a33f5ea19cd16216db88fa1
+SIZE (go/graphics_wallhaven-cli/wallhaven-cli-v2.0.6/v2.0.6.zip) = 12035
diff --git a/misc/pyobd/Makefile b/misc/pyobd/Makefile
index ab6b38be4e3f..8aa6b9b5ba01 100644
--- a/misc/pyobd/Makefile
+++ b/misc/pyobd/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyobd
DISTVERSION= 0.9.3
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= misc
MASTER_SITES= http://www.obdtester.com/download/
DISTNAME= pyobd_${PORTVERSION}
diff --git a/misc/qt5ct/Makefile b/misc/qt5ct/Makefile
index 48146e305384..a5e6fbfeacc9 100644
--- a/misc/qt5ct/Makefile
+++ b/misc/qt5ct/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qt5ct
-DISTVERSION= 1.8
+DISTVERSION= 1.9
CATEGORIES= misc
MASTER_SITES= SF/${PORTNAME}
@@ -9,22 +9,17 @@ WWW= https://sourceforge.net/projects/qt5ct/
LICENSE= BSD2CLAUSE
-LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2
-
-USES= cmake compiler:c++11-lang gettext-runtime gl gnome qt:5 \
- tar:bz2 xorg
-USE_QT= concurrent core dbus gui paths svg widgets \
- buildtools:build linguisttools:build qmake:build
-USE_GL= egl gl
-USE_XORG= x11 xext xrender
-USE_GNOME= glib20
+USES= cmake compiler:c++11-lang gl qt:5 tar:bz2 xorg
+USE_QT= concurrent core dbus gui paths widgets \
+ buildtools:build linguisttools:build qmake:build \
+ svg:run
+USE_GL= gl
USE_LDCONFIG= yes
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}/${DOCSDIR} && \
- ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}/${DOCSDIR}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/misc/qt5ct/distinfo b/misc/qt5ct/distinfo
index 77e24eacc32a..ec2557c36d73 100644
--- a/misc/qt5ct/distinfo
+++ b/misc/qt5ct/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1697071130
-SHA256 (qt5ct-1.8.tar.bz2) = 23b74054415ea4124328772ef9a6f95083a9b86569e128034a3ff75dfad808e9
-SIZE (qt5ct-1.8.tar.bz2) = 85945
+TIMESTAMP = 1766255501
+SHA256 (qt5ct-1.9.tar.bz2) = dc10e6939d423b925981ce67febb1a015b6f61c022a9cc7e6c8b5efea4588bff
+SIZE (qt5ct-1.9.tar.bz2) = 87416
diff --git a/misc/qt5ct/pkg-plist b/misc/qt5ct/pkg-plist
index 65564c802436..4872ba691e2d 100644
--- a/misc/qt5ct/pkg-plist
+++ b/misc/qt5ct/pkg-plist
@@ -1,6 +1,6 @@
bin/qt5ct
lib/libqt5ct-common.so
-lib/libqt5ct-common.so.1.8
+lib/libqt5ct-common.so.1.9
%%QT_PLUGINDIR%%/platformthemes/libqt5ct.so
%%QT_PLUGINDIR%%/styles/libqt5ct-style.so
share/applications/qt5ct.desktop
diff --git a/misc/qt6ct/Makefile b/misc/qt6ct/Makefile
index 4ee6c8b1fb14..ed9197db83c7 100644
--- a/misc/qt6ct/Makefile
+++ b/misc/qt6ct/Makefile
@@ -20,7 +20,7 @@ USE_QT= base svg:run tools:build
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}/${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}/${DOCSDIR}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/misc/zoneinfo/Makefile b/misc/zoneinfo/Makefile
index 52d8f93e0903..a01a35977da8 100644
--- a/misc/zoneinfo/Makefile
+++ b/misc/zoneinfo/Makefile
@@ -1,5 +1,5 @@
PORTNAME= zoneinfo
-DISTVERSION= 2025b
+DISTVERSION= 2025c
CATEGORIES= misc
MASTER_SITES= https://data.iana.org/time-zones/releases/ \
ftp://ftp.iana.org/tz/releases/
diff --git a/misc/zoneinfo/distinfo b/misc/zoneinfo/distinfo
index 62200bae4c8a..20476eca4f57 100644
--- a/misc/zoneinfo/distinfo
+++ b/misc/zoneinfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743813627
-SHA256 (tzdata2025b.tar.gz) = 11810413345fc7805017e27ea9fa4885fd74cd61b2911711ad038f5d28d71474
-SIZE (tzdata2025b.tar.gz) = 464295
+TIMESTAMP = 1766271924
+SHA256 (tzdata2025c.tar.gz) = 4aa79e4effee53fc4029ffe5f6ebe97937282ebcdf386d5d2da91ce84142f957
+SIZE (tzdata2025c.tar.gz) = 469363
diff --git a/misc/zoneinfo/files/patch-zone1970.tab b/misc/zoneinfo/files/patch-zone1970.tab
index 5d285cc7b189..c35818fa05e8 100644
--- a/misc/zoneinfo/files/patch-zone1970.tab
+++ b/misc/zoneinfo/files/patch-zone1970.tab
@@ -1,12 +1,14 @@
---- zone1970.tab.orig 2019-06-22 19:39:01 UTC
+--- zone1970.tab.orig 2025-08-30 06:13:30 UTC
+++ zone1970.tab
-@@ -9,7 +9,8 @@
+@@ -7,9 +7,10 @@
+ # civil timestamps have agreed since 1970. Columns are separated by
+ # a single tab. Lines beginning with ‘#’ are comments. All text uses
# UTF-8 encoding. The columns of the table are as follows:
- #
+-#
++
# 1. The countries that overlap the timezone, as a comma-separated list
--# of ISO 3166 2-character country codes. See the file 'iso3166.tab'.
-+# of ISO 3166 2-character country codes.
+ # of ISO 3166 2-character country codes.
+# See the file '/usr/share/misc/iso3166'.
- # 2. Latitude and longitude of the timezone's principal location
+ # 2. Latitude and longitude of the timezone’s principal location
# in ISO 6709 sign-degrees-minutes-seconds format,
# either ±DDMM±DDDMM or ±DDMMSS±DDDMMSS,
diff --git a/multimedia/kvazaar/Makefile b/multimedia/kvazaar/Makefile
index 90a92c0bd480..6b9b696c03a4 100644
--- a/multimedia/kvazaar/Makefile
+++ b/multimedia/kvazaar/Makefile
@@ -1,11 +1,11 @@
PORTNAME= kvazaar
+PORTVERSION= 2.3.2
DISTVERSIONPREFIX= v
-DISTVERSION= 2.3.1
CATEGORIES= multimedia
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= danfe@FreeBSD.org
COMMENT= H.265/HEVC encoder implemented in C
-WWW= https://ultravideo.fi/#encoder_x
+WWW= https://ultravideo.fi/kvazaar.html
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/kvazaar/distinfo b/multimedia/kvazaar/distinfo
index dce8db76b7a3..f2eb6eea656b 100644
--- a/multimedia/kvazaar/distinfo
+++ b/multimedia/kvazaar/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1712745755
-SHA256 (ultravideo-kvazaar-v2.3.1_GH0.tar.gz) = c5a1699d0bd50bc6bdba485b3438a5681a43d7b2c4fd6311a144740bfa59c9cc
-SIZE (ultravideo-kvazaar-v2.3.1_GH0.tar.gz) = 598516
+TIMESTAMP = 1758103669
+SHA256 (ultravideo-kvazaar-v2.3.2_GH0.tar.gz) = ddd0038696631ca5368d8e40efee36d2bbb805854b9b1dda8b12ea9b397ea951
+SIZE (ultravideo-kvazaar-v2.3.2_GH0.tar.gz) = 600315
SHA256 (silentbicycle-greatest-v1.0.0_GH0.tar.gz) = 18ee57a34869c6f6ce511cd71a5cc8661801cf69d64c4c66ff76773835df659b
SIZE (silentbicycle-greatest-v1.0.0_GH0.tar.gz) = 11959
diff --git a/multimedia/kvazaar/pkg-plist b/multimedia/kvazaar/pkg-plist
index 1e5081f4f598..8fb9db210a88 100644
--- a/multimedia/kvazaar/pkg-plist
+++ b/multimedia/kvazaar/pkg-plist
@@ -3,7 +3,7 @@ include/kvazaar.h
lib/libkvazaar.a
lib/libkvazaar.so
lib/libkvazaar.so.7
-lib/libkvazaar.so.7.4.0
+lib/libkvazaar.so.7.5.0
libdata/pkgconfig/kvazaar.pc
%%PORTDOCS%%%%DOCSDIR%%/CREDITS
%%PORTDOCS%%%%DOCSDIR%%/LICENSE
diff --git a/multimedia/photofilmstrip/Makefile b/multimedia/photofilmstrip/Makefile
index 8f518e125de5..ee8586706115 100644
--- a/multimedia/photofilmstrip/Makefile
+++ b/multimedia/photofilmstrip/Makefile
@@ -1,6 +1,6 @@
PORTNAME= photofilmstrip
DISTVERSION= 3.7.1
-PORTREVISION= 2
+PORTREVISION= 4
CATEGORIES= multimedia python
MASTER_SITES= https://github.com/PhotoFilmStrip/PFS/releases/download/v${DISTVERSION}/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp
new file mode 100644
index 000000000000..35699524d9bf
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp
@@ -0,0 +1,16 @@
+Fix build on i386.
+
+error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka
+'unsigned int') to 'qsizetype' (aka 'int') in initializer list
+
+--- src/multimedia/pipewire/qpipewire_propertydict.cpp.orig 2025-11-13 22:23:51 UTC
++++ src/multimedia/pipewire/qpipewire_propertydict.cpp
+@@ -31,7 +31,7 @@ PwPropertyDict toPropertyDict(const spa_dict &dict)
+
+ PwPropertyDict toPropertyDict(const spa_dict &dict)
+ {
+- QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++ QSpan<const spa_dict_item> items{ dict.items, static_cast<qsizetype>(dict.n_items) };
+
+ PwPropertyDict map;
+ for (const spa_dict_item &item : items)
diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp
new file mode 100644
index 000000000000..d2fddc373701
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp
@@ -0,0 +1,16 @@
+Fix build on i386.
+
+error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka
+'unsigned int') to 'qsizetype' (aka 'int') in initializer list
+
+--- src/multimedia/pipewire/qpipewire_support.cpp.orig 2025-11-13 22:23:51 UTC
++++ src/multimedia/pipewire/qpipewire_support.cpp
+@@ -16,7 +16,7 @@ QDebug operator<<(QDebug dbg, const spa_dict &dict)
+ // debug support
+ QDebug operator<<(QDebug dbg, const spa_dict &dict)
+ {
+- QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++ QSpan<const spa_dict_item> items{ dict.items, static_cast<qsizetype>(dict.n_items) };
+
+ QDebugStateSaver saver(dbg);
+ dbg.nospace();
diff --git a/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
index e8ba5dbeb30e..4ac8d13cf740 100644
--- a/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
+++ b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
@@ -1,6 +1,6 @@
---- src/plugins/multimedia/ffmpeg/CMakeLists.txt.orig 2025-08-15 19:16:13 UTC
+--- src/plugins/multimedia/ffmpeg/CMakeLists.txt.orig 2025-11-13 22:23:51 UTC
+++ src/plugins/multimedia/ffmpeg/CMakeLists.txt
-@@ -92,7 +92,7 @@ qt_internal_add_module(FFmpegMediaPluginImplPrivate
+@@ -94,7 +94,7 @@ qt_internal_add_module(FFmpegMediaPluginImplPrivate
../../../3rdparty/signalsmith-stretch
)
diff --git a/net-im/dino/Makefile b/net-im/dino/Makefile
index 11a49f080a2c..26e9847eb737 100644
--- a/net-im/dino/Makefile
+++ b/net-im/dino/Makefile
@@ -1,7 +1,7 @@
PORTNAME= dino
DISTVERSIONPREFIX= v
-DISTVERSION= 0.4.5
-PORTREVISION= 2
+DISTVERSION= 0.5.1
+PORTREVISION= 1
CATEGORIES= net-im
MAINTAINER= ashish@FreeBSD.org
@@ -20,12 +20,12 @@ LIB_DEPENDS= libadwaita-1.so:x11-toolkits/libadwaita \
libgspell-1.so:textproc/gspell \
libharfbuzz.so:print/harfbuzz \
libicuuc.so:devel/icu \
- libsoup-2.4.so:devel/libsoup \
+ libsoup-3.0.so:devel/libsoup3 \
libsqlite3.so:databases/sqlite3 \
libsrtp2.so:net/libsrtp2 \
libvulkan.so:graphics/vulkan-loader
-USES= cmake cpe desktop-file-utils gettext-tools gnome localbase \
+USES= meson cpe desktop-file-utils gettext-tools gnome localbase \
ninja pkgconfig vala:build
USE_GITHUB= yes
@@ -39,7 +39,8 @@ LDFLAGS+= -L${LOCALBASE}/lib
LDFLAGS+= -Wl,--export-dynamic
USE_LDCONFIG= yes
-USE_GNOME= cairo gdkpixbuf glib20 gnomeprefix gtk40 intlhack
+#USE_GNOME= cairo gdkpixbuf glib20 gnomeprefix gtk40 intlhack
+USE_GNOME= cairo gdkpixbuf glib20 gtk40 intlhack
CANBERRA_DESC= Notifications sounds support
ICE_DESC= ICE NAT traversal plugin
@@ -48,32 +49,32 @@ RTP_DESC= RTP plugin
UPLOAD_DESC= HTTP file upload plugin
ICE_LIB_DEPENDS= libgnutls.so:security/gnutls \
libnice.so:net-im/libnice
-ICE_VARS= ENABLED_PLUGINS+=ice
-ICE_VARS_OFF= DISABLED_PLUGINS+=ice
+ICE_VARS= ENABLED_PLUGINS+=plugin-ice
+ICE_VARS_OFF= DISABLED_PLUGINS+=plugin-ice
RTP_LIB_DEPENDS= libgnutls.so:security/gnutls \
- libwebrtc_audio_processing.so:audio/webrtc-audio-processing0
+ libwebrtc-audio-processing.so:audio/webrtc-audio-processing
RTP_USES= gstreamer
RTP_USE= GSTREAMER=gtk,opus,pulse,speex,srtp,v4l2,vpx,x264
-RTP_VARS= ENABLED_PLUGINS+=rtp
-RTP_CMAKE_BOOL= RTP_ENABLE_H264 RTP_ENABLE_VP9 RTP_ENABLE_H264 RTP_ENABLE_VAAPI
-RTP_VARS_OFF= DISABLED_PLUGINS+=rtp
-OMEMO_GH_TUPLE= signalapp:libsignal-protocol-c:v2.3.3:signalapp/plugins/signal-protocol/libsignal-protocol-c
-OMEMO_LIB_DEPENDS= libqrencode.so:graphics/libqrencode
-OMEMO_VARS= ENABLED_PLUGINS+=omemo
-OMEMO_CMAKE_BOOL= BUILD_LIBSIGNAL_IN_TREE
-OMEMO_VARS_OFF= DISABLED_PLUGINS+=omemo
-UPLOAD_CMAKE_ON= -DSOUP_VERSION:INT=2
-UPLOAD_VARS= ENABLED_PLUGINS+=http-files
-UPLOAD_VARS_OFF= DISABLED_PLUGINS+=http-files
+RTP_VARS= ENABLED_PLUGINS+= plugin-rtp plugin-rtp-h264 plugin-rtp-msdk \
+ plugin-rtp-vaapi plugin-rtp-vp9 plugin-rtp-webrtc-audio-processing
+RTP_VARS_OFF= DISABLED_PLUGINS+=plugin-rtp plugin-rtp-h264 plugin-rtp-msdk \
+ plugin-rtp-vaapi plugin-rtp-vp9 plugin-rtp-webrtc-audio-processing
+OMEMO_LIB_DEPENDS= libqrencode.so:graphics/libqrencode \
+ libomemo-c.so:security/libomemo-c
+OMEMO_VARS= ENABLED_PLUGINS+=plugin-omemo
+OMEMO_VARS_OFF= DISABLED_PLUGINS+=plugin-omemo
+UPLOAD_MESON_ON= -DSOUP_VERSION:INT=2
+UPLOAD_VARS= ENABLED_PLUGINS+=plugin-http-files
+UPLOAD_VARS_OFF= DISABLED_PLUGINS+=plugin-http-files
GNUPG_LIB_DEPENDS= libgpgme.so:security/gpgme
-GNUPG_VARS= ENABLED_PLUGINS+=openpgp
-GNUPG_VARS_OFF= DISABLED_PLUGINS+=openpgp
-CANBERRA_VARS= ENABLED_PLUGINS+=notification-sound
-CANBERRA_VARS_OFF= DISABLED_PLUGINS+=notification-sound
+GNUPG_VARS= ENABLED_PLUGINS+=plugin-openpgp
+GNUPG_VARS_OFF= DISABLED_PLUGINS+=plugin-openpgp
+CANBERRA_VARS= ENABLED_PLUGINS+=plugin-notification-sound
+CANBERRA_VARS_OFF= DISABLED_PLUGINS+=plugin-notification-sound
CANBERRA_LIB_DEPENDS= libcanberra.so:audio/libcanberra
-CMAKE_ARGS+= -DENABLED_PLUGINS="${ENABLED_PLUGINS:S/ /;/gW}"
-CMAKE_ARGS+= -DDISABLED_PLUGINS="${DISABLED_PLUGINS:S/ /;/gW}"
+OPT_MESON_ENABLED= "${ENABLED_PLUGINS}"
+OPT_MESON_DISABLED= "${DISABLED_PLUGINS}"
pre-configure:
@if [ -z "${PACKAGE_BUILDING}" ]; then if ! ${PKG_BIN} query \
diff --git a/net-im/dino/distinfo b/net-im/dino/distinfo
index 5bd5aa428880..3fe2406ba3c8 100644
--- a/net-im/dino/distinfo
+++ b/net-im/dino/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1742741298
-SHA256 (dino-dino-v0.4.5_GH0.tar.gz) = 80761b625c4cb4cf6ed1a368dbd24a9df06b47a1c6379495aca4ed7e033d08be
-SIZE (dino-dino-v0.4.5_GH0.tar.gz) = 887183
-SHA256 (signalapp-libsignal-protocol-c-v2.3.3_GH0.tar.gz) = c22e7690546e24d46210ca92dd808f17c3102e1344cd2f9a370136a96d22319d
-SIZE (signalapp-libsignal-protocol-c-v2.3.3_GH0.tar.gz) = 272073
+TIMESTAMP = 1765851650
+SHA256 (dino-dino-v0.5.1_GH0.tar.gz) = 2658b83abe1203b2dd4d6444519f615b979faaac7e97f384e655bff85769584b
+SIZE (dino-dino-v0.5.1_GH0.tar.gz) = 1004976
diff --git a/net-im/dino/pkg-plist b/net-im/dino/pkg-plist
index e2deb19f880d..19ab39c3bc0c 100644
--- a/net-im/dino/pkg-plist
+++ b/net-im/dino/pkg-plist
@@ -1,15 +1,14 @@
bin/dino
include/crypto-vala.h
-include/dino.h
include/dino_i18n.h
+include/libdino.h
include/qlite.h
include/xmpp-vala.h
-%%UPLOAD%%lib/dino/plugins/http-files.so
-%%ICE%%lib/dino/plugins/ice.so
-%%CANBERRA%%lib/dino/plugins/notification-sound.so
-%%OMEMO%%lib/dino/plugins/omemo.so
-%%GNUPG%%lib/dino/plugins/openpgp.so
-%%RTP%%lib/dino/plugins/rtp.so
+lib/dino/plugins/http-files.so
+lib/dino/plugins/ice.so
+lib/dino/plugins/omemo.so
+lib/dino/plugins/openpgp.so
+lib/dino/plugins/rtp.so
lib/libcrypto-vala.so
lib/libcrypto-vala.so.0
lib/libcrypto-vala.so.0.0
@@ -26,121 +25,137 @@ share/applications/im.dino.Dino.desktop
share/dbus-1/services/im.dino.Dino.service
share/icons/hicolor/scalable/apps/im.dino.Dino.svg
share/icons/hicolor/symbolic/apps/im.dino.Dino-symbolic.svg
-%%OMEMO%%share/locale/ar/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/ar/LC_MESSAGES/dino-openpgp.mo
+share/locale/ar/LC_MESSAGES/dino-omemo.mo
+share/locale/ar/LC_MESSAGES/dino-openpgp.mo
share/locale/ar/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/ca/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/ca/LC_MESSAGES/dino-openpgp.mo
+share/locale/ca/LC_MESSAGES/dino-omemo.mo
+share/locale/ca/LC_MESSAGES/dino-openpgp.mo
share/locale/ca/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/cs/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/cs/LC_MESSAGES/dino-openpgp.mo
+share/locale/cs/LC_MESSAGES/dino-omemo.mo
+share/locale/cs/LC_MESSAGES/dino-openpgp.mo
share/locale/cs/LC_MESSAGES/dino.mo
+share/locale/da/LC_MESSAGES/dino-omemo.mo
+share/locale/da/LC_MESSAGES/dino-openpgp.mo
share/locale/da/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/de/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/de/LC_MESSAGES/dino-openpgp.mo
+share/locale/de/LC_MESSAGES/dino-omemo.mo
+share/locale/de/LC_MESSAGES/dino-openpgp.mo
share/locale/de/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/el/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/el/LC_MESSAGES/dino-openpgp.mo
+share/locale/el/LC_MESSAGES/dino-omemo.mo
+share/locale/el/LC_MESSAGES/dino-openpgp.mo
share/locale/el/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/en/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/en/LC_MESSAGES/dino-openpgp.mo
+share/locale/en/LC_MESSAGES/dino-omemo.mo
+share/locale/en/LC_MESSAGES/dino-openpgp.mo
share/locale/en/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/eo/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/eo/LC_MESSAGES/dino-openpgp.mo
+share/locale/eo/LC_MESSAGES/dino-omemo.mo
+share/locale/eo/LC_MESSAGES/dino-openpgp.mo
share/locale/eo/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/es/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/es/LC_MESSAGES/dino-openpgp.mo
+share/locale/es/LC_MESSAGES/dino-omemo.mo
+share/locale/es/LC_MESSAGES/dino-openpgp.mo
share/locale/es/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/eu/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/eu/LC_MESSAGES/dino-openpgp.mo
+share/locale/et/LC_MESSAGES/dino-omemo.mo
+share/locale/et/LC_MESSAGES/dino-openpgp.mo
+share/locale/et/LC_MESSAGES/dino.mo
+share/locale/eu/LC_MESSAGES/dino-omemo.mo
+share/locale/eu/LC_MESSAGES/dino-openpgp.mo
share/locale/eu/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/fa/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/fa/LC_MESSAGES/dino-openpgp.mo
+share/locale/fa/LC_MESSAGES/dino-omemo.mo
+share/locale/fa/LC_MESSAGES/dino-openpgp.mo
share/locale/fa/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/fi/LC_MESSAGES/dino-omemo.mo
+share/locale/fi/LC_MESSAGES/dino-omemo.mo
+share/locale/fi/LC_MESSAGES/dino-openpgp.mo
share/locale/fi/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/fr/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/fr/LC_MESSAGES/dino-openpgp.mo
+share/locale/fr/LC_MESSAGES/dino-omemo.mo
+share/locale/fr/LC_MESSAGES/dino-openpgp.mo
share/locale/fr/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/gl/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/gl/LC_MESSAGES/dino-openpgp.mo
+share/locale/gl/LC_MESSAGES/dino-omemo.mo
+share/locale/gl/LC_MESSAGES/dino-openpgp.mo
share/locale/gl/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/hu/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/hu/LC_MESSAGES/dino-openpgp.mo
+share/locale/hi/LC_MESSAGES/dino.mo
+share/locale/hu/LC_MESSAGES/dino-omemo.mo
+share/locale/hu/LC_MESSAGES/dino-openpgp.mo
share/locale/hu/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/id/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/id/LC_MESSAGES/dino-openpgp.mo
+share/locale/hy/LC_MESSAGES/dino.mo
+share/locale/ia/LC_MESSAGES/dino-openpgp.mo
+share/locale/ia/LC_MESSAGES/dino.mo
+share/locale/id/LC_MESSAGES/dino-omemo.mo
+share/locale/id/LC_MESSAGES/dino-openpgp.mo
share/locale/id/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/ie/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/ie/LC_MESSAGES/dino-openpgp.mo
+share/locale/ie/LC_MESSAGES/dino-omemo.mo
+share/locale/ie/LC_MESSAGES/dino-openpgp.mo
share/locale/ie/LC_MESSAGES/dino.mo
-%%GNUPG%%share/locale/is/LC_MESSAGES/dino-openpgp.mo
+share/locale/is/LC_MESSAGES/dino-openpgp.mo
share/locale/is/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/it/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/it/LC_MESSAGES/dino-openpgp.mo
+share/locale/it/LC_MESSAGES/dino-omemo.mo
+share/locale/it/LC_MESSAGES/dino-openpgp.mo
share/locale/it/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/ja/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/ja/LC_MESSAGES/dino-openpgp.mo
+share/locale/ja/LC_MESSAGES/dino-omemo.mo
+share/locale/ja/LC_MESSAGES/dino-openpgp.mo
share/locale/ja/LC_MESSAGES/dino.mo
share/locale/kab/LC_MESSAGES/dino.mo
-%%GNUPG%%share/locale/ko/LC_MESSAGES/dino-openpgp.mo
+share/locale/ko/LC_MESSAGES/dino-openpgp.mo
share/locale/ko/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/lb/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/lb/LC_MESSAGES/dino-openpgp.mo
+share/locale/lb/LC_MESSAGES/dino-omemo.mo
+share/locale/lb/LC_MESSAGES/dino-openpgp.mo
share/locale/lb/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/lt/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/lt/LC_MESSAGES/dino-openpgp.mo
+share/locale/lt/LC_MESSAGES/dino-omemo.mo
+share/locale/lt/LC_MESSAGES/dino-openpgp.mo
share/locale/lt/LC_MESSAGES/dino.mo
-%%GNUPG%%share/locale/lv/LC_MESSAGES/dino-openpgp.mo
+share/locale/lv/LC_MESSAGES/dino-openpgp.mo
share/locale/lv/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/nb/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/nb/LC_MESSAGES/dino-openpgp.mo
+share/locale/nb/LC_MESSAGES/dino-omemo.mo
+share/locale/nb/LC_MESSAGES/dino-openpgp.mo
share/locale/nb/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/nl/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/nl/LC_MESSAGES/dino-openpgp.mo
+share/locale/nl/LC_MESSAGES/dino-omemo.mo
+share/locale/nl/LC_MESSAGES/dino-openpgp.mo
share/locale/nl/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/oc/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/oc/LC_MESSAGES/dino-openpgp.mo
+share/locale/oc/LC_MESSAGES/dino-omemo.mo
+share/locale/oc/LC_MESSAGES/dino-openpgp.mo
share/locale/oc/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/pl/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/pl/LC_MESSAGES/dino-openpgp.mo
+share/locale/pl/LC_MESSAGES/dino-omemo.mo
+share/locale/pl/LC_MESSAGES/dino-openpgp.mo
share/locale/pl/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/pt/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/pt/LC_MESSAGES/dino-openpgp.mo
+share/locale/pt/LC_MESSAGES/dino-omemo.mo
+share/locale/pt/LC_MESSAGES/dino-openpgp.mo
share/locale/pt/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/pt_BR/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/pt_BR/LC_MESSAGES/dino-openpgp.mo
+share/locale/pt_BR/LC_MESSAGES/dino-omemo.mo
+share/locale/pt_BR/LC_MESSAGES/dino-openpgp.mo
share/locale/pt_BR/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/ro/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/ro/LC_MESSAGES/dino-openpgp.mo
+share/locale/ro/LC_MESSAGES/dino-omemo.mo
+share/locale/ro/LC_MESSAGES/dino-openpgp.mo
share/locale/ro/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/ru/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/ru/LC_MESSAGES/dino-openpgp.mo
+share/locale/ru/LC_MESSAGES/dino-omemo.mo
+share/locale/ru/LC_MESSAGES/dino-openpgp.mo
share/locale/ru/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/sq/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/sq/LC_MESSAGES/dino-openpgp.mo
+share/locale/si/LC_MESSAGES/dino.mo
+share/locale/sq/LC_MESSAGES/dino-omemo.mo
+share/locale/sq/LC_MESSAGES/dino-openpgp.mo
share/locale/sq/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/sv/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/sv/LC_MESSAGES/dino-openpgp.mo
+share/locale/sv/LC_MESSAGES/dino-omemo.mo
+share/locale/sv/LC_MESSAGES/dino-openpgp.mo
share/locale/sv/LC_MESSAGES/dino.mo
+share/locale/ta/LC_MESSAGES/dino-omemo.mo
+share/locale/ta/LC_MESSAGES/dino-openpgp.mo
share/locale/ta/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/tr/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/tr/LC_MESSAGES/dino-openpgp.mo
+share/locale/tr/LC_MESSAGES/dino-omemo.mo
+share/locale/tr/LC_MESSAGES/dino-openpgp.mo
share/locale/tr/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/uk/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/uk/LC_MESSAGES/dino-openpgp.mo
+share/locale/uk/LC_MESSAGES/dino-omemo.mo
+share/locale/uk/LC_MESSAGES/dino-openpgp.mo
share/locale/uk/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/zh_CN/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/zh_CN/LC_MESSAGES/dino-openpgp.mo
+share/locale/vi/LC_MESSAGES/dino-omemo.mo
+share/locale/vi/LC_MESSAGES/dino-openpgp.mo
+share/locale/vi/LC_MESSAGES/dino.mo
+share/locale/zh_CN/LC_MESSAGES/dino-omemo.mo
+share/locale/zh_CN/LC_MESSAGES/dino-openpgp.mo
share/locale/zh_CN/LC_MESSAGES/dino.mo
-%%OMEMO%%share/locale/zh_TW/LC_MESSAGES/dino-omemo.mo
-%%GNUPG%%share/locale/zh_TW/LC_MESSAGES/dino-openpgp.mo
+share/locale/zh_TW/LC_MESSAGES/dino-omemo.mo
+share/locale/zh_TW/LC_MESSAGES/dino-openpgp.mo
share/locale/zh_TW/LC_MESSAGES/dino.mo
share/metainfo/im.dino.Dino.appdata.xml
share/vala/vapi/crypto-vala.deps
share/vala/vapi/crypto-vala.vapi
share/vala/vapi/dino.deps
-share/vala/vapi/dino.vapi
+share/vala/vapi/libdino.vapi
share/vala/vapi/qlite.deps
share/vala/vapi/qlite.vapi
share/vala/vapi/xmpp-vala.deps
diff --git a/net-im/sshout/Makefile b/net-im/sshout/Makefile
index 5746a4be1d48..f53a28192038 100644
--- a/net-im/sshout/Makefile
+++ b/net-im/sshout/Makefile
@@ -1,11 +1,10 @@
PORTNAME= sshout
-DISTVERSION= 1.2.0
-PORTREVISION= 2
+DISTVERSION= 1.3.0
CATEGORIES= net-im
-MASTER_SITES= SF/sshout/${PORTNAME}/
-DISTNAME= ${PORTNAME}-${PORTVERSION}-src
+MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/
+DISTNAME= ${PORTNAME}-${DISTVERSION}-src
-MAINTAINER= msl0000023508@gmail.com
+MAINTAINER= whr@rivoreo.one
COMMENT= Instant-messaging service based on SSH
WWW= https://sourceforge.net/projects/sshout/
@@ -14,41 +13,42 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libmhash.so:security/mhash
-USES= tar:bz2 gmake readline
+USES= gmake iconv readline tar:bz2
+USE_RC_SUBR= ${PORTNAME}
-NO_WRKSUBDIR= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-
-MAKE_ENV= LIBEXECDIR=\${PREFIX}/libexec \
- MANDIR=\${PREFIX}/share/man
+MAKE_ENV= ICONV_LIBS="${ICONV_LIB}" \
+ LIBEXECDIR=${PREFIX}/libexec \
+ MANDIR=${PREFIX}/share/man
-USE_RC_SUBR= sshout
+NO_WRKSUBDIR= yes
-USERS= sshout
-GROUPS= sshout
+USERS= ${PORTNAME}
+GROUPS= ${PORTNAME}
-OPTIONS_DEFINE= NLS IRC
+OPTIONS_DEFINE= IRC NLS
OPTIONS_DEFAULT= NLS
OPTIONS_GROUP= SUGGESTED
OPTIONS_GROUP_SUGGESTED=XCLIP ELINKS
-SUGGESTED_DESC= Suggested ports
+OPTIONS_SUB= yes
-XCLIP_DESC= Add dependency to xclip(1) for CLI pasteimage support
-XCLIP_RUN_DEPENDS= xclip:x11/xclip
ELINKS_DESC= Add dependency to elinks(1) for showing HTML messages in CLI
+IRC_DESC= Experimental IRC over SSH frontend
+SUGGESTED_DESC= Suggested ports
+XCLIP_DESC= Add dependency to xclip(1) for CLI pasteimage support
+
ELINKS_RUN_DEPENDS= elinks>=0.12:www/elinks
+IRC_CPPFLAGS= -D ENABLE_IRC_FRONTEND=1
+
NLS_USES= gettext
NLS_MAKE_ENV= NLS_LIBS="-l intl"
NLS_MAKE_ENV_OFF= NO_NLS=1
-IRC_DESC= Experimental IRC over SSH frontend
-IRC_CPPFLAGS= -D ENABLE_IRC_FRONTEND=1
-
-OPTIONS_SUB= yes
+XCLIP_RUN_DEPENDS= xclip:x11/xclip
-.include <bsd.port.options.mk>
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/sshoutd \
+ ${STAGEDIR}${PREFIX}/sbin/sshoutcfg
.include <bsd.port.mk>
diff --git a/net-im/sshout/distinfo b/net-im/sshout/distinfo
index d0f80eca969f..8993bbbda21b 100644
--- a/net-im/sshout/distinfo
+++ b/net-im/sshout/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1599058479
-SHA256 (sshout-1.2.0-src.tar.bz2) = ced431585228186e5029f2c4cff76802b76eb6389fe78d5e9c14b0289a535b22
-SIZE (sshout-1.2.0-src.tar.bz2) = 45150
+TIMESTAMP = 1766203530
+SHA256 (sshout-1.3.0-src.tar.bz2) = 81d383ddb78a8abd0e5577152a1a9714a435075f52cf98dc73c784b5dc668af8
+SIZE (sshout-1.3.0-src.tar.bz2) = 46288
diff --git a/net-im/sshout/files/patch-Makefile b/net-im/sshout/files/patch-Makefile
deleted file mode 100644
index 0cb7636ea882..000000000000
--- a/net-im/sshout/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.orig 2020-09-01 11:34:08 UTC
-+++ Makefile
-@@ -4,7 +4,7 @@
- INSTALL ?= install
- MSGFMT ?= msgfmt
-
--CFLAGS += -Wall -Wno-switch -Wno-pointer-to-int-cast -O1
-+CFLAGS += -Wall -Wno-switch -Wno-pointer-to-int-cast
- #LIBS +=
-
- #SOCKET_LIBS := -l socket
diff --git a/net-im/sshout/pkg-descr b/net-im/sshout/pkg-descr
index f37119642b78..0ba448143d20 100644
--- a/net-im/sshout/pkg-descr
+++ b/net-im/sshout/pkg-descr
@@ -1,9 +1,9 @@
-Secure Shout Host Oriented Unified Talk is an instant-messaging platform
-designed to make uses of the existing SSH server in your system.
+SSHOUT is an instant-messaging platform designed to make uses of the existing
+OpenSSH SSH server in your system.
SSHOUT creates a private chat room in your host. The authentication of the
chat room is done by SSH public authentication. Users can join your chat room
-by either directly connecting your SSH server with any SSH client; or using a
-SSHOUT client that implemented the client side SSHOUT API.
-This package provides the SSHOUT server side programs; if you are finding a
-SSHOUT client, go to project page and find out a suitable client; or you can
-also write your own client using SSHOUT API.
+by either directly connecting the SSH server with any SSH client, or by using
+a SSHOUT client that implements the client side SSHOUT API.
+This package provides the SSHOUT server side programs; if you are looking for
+a SSHOUT client software, see the project page. You can also create your own
+client software using the SSHOUT API.
diff --git a/net-im/sshout/pkg-message b/net-im/sshout/pkg-message
index 322176dbe53f..2dcb864d5e0a 100644
--- a/net-im/sshout/pkg-message
+++ b/net-im/sshout/pkg-message
@@ -1,3 +1,6 @@
+[
+{ type: install
+ message: <<EOM
#### NOTES OF SSHOUT
In order to start sshout service you need some more configuration:
@@ -10,3 +13,6 @@ Suggested ports:
x11/xclip For '/pasteimage' command to work in CLI frontend
www/elinks For HTML messages be properly displayed in CLI frontend
#### END
+EOM
+}
+]
diff --git a/net-p2p/py-stig/Makefile b/net-p2p/py-stig/Makefile
index 7167a342ea12..a242fbff83a6 100644
--- a/net-p2p/py-stig/Makefile
+++ b/net-p2p/py-stig/Makefile
@@ -1,5 +1,5 @@
PORTNAME= stig
-DISTVERSION= 0.14.0a0
+DISTVERSION= 0.14.1a0
CATEGORIES= net-p2p
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -23,8 +23,8 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asynctest>0:devel/py-asynctest@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist distutils pytest
-NO_ARCH= yes
-
TESTING_UNSAFE= yes
+NO_ARCH= yes
+
.include <bsd.port.mk>
diff --git a/net-p2p/py-stig/distinfo b/net-p2p/py-stig/distinfo
index b285bce6b941..0a94f4375957 100644
--- a/net-p2p/py-stig/distinfo
+++ b/net-p2p/py-stig/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1757510858
-SHA256 (stig-0.14.0a0.tar.gz) = bfdf72e7ece0458845cb9bf3f0f1eb985a66afc8fb1fc532fe3a32efb710a148
-SIZE (stig-0.14.0a0.tar.gz) = 237688
+TIMESTAMP = 1765826913
+SHA256 (stig-0.14.1a0.tar.gz) = 57f18d1add9d86c4e699d0237b2fcc358abaaa16c93cfadc85aea625e4eff88e
+SIZE (stig-0.14.1a0.tar.gz) = 237804
diff --git a/net/boinc-client/Makefile b/net/boinc-client/Makefile
index a320fd875654..53af41bea60a 100644
--- a/net/boinc-client/Makefile
+++ b/net/boinc-client/Makefile
@@ -1,6 +1,6 @@
PORTNAME= boinc-client
DISTVERSIONPREFIX= client_release/8.2/
-DISTVERSION= 8.2.4
+DISTVERSION= 8.2.8
CATEGORIES= net
MAINTAINER= alven@FreeBSD.org
@@ -8,7 +8,8 @@ COMMENT= Berkeley Open Infrastructure for Network Computing client
WWW= https://boinc.berkeley.edu/ \
https://github.com/BOINC/boinc/
-LICENSE= LGPL3
+LICENSE= LGPL3+
+LICENSE_FILE= ${WRKSRC}/COPYING.LESSER
USES= autoreconf compiler:c++11-lang gmake libtool localbase:ldflags pkgconfig ssl
USE_GITHUB= yes
@@ -35,6 +36,8 @@ SUB_LIST= BOINC_CLIENT_GROUP="${BOINC_CLIENT_GROUP}" \
USERS= boinc
GROUPS= boinc
+PLIST_SUB= SOVERSION=${DISTVERSION}
+
OPTIONS_DEFINE= CLIENT MANAGER NLS SKINS USER X11
OPTIONS_DEFINE_aarch64= LINUX
OPTIONS_DEFINE_amd64= LINUX
@@ -114,25 +117,6 @@ SUB_LIST+= OPTION_USER=""
post-patch:
@${REINPLACE_CMD} -e 's|client/scripts||' \
${WRKSRC}/Makefile.am
-# avoid build conflict with archivers/libzip
- @${MV} ${WRKSRC}/zip/unzip/zip.h \
- ${WRKSRC}/zip/unzip/boinczip.h
- @${MV} ${WRKSRC}/zip/zip/zip.h \
- ${WRKSRC}/zip/zip/boinczip.h
- @${REINPLACE_CMD} -e 's|zip/zip.h|zip/boinczip.h|' \
- ${WRKSRC}/zip/boinc_zip.cpp
- @${REINPLACE_CMD} -e 's|"zip.h"|"boinczip.h"|' \
- ${WRKSRC}/zip/unzip/crc32.c \
- ${WRKSRC}/zip/unzip/ttyio.c \
- ${WRKSRC}/zip/zip/deflate.c \
- ${WRKSRC}/zip/zip/trees.c \
- ${WRKSRC}/zip/zip/unix/z_unix.c \
- ${WRKSRC}/zip/zip/util.c \
- ${WRKSRC}/zip/zip/z_fileio.c \
- ${WRKSRC}/zip/zip/z_globals.c \
- ${WRKSRC}/zip/zip/zip.c \
- ${WRKSRC}/zip/zip/zipfile.c \
- ${WRKSRC}/zip/zip/zipup.c
post-patch-X11-off:
@${REINPLACE_CMD} -e 's|enable_xss="yes"|enable_xss="no"|' \
@@ -147,8 +131,8 @@ post-install:
post-install-MANAGER-on:
${MKDIR} ${STAGEDIR}${PREFIX}/share/boinc
-.for name in 16 32 48
- ${INSTALL_DATA} ${WRKSRC}/packages/generic/sea/boincmgr.${name}x${name}.png \
+.for size in 16 32 48
+ ${INSTALL_DATA} ${WRKSRC}/packages/generic/sea/boincmgr.${size}x${size}.png \
${STAGEDIR}${PREFIX}/share/pixmaps
.endfor
.if ${PORT_OPTIONS:MSKINS}
@@ -168,8 +152,7 @@ post-install-X11-on:
${STAGEDIR}${PREFIX}/include/boinc
.endfor
${MKDIR} ${STAGEDIR}${PREFIX}/share/boinc/ttf
- (cd ${WRKSRC}/api/ttf/liberation-fonts-ttf-2.00.0 && \
- ${COPYTREE_SHARE} \*.ttf ${STAGEDIR}${PREFIX}/share/boinc/ttf/ \
- )
+ cd ${WRKSRC}/api/ttf/liberation-fonts-ttf-2.00.0 && \
+ ${COPYTREE_SHARE} \*.ttf ${STAGEDIR}${PREFIX}/share/boinc/ttf/
.include <bsd.port.mk>
diff --git a/net/boinc-client/distinfo b/net/boinc-client/distinfo
index 83f379cdc7f4..ac79eeb8a0c2 100644
--- a/net/boinc-client/distinfo
+++ b/net/boinc-client/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753478143
-SHA256 (BOINC-boinc-client_release-8.2-8.2.4_GH0.tar.gz) = a7cd5c562f7fae705f0b68e215d9ee176c2716630a80fc86a6d9aa3a6804e7e4
-SIZE (BOINC-boinc-client_release-8.2-8.2.4_GH0.tar.gz) = 47582706
+TIMESTAMP = 1764582072
+SHA256 (BOINC-boinc-client_release-8.2-8.2.8_GH0.tar.gz) = faaacaff557eba02fe9ae6f40402534b8bbf55343553bf42e1255b0d9f435ca0
+SIZE (BOINC-boinc-client_release-8.2-8.2.8_GH0.tar.gz) = 47052652
diff --git a/net/boinc-client/pkg-plist b/net/boinc-client/pkg-plist
index 996dc126c6cd..7b78825ac66e 100644
--- a/net/boinc-client/pkg-plist
+++ b/net/boinc-client/pkg-plist
@@ -59,12 +59,12 @@ lib/libboinc.a
lib/libboinc_api.a
lib/libboinc_api.so
lib/libboinc_api.so.8
-lib/libboinc_api.so.8.2.4
+lib/libboinc_api.so.%%SOVERSION%%
%%CLIENT%%lib/libboinc_crypt.a
lib/libboinc_opencl.a
lib/libboinc_opencl.so
lib/libboinc_opencl.so.8
-lib/libboinc_opencl.so.8.2.4
+lib/libboinc_opencl.so.%%SOVERSION%%
libdata/pkgconfig/libboinc.pc
libdata/pkgconfig/libboinc_api.pc
%%CLIENT%%libdata/pkgconfig/libboinc_crypt.pc
@@ -72,7 +72,7 @@ libdata/pkgconfig/libboinc_opencl.pc
%%X11%%lib/libboinc_graphics2.a
%%X11%%lib/libboinc_graphics2.so
%%X11%%lib/libboinc_graphics2.so.8
-%%X11%%lib/libboinc_graphics2.so.8.2.4
+%%X11%%lib/libboinc_graphics2.so.%%SOVERSION%%
%%SKINS%%share/boinc/skins/Charity Engine/background_image.png
%%SKINS%%share/boinc/skins/Charity Engine/ce_about.ico
%%SKINS%%share/boinc/skins/Charity Engine/ce_icon_play.png
diff --git a/net/go-pkgsite/Makefile b/net/go-pkgsite/Makefile
index 7a3970327d5c..4e31621e0bd0 100644
--- a/net/go-pkgsite/Makefile
+++ b/net/go-pkgsite/Makefile
@@ -1,7 +1,6 @@
PORTNAME= go-pkgsite
PORTVERSION= ${MODVERSION:S/-/./g:R}
DISTVERSIONPREFIX= v
-PORTREVISION= 4
CATEGORIES= net devel
MAINTAINER= fuz@FreeBSD.org
@@ -12,7 +11,7 @@ LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= go:modules
-MODVERSION= 0.0.0-20250911091732-133263251ca1
+MODVERSION= 0.0.0-20251209150622-7dafa59905ae
GO_MODULE= golang.org/x/pkgsite@v${MODVERSION}
GO_TARGET= ./cmd/pkgsite
diff --git a/net/go-pkgsite/distinfo b/net/go-pkgsite/distinfo
index 2fc39fe9d221..addcafcc5f0e 100644
--- a/net/go-pkgsite/distinfo
+++ b/net/go-pkgsite/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1757583687
-SHA256 (go/net_go-pkgsite/go-pkgsite-v0.0.0.20250911091732/v0.0.0-20250911091732-133263251ca1.mod) = 1b88b6c23acd887da7959fd300005054c6b4bfa27a3a2dbe94a3f64b83dbc44a
-SIZE (go/net_go-pkgsite/go-pkgsite-v0.0.0.20250911091732/v0.0.0-20250911091732-133263251ca1.mod) = 4186
-SHA256 (go/net_go-pkgsite/go-pkgsite-v0.0.0.20250911091732/v0.0.0-20250911091732-133263251ca1.zip) = 03656cb8192c9f2737236b341eba49e97fdb110616ceced77a814c5829fc8762
-SIZE (go/net_go-pkgsite/go-pkgsite-v0.0.0.20250911091732/v0.0.0-20250911091732-133263251ca1.zip) = 22903231
+TIMESTAMP = 1765683232
+SHA256 (go/net_go-pkgsite/go-pkgsite-v0.0.0.20251209150622/v0.0.0-20251209150622-7dafa59905ae.mod) = 6418fee9513013075238acc1ae8a9fc87940b3127e36ccb73cd436a184d79a99
+SIZE (go/net_go-pkgsite/go-pkgsite-v0.0.0.20251209150622/v0.0.0-20251209150622-7dafa59905ae.mod) = 4186
+SHA256 (go/net_go-pkgsite/go-pkgsite-v0.0.0.20251209150622/v0.0.0-20251209150622-7dafa59905ae.zip) = dda83506d8a05c71ee6771f15eec38818c6747b3ad4db117ce856f9356337c5e
+SIZE (go/net_go-pkgsite/go-pkgsite-v0.0.0.20251209150622/v0.0.0-20251209150622-7dafa59905ae.zip) = 22904998
diff --git a/net/nbdkit/Makefile b/net/nbdkit/Makefile
index d6fe1b73312f..a69762e098e9 100644
--- a/net/nbdkit/Makefile
+++ b/net/nbdkit/Makefile
@@ -1,5 +1,5 @@
PORTNAME= nbdkit
-PORTVERSION= 1.44.4
+PORTVERSION= 1.46.0
CATEGORIES= net
# XXX Although nbdkit uses github for its homepage, the release tarballs served
# by github haven't been through autoconf. So we must download the sources
@@ -68,6 +68,8 @@ RUBY_CONFIGURE_ENABLE= ruby
SSH_LIB_DEPENDS= libssh.so:security/libssh
SSH_CONFIGURE_WITH= ssh
ZLIB_CONFIGURE_WITH= zlib
+# Fix "WARNING: zlib-ng not found, zlib operations will run slower"
+ZLIB_LIB_DEPENDS= libz-ng.so:archivers/zlib-ng
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
ZSTD_CONFIGURE_WITH= libzstd
diff --git a/net/nbdkit/distinfo b/net/nbdkit/distinfo
index bfeb3cec6b8c..b3e37afe7a71 100644
--- a/net/nbdkit/distinfo
+++ b/net/nbdkit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761865788
-SHA256 (nbdkit-1.44.4.tar.gz) = 281d83daf954e04c739a5f29d10e5440de69e9009654a2935aee7cbf3aebca91
-SIZE (nbdkit-1.44.4.tar.gz) = 2659658
+TIMESTAMP = 1766254321
+SHA256 (nbdkit-1.46.0.tar.gz) = 149aebf9a754786adc619a286e16803e7043fb742f6ee8709b8e26dd7949d0ce
+SIZE (nbdkit-1.46.0.tar.gz) = 2739966
diff --git a/net/nbdkit/pkg-plist b/net/nbdkit/pkg-plist
index 0a4abbe09224..3b7d0d063b04 100644
--- a/net/nbdkit/pkg-plist
+++ b/net/nbdkit/pkg-plist
@@ -3,9 +3,10 @@ include/nbdkit-common.h
include/nbdkit-filter.h
include/nbdkit-plugin.h
include/nbdkit-version.h
+lib/nbdkit/filters/nbdkit-count-filter.so
+lib/nbdkit/filters/nbdkit-map-filter.so
lib/nbdkit/filters/nbdkit-blocksize-filter.so
lib/nbdkit/filters/nbdkit-cache-filter.so
-lib/nbdkit/filters/nbdkit-cacheextents-filter.so
lib/nbdkit/filters/nbdkit-cow-filter.so
lib/nbdkit/filters/nbdkit-delay-filter.so
lib/nbdkit/filters/nbdkit-error-filter.so
@@ -38,7 +39,6 @@ lib/nbdkit/plugins/nbdkit-example3-plugin.so
lib/nbdkit/plugins/nbdkit-file-plugin.so
lib/nbdkit/plugins/nbdkit-floppy-plugin.so
lib/nbdkit/plugins/nbdkit-full-plugin.so
-%%ZLIB%%lib/nbdkit/plugins/nbdkit-gzip-plugin.so
lib/nbdkit/plugins/nbdkit-info-plugin.so
%%LIBVIRT%%lib/nbdkit/plugins/nbdkit-libvirt-plugin.so
lib/nbdkit/plugins/nbdkit-memory-plugin.so
@@ -80,12 +80,13 @@ lib/nbdkit/plugins/nbdkit-cdi-plugin.so
lib/nbdkit/plugins/nbdkit-ondemand-plugin.so
lib/nbdkit/plugins/nbdkit-ones-plugin.so
lib/nbdkit/plugins/nbdkit-sparse-random-plugin.so
+%%ZLIB%%lib/nbdkit/filters/nbdkit-gzip-filter.so
+%%ZLIB%%lib/nbdkit/filters/nbdkit-indexed-gzip-filter.so
libdata/pkgconfig/nbdkit.pc
sbin/nbdkit
share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man1/nbdkit-blocksize-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-cache-filter.1.gz
-%%MANPAGES%%share/man/man1/nbdkit-cacheextents-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-captive.1.gz
%%MANPAGES%%share/man/man1/nbdkit-cow-filter.1.gz
%%MANPAGES%%%%CURL%%share/man/man1/nbdkit-curl-plugin.1.gz
@@ -103,7 +104,8 @@ share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man1/nbdkit-floppy-plugin.1.gz
%%MANPAGES%%share/man/man1/nbdkit-fua-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-full-plugin.1.gz
-%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-gzip-plugin.1.gz
+%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-gzip-filter.1.gz
+%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-indexed-gzip-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-info-plugin.1.gz
%%MANPAGES%%share/man/man1/nbdkit-ip-filter.1.gz
%%MANPAGES%%%%LIBVIRT%%share/man/man1/nbdkit-libvirt-plugin.1.gz
@@ -232,3 +234,7 @@ share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man3/nbdkit_vdebug.3.gz
%%MANPAGES%%share/man/man3/nbdkit_verror.3.gz
%%MANPAGES%%share/man/man3/nbdkit_vprintf_intern.3.gz
+%%MANPAGES%%share/man/man1/nbdkit-count-filter.1.gz
+%%MANPAGES%%share/man/man1/nbdkit-map-filter.1.gz
+%%MANPAGES%%share/man/man1/nbdkit-release-notes-1.46.1.gz
+%%MANPAGES%%share/man/man3/nbdkit_debug_hexdump.3.gz
diff --git a/net/traefik/Makefile b/net/traefik/Makefile
index e78c585fe67d..4bd9e40ec8b3 100644
--- a/net/traefik/Makefile
+++ b/net/traefik/Makefile
@@ -1,6 +1,5 @@
PORTNAME= traefik
-PORTVERSION= 3.6.2
-PORTREVISION= 1
+PORTVERSION= 3.6.5
CATEGORIES= net
MASTER_SITES= LOCAL/riggs/${PORTNAME}
diff --git a/net/traefik/distinfo b/net/traefik/distinfo
index e5d75b16a364..7ae3015b9045 100644
--- a/net/traefik/distinfo
+++ b/net/traefik/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763853110
-SHA256 (traefik-3.6.2.tar.xz) = c046965f165b2a82c40a42d00f6fe7e263c1068f129de8b64b1ed2bb5a8548c3
-SIZE (traefik-3.6.2.tar.xz) = 26178072
+TIMESTAMP = 1766309063
+SHA256 (traefik-3.6.5.tar.xz) = 37bcfaa76950b9336c5099c0b530a6413a062b611ef74e3b9dd270d2698b9195
+SIZE (traefik-3.6.5.tar.xz) = 26457500
diff --git a/net/unfs3/Makefile b/net/unfs3/Makefile
index 6808acaf4feb..a71d39b9459d 100644
--- a/net/unfs3/Makefile
+++ b/net/unfs3/Makefile
@@ -1,10 +1,10 @@
PORTNAME= unfs3
DISTVERSIONPREFIX= unfs3-
DISTVERSION= 0.9.23
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net
-MAINTAINER= fuz@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= User-space implementation of the NFSv3 server specification
WWW= https://unfs3.github.io/
diff --git a/science/afni/Makefile b/science/afni/Makefile
index 769ec31d6078..34ba89750d14 100644
--- a/science/afni/Makefile
+++ b/science/afni/Makefile
@@ -1,6 +1,6 @@
PORTNAME= afni
DISTVERSIONPREFIX= AFNI_
-DISTVERSION= 25.3.03
+DISTVERSION= 25.3.04
CATEGORIES= science biology graphics perl5 python
MAINTAINER= fernape@FreeBSD.org
diff --git a/science/afni/distinfo b/science/afni/distinfo
index 180cfc9188c5..c7f2994532ab 100644
--- a/science/afni/distinfo
+++ b/science/afni/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765278441
-SHA256 (afni-afni-AFNI_25.3.03_GH0.tar.gz) = ee896e0168661fd7d708fa1dd454ab7334ae96bbba7c0ec93e63a5a21c69540d
-SIZE (afni-afni-AFNI_25.3.03_GH0.tar.gz) = 53428208
+TIMESTAMP = 1766142229
+SHA256 (afni-afni-AFNI_25.3.04_GH0.tar.gz) = 0079691f2044d0986c2a1bfd10cc3002dafd20b6f97a51983f470c376015eb7c
+SIZE (afni-afni-AFNI_25.3.04_GH0.tar.gz) = 53431518
diff --git a/security/krb5-121/Makefile b/security/krb5-121/Makefile
index e5b2c56906d2..3fd6a66b5c37 100644
--- a/security/krb5-121/Makefile
+++ b/security/krb5-121/Makefile
@@ -43,10 +43,10 @@ CPE_PRODUCT= kerberos
FLAVORS= default ldap
OPTIONS_DEFINE= EXAMPLES NLS DOCS DNS_FOR_REALM LDAP LMDB
-OPTIONS_DEFAULT= DOCS READLINE BUILTIN
+OPTIONS_DEFAULT= DOCS READLINE CRYPTO_BUILTIN
OPTIONS_RADIO= CMD_LINE_EDITING CRYPTO
OPTIONS_RADIO_CMD_LINE_EDITING= READLINE LIBEDIT LIBEDIT_BASE
-OPTIONS_RADIO_CRYPTO= BUILTIN OPENSSL
+OPTIONS_RADIO_CRYPTO= CRYPTO_BUILTIN CRYPTO_OPENSSL
CMD_LINE_EDITING_DESC= Command line editing for kadmin and ktutil
DNS_FOR_REALM_DESC= Enable DNS lookups for Kerberos realm names
DNS_FOR_REALM_CONFIGURE_ENABLE= dns-for-realm
@@ -65,10 +65,10 @@ LIBEDIT_USES= libedit
LIBEDIT_CONFIGURE_WITH= libedit
LIBEDIT_BASE_CONFIGURE_WITH= libedit
LIBEDIT_BASE_DESC= Use libedit in FreeBSD base
-BUILTIN_DESC= Use crypto built into KRB5
-BUILTIN_CONFIGURE_ON= --with-crypto-impl=builtin
-OPENSSL_DESC= Use OpenSSL crypto
-OPENSSL_CONFIGURE_ON= --with-crypto-impl=openssl
+CRYPTO_BUILTIN_DESC= Use crypto built into KRB5
+CRYPTO_BUILTIN_CONFIGURE_ON= --with-crypto-impl=builtin
+CRYPTO_OPENSSL_DESC= Use OpenSSL crypto
+CRYPTO_OPENSSL_CONFIGURE_ON= --with-crypto-impl=openssl
.if ${FLAVOR:U} == ldap
OPTIONS_DEFAULT+= LDAP LMDB
diff --git a/security/krb5-122/Makefile b/security/krb5-122/Makefile
index 2ae37b61fd34..af51d1ea6fdc 100644
--- a/security/krb5-122/Makefile
+++ b/security/krb5-122/Makefile
@@ -42,10 +42,10 @@ CPE_PRODUCT= kerberos
FLAVORS= default ldap
OPTIONS_DEFINE= EXAMPLES NLS DOCS DNS_FOR_REALM LDAP LMDB
-OPTIONS_DEFAULT= DOCS READLINE BUILTIN
+OPTIONS_DEFAULT= DOCS READLINE CRYPTO_BUILTIN
OPTIONS_RADIO= CMD_LINE_EDITING CRYPTO
OPTIONS_RADIO_CMD_LINE_EDITING= READLINE LIBEDIT LIBEDIT_BASE
-OPTIONS_RADIO_CRYPTO= BUILTIN OPENSSL
+OPTIONS_RADIO_CRYPTO= CRYPTO_BUILTIN CRYPTO_OPENSSL
CMD_LINE_EDITING_DESC= Command line editing for kadmin and ktutil
DNS_FOR_REALM_DESC= Enable DNS lookups for Kerberos realm names
DNS_FOR_REALM_CONFIGURE_ENABLE= dns-for-realm
@@ -64,10 +64,10 @@ LIBEDIT_USES= libedit
LIBEDIT_CONFIGURE_WITH= libedit
LIBEDIT_BASE_CONFIGURE_WITH= libedit
LIBEDIT_BASE_DESC= Use libedit in FreeBSD base
-BUILTIN_DESC= Use crypto built into KRB5
-BUILTIN_CONFIGURE_ON= --with-crypto-impl=builtin
-OPENSSL_DESC= Use OpenSSL crypto
-OPENSSL_CONFIGURE_ON= --with-crypto-impl=openssl
+CRYPTO_BUILTIN_DESC= Use crypto built into KRB5
+CRYPTO_BUILTIN_CONFIGURE_ON= --with-crypto-impl=builtin
+CRYPTO_OPENSSL_DESC= Use OpenSSL crypto
+CRYPTO_OPENSSL_CONFIGURE_ON= --with-crypto-impl=openssl
.if ${FLAVOR:U} == ldap
OPTIONS_DEFAULT+= LDAP LMDB
diff --git a/security/krb5-devel/Makefile b/security/krb5-devel/Makefile
index b7f77986aee8..0bb9349d6ca7 100644
--- a/security/krb5-devel/Makefile
+++ b/security/krb5-devel/Makefile
@@ -45,10 +45,10 @@ CPE_PRODUCT= kerberos
FLAVORS= default ldap
OPTIONS_DEFINE= EXAMPLES NLS DNS_FOR_REALM LDAP LMDB
-OPTIONS_DEFAULT= KRB5_PDF KRB5_HTML READLINE BUILTIN
+OPTIONS_DEFAULT= KRB5_PDF KRB5_HTML READLINE CRYPTO_BUILTIN
OPTIONS_RADIO= CMD_LINE_EDITING CRYPTO
OPTIONS_RADIO_CMD_LINE_EDITING= READLINE LIBEDIT LIBEDIT_BASE
-OPTIONS_RADIO_CRYPTO= BUILTIN OPENSSL
+OPTIONS_RADIO_CRYPTO= CRYPTO_BUILTIN CRYPTO_OPENSSL
CMD_LINE_EDITING_DESC= Command line editing for kadmin and ktutil
DNS_FOR_REALM_DESC= Enable DNS lookups for Kerberos realm names
DNS_FOR_REALM_CONFIGURE_ENABLE= dns-for-realm
@@ -67,10 +67,10 @@ LIBEDIT_USES= libedit
LIBEDIT_CONFIGURE_WITH= libedit
LIBEDIT_BASE_CONFIGURE_WITH= libedit
LIBEDIT_BASE_DESC= Use libedit in FreeBSD base
-BUILTIN_DESC= Use crypto built into KRB5
-BUILTIN_CONFIGURE_ON= --with-crypto-impl=builtin
-OPENSSL_DESC= Use OpenSSL crypto
-OPENSSL_CONFIGURE_ON= --with-crypto-impl=openssl
+CRYPTO_BUILTIN_DESC= Use crypto built into KRB5
+CRYPTO_BUILTIN_CONFIGURE_ON= --with-crypto-impl=builtin
+CRYPTO_OPENSSL_DESC= Use OpenSSL crypto
+CRYPTO_OPENSSL_CONFIGURE_ON= --with-crypto-impl=openssl
.if ${FLAVOR:U} == ldap
OPTIONS_DEFAULT+= LDAP LMDB
diff --git a/security/vuxml/vuln/2025.xml b/security/vuxml/vuln/2025.xml
index 8daf847a93d7..3fa157e87559 100644
--- a/security/vuxml/vuln/2025.xml
+++ b/security/vuxml/vuln/2025.xml
@@ -1,3 +1,168 @@
+ <vuln vid="dc7e30db-de67-11f0-b893-5404a68ad561">
+ <topic>traefik -- Inverted TLS Verification Logic in Kubernetes NGINX Provider</topic>
+ <affects>
+<package>
+<name>traefik</name>
+<range><lt>3.6.3</lt></range>
+</package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>The traefik project reports:</p>
+ <blockquote cite="https://github.com/traefik/traefik/security/advisories/GHSA-7vww-mvcr-x6vj">
+ <p>
+ There is a potential vulnerability in Traefik NGINX
+ provider managing the
+ nginx.ingress.kubernetes.io/proxy-ssl-verify annotation.
+ The provider inverts the semantics of the
+ nginx.ingress.kubernetes.io/proxy-ssl-verify annotation.
+ Setting the annotation to "on" (intending to enable
+ backend TLS certificate verification) actually disables
+ verification, allowing man-in-the-middle attacks against
+ HTTPS backends when operators believe they are
+ protected.
+ </p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-66491</cvename>
+ <url>https://nvd.nist.gov/vuln/detail/CVE-2025-66491</url>
+ </references>
+ <dates>
+ <discovery>2025-12-08</discovery>
+ <entry>2025-12-21</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="91b9790e-de65-11f0-b893-5404a68ad561">
+ <topic>traefik -- Bypassing security controls via special characters</topic>
+ <affects>
+<package>
+<name>traefik</name>
+<range><lt>3.6.3</lt></range>
+</package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>The traefik project reports:</p>
+ <blockquote cite="https://github.com/traefik/traefik/security/advisories/GHSA-gm3x-23wp-hc2c">
+ <p>There is a potential vulnerability in Traefik managing
+ the requests using a PathPrefix, Path or PathRegex
+ matcher.
+ When Traefik is configured to route the requests to a
+ backend using a matcher based on the path; if the
+ request path contains an encoded restricted character
+ from the following set ('/', '', 'Null', ';', '?', '#'),
+ it is possible to target a backend, exposed using
+ another router, by-passing the middlewares chain.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-66490</cvename>
+ <url>https://nvd.nist.gov/vuln/detail/CVE-2025-66490</url>
+ </references>
+ <dates>
+ <discovery>2025-12-08</discovery>
+ <entry>2025-12-21</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="c32cb4b7-ddcb-11f0-902c-b42e991fc52e">
+ <topic>smb4k -- Critical vulnerabilities in Mount Helper</topic>
+ <affects>
+<package>
+<name>smb4k</name>
+<range><lt>4.0.4</lt></range>
+</package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>vulndb reports:</p>
+ <blockquote cite="https://vuldb.com/?id.336198">
+ <p>A vulnerability, which was classified as critical, was
+ found in smb4k up to 4.0.4. Affected is some unknown
+ functionality of the component Mount Helper. The
+ manipulation with an unknown input leads to a access control
+ vulnerability. CWE is classifying the issue as CWE-284. The
+ product does not restrict or incorrectly restricts access to
+ a resource from an unauthorized actor. This is going to have
+ an impact on integrity, and availability. The advisory is
+ available at seclists.org. The exploitability is told to be
+ easy. Local access is required to approach this attack. The
+ technical details are unknown and an exploit is not
+ available.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-66002</cvename>
+ <url>https://vuldb.com/?id.336198</url>
+ <cvename>CVE-2025-66003</cvename>
+ <url>https://vuldb.com/?id.336199</url>
+ </references>
+ <dates>
+ <discovery>2025-12-20</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="2a33d28e-ddc0-11f0-902c-b42e991fc52e">
+ <topic>Firefox -- Use-after-free</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><lt>146.0.1,2</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>https://bugzilla.mozilla.org/show_bug.cgi?id=2000597 reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/show_bug.cgi?id=2000597">
+ <p>Use-after-free in the Disability Access APIs component.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-14860</cvename>
+ <url>https://cveawg.mitre.org/api/cve/CVE-2025-14860</url>
+ </references>
+ <dates>
+ <discovery>2025-12-18</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="23437e07-ddc0-11f0-902c-b42e991fc52e">
+ <topic>Firefox -- Memory safety bugs</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><lt>146.0.1,2</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>https://bugzilla.mozilla.org/buglist.cgi?bug_id=1996570%2C1999700 reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/buglist.cgi?bug_id=1996570%2C1999700">
+ <p>Memory safety bugs present in Firefox 146. Some of these
+ bugs showed evidence of memory corruption and we presume
+ that with enough effort some of these could have been
+ exploited to run arbitrary code.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-14861</cvename>
+ <url>https://cveawg.mitre.org/api/cve/CVE-2025-14861</url>
+ </references>
+ <dates>
+ <discovery>2025-12-18</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
<vuln vid="f99e70c2-dcb8-11f0-a15a-a8a1599412c6">
<topic>chromium -- multiple security fixes</topic>
<affects>
diff --git a/security/wazuh-manager/distinfo b/security/wazuh-manager/distinfo
index b6ada3611ec3..2dcbd4f32364 100644
--- a/security/wazuh-manager/distinfo
+++ b/security/wazuh-manager/distinfo
@@ -67,12 +67,12 @@ SHA256 (wazuh-4.14.1/wazuh-cache-fbsd14-amd64-4.14.1.tar.gz) = f2b26a36b116348e3
SIZE (wazuh-4.14.1/wazuh-cache-fbsd14-amd64-4.14.1.tar.gz) = 25055515
SHA256 (wazuh-4.14.1/wazuh-cache-fbsd15-aarch64-4.14.1.tar.gz) = c63484af8fd157f61b6bf0297b4233c3e2a3eee481f35c7d15fcb5b90d711489
SIZE (wazuh-4.14.1/wazuh-cache-fbsd15-aarch64-4.14.1.tar.gz) = 24690859
-SHA256 (wazuh-4.14.1/wazuh-cache-fbsd15-amd64-4.14.1.tar.gz) = bf77697d47df3eeb6ccc0d1e43841f5dd3570a7e11e8dd669d5098890b985657
-SIZE (wazuh-4.14.1/wazuh-cache-fbsd15-amd64-4.14.1.tar.gz) = 26650464
+SHA256 (wazuh-4.14.1/wazuh-cache-fbsd15-amd64-4.14.1.tar.gz) = 3818a9e752e29e661d4b577b3fb0a5a8bf691da6bde264453f2323d37b46408e
+SIZE (wazuh-4.14.1/wazuh-cache-fbsd15-amd64-4.14.1.tar.gz) = 26650237
SHA256 (wazuh-4.14.1/wazuh-cache-fbsd16-aarch64-4.14.1.tar.gz) = 1510ef710bcae78e22db88f443504d006e9e4b45d27c66bb84984211409f7e65
SIZE (wazuh-4.14.1/wazuh-cache-fbsd16-aarch64-4.14.1.tar.gz) = 24863114
-SHA256 (wazuh-4.14.1/wazuh-cache-fbsd16-amd64-4.14.1.tar.gz) = f706a10b1e31dc959e1751a015b3ec2e74ddbda0362ab192ba3918852731635c
-SIZE (wazuh-4.14.1/wazuh-cache-fbsd16-amd64-4.14.1.tar.gz) = 26653845
+SHA256 (wazuh-4.14.1/wazuh-cache-fbsd16-amd64-4.14.1.tar.gz) = 03e92ad3b8cc1d06f9e31d07aa13d1ba3dca85b302d869ec5ec3a2b517d3dbf0
+SIZE (wazuh-4.14.1/wazuh-cache-fbsd16-amd64-4.14.1.tar.gz) = 26653557
SHA256 (wazuh-4.14.1/wazuh-wazuh-v4.14.1_GH0.tar.gz) = aa59cb2baa7e7d38d8bb4ff6a22afbf2945de4fb555f9b8bb2657b6f89a773ed
SIZE (wazuh-4.14.1/wazuh-wazuh-v4.14.1_GH0.tar.gz) = 19810038
SHA256 (wazuh-4.14.1/alonsobsd-wazuh-freebsd-2f1307c_GH0.tar.gz) = a955c569217122779ab5b6b58bdfabbfa1cd452b4719cc35c791f7047b1f364f
diff --git a/security/xray-core/Makefile b/security/xray-core/Makefile
index 8874c68da3a4..744509ed5a3c 100644
--- a/security/xray-core/Makefile
+++ b/security/xray-core/Makefile
@@ -1,6 +1,7 @@
PORTNAME= xray-core
DISTVERSIONPREFIX= v
DISTVERSION= 25.12.8
+PORTREVISION= 1
CATEGORIES= security
MASTER_SITES= https://github.com/v2fly/geoip/releases/download/202512050148/:geoip \
https://github.com/v2fly/domain-list-community/releases/download/20251212112114/:geosite
diff --git a/security/xray-core/files/xray.in b/security/xray-core/files/xray.in
index 87516c9759d0..18c9beeb4f5c 100644
--- a/security/xray-core/files/xray.in
+++ b/security/xray-core/files/xray.in
@@ -20,6 +20,8 @@
name="xray"
rcvar="xray_enable"
+load_rc_config "$name"
+
: ${xray_enable="NO"}
: ${xray_config="%%PREFIX%%/etc/${name}-core"}
: ${xray_logdir="/var/log/${name}-core"}
@@ -43,5 +45,4 @@ xray_startprecmd() {
chown -R ${xray_user}:${xray_group} "${xray_logdir}"
}
-load_rc_config "$name"
run_rc_command "$1"
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 2ce5f3d8dc01..7b71b1c7ea29 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1101,6 +1101,7 @@
SUBDIR += py-queuelib
SUBDIR += py-ranger
SUBDIR += py-rdiff-backup
+ SUBDIR += py-rendercv
SUBDIR += py-resolve-march-native
SUBDIR += py-salt
SUBDIR += py-salt-tower
diff --git a/sysutils/py-rendercv/Makefile b/sysutils/py-rendercv/Makefile
new file mode 100644
index 000000000000..4eb46c2ca27c
--- /dev/null
+++ b/sysutils/py-rendercv/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= rendercv
+DISTVERSION= 2.5
+CATEGORIES= sysutils python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Typst-based CV/resume generator
+WWW= https://github.com/rendercv/rendercv \
+ https://pypi.org/project/rendercv
+
+LICENSE= MIT
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uv-build>=0:devel/py-uv-build@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}phonenumbers>=0:devel/py-phonenumbers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic-extra-types>=0:devel/py-pydantic-extra-types@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}email-validator>=0:mail/py-email-validator@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0:devel/py-ruamel.yaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= CLI MARKDOWN WATCHDOG TYPST FONT
+OPTIONS_DEFAULT= CLI MARKDOWN WATCHDOG TYPST FONT
+
+CLI_DESC= Enable Command-line interface support
+MARKDOWN_DESC= Convert Markdown to HTML
+WATCHDOG_DESC= Monitor files for updates
+TYPST_DESC= Render PDF from Typst source files
+FONT_DESC= Font files for RenderCV
+
+CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typer>=0:devel/py-typer@${PY_FLAVOR}
+MARKDOWN_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markdown>=0:textproc/py-markdown@${PY_FLAVOR}
+WATCHDOG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}watchdog>=0:devel/py-watchdog@${PY_FLAVOR}
+TYPST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typst>=0:textproc/py-typst@${PY_FLAVOR}
+FONT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}rendercv-fonts>=0:x11-fonts/py-rendercv-fonts@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/sysutils/py-rendercv/distinfo b/sysutils/py-rendercv/distinfo
new file mode 100644
index 000000000000..c6f5b4128d33
--- /dev/null
+++ b/sysutils/py-rendercv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1766178034
+SHA256 (rendercv-2.5.tar.gz) = 7e5b51c7ed4340fa2e78084a3d74aa4784aa3e42e53d585c3c8433082982434b
+SIZE (rendercv-2.5.tar.gz) = 77147
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py b/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py
new file mode 100644
index 000000000000..7c8350de5c53
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py
@@ -0,0 +1,20 @@
+--- src/rendercv/cli/error_handler.py.orig 2025-12-20 00:46:25 UTC
++++ src/rendercv/cli/error_handler.py
+@@ -8,7 +8,7 @@ from rendercv.exception import RenderCVUserError
+ from rendercv.exception import RenderCVUserError
+
+
+-def handle_user_errors[T, **P](function: Callable[P, None]) -> Callable[P, None]:
++def handle_user_errors(function):
+ """Decorator that catches user errors and displays friendly messages without stack traces.
+
+ Why:
+@@ -33,7 +33,7 @@ def handle_user_errors[T, **P](function: Callable[P, N
+ """
+
+ @functools.wraps(function)
+- def wrapper(*args: P.args, **kwargs: P.kwargs) -> None:
++ def wrapper(*args, **kwargs) -> None:
+ try:
+ return function(*args, **kwargs)
+ except RenderCVUserError as e:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py b/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py
new file mode 100644
index 000000000000..3ede1d8e2ce3
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py
@@ -0,0 +1,21 @@
+--- src/rendercv/cli/render_command/run_rendercv.py.orig 2025-12-20 00:43:25 UTC
++++ src/rendercv/cli/render_command/run_rendercv.py
+@@ -19,13 +19,13 @@ from .progress_panel import ProgressPanel
+ from .progress_panel import ProgressPanel
+
+
+-def timed_step[T, **P](
++def timed_step(
+ message: str,
+ progress_panel: ProgressPanel,
+- func: Callable[P, T],
+- *args: P.args,
+- **kwargs: P.kwargs,
+-) -> T:
++ func,
++ *args,
++ **kwargs,
++):
+ """Execute function, measure timing, and update progress panel with result.
+
+ Why:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py b/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py
new file mode 100644
index 000000000000..d3fbd6e1175e
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py
@@ -0,0 +1,20 @@
+--- src/rendercv/renderer/templater/entry_templates_from_input.py.orig 2025-12-20 00:49:48 UTC
++++ src/rendercv/renderer/templater/entry_templates_from_input.py
+@@ -14,14 +14,14 @@ uppercase_word_pattern = re.compile(r"\b[A-Z_]+\b")
+ uppercase_word_pattern = re.compile(r"\b[A-Z_]+\b")
+
+
+-def render_entry_templates[EntryType: Entry](
+- entry: EntryType,
++def render_entry_templates(
++ entry,
+ *,
+ templates: Templates,
+ locale: Locale,
+ show_time_span: bool,
+ current_date: Date,
+-) -> EntryType:
++):
+ """Expand entry templates by substituting field placeholders with processed values.
+
+ Why:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py
new file mode 100644
index 000000000000..c3e40f6ba6fd
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py
@@ -0,0 +1,11 @@
+--- src/rendercv/schema/models/cv/entries/bases/entry_with_complex_fields.py.orig 2025-12-19 21:42:57 UTC
++++ src/rendercv/schema/models/cv/entries/bases/entry_with_complex_fields.py
+@@ -37,7 +37,7 @@ def validate_exact_date(date: str | int) -> str | int:
+ return date
+
+
+-type ExactDate = Annotated[str | int, pydantic.AfterValidator(validate_exact_date)]
++ExactDate = Annotated[str | int, pydantic.AfterValidator(validate_exact_date)]
+
+
+ def get_date_object(date: str | int, current_date: Date | None = None) -> Date:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py
new file mode 100644
index 000000000000..8c792c689936
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py
@@ -0,0 +1,11 @@
+--- src/rendercv/schema/models/cv/entries/bases/entry_with_date.py.orig 2025-12-19 21:34:29 UTC
++++ src/rendercv/schema/models/cv/entries/bases/entry_with_date.py
+@@ -31,7 +31,7 @@ def validate_arbitrary_date(date: int | str) -> int |
+ return date
+
+
+-type ArbitraryDate = Annotated[
++ArbitraryDate = Annotated[
+ int | str, pydantic.AfterValidator(validate_arbitrary_date)
+ ]
+
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py
new file mode 100644
index 000000000000..d2f7a9c12c81
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py
@@ -0,0 +1,46 @@
+--- src/rendercv/schema/models/cv/section.py.orig 2025-12-19 21:43:39 UTC
++++ src/rendercv/schema/models/cv/section.py
+@@ -21,7 +21,7 @@ from .entries.reversed_numbered import ReversedNumbere
+ # Below needs to be updated when new entry types are added.
+
+ # str is an entry type (TextEntry) but not a model, so it's not included in EntryModel.
+-type EntryModel = (
++EntryModel = (
+ OneLineEntry
+ | NormalEntry
+ | ExperienceEntry
+@@ -31,13 +31,22 @@ type EntryModel = (
+ | NumberedEntry
+ | ReversedNumberedEntry
+ )
+-type Entry = EntryModel | str
++Entry = EntryModel | str
+ ########################################################################################
+-available_entry_models: tuple[type[EntryModel], ...] = get_args(EntryModel.__value__)
++available_entry_models: tuple[type[EntryModel], ...] = (
++ OneLineEntry,
++ NormalEntry,
++ ExperienceEntry,
++ EducationEntry,
++ PublicationEntry,
++ BulletEntry,
++ NumberedEntry,
++ ReversedNumberedEntry
++)
+ available_entry_type_names: tuple[str, ...] = tuple(
+ [entry_type.__name__ for entry_type in available_entry_models] + ["TextEntry"]
+ )
+-type ListOfEntries = list[str] | reduce( # pyright: ignore[reportInvalidTypeForm]
++ListOfEntries = list[str] | reduce( # pyright: ignore[reportInvalidTypeForm]
+ or_, [list[entry_type] for entry_type in available_entry_models]
+ )
+
+@@ -244,7 +253,7 @@ def validate_section(sections_input: Any) -> Any:
+ # Create a custom type named Section, which is a list of entries. The entries can be any
+ # of the available entry types. The section is validated with the `validate_section`
+ # function.
+-type Section = Annotated[
++Section = Annotated[
+ pydantic.json_schema.SkipJsonSchema[Any] | ListOfEntries,
+ pydantic.BeforeValidator(lambda entries: validate_section(entries)),
+ ]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py
new file mode 100644
index 000000000000..50d71355c92c
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py
@@ -0,0 +1,20 @@
+--- src/rendercv/schema/models/cv/social_network.py.orig 2025-12-19 21:44:26 UTC
++++ src/rendercv/schema/models/cv/social_network.py
+@@ -10,7 +10,7 @@ url_validator = pydantic.TypeAdapter(pydantic.HttpUrl)
+ from ..base import BaseModelWithoutExtraKeys
+
+ url_validator = pydantic.TypeAdapter(pydantic.HttpUrl)
+-type SocialNetworkName = Literal[
++SocialNetworkName = Literal[
+ "LinkedIn",
+ "GitHub",
+ "GitLab",
+@@ -27,7 +27,7 @@ type SocialNetworkName = Literal[
+ "Leetcode",
+ "X",
+ ]
+-available_social_networks = get_args(SocialNetworkName.__value__)
++#available_social_networks = get_args(SocialNetworkName.__value__)
+ url_dictionary: dict[SocialNetworkName, str] = {
+ "LinkedIn": "https://linkedin.com/in/",
+ "GitHub": "https://github.com/",
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py
new file mode 100644
index 000000000000..2519ce6c6ec4
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py
@@ -0,0 +1,22 @@
+--- src/rendercv/schema/models/design/built_in_design.py.orig 2025-12-19 21:32:57 UTC
++++ src/rendercv/schema/models/design/built_in_design.py
+@@ -37,14 +37,13 @@ def discover_other_themes() -> list[type[ClassicTheme]
+
+ return discovered
+
++discovered_other_themes = discover_other_themes()
+
+ # Build discriminated union dynamically
+-type BuiltInDesign = Annotated[
+- ClassicTheme | reduce(or_, discover_other_themes()), # pyright: ignore[reportInvalidTypeForm]
++BuiltInDesign = Annotated[
++ ClassicTheme | reduce(or_, discovered_other_themes), # pyright: ignore[reportInvalidTypeForm]
+ pydantic.Field(discriminator="theme"),
+ ]
+-available_themes: list[str] = [
+- ThemeClass.model_fields["theme"].default
+- for ThemeClass in get_args(get_args(BuiltInDesign.__value__)[0])
+-]
++discovered_other_themes.append(ClassicTheme)
++available_themes: list[str] = [ThemeClass.model_fields["theme"].default for ThemeClass in discovered_other_themes]
+ built_in_design_adapter = pydantic.TypeAdapter(BuiltInDesign)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py
new file mode 100644
index 000000000000..30f05b163fbc
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py
@@ -0,0 +1,23 @@
+--- src/rendercv/schema/models/design/classic_theme.py.orig 2025-12-19 21:33:55 UTC
++++ src/rendercv/schema/models/design/classic_theme.py
+@@ -7,14 +7,14 @@ from rendercv.schema.models.design.typst_dimension imp
+ from rendercv.schema.models.design.font_family import FontFamily as FontFamilyType
+ from rendercv.schema.models.design.typst_dimension import TypstDimension
+
+-type Bullet = Literal["●", "•", "◦", "-", "◆", "★", "■", "—", "○"]
+-type BodyAlignment = Literal["left", "justified", "justified-with-no-hyphenation"]
+-type Alignment = Literal["left", "center", "right"]
+-type SectionTitleType = Literal[
++Bullet = Literal["●", "•", "◦", "-", "◆", "★", "■", "—", "○"]
++BodyAlignment = Literal["left", "justified", "justified-with-no-hyphenation"]
++Alignment = Literal["left", "center", "right"]
++SectionTitleType = Literal[
+ "with_partial_line", "with_full_line", "without_line", "moderncv"
+ ]
+-type PhoneNumberFormatType = Literal["national", "international", "E164"]
+-type PageSize = Literal["a4", "a5", "us-letter", "us-executive"]
++PhoneNumberFormatType = Literal["national", "international", "E164"]
++PageSize = Literal["a4", "a5", "us-letter", "us-executive"]
+
+ length_common_description = (
+ "It can be specified with units (cm, in, pt, mm, ex, em). For example, `0.1cm`."
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py
new file mode 100644
index 000000000000..0563084ad505
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py
@@ -0,0 +1,8 @@
+--- src/rendercv/schema/models/design/font_family.py.orig 2025-12-19 21:33:15 UTC
++++ src/rendercv/schema/models/design/font_family.py
+@@ -50,4 +50,4 @@ available_font_families = sorted(
+ )
+
+
+-type FontFamily = SkipJsonSchema[str] | Literal[*tuple(available_font_families)] # pyright: ignore[reportInvalidTypeForm]
++FontFamily = SkipJsonSchema[str] | Literal[*tuple(available_font_families)] # pyright: ignore[reportInvalidTypeForm]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py
new file mode 100644
index 000000000000..f9c2dfb78d2c
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py
@@ -0,0 +1,8 @@
+--- src/rendercv/schema/models/design/typst_dimension.py.orig 2025-12-19 21:33:37 UTC
++++ src/rendercv/schema/models/design/typst_dimension.py
+@@ -29,4 +29,4 @@ def validate_typst_dimension(dimension: str) -> str:
+ return dimension
+
+
+-type TypstDimension = Annotated[str, pydantic.AfterValidator(validate_typst_dimension)]
++TypstDimension = Annotated[str, pydantic.AfterValidator(validate_typst_dimension)]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py
new file mode 100644
index 000000000000..78889b6444b0
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py
@@ -0,0 +1,22 @@
+--- src/rendercv/schema/models/locale/locale.py.orig 2025-12-19 21:44:44 UTC
++++ src/rendercv/schema/models/locale/locale.py
+@@ -37,14 +37,13 @@ def discover_other_locales() -> list[type[EnglishLocal
+
+ return discovered
+
++discovered_other_locales = discover_other_locales()
+
+ # Build discriminated union dynamically
+-type Locale = Annotated[
+- EnglishLocale | reduce(or_, discover_other_locales()), # pyright: ignore[reportInvalidTypeForm]
++Locale = Annotated[
++ EnglishLocale | reduce(or_, discovered_other_locales), # pyright: ignore[reportInvalidTypeForm]
+ pydantic.Field(discriminator="language"),
+ ]
+-available_locales = [
+- LocaleModel.model_fields["language"].default
+- for LocaleModel in get_args(get_args(Locale.__value__)[0])
+-]
++discovered_other_locales.append(EnglishLocale)
++available_locales = [LocaleModel.model_fields["language"].default for LocaleModel in discovered_other_locales]
+ locale_adapter = pydantic.TypeAdapter(Locale)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py
new file mode 100644
index 000000000000..74b7cab315b6
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py
@@ -0,0 +1,19 @@
+--- src/rendercv/schema/models/path.py.orig 2025-12-19 21:40:25 UTC
++++ src/rendercv/schema/models/path.py
+@@ -60,14 +60,14 @@ def serialize_path(path: pathlib.Path) -> str:
+ return str(path.relative_to(pathlib.Path.cwd()))
+
+
+-type ExistingPathRelativeToInput = Annotated[
++ExistingPathRelativeToInput = Annotated[
+ pathlib.Path,
+ pydantic.AfterValidator(
+ lambda path, info: resolve_relative_path(path, info, must_exist=True)
+ ),
+ ]
+
+-type PlannedPathRelativeToInput = Annotated[
++PlannedPathRelativeToInput = Annotated[
+ pathlib.Path,
+ pydantic.AfterValidator(
+ lambda path, info: resolve_relative_path(path, info, must_exist=False)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py
new file mode 100644
index 000000000000..8760ecb47deb
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py
@@ -0,0 +1,38 @@
+--- src/rendercv/schema/variant_pydantic_model_generator.py.orig 2025-12-19 21:48:58 UTC
++++ src/rendercv/schema/variant_pydantic_model_generator.py
+@@ -6,17 +6,17 @@ from rendercv.exception import RenderCVInternalError
+
+ from rendercv.exception import RenderCVInternalError
+
+-type FieldSpec = tuple[type[Any], FieldInfo]
++FieldSpec = tuple[type[Any], FieldInfo]
+
+
+-def create_variant_pydantic_model[T: pydantic.BaseModel](
++def create_variant_pydantic_model(
+ variant_name: str,
+ defaults: dict[str, Any],
+- base_class: type[T],
++ base_class,
+ discriminator_field: str,
+ class_name_suffix: str,
+ module_name: str,
+-) -> type[T]:
++):
+ """Create Pydantic model variant with customized defaults.
+
+ Why:
+@@ -190,10 +190,10 @@ def create_discriminator_field_spec(
+ return (cast(type[Any], field_annotation), new_field)
+
+
+-def deep_merge_nested_object[T: pydantic.BaseModel](
+- base_nested_obj: T,
++def deep_merge_nested_object(
++ base_nested_obj,
+ updates: dict[str, Any],
+-) -> T:
++):
+ """Recursively merge nested dictionary updates into Pydantic model instance.
+
+ Why:
diff --git a/sysutils/py-rendercv/pkg-descr b/sysutils/py-rendercv/pkg-descr
new file mode 100644
index 000000000000..58a97762cbe9
--- /dev/null
+++ b/sysutils/py-rendercv/pkg-descr
@@ -0,0 +1,5 @@
+RenderCV is a python tool for creating a CV from YAML.
+
+Write your CV or resume as YAML, then run RenderCV, and get a PDF
+with perfect typography. No template wrestling. No broken layouts.
+Consistent spacing, every time.
diff --git a/sysutils/stackit/Makefile b/sysutils/stackit/Makefile
index 4b2f65437cbf..5592fe5c0a4b 100644
--- a/sysutils/stackit/Makefile
+++ b/sysutils/stackit/Makefile
@@ -1,6 +1,6 @@
PORTNAME= stackit
DISTVERSIONPREFIX= v
-DISTVERSION= 0.49.0
+DISTVERSION= 0.50.0
CATEGORIES= sysutils
MAINTAINER= gogolok@gmail.com
diff --git a/sysutils/stackit/distinfo b/sysutils/stackit/distinfo
index f8d4cedfaa61..9867f310b019 100644
--- a/sysutils/stackit/distinfo
+++ b/sysutils/stackit/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1763545637
-SHA256 (go/sysutils_stackit/stackit-v0.49.0/v0.49.0.mod) = 797faa7ab87026392e261ed99577d6b02d9378ccddae6ad489fca5c0a8293781
-SIZE (go/sysutils_stackit/stackit-v0.49.0/v0.49.0.mod) = 13164
-SHA256 (go/sysutils_stackit/stackit-v0.49.0/v0.49.0.zip) = 56aad46ff0818177228b4535073854422a2582cbf51aac000fdf5120800f9f9a
-SIZE (go/sysutils_stackit/stackit-v0.49.0/v0.49.0.zip) = 2242129
+TIMESTAMP = 1766261352
+SHA256 (go/sysutils_stackit/stackit-v0.50.0/v0.50.0.mod) = 56b10a440ca1768e1039a02bb536a61c37ab6d3e0bb9396f76c5f83d0c610f94
+SIZE (go/sysutils_stackit/stackit-v0.50.0/v0.50.0.mod) = 14248
+SHA256 (go/sysutils_stackit/stackit-v0.50.0/v0.50.0.zip) = 34c8150ee8211b6e3584856ee3eed7d90a7742bafea457daac02f1ecddca47b0
+SIZE (go/sysutils_stackit/stackit-v0.50.0/v0.50.0.zip) = 2342831
diff --git a/textproc/Makefile b/textproc/Makefile
index 3c3c7be8edd0..a960bb4c4eb9 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1721,6 +1721,7 @@
SUBDIR += py-ttp
SUBDIR += py-ttp-templates
SUBDIR += py-typogrify
+ SUBDIR += py-typst
SUBDIR += py-uc-micro-py
SUBDIR += py-ucl
SUBDIR += py-ufal.udpipe
diff --git a/textproc/R-cran-litedown/Makefile b/textproc/R-cran-litedown/Makefile
index 0e8252c78fa8..f97f50d7409b 100644
--- a/textproc/R-cran-litedown/Makefile
+++ b/textproc/R-cran-litedown/Makefile
@@ -1,5 +1,5 @@
PORTNAME= litedown
-DISTVERSION= 0.8
+DISTVERSION= 0.9
CATEGORIES= textproc
DISTNAME= ${PORTNAME}_${PORTVERSION}
@@ -11,7 +11,7 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= R-cran-commonmark>=2.0.0:textproc/R-cran-commonmark \
- R-cran-xfun>=0.54:misc/R-cran-xfun
+ R-cran-xfun>=0.55:misc/R-cran-xfun
TEST_DEPENDS= R-cran-rbibutils>0:textproc/R-cran-rbibutils \
R-cran-rstudioapi>0:devel/R-cran-rstudioapi \
R-cran-tinytex>0:print/R-cran-tinytex
diff --git a/textproc/R-cran-litedown/distinfo b/textproc/R-cran-litedown/distinfo
index a96e433c3001..091abd5aa147 100644
--- a/textproc/R-cran-litedown/distinfo
+++ b/textproc/R-cran-litedown/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1762181533
-SHA256 (litedown_0.8.tar.gz) = 13d004556dee69130c151f8232b0f78ff6006f0bf77389314a04542ea35ab138
-SIZE (litedown_0.8.tar.gz) = 101850
+TIMESTAMP = 1766246162
+SHA256 (litedown_0.9.tar.gz) = 35e1c58fd063c300d37ee0b1874827dbcbbc43b625a2d0011e4f4d5556e3f53f
+SIZE (litedown_0.9.tar.gz) = 103182
diff --git a/textproc/py-typst/Makefile b/textproc/py-typst/Makefile
new file mode 100644
index 000000000000..64cdf90dd288
--- /dev/null
+++ b/textproc/py-typst/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= typst
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.14.4
+CATEGORIES= textproc python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Python binding to typst
+WWW= https://github.com/messense/typst-py \
+ https://pypi.org/project/typst
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=0:devel/py-maturin@${PY_FLAVOR}
+
+USES= cargo python ssl
+USE_GITHUB= yes
+GH_ACCOUNT= messense
+GH_PROJECT= typst-py
+USE_PYTHON= autoplist pep517
+
+CARGO_BUILD= no
+CARGO_INSTALL= no
+CARGO_TEST= no
+
+.include <bsd.port.mk>
diff --git a/textproc/py-typst/Makefile.crates b/textproc/py-typst/Makefile.crates
new file mode 100644
index 000000000000..275a575c4cf2
--- /dev/null
+++ b/textproc/py-typst/Makefile.crates
@@ -0,0 +1,381 @@
+CARGO_CRATES= adler2-2.0.1 \
+ aho-corasick-1.1.4 \
+ android_system_properties-0.1.5 \
+ approx-0.5.1 \
+ ar_archive_writer-0.2.0 \
+ arrayref-0.3.9 \
+ arrayvec-0.7.6 \
+ autocfg-1.5.0 \
+ az-1.2.1 \
+ base64-0.22.1 \
+ biblatex-0.11.0 \
+ bincode-1.3.3 \
+ bit-set-0.8.0 \
+ bit-vec-0.8.0 \
+ bitflags-1.3.2 \
+ bitflags-2.10.0 \
+ bumpalo-3.19.0 \
+ by_address-1.2.1 \
+ bytemuck-1.24.0 \
+ bytemuck_derive-1.10.2 \
+ byteorder-lite-0.1.0 \
+ cc-1.2.48 \
+ cfg-if-1.0.4 \
+ chinese-number-0.7.7 \
+ chinese-variant-1.1.3 \
+ chrono-0.4.42 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ citationberg-0.6.1 \
+ cobs-0.3.0 \
+ codespan-reporting-0.13.1 \
+ codex-0.2.0 \
+ color_quant-1.1.0 \
+ comemo-0.5.0 \
+ comemo-macros-0.5.0 \
+ core-foundation-0.9.4 \
+ core-foundation-sys-0.8.7 \
+ core_maths-0.1.1 \
+ crc32fast-1.5.0 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.4 \
+ csv-1.4.0 \
+ csv-core-0.1.13 \
+ data-url-0.3.2 \
+ deranged-0.5.5 \
+ dirs-6.0.0 \
+ dirs-sys-0.5.0 \
+ displaydoc-0.2.5 \
+ ecow-0.2.6 \
+ either-1.15.0 \
+ embedded-io-0.4.0 \
+ embedded-io-0.6.1 \
+ enum-ordinalize-4.3.2 \
+ enum-ordinalize-derive-4.3.2 \
+ env_proxy-0.4.1 \
+ equivalent-1.0.2 \
+ errno-0.3.14 \
+ euclid-0.22.11 \
+ fancy-regex-0.16.2 \
+ fast-srgb8-1.0.0 \
+ fastrand-2.3.0 \
+ fdeflate-0.3.7 \
+ filetime-0.2.26 \
+ find-msvc-tools-0.1.5 \
+ flate2-1.1.5 \
+ float-cmp-0.9.0 \
+ float-cmp-0.10.0 \
+ fnv-1.0.7 \
+ font-types-0.10.1 \
+ fontconfig-parser-0.5.8 \
+ fontdb-0.23.0 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.2 \
+ getrandom-0.2.16 \
+ getrandom-0.3.4 \
+ gif-0.13.3 \
+ gif-0.14.1 \
+ glidesort-0.1.2 \
+ half-2.7.1 \
+ hashbrown-0.16.1 \
+ hayagriva-0.9.1 \
+ hayro-0.4.0 \
+ hayro-font-0.3.0 \
+ hayro-interpret-0.4.0 \
+ hayro-svg-0.2.0 \
+ hayro-syntax-0.4.0 \
+ hayro-write-0.3.0 \
+ heck-0.5.0 \
+ hypher-0.1.6 \
+ iana-time-zone-0.1.64 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-1.5.0 \
+ icu_collections-2.1.1 \
+ icu_locale_core-2.1.1 \
+ icu_locid-1.5.0 \
+ icu_locid_transform-1.5.0 \
+ icu_locid_transform_data-1.5.1 \
+ icu_normalizer-2.1.1 \
+ icu_normalizer_data-2.1.1 \
+ icu_properties-1.5.1 \
+ icu_properties-2.1.1 \
+ icu_properties_data-1.5.1 \
+ icu_properties_data-2.1.1 \
+ icu_provider-1.5.0 \
+ icu_provider-2.1.1 \
+ icu_provider_adapters-1.5.0 \
+ icu_provider_blob-1.5.0 \
+ icu_provider_macros-1.5.0 \
+ icu_segmenter-1.5.0 \
+ icu_segmenter_data-1.5.1 \
+ idna-1.1.0 \
+ idna_adapter-1.2.1 \
+ image-0.25.9 \
+ image-webp-0.2.4 \
+ imagesize-0.13.0 \
+ imagesize-0.14.0 \
+ indexmap-2.12.1 \
+ indoc-2.0.7 \
+ infer-0.19.0 \
+ itoa-1.0.15 \
+ js-sys-0.3.83 \
+ kamadak-exif-0.6.1 \
+ krilla-0.6.0 \
+ krilla-svg-0.3.0 \
+ kurbo-0.11.3 \
+ kurbo-0.12.0 \
+ libc-0.2.178 \
+ libm-0.2.15 \
+ libredox-0.1.10 \
+ libz-rs-sys-0.5.3 \
+ linked-hash-map-0.5.6 \
+ linux-raw-sys-0.11.0 \
+ lipsum-0.9.1 \
+ litemap-0.7.5 \
+ litemap-0.8.1 \
+ lock_api-0.4.14 \
+ log-0.4.29 \
+ memchr-2.7.6 \
+ memmap2-0.9.9 \
+ memoffset-0.9.1 \
+ miniz_oxide-0.8.9 \
+ moxcms-0.7.10 \
+ mutate_once-0.1.2 \
+ native-tls-0.2.14 \
+ num-bigint-0.4.6 \
+ num-conv-0.1.0 \
+ num-integer-0.1.46 \
+ num-traits-0.2.19 \
+ object-0.32.2 \
+ once_cell-1.21.3 \
+ openssl-0.10.75 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.6 \
+ openssl-src-300.5.4+3.5.4 \
+ openssl-sys-0.9.111 \
+ option-ext-0.2.0 \
+ palette-0.7.6 \
+ palette_derive-0.7.6 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
+ paste-1.0.15 \
+ pathdiff-0.2.3 \
+ pdf-writer-0.14.0 \
+ percent-encoding-2.3.2 \
+ phf-0.13.1 \
+ phf_generator-0.13.1 \
+ phf_macros-0.13.1 \
+ phf_shared-0.13.1 \
+ pico-args-0.5.0 \
+ pixglyph-0.6.0 \
+ pkg-config-0.3.32 \
+ plist-1.8.0 \
+ png-0.17.16 \
+ png-0.18.0 \
+ portable-atomic-1.11.1 \
+ postcard-1.1.3 \
+ potential_utf-0.1.4 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.21 \
+ proc-macro-hack-0.5.20+deprecated \
+ proc-macro2-1.0.103 \
+ psm-0.1.28 \
+ pxfm-0.1.26 \
+ pyo3-0.27.2 \
+ pyo3-build-config-0.27.2 \
+ pyo3-ffi-0.27.2 \
+ pyo3-macros-0.27.2 \
+ pyo3-macros-backend-0.27.2 \
+ python3-dll-a-0.2.14 \
+ qcms-0.3.0 \
+ quick-error-2.0.1 \
+ quick-xml-0.38.4 \
+ quote-1.0.42 \
+ r-efi-5.3.0 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
+ read-fonts-0.35.0 \
+ redox_syscall-0.5.18 \
+ redox_users-0.5.2 \
+ regex-1.12.2 \
+ regex-automata-0.4.13 \
+ regex-syntax-0.8.8 \
+ resvg-0.45.1 \
+ rgb-0.8.52 \
+ roman-numerals-rs-3.1.0 \
+ roxmltree-0.20.0 \
+ rust_decimal-1.39.0 \
+ rustc-hash-2.1.1 \
+ rustix-1.1.2 \
+ rustversion-1.0.22 \
+ rustybuzz-0.20.1 \
+ ryu-1.0.20 \
+ same-file-1.0.6 \
+ schannel-0.1.28 \
+ scopeguard-1.2.0 \
+ security-framework-2.11.1 \
+ security-framework-sys-2.15.0 \
+ serde-1.0.228 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
+ serde_json-1.0.145 \
+ serde_spanned-0.6.9 \
+ serde_yaml-0.9.34+deprecated \
+ shlex-1.3.0 \
+ simd-adler32-0.3.7 \
+ simplecss-0.2.2 \
+ siphasher-1.0.1 \
+ skrifa-0.37.0 \
+ slab-0.4.11 \
+ slotmap-1.0.7 \
+ smallvec-1.15.1 \
+ spin-0.9.8 \
+ stable_deref_trait-1.2.1 \
+ stacker-0.1.22 \
+ strict-num-0.1.1 \
+ strum-0.27.2 \
+ strum_macros-0.27.2 \
+ subsetter-0.2.3 \
+ svgtypes-0.15.3 \
+ syn-2.0.111 \
+ synstructure-0.13.2 \
+ syntect-5.3.0 \
+ tar-0.4.44 \
+ target-lexicon-0.13.3 \
+ tempfile-3.23.0 \
+ termcolor-1.4.1 \
+ thin-vec-0.2.14 \
+ thiserror-2.0.17 \
+ thiserror-impl-2.0.17 \
+ time-0.3.44 \
+ time-core-0.1.6 \
+ time-macros-0.2.24 \
+ tiny-skia-0.11.4 \
+ tiny-skia-path-0.11.4 \
+ tinystr-0.7.6 \
+ tinystr-0.8.2 \
+ tinyvec-1.10.0 \
+ tinyvec_macros-0.1.1 \
+ toml-0.8.23 \
+ toml_datetime-0.6.11 \
+ toml_edit-0.22.27 \
+ toml_write-0.1.2 \
+ ttf-parser-0.25.1 \
+ two-face-0.4.4 \
+ typed-arena-2.0.2 \
+ typst-0.14.1 \
+ typst-assets-0.14.1 \
+ typst-eval-0.14.1 \
+ typst-html-0.14.1 \
+ typst-kit-0.14.1 \
+ typst-layout-0.14.1 \
+ typst-library-0.14.1 \
+ typst-macros-0.14.1 \
+ typst-pdf-0.14.1 \
+ typst-realize-0.14.1 \
+ typst-render-0.14.1 \
+ typst-svg-0.14.1 \
+ typst-syntax-0.14.1 \
+ typst-timing-0.14.1 \
+ typst-utils-0.14.1 \
+ unic-langid-0.9.6 \
+ unic-langid-impl-0.9.6 \
+ unic-langid-macros-0.9.6 \
+ unic-langid-macros-impl-0.9.6 \
+ unicode-bidi-0.3.18 \
+ unicode-bidi-mirroring-0.4.0 \
+ unicode-ccc-0.4.0 \
+ unicode-ident-1.0.22 \
+ unicode-math-class-0.1.0 \
+ unicode-normalization-0.1.25 \
+ unicode-properties-0.1.4 \
+ unicode-script-0.5.8 \
+ unicode-segmentation-1.12.0 \
+ unicode-vo-0.1.0 \
+ unicode-width-0.2.2 \
+ unindent-0.2.4 \
+ unsafe-libyaml-0.2.11 \
+ unscanny-0.1.0 \
+ ureq-2.12.1 \
+ url-2.5.7 \
+ usvg-0.45.1 \
+ utf8_iter-1.0.4 \
+ vcpkg-0.2.15 \
+ version_check-0.9.5 \
+ walkdir-2.5.0 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasip2-1.0.1+wasi-0.2.4 \
+ wasm-bindgen-0.2.106 \
+ wasm-bindgen-macro-0.2.106 \
+ wasm-bindgen-macro-support-0.2.106 \
+ wasm-bindgen-shared-0.2.106 \
+ wasmi-0.51.2 \
+ wasmi_collections-0.51.2 \
+ wasmi_core-0.51.2 \
+ wasmi_ir-0.51.2 \
+ wasmparser-0.228.0 \
+ weezl-0.1.12 \
+ winapi-util-0.1.11 \
+ windows-core-0.62.2 \
+ windows-implement-0.60.2 \
+ windows-interface-0.59.3 \
+ windows-link-0.2.1 \
+ windows-result-0.4.1 \
+ windows-strings-0.5.1 \
+ windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-sys-0.61.2 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.1 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.1 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.1 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.1 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.1 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.1 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.1 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.1 \
+ winnow-0.7.14 \
+ wit-bindgen-0.46.0 \
+ write-fonts-0.43.0 \
+ writeable-0.5.5 \
+ writeable-0.6.2 \
+ xattr-1.6.1 \
+ xmlparser-0.13.6 \
+ xmlwriter-0.1.0 \
+ xmp-writer-0.3.2 \
+ yaml-rust-0.4.5 \
+ yoke-0.7.5 \
+ yoke-0.8.1 \
+ yoke-derive-0.7.5 \
+ yoke-derive-0.8.1 \
+ zerocopy-0.8.31 \
+ zerocopy-derive-0.8.31 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
+ zerotrie-0.1.3 \
+ zerotrie-0.2.3 \
+ zerovec-0.10.4 \
+ zerovec-0.11.5 \
+ zerovec-derive-0.10.3 \
+ zerovec-derive-0.11.2 \
+ zlib-rs-0.5.3 \
+ zune-core-0.4.12 \
+ zune-core-0.5.0 \
+ zune-jpeg-0.4.21 \
+ zune-jpeg-0.5.5
diff --git a/textproc/py-typst/distinfo b/textproc/py-typst/distinfo
new file mode 100644
index 000000000000..a6f7820fe9de
--- /dev/null
+++ b/textproc/py-typst/distinfo
@@ -0,0 +1,765 @@
+TIMESTAMP = 1766173952
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
+SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015
+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/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6
+SIZE (rust/crates/approx-0.5.1.crate) = 15100
+SHA256 (rust/crates/ar_archive_writer-0.2.0.crate) = f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a
+SIZE (rust/crates/ar_archive_writer-0.2.0.crate) = 31814
+SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
+SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/az-1.2.1.crate) = 7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973
+SIZE (rust/crates/az-1.2.1.crate) = 27842
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/biblatex-0.11.0.crate) = 53d0c374feba1b9a59042a7c1cf00ce7c34b977b9134fe7c42b08e5183729f66
+SIZE (rust/crates/biblatex-0.11.0.crate) = 98441
+SHA256 (rust/crates/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad
+SIZE (rust/crates/bincode-1.3.3.crate) = 28958
+SHA256 (rust/crates/bit-set-0.8.0.crate) = 08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3
+SIZE (rust/crates/bit-set-0.8.0.crate) = 16289
+SHA256 (rust/crates/bit-vec-0.8.0.crate) = 5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7
+SIZE (rust/crates/bit-vec-0.8.0.crate) = 24132
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
+SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/by_address-1.2.1.crate) = 64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06
+SIZE (rust/crates/by_address-1.2.1.crate) = 8437
+SHA256 (rust/crates/bytemuck-1.24.0.crate) = 1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4
+SIZE (rust/crates/bytemuck-1.24.0.crate) = 53243
+SHA256 (rust/crates/bytemuck_derive-1.10.2.crate) = f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff
+SIZE (rust/crates/bytemuck_derive-1.10.2.crate) = 25678
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/cc-1.2.48.crate) = c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a
+SIZE (rust/crates/cc-1.2.48.crate) = 92458
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/chinese-number-0.7.7.crate) = 49fccaef6346f6d6a741908d3b79fe97c2debe2fbb5eb3a7d00ff5981b52bb6c
+SIZE (rust/crates/chinese-number-0.7.7.crate) = 17318
+SHA256 (rust/crates/chinese-variant-1.1.3.crate) = 7588475145507237ded760e52bf2f1085495245502033756d28ea72ade0e498b
+SIZE (rust/crates/chinese-variant-1.1.3.crate) = 2179
+SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
+SIZE (rust/crates/chrono-0.4.42.crate) = 238174
+SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
+SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
+SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
+SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
+SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
+SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
+SHA256 (rust/crates/citationberg-0.6.1.crate) = 1f6597e8bdbca37f1f56e5a80d15857b0932aead21a78d20de49e99e74933046
+SIZE (rust/crates/citationberg-0.6.1.crate) = 66778
+SHA256 (rust/crates/cobs-0.3.0.crate) = 0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1
+SIZE (rust/crates/cobs-0.3.0.crate) = 15639
+SHA256 (rust/crates/codespan-reporting-0.13.1.crate) = af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681
+SIZE (rust/crates/codespan-reporting-0.13.1.crate) = 57424
+SHA256 (rust/crates/codex-0.2.0.crate) = 9589e1effc5cacbea347899645c654158b03b2053d24bb426fd3128ced6e423c
+SIZE (rust/crates/codex-0.2.0.crate) = 43026
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/comemo-0.5.0.crate) = 649d7b2d867b569729c03c0f6968db10bc95921182a1f2b2012b1b549492f39d
+SIZE (rust/crates/comemo-0.5.0.crate) = 28954
+SHA256 (rust/crates/comemo-macros-0.5.0.crate) = 51c87fc7e85487493ddedae1a3a34b897c77ad8825375b79265a8a162c28d535
+SIZE (rust/crates/comemo-macros-0.5.0.crate) = 10000
+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/core_maths-0.1.1.crate) = 77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
+SIZE (rust/crates/core_maths-0.1.1.crate) = 6528
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
+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/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5
+SIZE (rust/crates/crunchy-0.2.4.crate) = 3887
+SHA256 (rust/crates/csv-1.4.0.crate) = 52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938
+SIZE (rust/crates/csv-1.4.0.crate) = 888642
+SHA256 (rust/crates/csv-core-0.1.13.crate) = 704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782
+SIZE (rust/crates/csv-core-0.1.13.crate) = 26119
+SHA256 (rust/crates/data-url-0.3.2.crate) = be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376
+SIZE (rust/crates/data-url-0.3.2.crate) = 23862
+SHA256 (rust/crates/deranged-0.5.5.crate) = ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587
+SIZE (rust/crates/deranged-0.5.5.crate) = 24438
+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/ecow-0.2.6.crate) = 78e4f79b296fbaab6ce2e22d52cb4c7f010fe0ebe7a32e34fa25885fd797bd02
+SIZE (rust/crates/ecow-0.2.6.crate) = 29987
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/embedded-io-0.4.0.crate) = ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced
+SIZE (rust/crates/embedded-io-0.4.0.crate) = 12901
+SHA256 (rust/crates/embedded-io-0.6.1.crate) = edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d
+SIZE (rust/crates/embedded-io-0.6.1.crate) = 13133
+SHA256 (rust/crates/enum-ordinalize-4.3.2.crate) = 4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0
+SIZE (rust/crates/enum-ordinalize-4.3.2.crate) = 4465
+SHA256 (rust/crates/enum-ordinalize-derive-4.3.2.crate) = 8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631
+SIZE (rust/crates/enum-ordinalize-derive-4.3.2.crate) = 8434
+SHA256 (rust/crates/env_proxy-0.4.1.crate) = 3a5019be18538406a43b5419a5501461f0c8b49ea7dfda0cfc32f4e51fc44be1
+SIZE (rust/crates/env_proxy-0.4.1.crate) = 11256
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/euclid-0.22.11.crate) = ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48
+SIZE (rust/crates/euclid-0.22.11.crate) = 79261
+SHA256 (rust/crates/fancy-regex-0.16.2.crate) = 998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f
+SIZE (rust/crates/fancy-regex-0.16.2.crate) = 100662
+SHA256 (rust/crates/fast-srgb8-1.0.0.crate) = dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1
+SIZE (rust/crates/fast-srgb8-1.0.0.crate) = 17214
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
+SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
+SHA256 (rust/crates/filetime-0.2.26.crate) = bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed
+SIZE (rust/crates/filetime-0.2.26.crate) = 17273
+SHA256 (rust/crates/find-msvc-tools-0.1.5.crate) = 3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844
+SIZE (rust/crates/find-msvc-tools-0.1.5.crate) = 30942
+SHA256 (rust/crates/flate2-1.1.5.crate) = bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb
+SIZE (rust/crates/flate2-1.1.5.crate) = 77015
+SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
+SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/float-cmp-0.10.0.crate) = b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8
+SIZE (rust/crates/float-cmp-0.10.0.crate) = 10702
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/font-types-0.10.1.crate) = 39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5
+SIZE (rust/crates/font-types-0.10.1.crate) = 24859
+SHA256 (rust/crates/fontconfig-parser-0.5.8.crate) = bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646
+SIZE (rust/crates/fontconfig-parser-0.5.8.crate) = 40928
+SHA256 (rust/crates/fontdb-0.23.0.crate) = 457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905
+SIZE (rust/crates/fontdb-0.23.0.crate) = 108324
+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.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf
+SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347
+SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
+SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
+SHA256 (rust/crates/getrandom-0.3.4.crate) = 899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd
+SIZE (rust/crates/getrandom-0.3.4.crate) = 50932
+SHA256 (rust/crates/gif-0.13.3.crate) = 4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b
+SIZE (rust/crates/gif-0.13.3.crate) = 36010
+SHA256 (rust/crates/gif-0.14.1.crate) = f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e
+SIZE (rust/crates/gif-0.14.1.crate) = 38581
+SHA256 (rust/crates/glidesort-0.1.2.crate) = f2e102e6eb644d3e0b186fc161e4460417880a0a0b87d235f2e5b8fb30f2e9e0
+SIZE (rust/crates/glidesort-0.1.2.crate) = 33672
+SHA256 (rust/crates/half-2.7.1.crate) = 6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b
+SIZE (rust/crates/half-2.7.1.crate) = 61040
+SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
+SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
+SHA256 (rust/crates/hayagriva-0.9.1.crate) = 1cb69425736f184173b3ca6e27fcba440a61492a790c786b1c6af7e06a03e575
+SIZE (rust/crates/hayagriva-0.9.1.crate) = 460242
+SHA256 (rust/crates/hayro-0.4.0.crate) = 048488ba88552bb0fb2a7e4001c64d5bed65d1a92167186a1bb9151571f32e60
+SIZE (rust/crates/hayro-0.4.0.crate) = 36512
+SHA256 (rust/crates/hayro-font-0.3.0.crate) = 10e7e97ce840a6a70e7901e240ec65ba61106b66b37a4a1b899a2ce484248463
+SIZE (rust/crates/hayro-font-0.3.0.crate) = 38468
+SHA256 (rust/crates/hayro-interpret-0.4.0.crate) = 56204c972d08e844f3db13b1e14be769f846e576699b46d4f4637cc4f8f70102
+SIZE (rust/crates/hayro-interpret-0.4.0.crate) = 365232
+SHA256 (rust/crates/hayro-svg-0.2.0.crate) = e8c673304cec6e0dfd3b4f71fccecd45646899aa70279b62d3f933842abc4ac5
+SIZE (rust/crates/hayro-svg-0.2.0.crate) = 14532
+SHA256 (rust/crates/hayro-syntax-0.4.0.crate) = 3f9e5c7dbc0f11dc42775d1a6cc00f5f5137b90b6288dd7fe5f71d17b14d10be
+SIZE (rust/crates/hayro-syntax-0.4.0.crate) = 116992
+SHA256 (rust/crates/hayro-write-0.3.0.crate) = cc05d8b4bc878b9aee48d980ecb25ed08f1dd9fad6da5ab4d9b7c56ec03a0cf6
+SIZE (rust/crates/hayro-write-0.3.0.crate) = 7835
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hypher-0.1.6.crate) = 74e25026c579b170c59f8d3ddfc523d7dab0abe079f09eb8edaebd2417044f60
+SIZE (rust/crates/hypher-0.1.6.crate) = 852784
+SHA256 (rust/crates/iana-time-zone-0.1.64.crate) = 33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb
+SIZE (rust/crates/iana-time-zone-0.1.64.crate) = 33152
+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_collections-2.1.1.crate) = 4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43
+SIZE (rust/crates/icu_collections-2.1.1.crate) = 87233
+SHA256 (rust/crates/icu_locale_core-2.1.1.crate) = edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6
+SIZE (rust/crates/icu_locale_core-2.1.1.crate) = 70876
+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.1.crate) = 7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d
+SIZE (rust/crates/icu_locid_transform_data-1.5.1.crate) = 42937
+SHA256 (rust/crates/icu_normalizer-2.1.1.crate) = 5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599
+SIZE (rust/crates/icu_normalizer-2.1.1.crate) = 67132
+SHA256 (rust/crates/icu_normalizer_data-2.1.1.crate) = 7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a
+SIZE (rust/crates/icu_normalizer_data-2.1.1.crate) = 68649
+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-2.1.1.crate) = e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99
+SIZE (rust/crates/icu_properties-2.1.1.crate) = 59036
+SHA256 (rust/crates/icu_properties_data-1.5.1.crate) = 85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2
+SIZE (rust/crates/icu_properties_data-1.5.1.crate) = 229231
+SHA256 (rust/crates/icu_properties_data-2.1.1.crate) = 02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899
+SIZE (rust/crates/icu_properties_data-2.1.1.crate) = 162431
+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-2.1.1.crate) = 85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614
+SIZE (rust/crates/icu_provider-2.1.1.crate) = 50907
+SHA256 (rust/crates/icu_provider_adapters-1.5.0.crate) = d6324dfd08348a8e0374a447ebd334044d766b1839bb8d5ccf2482a99a77c0bc
+SIZE (rust/crates/icu_provider_adapters-1.5.0.crate) = 16576
+SHA256 (rust/crates/icu_provider_blob-1.5.0.crate) = c24b98d1365f55d78186c205817631a4acf08d7a45bdf5dc9dcf9c5d54dccf51
+SIZE (rust/crates/icu_provider_blob-1.5.0.crate) = 14296
+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/icu_segmenter-1.5.0.crate) = a717725612346ffc2d7b42c94b820db6908048f39434504cb130e8b46256b0de
+SIZE (rust/crates/icu_segmenter-1.5.0.crate) = 610798
+SHA256 (rust/crates/icu_segmenter_data-1.5.1.crate) = a1e52775179941363cc594e49ce99284d13d6948928d8e72c755f55e98caa1eb
+SIZE (rust/crates/icu_segmenter_data-1.5.1.crate) = 3385006
+SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
+SIZE (rust/crates/idna-1.1.0.crate) = 148747
+SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
+SHA256 (rust/crates/image-0.25.9.crate) = e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a
+SIZE (rust/crates/image-0.25.9.crate) = 294591
+SHA256 (rust/crates/image-webp-0.2.4.crate) = 525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3
+SIZE (rust/crates/image-webp-0.2.4.crate) = 68478
+SHA256 (rust/crates/imagesize-0.13.0.crate) = edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285
+SIZE (rust/crates/imagesize-0.13.0.crate) = 17033
+SHA256 (rust/crates/imagesize-0.14.0.crate) = 09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c
+SIZE (rust/crates/imagesize-0.14.0.crate) = 22706
+SHA256 (rust/crates/indexmap-2.12.1.crate) = 0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2
+SIZE (rust/crates/indexmap-2.12.1.crate) = 100184
+SHA256 (rust/crates/indoc-2.0.7.crate) = 79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706
+SIZE (rust/crates/indoc-2.0.7.crate) = 17184
+SHA256 (rust/crates/infer-0.19.0.crate) = a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7
+SIZE (rust/crates/infer-0.19.0.crate) = 19091
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/js-sys-0.3.83.crate) = 464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8
+SIZE (rust/crates/js-sys-0.3.83.crate) = 56425
+SHA256 (rust/crates/kamadak-exif-0.6.1.crate) = 1130d80c7374efad55a117d715a3af9368f0fa7a2c54573afc15a188cd984837
+SIZE (rust/crates/kamadak-exif-0.6.1.crate) = 57852
+SHA256 (rust/crates/krilla-0.6.0.crate) = a0ddfec86fec13d068075e14f22a7e217c281f3ed69ddcb427bf3f5d504fd674
+SIZE (rust/crates/krilla-0.6.0.crate) = 176861
+SHA256 (rust/crates/krilla-svg-0.3.0.crate) = f485e1a850201a01dcd8d73e7cf09f2cd4c4cc85c2cd296359094d49336d8ef7
+SIZE (rust/crates/krilla-svg-0.3.0.crate) = 19060
+SHA256 (rust/crates/kurbo-0.11.3.crate) = c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62
+SIZE (rust/crates/kurbo-0.11.3.crate) = 137586
+SHA256 (rust/crates/kurbo-0.12.0.crate) = ce9729cc38c18d86123ab736fd2e7151763ba226ac2490ec092d1dd148825e32
+SIZE (rust/crates/kurbo-0.12.0.crate) = 153541
+SHA256 (rust/crates/libc-0.2.178.crate) = 37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091
+SIZE (rust/crates/libc-0.2.178.crate) = 783720
+SHA256 (rust/crates/libm-0.2.15.crate) = f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de
+SIZE (rust/crates/libm-0.2.15.crate) = 156108
+SHA256 (rust/crates/libredox-0.1.10.crate) = 416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb
+SIZE (rust/crates/libredox-0.1.10.crate) = 7332
+SHA256 (rust/crates/libz-rs-sys-0.5.3.crate) = 8b484ba8d4f775eeca644c452a56650e544bf7e617f1d170fe7298122ead5222
+SIZE (rust/crates/libz-rs-sys-0.5.3.crate) = 47421
+SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
+SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
+SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039
+SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624
+SHA256 (rust/crates/lipsum-0.9.1.crate) = 636860251af8963cc40f6b4baadee105f02e21b28131d76eba8e40ce84ab8064
+SIZE (rust/crates/lipsum-0.9.1.crate) = 34495
+SHA256 (rust/crates/litemap-0.7.5.crate) = 23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856
+SIZE (rust/crates/litemap-0.7.5.crate) = 29962
+SHA256 (rust/crates/litemap-0.8.1.crate) = 6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77
+SIZE (rust/crates/litemap-0.8.1.crate) = 34172
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.29.crate) = 5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897
+SIZE (rust/crates/log-0.4.29.crate) = 51515
+SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
+SIZE (rust/crates/memchr-2.7.6.crate) = 97616
+SHA256 (rust/crates/memmap2-0.9.9.crate) = 744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490
+SIZE (rust/crates/memmap2-0.9.9.crate) = 34576
+SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
+SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/moxcms-0.7.10.crate) = 80986bbbcf925ebd3be54c26613d861255284584501595cf418320c078945608
+SIZE (rust/crates/moxcms-0.7.10.crate) = 176635
+SHA256 (rust/crates/mutate_once-0.1.2.crate) = 13d2233c9842d08cfe13f9eac96e207ca6a2ea10b80259ebe8ad0268be27d2af
+SIZE (rust/crates/mutate_once-0.1.2.crate) = 4508
+SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
+SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+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.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441
+SIZE (rust/crates/object-0.32.2.crate) = 286994
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/openssl-0.10.75.crate) = 08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328
+SIZE (rust/crates/openssl-0.10.75.crate) = 288136
+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-src-300.5.4+3.5.4.crate) = a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72
+SIZE (rust/crates/openssl-src-300.5.4+3.5.4.crate) = 7102203
+SHA256 (rust/crates/openssl-sys-0.9.111.crate) = 82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321
+SIZE (rust/crates/openssl-sys-0.9.111.crate) = 80871
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/palette-0.7.6.crate) = 4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6
+SIZE (rust/crates/palette-0.7.6.crate) = 230913
+SHA256 (rust/crates/palette_derive-0.7.6.crate) = f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30
+SIZE (rust/crates/palette_derive-0.7.6.crate) = 17073
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
+SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
+SIZE (rust/crates/paste-1.0.15.crate) = 18374
+SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3
+SIZE (rust/crates/pathdiff-0.2.3.crate) = 7495
+SHA256 (rust/crates/pdf-writer-0.14.0.crate) = 92a79477295a713c2ed425aa82a8b5d20cec3fdee203706cbe6f3854880c1c81
+SIZE (rust/crates/pdf-writer-0.14.0.crate) = 1944789
+SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
+SHA256 (rust/crates/phf-0.13.1.crate) = c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf
+SIZE (rust/crates/phf-0.13.1.crate) = 24786
+SHA256 (rust/crates/phf_generator-0.13.1.crate) = 135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737
+SIZE (rust/crates/phf_generator-0.13.1.crate) = 15952
+SHA256 (rust/crates/phf_macros-0.13.1.crate) = 812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef
+SIZE (rust/crates/phf_macros-0.13.1.crate) = 21732
+SHA256 (rust/crates/phf_shared-0.13.1.crate) = e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266
+SIZE (rust/crates/phf_shared-0.13.1.crate) = 16141
+SHA256 (rust/crates/pico-args-0.5.0.crate) = 5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315
+SIZE (rust/crates/pico-args-0.5.0.crate) = 11545
+SHA256 (rust/crates/pixglyph-0.6.0.crate) = 3c1106193bc18a4b840eb075ff6664c8a0b0270f0531bb12a7e9c803e53b55c5
+SIZE (rust/crates/pixglyph-0.6.0.crate) = 23135
+SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
+SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
+SHA256 (rust/crates/plist-1.8.0.crate) = 740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07
+SIZE (rust/crates/plist-1.8.0.crate) = 54623
+SHA256 (rust/crates/png-0.17.16.crate) = 82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526
+SIZE (rust/crates/png-0.17.16.crate) = 117975
+SHA256 (rust/crates/png-0.18.0.crate) = 97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0
+SIZE (rust/crates/png-0.18.0.crate) = 118041
+SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483
+SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506
+SHA256 (rust/crates/postcard-1.1.3.crate) = 6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24
+SIZE (rust/crates/postcard-1.1.3.crate) = 43968
+SHA256 (rust/crates/potential_utf-0.1.4.crate) = b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77
+SIZE (rust/crates/potential_utf-0.1.4.crate) = 9514
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
+SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
+SHA256 (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068
+SIZE (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = 15045
+SHA256 (rust/crates/proc-macro2-1.0.103.crate) = 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
+SIZE (rust/crates/proc-macro2-1.0.103.crate) = 60024
+SHA256 (rust/crates/psm-0.1.28.crate) = d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01
+SIZE (rust/crates/psm-0.1.28.crate) = 24836
+SHA256 (rust/crates/pxfm-0.1.26.crate) = b3502d6155304a4173a5f2c34b52b7ed0dd085890326cb50fd625fdf39e86b3b
+SIZE (rust/crates/pxfm-0.1.26.crate) = 862711
+SHA256 (rust/crates/pyo3-0.27.2.crate) = ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d
+SIZE (rust/crates/pyo3-0.27.2.crate) = 1171342
+SHA256 (rust/crates/pyo3-build-config-0.27.2.crate) = b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6
+SIZE (rust/crates/pyo3-build-config-0.27.2.crate) = 35564
+SHA256 (rust/crates/pyo3-ffi-0.27.2.crate) = 1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089
+SIZE (rust/crates/pyo3-ffi-0.27.2.crate) = 78552
+SHA256 (rust/crates/pyo3-macros-0.27.2.crate) = 0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02
+SIZE (rust/crates/pyo3-macros-0.27.2.crate) = 8913
+SHA256 (rust/crates/pyo3-macros-backend-0.27.2.crate) = 03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9
+SIZE (rust/crates/pyo3-macros-backend-0.27.2.crate) = 82513
+SHA256 (rust/crates/python3-dll-a-0.2.14.crate) = d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8
+SIZE (rust/crates/python3-dll-a-0.2.14.crate) = 103489
+SHA256 (rust/crates/qcms-0.3.0.crate) = edecfcd5d755a5e5d98e24cf43113e7cdaec5a070edd0f6b250c03a573da30fa
+SIZE (rust/crates/qcms-0.3.0.crate) = 53550
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quick-xml-0.38.4.crate) = b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c
+SIZE (rust/crates/quick-xml-0.38.4.crate) = 205035
+SHA256 (rust/crates/quote-1.0.42.crate) = a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f
+SIZE (rust/crates/quote-1.0.42.crate) = 31504
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
+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/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f
+SIZE (rust/crates/rayon-1.11.0.crate) = 182470
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
+SHA256 (rust/crates/read-fonts-0.35.0.crate) = 6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358
+SIZE (rust/crates/read-fonts-0.35.0.crate) = 416793
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
+SHA256 (rust/crates/redox_users-0.5.2.crate) = a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac
+SIZE (rust/crates/redox_users-0.5.2.crate) = 17280
+SHA256 (rust/crates/regex-1.12.2.crate) = 843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4
+SIZE (rust/crates/regex-1.12.2.crate) = 163843
+SHA256 (rust/crates/regex-automata-0.4.13.crate) = 5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c
+SIZE (rust/crates/regex-automata-0.4.13.crate) = 625250
+SHA256 (rust/crates/regex-syntax-0.8.8.crate) = 7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58
+SIZE (rust/crates/regex-syntax-0.8.8.crate) = 359141
+SHA256 (rust/crates/resvg-0.45.1.crate) = a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43
+SIZE (rust/crates/resvg-0.45.1.crate) = 78002
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
+SHA256 (rust/crates/roman-numerals-rs-3.1.0.crate) = c85cd47a33a4510b1424fe796498e174c6a9cf94e606460ef022a19f3e4ff85e
+SIZE (rust/crates/roman-numerals-rs-3.1.0.crate) = 5308
+SHA256 (rust/crates/roxmltree-0.20.0.crate) = 6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97
+SIZE (rust/crates/roxmltree-0.20.0.crate) = 54594
+SHA256 (rust/crates/rust_decimal-1.39.0.crate) = 35affe401787a9bd846712274d97654355d21b2a2c092a3139aabe31e9022282
+SIZE (rust/crates/rust_decimal-1.39.0.crate) = 154142
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
+SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
+SIZE (rust/crates/rustix-1.1.2.crate) = 422717
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
+SHA256 (rust/crates/rustybuzz-0.20.1.crate) = fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702
+SIZE (rust/crates/rustybuzz-0.20.1.crate) = 272721
+SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
+SIZE (rust/crates/ryu-1.0.20.crate) = 48738
+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.28.crate) = 891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1
+SIZE (rust/crates/schannel-0.1.28.crate) = 42312
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+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.15.0.crate) = cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0
+SIZE (rust/crates/security-framework-sys-2.15.0.crate) = 20718
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c
+SIZE (rust/crates/serde_json-1.0.145.crate) = 155748
+SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3
+SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210
+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/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simplecss-0.2.2.crate) = 7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c
+SIZE (rust/crates/simplecss-0.2.2.crate) = 22136
+SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
+SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
+SHA256 (rust/crates/skrifa-0.37.0.crate) = 8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841
+SIZE (rust/crates/skrifa-0.37.0.crate) = 283031
+SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589
+SIZE (rust/crates/slab-0.4.11.crate) = 18549
+SHA256 (rust/crates/slotmap-1.0.7.crate) = dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a
+SIZE (rust/crates/slotmap-1.0.7.crate) = 61390
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596
+SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186
+SHA256 (rust/crates/stacker-0.1.22.crate) = e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59
+SIZE (rust/crates/stacker-0.1.22.crate) = 17269
+SHA256 (rust/crates/strict-num-0.1.1.crate) = 6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731
+SIZE (rust/crates/strict-num-0.1.1.crate) = 5104
+SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf
+SIZE (rust/crates/strum-0.27.2.crate) = 8489
+SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7
+SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
+SHA256 (rust/crates/subsetter-0.2.3.crate) = cb6895a12ac5599bb6057362f00e8a3cf1daab4df33f553a55690a44e4fed8d0
+SIZE (rust/crates/subsetter-0.2.3.crate) = 47016
+SHA256 (rust/crates/svgtypes-0.15.3.crate) = 68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc
+SIZE (rust/crates/svgtypes-0.15.3.crate) = 43696
+SHA256 (rust/crates/syn-2.0.111.crate) = 390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87
+SIZE (rust/crates/syn-2.0.111.crate) = 302117
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/syntect-5.3.0.crate) = 656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925
+SIZE (rust/crates/syntect-5.3.0.crate) = 833348
+SHA256 (rust/crates/tar-0.4.44.crate) = 1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a
+SIZE (rust/crates/tar-0.4.44.crate) = 61020
+SHA256 (rust/crates/target-lexicon-0.13.3.crate) = df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c
+SIZE (rust/crates/target-lexicon-0.13.3.crate) = 28498
+SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16
+SIZE (rust/crates/tempfile-3.23.0.crate) = 43063
+SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
+SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/thin-vec-0.2.14.crate) = 144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d
+SIZE (rust/crates/thin-vec-0.2.14.crate) = 35087
+SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
+SIZE (rust/crates/thiserror-2.0.17.crate) = 28857
+SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
+SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
+SHA256 (rust/crates/time-0.3.44.crate) = 91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d
+SIZE (rust/crates/time-0.3.44.crate) = 143200
+SHA256 (rust/crates/time-core-0.1.6.crate) = 40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b
+SIZE (rust/crates/time-core-0.1.6.crate) = 9105
+SHA256 (rust/crates/time-macros-0.2.24.crate) = 30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3
+SIZE (rust/crates/time-macros-0.2.24.crate) = 24715
+SHA256 (rust/crates/tiny-skia-0.11.4.crate) = 83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab
+SIZE (rust/crates/tiny-skia-0.11.4.crate) = 201082
+SHA256 (rust/crates/tiny-skia-path-0.11.4.crate) = 9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93
+SIZE (rust/crates/tiny-skia-path-0.11.4.crate) = 47764
+SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
+SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
+SHA256 (rust/crates/tinystr-0.8.2.crate) = 42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869
+SIZE (rust/crates/tinystr-0.8.2.crate) = 23942
+SHA256 (rust/crates/tinyvec-1.10.0.crate) = bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa
+SIZE (rust/crates/tinyvec-1.10.0.crate) = 51996
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+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/ttf-parser-0.25.1.crate) = d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31
+SIZE (rust/crates/ttf-parser-0.25.1.crate) = 201121
+SHA256 (rust/crates/two-face-0.4.4.crate) = 3d112cfd41c1387546416bcf49c4ae2a1fcacda0d42c9e97120e9798c90c0923
+SIZE (rust/crates/two-face-0.4.4.crate) = 3454955
+SHA256 (rust/crates/typed-arena-2.0.2.crate) = 6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a
+SIZE (rust/crates/typed-arena-2.0.2.crate) = 11848
+SHA256 (rust/crates/typst-0.14.1.crate) = e6be5a48cf976b492e1c8a538f02ced94fc3b71eae85984eb24f22f3eb9d01e8
+SIZE (rust/crates/typst-0.14.1.crate) = 27567
+SHA256 (rust/crates/typst-assets-0.14.1.crate) = 98b250f6c1ddd0f435db2283c7eb36a9b72bee34d6397625bf7f817c64ad7c62
+SIZE (rust/crates/typst-assets-0.14.1.crate) = 6376952
+SHA256 (rust/crates/typst-eval-0.14.1.crate) = a9b70724d6eb428b7a07bc15ea1a148c950a37eda34d8f26930812e9f5abfa3c
+SIZE (rust/crates/typst-eval-0.14.1.crate) = 43170
+SHA256 (rust/crates/typst-html-0.14.1.crate) = 4985608c896e00fc4219403040662ca771a58be79cc3d2c105b61f33715f6be2
+SIZE (rust/crates/typst-html-0.14.1.crate) = 59485
+SHA256 (rust/crates/typst-kit-0.14.1.crate) = 2beb0686fd072c53b1fd7c37fa2d6639df6fdaa75f86765d39bbee6c78d8eece
+SIZE (rust/crates/typst-kit-0.14.1.crate) = 33286
+SHA256 (rust/crates/typst-layout-0.14.1.crate) = 02c528f8279f9557f28a37af07d26ed7cd293884a9ffa79f5d604bf4cded1a1f
+SIZE (rust/crates/typst-layout-0.14.1.crate) = 209308
+SHA256 (rust/crates/typst-library-0.14.1.crate) = 839303e0c6e49bc893fafc51ed761eab44b97aa38dce913242fafbd553b2557c
+SIZE (rust/crates/typst-library-0.14.1.crate) = 516051
+SHA256 (rust/crates/typst-macros-0.14.1.crate) = 405ca56a99f8dd89df041ca53f42c4f0fb9ff287e52b255f44e5a9100bbc3605
+SIZE (rust/crates/typst-macros-0.14.1.crate) = 25331
+SHA256 (rust/crates/typst-pdf-0.14.1.crate) = 60dfaf70750b95d0389a8448bb8105600dcf6ba24443e28557627b7b51c47db0
+SIZE (rust/crates/typst-pdf-0.14.1.crate) = 83058
+SHA256 (rust/crates/typst-realize-0.14.1.crate) = c31c5d5374f04f06a430355e6fc40b6539d641bad6d0da386c5492065e210c5b
+SIZE (rust/crates/typst-realize-0.14.1.crate) = 35893
+SHA256 (rust/crates/typst-render-0.14.1.crate) = 7315528cda4882c33baa39f6ea1abf993b5a36f883b98b46e5dc05c4e9ade9fa
+SIZE (rust/crates/typst-render-0.14.1.crate) = 32960
+SHA256 (rust/crates/typst-svg-0.14.1.crate) = 045a396e4543906fae4868c0c621a2a6322aa56d4023d207cdab30517e39787a
+SIZE (rust/crates/typst-svg-0.14.1.crate) = 37609
+SHA256 (rust/crates/typst-syntax-0.14.1.crate) = 19e223636668a2930e0a46b18e3786d4ae02f69ac5d9dda58e34ca431403d05c
+SIZE (rust/crates/typst-syntax-0.14.1.crate) = 77819
+SHA256 (rust/crates/typst-timing-0.14.1.crate) = 3347a043b8659b104f198abe825a6c419d0675da276489c310a5620aea799816
+SIZE (rust/crates/typst-timing-0.14.1.crate) = 11867
+SHA256 (rust/crates/typst-utils-0.14.1.crate) = 737d445f5c0cb75b382a6841953a9e22daadad2c264402b41ebf5388356369fd
+SIZE (rust/crates/typst-utils-0.14.1.crate) = 23764
+SHA256 (rust/crates/unic-langid-0.9.6.crate) = a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05
+SIZE (rust/crates/unic-langid-0.9.6.crate) = 9031
+SHA256 (rust/crates/unic-langid-impl-0.9.6.crate) = dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658
+SIZE (rust/crates/unic-langid-impl-0.9.6.crate) = 90020
+SHA256 (rust/crates/unic-langid-macros-0.9.6.crate) = d5957eb82e346d7add14182a3315a7e298f04e1ba4baac36f7f0dbfedba5fc25
+SIZE (rust/crates/unic-langid-macros-0.9.6.crate) = 6517
+SHA256 (rust/crates/unic-langid-macros-impl-0.9.6.crate) = a1249a628de3ad34b821ecb1001355bca3940bcb2f88558f1a8bd82e977f75b5
+SIZE (rust/crates/unic-langid-macros-impl-0.9.6.crate) = 7073
+SHA256 (rust/crates/unicode-bidi-0.3.18.crate) = 5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5
+SIZE (rust/crates/unicode-bidi-0.3.18.crate) = 58300
+SHA256 (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe
+SIZE (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 8169
+SHA256 (rust/crates/unicode-ccc-0.4.0.crate) = ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e
+SIZE (rust/crates/unicode-ccc-0.4.0.crate) = 8942
+SHA256 (rust/crates/unicode-ident-1.0.22.crate) = 9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5
+SIZE (rust/crates/unicode-ident-1.0.22.crate) = 47919
+SHA256 (rust/crates/unicode-math-class-0.1.0.crate) = 7d246cf599d5fae3c8d56e04b20eb519adb89a8af8d0b0fbcded369aa3647d65
+SIZE (rust/crates/unicode-math-class-0.1.0.crate) = 15441
+SHA256 (rust/crates/unicode-normalization-0.1.25.crate) = 5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8
+SIZE (rust/crates/unicode-normalization-0.1.25.crate) = 128462
+SHA256 (rust/crates/unicode-properties-0.1.4.crate) = 7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d
+SIZE (rust/crates/unicode-properties-0.1.4.crate) = 42752
+SHA256 (rust/crates/unicode-script-0.5.8.crate) = 383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee
+SIZE (rust/crates/unicode-script-0.5.8.crate) = 48253
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/unicode-vo-0.1.0.crate) = b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94
+SIZE (rust/crates/unicode-vo-0.1.0.crate) = 8084
+SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
+SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/unindent-0.2.4.crate) = 7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3
+SIZE (rust/crates/unindent-0.2.4.crate) = 7422
+SHA256 (rust/crates/unsafe-libyaml-0.2.11.crate) = 673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861
+SIZE (rust/crates/unsafe-libyaml-0.2.11.crate) = 62101
+SHA256 (rust/crates/unscanny-0.1.0.crate) = e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47
+SIZE (rust/crates/unscanny-0.1.0.crate) = 10338
+SHA256 (rust/crates/ureq-2.12.1.crate) = 02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d
+SIZE (rust/crates/ureq-2.12.1.crate) = 115366
+SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b
+SIZE (rust/crates/url-2.5.7.crate) = 87907
+SHA256 (rust/crates/usvg-0.45.1.crate) = 80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef
+SIZE (rust/crates/usvg-0.45.1.crate) = 136945
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+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/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7
+SIZE (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 132087
+SHA256 (rust/crates/wasm-bindgen-0.2.106.crate) = 0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd
+SIZE (rust/crates/wasm-bindgen-0.2.106.crate) = 48417
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.106.crate) = 48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3
+SIZE (rust/crates/wasm-bindgen-macro-0.2.106.crate) = 9266
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.106.crate) = cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.106.crate) = 49711
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.106.crate) = cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4
+SIZE (rust/crates/wasm-bindgen-shared-0.2.106.crate) = 10115
+SHA256 (rust/crates/wasmi-0.51.2.crate) = 118030b2d125bc893e0cc5b1ce156eb41461f4373308cb5f2e3c698533b5e547
+SIZE (rust/crates/wasmi-0.51.2.crate) = 244288
+SHA256 (rust/crates/wasmi_collections-0.51.2.crate) = 653fa20efc966818934524dceb54b1b81e6f845bbcc2e155d6e9fc32becf667e
+SIZE (rust/crates/wasmi_collections-0.51.2.crate) = 19338
+SHA256 (rust/crates/wasmi_core-0.51.2.crate) = 65701f60308c7e46cca85f273ad17e80c60998cc63d3fa168ac393f62b123038
+SIZE (rust/crates/wasmi_core-0.51.2.crate) = 50291
+SHA256 (rust/crates/wasmi_ir-0.51.2.crate) = a6539f63bf2a6838f27876e2877f0b00a088e84f91e92445620cc6b977fde032
+SIZE (rust/crates/wasmi_ir-0.51.2.crate) = 34476
+SHA256 (rust/crates/wasmparser-0.228.0.crate) = 4abf1132c1fdf747d56bbc1bb52152400c70f336870f968b85e89ea422198ae3
+SIZE (rust/crates/wasmparser-0.228.0.crate) = 249009
+SHA256 (rust/crates/weezl-0.1.12.crate) = a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88
+SIZE (rust/crates/weezl-0.1.12.crate) = 46045
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/windows-core-0.62.2.crate) = b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb
+SIZE (rust/crates/windows-core-0.62.2.crate) = 36932
+SHA256 (rust/crates/windows-implement-0.60.2.crate) = 053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf
+SIZE (rust/crates/windows-implement-0.60.2.crate) = 15325
+SHA256 (rust/crates/windows-interface-0.59.3.crate) = 3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358
+SIZE (rust/crates/windows-interface-0.59.3.crate) = 11809
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-result-0.4.1.crate) = 7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5
+SIZE (rust/crates/windows-result-0.4.1.crate) = 13381
+SHA256 (rust/crates/windows-strings-0.5.1.crate) = 7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091
+SIZE (rust/crates/windows-strings-0.5.1.crate) = 13966
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows-targets-0.53.5.crate) = 4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3
+SIZE (rust/crates/windows-targets-0.53.5.crate) = 7126
+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_gnullvm-0.53.1.crate) = a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = 787748
+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_aarch64_msvc-0.53.1.crate) = b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006
+SIZE (rust/crates/windows_aarch64_msvc-0.53.1.crate) = 838009
+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_gnu-0.53.1.crate) = 960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3
+SIZE (rust/crates/windows_i686_gnu-0.53.1.crate) = 939775
+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_gnullvm-0.53.1.crate) = fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c
+SIZE (rust/crates/windows_i686_gnullvm-0.53.1.crate) = 857396
+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_i686_msvc-0.53.1.crate) = 1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2
+SIZE (rust/crates/windows_i686_msvc-0.53.1.crate) = 907688
+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_gnu-0.53.1.crate) = 9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499
+SIZE (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 903712
+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_gnullvm-0.53.1.crate) = 0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 787739
+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/windows_x86_64_msvc-0.53.1.crate) = d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650
+SIZE (rust/crates/windows_x86_64_msvc-0.53.1.crate) = 837950
+SHA256 (rust/crates/winnow-0.7.14.crate) = 5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829
+SIZE (rust/crates/winnow-0.7.14.crate) = 184718
+SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
+SIZE (rust/crates/wit-bindgen-0.46.0.crate) = 60508
+SHA256 (rust/crates/write-fonts-0.43.0.crate) = 886614b5ce857341226aa091f3c285e450683894acaaa7887f366c361efef79d
+SIZE (rust/crates/write-fonts-0.43.0.crate) = 254330
+SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
+SIZE (rust/crates/writeable-0.5.5.crate) = 22354
+SHA256 (rust/crates/writeable-0.6.2.crate) = 9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9
+SIZE (rust/crates/writeable-0.6.2.crate) = 25181
+SHA256 (rust/crates/xattr-1.6.1.crate) = 32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156
+SIZE (rust/crates/xattr-1.6.1.crate) = 15952
+SHA256 (rust/crates/xmlparser-0.13.6.crate) = 66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4
+SIZE (rust/crates/xmlparser-0.13.6.crate) = 26718
+SHA256 (rust/crates/xmlwriter-0.1.0.crate) = ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9
+SIZE (rust/crates/xmlwriter-0.1.0.crate) = 6261
+SHA256 (rust/crates/xmp-writer-0.3.2.crate) = ce9e2f4a404d9ebffc0a9832cf4f50907220ba3d7fffa9099261a5cab52f2dd7
+SIZE (rust/crates/xmp-writer-0.3.2.crate) = 21529
+SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
+SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
+SHA256 (rust/crates/yoke-0.7.5.crate) = 120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40
+SIZE (rust/crates/yoke-0.7.5.crate) = 29673
+SHA256 (rust/crates/yoke-0.8.1.crate) = 72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954
+SIZE (rust/crates/yoke-0.8.1.crate) = 32016
+SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154
+SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
+SHA256 (rust/crates/yoke-derive-0.8.1.crate) = b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d
+SIZE (rust/crates/yoke-derive-0.8.1.crate) = 7593
+SHA256 (rust/crates/zerocopy-0.8.31.crate) = fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3
+SIZE (rust/crates/zerocopy-0.8.31.crate) = 257633
+SHA256 (rust/crates/zerocopy-derive-0.8.31.crate) = d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a
+SIZE (rust/crates/zerocopy-derive-0.8.31.crate) = 90835
+SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
+SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
+SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
+SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
+SHA256 (rust/crates/zerotrie-0.1.3.crate) = fb594dd55d87335c5f60177cee24f19457a5ec10a065e0a3014722ad252d0a1f
+SIZE (rust/crates/zerotrie-0.1.3.crate) = 74008
+SHA256 (rust/crates/zerotrie-0.2.3.crate) = 2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851
+SIZE (rust/crates/zerotrie-0.2.3.crate) = 69547
+SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079
+SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
+SHA256 (rust/crates/zerovec-0.11.5.crate) = 6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002
+SIZE (rust/crates/zerovec-0.11.5.crate) = 119620
+SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
+SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
+SHA256 (rust/crates/zerovec-derive-0.11.2.crate) = eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3
+SIZE (rust/crates/zerovec-derive-0.11.2.crate) = 21421
+SHA256 (rust/crates/zlib-rs-0.5.3.crate) = 36134c44663532e6519d7a6dfdbbe06f6f8192bde8ae9ed076e9b213f0e31df7
+SIZE (rust/crates/zlib-rs-0.5.3.crate) = 206418
+SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
+SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
+SHA256 (rust/crates/zune-core-0.5.0.crate) = 111f7d9820f05fd715df3144e254d6fc02ee4088b0644c0ffd0efc9e6d9d2773
+SIZE (rust/crates/zune-core-0.5.0.crate) = 27393
+SHA256 (rust/crates/zune-jpeg-0.4.21.crate) = 29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713
+SIZE (rust/crates/zune-jpeg-0.4.21.crate) = 68268
+SHA256 (rust/crates/zune-jpeg-0.5.5.crate) = dc6fb7703e32e9a07fb3f757360338b3a567a5054f21b5f52a666752e333d58e
+SIZE (rust/crates/zune-jpeg-0.5.5.crate) = 77168
+SHA256 (messense-typst-py-v0.14.4_GH0.tar.gz) = a3983d668d56483d473a10b8395695bea28f06444ac15f3eaae988488eef85d4
+SIZE (messense-typst-py-v0.14.4_GH0.tar.gz) = 55686
diff --git a/textproc/py-typst/files/patch-Cargo.lock b/textproc/py-typst/files/patch-Cargo.lock
new file mode 100644
index 000000000000..737c34cce5e4
--- /dev/null
+++ b/textproc/py-typst/files/patch-Cargo.lock
@@ -0,0 +1,26 @@
+--- Cargo.lock.orig 2025-12-19 20:10:04 UTC
++++ Cargo.lock
+@@ -1505,15 +1505,6 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00
+ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
+
+ [[package]]
+-name = "openssl-src"
+-version = "300.5.4+3.5.4"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72"
+-dependencies = [
+- "cc",
+-]
+-
+-[[package]]
+ name = "openssl-sys"
+ version = "0.9.111"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1521,7 +1512,6 @@ dependencies = [
+ dependencies = [
+ "cc",
+ "libc",
+- "openssl-src",
+ "pkg-config",
+ "vcpkg",
+ ]
diff --git a/textproc/py-typst/files/patch-Cargo.toml b/textproc/py-typst/files/patch-Cargo.toml
new file mode 100644
index 000000000000..96edc6b3f87d
--- /dev/null
+++ b/textproc/py-typst/files/patch-Cargo.toml
@@ -0,0 +1,12 @@
+--- Cargo.toml.orig 2025-12-19 20:11:31 UTC
++++ Cargo.toml
+@@ -27,8 +27,7 @@ typst-kit = { version = "0.14.1", features = [
+ typst = "0.14.1"
+ typst-kit = { version = "0.14.1", features = [
+ "downloads",
+- "embed-fonts",
+- "vendor-openssl",
++ "embed-fonts"
+ ] }
+ typst-pdf = "0.14.1"
+ typst-svg = "0.14.1"
diff --git a/textproc/py-typst/pkg-descr b/textproc/py-typst/pkg-descr
new file mode 100644
index 000000000000..5d3c3642d67c
--- /dev/null
+++ b/textproc/py-typst/pkg-descr
@@ -0,0 +1,2 @@
+Python binding to typst, a new markup-based typesetting system that
+is powerful and easy to learn.
diff --git a/www/gallery-dl/Makefile b/www/gallery-dl/Makefile
index 136b1997104d..d51acefe7c87 100644
--- a/www/gallery-dl/Makefile
+++ b/www/gallery-dl/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gallery-dl
-DISTVERSION= 1.31.0
+DISTVERSION= 1.31.1
CATEGORIES= www
MASTER_SITES= PYPI \
https://github.com/mikf/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/www/gallery-dl/distinfo b/www/gallery-dl/distinfo
index 3f7915ed1078..536199a661d3 100644
--- a/www/gallery-dl/distinfo
+++ b/www/gallery-dl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743510441
-SHA256 (gallery_dl-1.31.0.tar.gz) = 7326b75f1c0b0def9fe19e4abb41f2816551fa85da48bfdd19bf51dacc6e0251
-SIZE (gallery_dl-1.31.0.tar.gz) = 631169
+TIMESTAMP = 1766224201
+SHA256 (gallery_dl-1.31.1.tar.gz) = 5255279a06dcb7e6d0594f80cf693f7f8f07ae94deb8a797358c372a900959d4
+SIZE (gallery_dl-1.31.1.tar.gz) = 633786
diff --git a/www/gohugo/Makefile b/www/gohugo/Makefile
index 4d84b8508b54..ff4a76a2806f 100644
--- a/www/gohugo/Makefile
+++ b/www/gohugo/Makefile
@@ -1,7 +1,6 @@
PORTNAME= hugo
DISTVERSIONPREFIX= v
-DISTVERSION= 0.152.2
-PORTREVISION= 2
+DISTVERSION= 0.153.1
PORTEPOCH= 1
CATEGORIES= www
PKGNAMEPREFIX= go
diff --git a/www/gohugo/distinfo b/www/gohugo/distinfo
index a2485e8ef8c1..17eaf0d053ab 100644
--- a/www/gohugo/distinfo
+++ b/www/gohugo/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1761321118
-SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9fd5c3cb063cae52d4453818b583cedd7c38539a89c826e19603ebd82f28b9a3
-SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9321
-SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5e540330b50c9936664c346da038023e37c0060f92d973a1f42e43c30d807322
-SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5778064
+TIMESTAMP = 1766246231
+SHA256 (go/www_gohugo/hugo-v0.153.1/v0.153.1.mod) = 98394a8bb29b6f7eb3c6c8f2a8a137dcd26dfeb913f40cceb9fb0f731624701c
+SIZE (go/www_gohugo/hugo-v0.153.1/v0.153.1.mod) = 9373
+SHA256 (go/www_gohugo/hugo-v0.153.1/v0.153.1.zip) = c9d231b18033de5d1cae4955c69bf5e50c2a24e8305c51adbd48b8b7f6996a53
+SIZE (go/www_gohugo/hugo-v0.153.1/v0.153.1.zip) = 6850749
diff --git a/www/lexbor/Makefile b/www/lexbor/Makefile
index 1da0d4d8bef1..8cd725b1b541 100644
--- a/www/lexbor/Makefile
+++ b/www/lexbor/Makefile
@@ -1,6 +1,6 @@
PORTNAME= lexbor
DISTVERSIONPREFIX= v
-DISTVERSION= 2.5.0
+DISTVERSION= 2.6.0
CATEGORIES= www
MAINTAINER= alven@FreeBSD.org
@@ -18,8 +18,9 @@ USE_LDCONFIG= yes
CMAKE_TESTING_ON= LEXBOR_BUILD_TESTS
PLIST_SUB= SOVERSION=${DISTVERSION}
+PORTEXAMPLES= *
-OPTIONS_DEFINE= ASAN EXAMPLES STATIC
+OPTIONS_DEFINE= ASAN EXAMPLES STATIC
OPTIONS_SUB= yes
ASAN_DESC= Enable Address Sanitizer if possible
@@ -30,6 +31,6 @@ STATIC_CMAKE_BOOL= LEXBOR_BUILD_STATIC
post-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
+ cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>
diff --git a/www/lexbor/distinfo b/www/lexbor/distinfo
index 6a93973a4514..0e9505f442a1 100644
--- a/www/lexbor/distinfo
+++ b/www/lexbor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755378162
-SHA256 (lexbor-lexbor-v2.5.0_GH0.tar.gz) = d89060bb2fb6f7d0e0f399495155dd15e06697aa2c6568eab70ecd4a43084ba9
-SIZE (lexbor-lexbor-v2.5.0_GH0.tar.gz) = 5371588
+TIMESTAMP = 1764458162
+SHA256 (lexbor-lexbor-v2.6.0_GH0.tar.gz) = e9bb1aa8027ab92f11d5e8e6e7dc9b7bd632248c11a288eec95ade97bb7951a3
+SIZE (lexbor-lexbor-v2.6.0_GH0.tar.gz) = 5549881
diff --git a/www/lexbor/pkg-plist b/www/lexbor/pkg-plist
index e28df80150cc..a74367da2de7 100644
--- a/www/lexbor/pkg-plist
+++ b/www/lexbor/pkg-plist
@@ -159,7 +159,9 @@ include/lexbor/html/interfaces/pre_element.h
include/lexbor/html/interfaces/progress_element.h
include/lexbor/html/interfaces/quote_element.h
include/lexbor/html/interfaces/script_element.h
+include/lexbor/html/interfaces/search_element.h
include/lexbor/html/interfaces/select_element.h
+include/lexbor/html/interfaces/selectedcontent_element.h
include/lexbor/html/interfaces/slot_element.h
include/lexbor/html/interfaces/source_element.h
include/lexbor/html/interfaces/span_element.h
@@ -236,68 +238,3 @@ lib/liblexbor.so
lib/liblexbor.so.2
lib/liblexbor.so.%%SOVERSION%%
%%STATIC%%lib/liblexbor_static.a
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/StyleSheet.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/base.h
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/selectors/list_easy_way.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/selectors/list_fast_way.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/syntax/simple_colorize.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/syntax/structure_parse_file.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/syntax/tokenizer/from_file.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/css/syntax/tokenizer/print_raw.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/buffer/decode/decode.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/buffer/decode/decoder.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/buffer/decode/validate.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/buffer/encode/encode.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/buffer/encode/encoder.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/buffer/encode/validate.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/buffer/from_to.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/data_by_name.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/single/decode/decode.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/single/decode/decoder.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/single/decode/validate.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/single/encode/encode.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/single/encode/encoder.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/single/encode/validate.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/encoding/single/from_to.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/base.h
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/document_parse.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/document_parse_chunk.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/document_title.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/element_attributes.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/element_create.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/element_innerHTML.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/elements_by_attr.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/elements_by_class_name.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/elements_by_tag_name.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/encoding.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/html2sexpr.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/parse.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/parse_chunk.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/tokenizer/callback.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/tokenizer/simple.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/tokenizer/tag_attributes.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/html/tokenizer/text.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/punycode/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/punycode/decode.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/punycode/encode.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/selectors/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/selectors/easy_way.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/selectors/normal_way.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/selectors/unique_nodes.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/styles/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/styles/attribute_style.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/styles/base.h
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/styles/events_insert.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/styles/stylesheet.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/styles/walk.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/unicode/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/unicode/idna_to_ascii.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/unicode/normalization_form.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/unicode/normalization_form_stdin.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/url/CMakeLists.txt
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/url/parse.c
-%%EXAMPLES%%%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lexbor/url/relative.c
diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile
index e7255f246530..ddce36213844 100644
--- a/www/librewolf/Makefile
+++ b/www/librewolf/Makefile
@@ -1,8 +1,7 @@
PORTNAME= librewolf
-DISTVERSION= 146.0
-LWPATCH= -2
+DISTVERSION= 146.0.1
+LWPATCH= -1
DISTVERSIONSUFFIX= ${LWPATCH}.source
-PORTREVISION= 2
CATEGORIES= www wayland
MASTER_SITES= https://gitlab.com/api/v4/projects/32320088/packages/generic/${PORTNAME}-source/${DISTVERSION}${LWPATCH}/
@@ -14,7 +13,7 @@ LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= nspr>=4.32:devel/nspr \
- nss>=3.117:security/nss \
+ nss>=3.118:security/nss \
icu>=76.1:devel/icu \
libevent>=2.1.8:devel/libevent \
harfbuzz>=10.1.0:print/harfbuzz \
diff --git a/www/librewolf/distinfo b/www/librewolf/distinfo
index 07bf6bf48938..df04845d7571 100644
--- a/www/librewolf/distinfo
+++ b/www/librewolf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765483043
-SHA256 (librewolf-146.0-2.source.tar.gz) = 244784bac847344feb091ef7605370a8267df04bf0a71a4a03f01c11b8610046
-SIZE (librewolf-146.0-2.source.tar.gz) = 1033240389
+TIMESTAMP = 1766128003
+SHA256 (librewolf-146.0.1-1.source.tar.gz) = f872b12327543e1e454f9a50be9a7675450aed3e04cc87e1a8c7fb4f235c2bf7
+SIZE (librewolf-146.0.1-1.source.tar.gz) = 1033671870
diff --git a/www/oauth2-proxy/Makefile b/www/oauth2-proxy/Makefile
index 6048d54429e7..7adba9273e5c 100644
--- a/www/oauth2-proxy/Makefile
+++ b/www/oauth2-proxy/Makefile
@@ -1,114 +1,21 @@
PORTNAME= oauth2-proxy
-PORTVERSION= 7.8.0
+PORTVERSION= 7.13.0
DISTVERSIONPREFIX= v
-PORTREVISION= 2
CATEGORIES= www
-MAINTAINER= freebsd@rheinwolf.de
+MAINTAINER= dtxdf@FreeBSD.org
COMMENT= OAuth 2.0 proxy server
WWW= https://github.com/oauth2-proxy/oauth2-proxy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:modules,1.22
-
+USES= go:modules,1.25+
USE_GITHUB= yes
-GH_TUPLE= \
- Bose:minisentinel:917c5a9223bb:bose_minisentinel/vendor/github.com/Bose/minisentinel \
- a8m:envsubst:v1.4.2:a8m_envsubst/vendor/github.com/a8m/envsubst \
- alicebob:gopher-json:906a9b012302:alicebob_gopher_json/vendor/github.com/alicebob/gopher-json \
- alicebob:miniredis:v2.33.0:alicebob_miniredis_v2/vendor/github.com/alicebob/miniredis/v2 \
- benbjohnson:clock:v1.3.5:benbjohnson_clock/vendor/github.com/benbjohnson/clock \
- beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \
- bitly:go-simplejson:v0.5.1:bitly_go_simplejson/vendor/github.com/bitly/go-simplejson \
- bmizerany:assert:b7ed37b82869:bmizerany_assert/vendor/github.com/bmizerany/assert \
- bsm:redislock:v0.9.4:bsm_redislock/vendor/github.com/bsm/redislock \
- census-instrumentation:opencensus-go:v0.24.0:census_instrumentation_opencensus_go/vendor/go.opencensus.io \
- cespare:xxhash:v2.3.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
- coreos:go-oidc:v3.11.0:coreos_go_oidc_v3/vendor/github.com/coreos/go-oidc/v3 \
- coreos:go-systemd:d3cd4ed1dbcf:coreos_go_systemd/vendor/github.com/coreos/go-systemd \
- davecgh:go-spew:d8f796af33cc:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
- dgryski:go-rendezvous:9f7001d12a5f:dgryski_go_rendezvous/vendor/github.com/dgryski/go-rendezvous \
- felixge:httpsnoop:v1.0.4:felixge_httpsnoop/vendor/github.com/felixge/httpsnoop \
- fsnotify:fsnotify:v1.8.0:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
- ghodss:yaml:d8423dcdf344:ghodss_yaml/vendor/github.com/ghodss/yaml \
- go-ini:ini:v1.67.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
- go-jose:go-jose:v3.0.3:go_jose_go_jose_v3/vendor/github.com/go-jose/go-jose/v3 \
- go-jose:go-jose:v4.0.4:go_jose_go_jose_v4/vendor/github.com/go-jose/go-jose/v4 \
- go-logr:logr:v1.4.2:go_logr_logr/vendor/github.com/go-logr/logr \
- go-logr:stdr:v1.2.2:go_logr_stdr/vendor/github.com/go-logr/stdr \
- go-task:slim-sprig:v3.0.0:go_task_slim_sprig_v3/vendor/github.com/go-task/slim-sprig/v3 \
- go-yaml:yaml:v2.4.0:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
- go-yaml:yaml:v3.0.1:go_yaml_yaml_1/vendor/gopkg.in/yaml.v3 \
- golang-jwt:jwt:v5.2.1:golang_jwt_jwt_v5/vendor/github.com/golang-jwt/jwt/v5 \
- golang:crypto:v0.31.0:golang_crypto/vendor/golang.org/x/crypto \
- golang:exp:2d47ceb2692f:golang_exp/vendor/golang.org/x/exp \
- golang:groupcache:41bb18bfe9da:golang_groupcache/vendor/github.com/golang/groupcache \
- golang:net:v0.33.0:golang_net/vendor/golang.org/x/net \
- golang:oauth2:v0.24.0:golang_oauth2/vendor/golang.org/x/oauth2 \
- golang:sync:v0.10.0:golang_sync/vendor/golang.org/x/sync \
- golang:sys:v0.28.0:golang_sys/vendor/golang.org/x/sys \
- golang:text:v0.21.0:golang_text/vendor/golang.org/x/text \
- golang:tools:v0.27.0:golang_tools/vendor/golang.org/x/tools \
- google:go-cmp:v0.6.0:google_go_cmp/vendor/github.com/google/go-cmp \
- google:go-genproto:324edc3d5d38:google_go_genproto/vendor/google.golang.org/genproto \
- google:pprof:d1b30febd7db:google_pprof/vendor/github.com/google/pprof \
- google:s2a-go:v0.1.8:google_s2a_go/vendor/github.com/google/s2a-go \
- google:uuid:v1.6.0:google_uuid/vendor/github.com/google/uuid \
- googleapis:enterprise-certificate-proxy:v0.3.4:googleapis_enterprise_certificate_proxy/vendor/github.com/googleapis/enterprise-certificate-proxy \
- googleapis:gax-go:v2.13.0:googleapis_gax_go_v2/vendor/github.com/googleapis/gax-go \
- googleapis:google-api-go-client:v0.205.0:googleapis_google_api_go_client/vendor/google.golang.org/api \
- googleapis:google-cloud-go:auth/v0.10.1:googleapis_google_cloud_go_auth/vendor/cloud.google.com/go \
- googleapis:google-cloud-go:auth/oauth2adapt/v0.2.5:googleapis_google_cloud_go/vendor/cloud.google.com/go/auth/oauth2adapt \
- googleapis:google-cloud-go:compute/metadata/v0.5.2:googleapis_google_cloud_go_1/vendor/cloud.google.com/go/compute/metadata \
- gorilla:mux:v1.8.1:gorilla_mux/vendor/github.com/gorilla/mux \
- grpc:grpc-go:v1.67.1:grpc_grpc_go/vendor/google.golang.org/grpc \
- hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
- justinas:alice:v1.2.0:justinas_alice/vendor/github.com/justinas/alice \
- klauspost:compress:v1.17.10:klauspost_compress/vendor/github.com/klauspost/compress \
- kubernetes:apimachinery:v0.31.2:kubernetes_apimachinery/vendor/k8s.io/apimachinery \
- kubernetes:gengo:a0386bf69313:kubernetes_gengo/vendor/k8s.io/gengo \
- kubernetes:klog:v2.130.1:kubernetes_klog/vendor/k8s.io/klog/v2 \
- kylelemons:godebug:v1.1.0:kylelemons_godebug/vendor/github.com/kylelemons/godebug \
- magiconair:properties:v1.8.7:magiconair_properties/vendor/github.com/magiconair/properties \
- mbland:hmacauth:44256dfd4bfa:mbland_hmacauth/vendor/github.com/mbland/hmacauth \
- mitchellh:mapstructure:v1.5.0:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
- munnerz:goautoneg:a7dc8b61c822:munnerz_goautoneg/vendor/github.com/munnerz/goautoneg \
- natefinch:lumberjack:v2.2.1:natefinch_lumberjack/vendor/gopkg.in/natefinch/lumberjack.v2 \
- nxadm:tail:v1.4.11:nxadm_tail/vendor/github.com/nxadm/tail \
- oauth2-proxy:mockoidc:caebfff84d25:oauth2_proxy_mockoidc/vendor/github.com/oauth2-proxy/mockoidc \
- oauth2-proxy:tools:d3b50d1a591a:oauth2_proxy_tools_reference_gen/vendor/github.com/oauth2-proxy/tools \
- onsi:ginkgo:v1.16.5:onsi_ginkgo/vendor/github.com/onsi/ginkgo \
- onsi:ginkgo:v2.21.0:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
- onsi:gomega:v1.35.1:onsi_gomega/vendor/github.com/onsi/gomega \
- open-telemetry:opentelemetry-go-contrib:v1.30.0:open_telemetry_opentelemetry_go_contrib/vendor/go.opentelemetry.io/contrib \
- open-telemetry:opentelemetry-go:v1.30.0:open_telemetry_opentelemetry_go/vendor/go.opentelemetry.io/otel \
- pelletier:go-toml:v2.2.3:pelletier_go_toml_v2/vendor/github.com/pelletier/go-toml/v2 \
- pierrec:lz4:v4.1.21:pierrec_lz4_v4/vendor/github.com/pierrec/lz4/v4 \
- pmezard:go-difflib:5d4384ee4fb2:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
- prometheus:client_golang:v1.20.5:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
- prometheus:client_model:v0.6.1:prometheus_client_model/vendor/github.com/prometheus/client_model \
- prometheus:common:v0.59.1:prometheus_common/vendor/github.com/prometheus/common \
- prometheus:procfs:v0.15.1:prometheus_procfs/vendor/github.com/prometheus/procfs \
- protocolbuffers:protobuf-go:v1.35.1:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
- redis:go-redis:v9.7.0:redis_go_redis_v9/vendor/github.com/redis/go-redis/v9 \
- sagikazarmark:locafero:v0.6.0:sagikazarmark_locafero/vendor/github.com/sagikazarmark/locafero \
- sagikazarmark:slog-shim:v0.1.0:sagikazarmark_slog_shim/vendor/github.com/sagikazarmark/slog-shim \
- sourcegraph:conc:v0.3.0:sourcegraph_conc/vendor/github.com/sourcegraph/conc \
- spf13:afero:v1.11.0:spf13_afero/vendor/github.com/spf13/afero \
- spf13:cast:v1.7.0:spf13_cast/vendor/github.com/spf13/cast \
- spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \
- spf13:viper:v1.19.0:spf13_viper/vendor/github.com/spf13/viper \
- stretchr:testify:v1.9.0:stretchr_testify/vendor/github.com/stretchr/testify \
- subosito:gotenv:v1.6.0:subosito_gotenv/vendor/github.com/subosito/gotenv \
- uber-go:multierr:v1.11.0:uber_go_multierr/vendor/go.uber.org/multierr \
- vmihailenco:msgpack:v5.4.1:vmihailenco_msgpack_v5/vendor/github.com/vmihailenco/msgpack/v5 \
- vmihailenco:tagparser:v2.0.0:vmihailenco_tagparser_v2/vendor/github.com/vmihailenco/tagparser/v2 \
- yuin:gopher-lua:v1.1.1:yuin_gopher_lua/vendor/github.com/yuin/gopher-lua
-
USE_RC_SUBR= oauth2_proxy
+GO_MOD_DIST= github
+GO_MODULE= github.com/${PORTNAME}/${PORTNAME}
GO_BUILDFLAGS= -v -ldflags="-s -X github.com/${PORTNAME}/${PORTNAME}/v7/pkg/version.VERSION=${PORTVERSION}"
USER= www
diff --git a/www/oauth2-proxy/distinfo b/www/oauth2-proxy/distinfo
index 4e5360e2888f..d473d517a4c4 100644
--- a/www/oauth2-proxy/distinfo
+++ b/www/oauth2-proxy/distinfo
@@ -1,185 +1,5 @@
-TIMESTAMP = 1736858583
-SHA256 (oauth2-proxy-oauth2-proxy-v7.8.0_GH0.tar.gz) = 022ab4e949cd541f9709d6cbca7f4fce6fa8123404bc9a2f8f73892a8609d734
-SIZE (oauth2-proxy-oauth2-proxy-v7.8.0_GH0.tar.gz) = 1408013
-SHA256 (Bose-minisentinel-917c5a9223bb_GH0.tar.gz) = c765c12a0ed631ae864f74ee606279a0962f3a87c4274cea6e8d922b0ad8a98e
-SIZE (Bose-minisentinel-917c5a9223bb_GH0.tar.gz) = 8352
-SHA256 (a8m-envsubst-v1.4.2_GH0.tar.gz) = 3692eb658657ffdec5725ae2accd96a05ac6097d770a7bdfd622410983962387
-SIZE (a8m-envsubst-v1.4.2_GH0.tar.gz) = 12316
-SHA256 (alicebob-gopher-json-906a9b012302_GH0.tar.gz) = 5899fe9fd1e1401062ef8330e63be498cfbfeabe2efb4394610c1062b1a73e1d
-SIZE (alicebob-gopher-json-906a9b012302_GH0.tar.gz) = 3634
-SHA256 (alicebob-miniredis-v2.33.0_GH0.tar.gz) = 0d0f1be7d1708ce2b814f11dc17e192efdd330404a47ae216613f69a89673e76
-SIZE (alicebob-miniredis-v2.33.0_GH0.tar.gz) = 187511
-SHA256 (benbjohnson-clock-v1.3.5_GH0.tar.gz) = d26928c5301d8f7feedebeda0506599fa8c9aeb0b724de619b9d468df441a33c
-SIZE (benbjohnson-clock-v1.3.5_GH0.tar.gz) = 9183
-SHA256 (beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7ee7a1a7ace28cb648d818f8e779e6a19f825
-SIZE (beorn7-perks-v1.0.1_GH0.tar.gz) = 10867
-SHA256 (bitly-go-simplejson-v0.5.1_GH0.tar.gz) = ef4c1cc5aa25a5d681b7cc22c6eac7d60efd705a1ac4da60e5d8fd7ab942db48
-SIZE (bitly-go-simplejson-v0.5.1_GH0.tar.gz) = 6177
-SHA256 (bmizerany-assert-b7ed37b82869_GH0.tar.gz) = f7dc11f10c5e52a94c836e15e7aff05ad4afba7436f66e5f4506806627c4635e
-SIZE (bmizerany-assert-b7ed37b82869_GH0.tar.gz) = 1469
-SHA256 (bsm-redislock-v0.9.4_GH0.tar.gz) = b77a6f71c12dc6d3aa3ad17aa634b01542aae352da2e2ae6c24a9b9ba85f3f92
-SIZE (bsm-redislock-v0.9.4_GH0.tar.gz) = 7326
-SHA256 (census-instrumentation-opencensus-go-v0.24.0_GH0.tar.gz) = 048708914541817193330ce052026deb0c617c9d953ac15ae601ab2bde5788d1
-SIZE (census-instrumentation-opencensus-go-v0.24.0_GH0.tar.gz) = 176752
-SHA256 (cespare-xxhash-v2.3.0_GH0.tar.gz) = 0e3dda07b03a5f3733506218860ecb2d50c0f01f16299b5d60902ef5158cbde5
-SIZE (cespare-xxhash-v2.3.0_GH0.tar.gz) = 12696
-SHA256 (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 2d1bdf5f218d60a1b16cdaeff5c6ae85a620227e9bdc57a00217a26e70256455
-SIZE (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 31542
-SHA256 (coreos-go-systemd-d3cd4ed1dbcf_GH0.tar.gz) = 89fc7afa3593ee4d6f91087fa47d02ade4103882f0a33225faec7b922ce5ebc4
-SIZE (coreos-go-systemd-d3cd4ed1dbcf_GH0.tar.gz) = 67792
-SHA256 (davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 21505c2cb5cb4e2b8ae3007f3f6db6edb9f1c28511f98975b6b0dedf0e3fa24e
-SIZE (davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 42183
-SHA256 (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 29584550745fd4b8fce2e2f3def7b9d9ffe2b86cf9b6596b53a660c9bbfe27b6
-SIZE (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 1699
-SHA256 (felixge-httpsnoop-v1.0.4_GH0.tar.gz) = ffb63ba081e4c2360342dea2079d08b8560c315b2f458885fd34639786a1aa3d
-SIZE (felixge-httpsnoop-v1.0.4_GH0.tar.gz) = 11954
-SHA256 (fsnotify-fsnotify-v1.8.0_GH0.tar.gz) = 3c4cbec6225307397717f18bb87ffc496e59d0f802a41fff572bf09e5dbf6e2b
-SIZE (fsnotify-fsnotify-v1.8.0_GH0.tar.gz) = 72325
-SHA256 (ghodss-yaml-d8423dcdf344_GH0.tar.gz) = 1595e11cd70d828f1fab36d2d6569df0f852f464d812f903692f9cabc03974fc
-SIZE (ghodss-yaml-d8423dcdf344_GH0.tar.gz) = 14394
-SHA256 (go-ini-ini-v1.67.0_GH0.tar.gz) = 06ba51234140118d1b6064f1817aa89cc971c6e7ce04cb9d286e6660d89296c8
-SIZE (go-ini-ini-v1.67.0_GH0.tar.gz) = 53531
-SHA256 (go-jose-go-jose-v3.0.3_GH0.tar.gz) = 219d024b85ea217ac466c4ced46e2071d6ea52269d399b610723b7c905c0f8a5
-SIZE (go-jose-go-jose-v3.0.3_GH0.tar.gz) = 320882
-SHA256 (go-jose-go-jose-v4.0.4_GH0.tar.gz) = d7bbccbad3d94d0ba54daea2bf590c9262c390863a911eca7d7063dd0336734d
-SIZE (go-jose-go-jose-v4.0.4_GH0.tar.gz) = 319335
-SHA256 (go-logr-logr-v1.4.2_GH0.tar.gz) = d06d6b9c3aa0cc42ba65ebcecd789addd149c859ca33a8878308f89590bf9fbd
-SIZE (go-logr-logr-v1.4.2_GH0.tar.gz) = 57464
-SHA256 (go-logr-stdr-v1.2.2_GH0.tar.gz) = 37d975b280d884ca0d55a800bc6e47314b6e86268e56254f9d15d19ca9404eb8
-SIZE (go-logr-stdr-v1.2.2_GH0.tar.gz) = 9098
-SHA256 (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 673b1acc819c60899e78b00f20da2b8270a0e370c01d3def9cda0a86167881fb
-SIZE (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 40249
-SHA256 (go-yaml-yaml-v2.4.0_GH0.tar.gz) = d8e94679e5fff6bd1a35e10241543929a5f3da44f701755babf99b3daf0faac0
-SIZE (go-yaml-yaml-v2.4.0_GH0.tar.gz) = 73209
-SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
-SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
-SHA256 (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 76d1c81a7cd38ed03309f770f60ac3417f16c75b4c53a0c01bb783863783fef0
-SIZE (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 61340
-SHA256 (golang-crypto-v0.31.0_GH0.tar.gz) = 36e325f89d4cd03ec568d92c74d6affd2b1fb88fcdc63aeb15d1df41e11200ca
-SIZE (golang-crypto-v0.31.0_GH0.tar.gz) = 1837859
-SHA256 (golang-exp-2d47ceb2692f_GH0.tar.gz) = 3ed4f8b00a52b74a82e544a66175dba5394c287ed9d70453085479795f1e0167
-SIZE (golang-exp-2d47ceb2692f_GH0.tar.gz) = 1750245
-SHA256 (golang-groupcache-41bb18bfe9da_GH0.tar.gz) = 1e89795970d6593affdafe1d09dcf947681ca1ea82528e8e4fb9974a77f2e394
-SIZE (golang-groupcache-41bb18bfe9da_GH0.tar.gz) = 26101
-SHA256 (golang-net-v0.33.0_GH0.tar.gz) = 675e0ceaf54baf4f6e2a5152fe148906119c97e7b1d37d1c44ec2621faeab0e8
-SIZE (golang-net-v0.33.0_GH0.tar.gz) = 1466426
-SHA256 (golang-oauth2-v0.24.0_GH0.tar.gz) = b14b6ae831727f39534bd617dbb53cd139074dbadcf58eafe8566145ed0231f0
-SIZE (golang-oauth2-v0.24.0_GH0.tar.gz) = 98494
-SHA256 (golang-sync-v0.10.0_GH0.tar.gz) = 2a7b7c36a89b444213ec3237a21dd1ca6ed351adf423666cc6bf853711a13f3d
-SIZE (golang-sync-v0.10.0_GH0.tar.gz) = 18099
-SHA256 (golang-sys-v0.28.0_GH0.tar.gz) = 62726b1ccbb09c7e8de2215756a26012751bdded12b5bacc6de83296db694ebf
-SIZE (golang-sys-v0.28.0_GH0.tar.gz) = 1519898
-SHA256 (golang-text-v0.21.0_GH0.tar.gz) = d64dbf40a8ae06c4805895e48553ecdadaed07089d8ed2168a0d61551d17ff22
-SIZE (golang-text-v0.21.0_GH0.tar.gz) = 8964782
-SHA256 (golang-tools-v0.27.0_GH0.tar.gz) = 7e187e6ab17b0b9df1870ce52e27e335bcaf3d5e1e3a7df1d0e047816ccf6d82
-SIZE (golang-tools-v0.27.0_GH0.tar.gz) = 7084838
-SHA256 (google-go-cmp-v0.6.0_GH0.tar.gz) = d14f7d57b0f6d25771bee3d7d5d038f532539e71bfc934772b1c0467ab90fa86
-SIZE (google-go-cmp-v0.6.0_GH0.tar.gz) = 104784
-SHA256 (google-go-genproto-324edc3d5d38_GH0.tar.gz) = 573361f8e0118efd9d0ea127270402de7a891cdc4ef36f748473cf004e92c96d
-SIZE (google-go-genproto-324edc3d5d38_GH0.tar.gz) = 5879419
-SHA256 (google-pprof-d1b30febd7db_GH0.tar.gz) = fc3a4f103342ea85bec2d14dc769e82ab223ab4cc6ef45bf33a471f5039fe4b1
-SIZE (google-pprof-d1b30febd7db_GH0.tar.gz) = 4757636
-SHA256 (google-s2a-go-v0.1.8_GH0.tar.gz) = f242c36165429f4ffbd73e49dd18a6b1f39fa040ad8cdfdf9a60080ad84e8960
-SIZE (google-s2a-go-v0.1.8_GH0.tar.gz) = 275964
-SHA256 (google-uuid-v1.6.0_GH0.tar.gz) = ee63376b5675376c60e055ed66e5f3651ccc703bd580c022b8ad00cea309252d
-SIZE (google-uuid-v1.6.0_GH0.tar.gz) = 20896
-SHA256 (googleapis-enterprise-certificate-proxy-v0.3.4_GH0.tar.gz) = 3bb00eaeb1ec49b8a39bf134d0f23b161f655b50ce15ccd78ff51e6149152bce
-SIZE (googleapis-enterprise-certificate-proxy-v0.3.4_GH0.tar.gz) = 39560
-SHA256 (googleapis-gax-go-v2.13.0_GH0.tar.gz) = b27ac1a2d9b458bdf0857ff2be66c3e5aec8034316d5dbba5ff624095bd97614
-SIZE (googleapis-gax-go-v2.13.0_GH0.tar.gz) = 63684
-SHA256 (googleapis-google-api-go-client-v0.205.0_GH0.tar.gz) = 2e1db8d544786938c8af79217e7e6af0d9ffac06a3cfe84f07e4f8d222dc3695
-SIZE (googleapis-google-api-go-client-v0.205.0_GH0.tar.gz) = 35903881
-SHA256 (googleapis-google-cloud-go-auth-v0.10.1_GH0.tar.gz) = f43aca25626277fa67cc658b18b9b9178a28c6311451e34e93dd43031db7613d
-SIZE (googleapis-google-cloud-go-auth-v0.10.1_GH0.tar.gz) = 31313887
-SHA256 (googleapis-google-cloud-go-auth-oauth2adapt-v0.2.5_GH0.tar.gz) = ca8ee7c1fbd4d2d5d05d821beeafe24e8d10bc12bb8411adbf6a275d716e2fba
-SIZE (googleapis-google-cloud-go-auth-oauth2adapt-v0.2.5_GH0.tar.gz) = 31273589
-SHA256 (googleapis-google-cloud-go-compute-metadata-v0.5.2_GH0.tar.gz) = 4db3b2bc0e383d3282aaab93e207117a97bfd5d35ae1ca2f6fc105319245f7af
-SIZE (googleapis-google-cloud-go-compute-metadata-v0.5.2_GH0.tar.gz) = 30572898
-SHA256 (gorilla-mux-v1.8.1_GH0.tar.gz) = c2a09e78d1886abb2d291b472eba3ac9185acb35234c1f5616669664ba893d6d
-SIZE (gorilla-mux-v1.8.1_GH0.tar.gz) = 47033
-SHA256 (grpc-grpc-go-v1.67.1_GH0.tar.gz) = b2a3efc5e4d48ee7b3e9c2f5b9659571f4c2b9045b0b567be7887ad7bef87ef8
-SIZE (grpc-grpc-go-v1.67.1_GH0.tar.gz) = 2206223
-SHA256 (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
-SIZE (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658
-SHA256 (justinas-alice-v1.2.0_GH0.tar.gz) = 12171459da7096e0d34a0972387e15978ad7b0e73c83ce04ba2f89c44a22336b
-SIZE (justinas-alice-v1.2.0_GH0.tar.gz) = 4568
-SHA256 (klauspost-compress-v1.17.10_GH0.tar.gz) = e6968d229011a9323aab4d09b717db26ebebfaeff04ef15a93f7334d6bac5ac5
-SIZE (klauspost-compress-v1.17.10_GH0.tar.gz) = 38748986
-SHA256 (kubernetes-apimachinery-v0.31.2_GH0.tar.gz) = ca048e6eb19d99bd5da77a6345dc7ddf80d1922deff8d457998ed7d7b4e61112
-SIZE (kubernetes-apimachinery-v0.31.2_GH0.tar.gz) = 736809
-SHA256 (kubernetes-gengo-a0386bf69313_GH0.tar.gz) = 38722818db9004d83437724473dca40166974a7c4059565c39325e88f584bcd6
-SIZE (kubernetes-gengo-a0386bf69313_GH0.tar.gz) = 150799
-SHA256 (kubernetes-klog-v2.130.1_GH0.tar.gz) = 22abd8126261ef47d92e3faa4100b7a309eb9be6c2a709b4268d81b85cc48768
-SIZE (kubernetes-klog-v2.130.1_GH0.tar.gz) = 106990
-SHA256 (kylelemons-godebug-v1.1.0_GH0.tar.gz) = 72cc6f274fbd165b7674280f836a6b400e80dbae055919e101920dedf50e79db
-SIZE (kylelemons-godebug-v1.1.0_GH0.tar.gz) = 17637
-SHA256 (magiconair-properties-v1.8.7_GH0.tar.gz) = 09e950df1970975400edc7f6c2f9e3edace4e1ea49f823006387d130fb0f4f03
-SIZE (magiconair-properties-v1.8.7_GH0.tar.gz) = 31425
-SHA256 (mbland-hmacauth-44256dfd4bfa_GH0.tar.gz) = f5b9d6aff7eba04766d11cdc780d08458324f158f893ba84479f045dde75cb23
-SIZE (mbland-hmacauth-44256dfd4bfa_GH0.tar.gz) = 6192
-SHA256 (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 81106cbac93000812c194b4a2069dd32913ec18819b1e99e8436595ce4939413
-SIZE (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 30123
-SHA256 (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 3a455e3bcf8237ecee0385f97223ca821ec2547284e827e90f94a4984801ca1c
-SIZE (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 2810
-SHA256 (natefinch-lumberjack-v2.2.1_GH0.tar.gz) = 935582f3f3377f09604bce4ab0488092d71c0d9ff3e9359a397f00ab6caed658
-SIZE (natefinch-lumberjack-v2.2.1_GH0.tar.gz) = 12568
-SHA256 (nxadm-tail-v1.4.11_GH0.tar.gz) = f20a022655bb5acdb364382418d0481f938e761be7d4233af61b0d4659ae1812
-SIZE (nxadm-tail-v1.4.11_GH0.tar.gz) = 1175268
-SHA256 (oauth2-proxy-mockoidc-caebfff84d25_GH0.tar.gz) = 8dd06edfda30b798af4305012cd2999df8985499ff3ccff0045d785cdf66d884
-SIZE (oauth2-proxy-mockoidc-caebfff84d25_GH0.tar.gz) = 20679
-SHA256 (oauth2-proxy-tools-d3b50d1a591a_GH0.tar.gz) = 11076a32e1fed39b4f02a7b86dae35ff1a3ba20d68464c281f185c1ba30aad04
-SIZE (oauth2-proxy-tools-d3b50d1a591a_GH0.tar.gz) = 20290
-SHA256 (onsi-ginkgo-v1.16.5_GH0.tar.gz) = 0380c81321b764b75e76a7aa8fc8ab1ab361232a88d5b6124ef8b9a9e75d5287
-SIZE (onsi-ginkgo-v1.16.5_GH0.tar.gz) = 164965
-SHA256 (onsi-ginkgo-v2.21.0_GH0.tar.gz) = 77736d4f5c76cbf8147c708f0da249c6658de1c7327cca2095a934952228e68d
-SIZE (onsi-ginkgo-v2.21.0_GH0.tar.gz) = 643200
-SHA256 (onsi-gomega-v1.35.1_GH0.tar.gz) = 3b37c591e1d3b5809379ab7eac333d28ecf576e7f4242504e87a8bdbafccd0b6
-SIZE (onsi-gomega-v1.35.1_GH0.tar.gz) = 320285
-SHA256 (open-telemetry-opentelemetry-go-contrib-v1.30.0_GH0.tar.gz) = 045e59b01768cedcfbed54d8a08367a18c91e585246755c034d9c51d9a32f0bb
-SIZE (open-telemetry-opentelemetry-go-contrib-v1.30.0_GH0.tar.gz) = 642233
-SHA256 (open-telemetry-opentelemetry-go-v1.30.0_GH0.tar.gz) = 1c9a09665e4e259ac333c29162f877081498a03e2736688bea6b57a00daa4171
-SIZE (open-telemetry-opentelemetry-go-v1.30.0_GH0.tar.gz) = 1793133
-SHA256 (pelletier-go-toml-v2.2.3_GH0.tar.gz) = 3a5dfdc1e543efd6032813cb27a5b06d66bbefbbcc88bb664f69d605725c42af
-SIZE (pelletier-go-toml-v2.2.3_GH0.tar.gz) = 909237
-SHA256 (pierrec-lz4-v4.1.21_GH0.tar.gz) = 8b8d3f7b3fe39ce4ae117b45949d6dbb9c496e719d87a2d7c2ce33ad0228e53a
-SIZE (pierrec-lz4-v4.1.21_GH0.tar.gz) = 40916350
-SHA256 (pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 8574a5cbc435057352a17ff9e6ad40190f3b9d623cd9ab0cdfa6c1d8f0bea0b2
-SIZE (pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 11395
-SHA256 (prometheus-client_golang-v1.20.5_GH0.tar.gz) = ab8aa5a2a56f2fb739ea7db4485d0a05df30476924a872b28cce3a319a347af8
-SIZE (prometheus-client_golang-v1.20.5_GH0.tar.gz) = 1103272
-SHA256 (prometheus-client_model-v0.6.1_GH0.tar.gz) = b9b690bc35d80061f255faa7df7621eae39fe157179ccd78ff6409c3b004f05e
-SIZE (prometheus-client_model-v0.6.1_GH0.tar.gz) = 17373
-SHA256 (prometheus-common-v0.59.1_GH0.tar.gz) = 667945e10c2d90771ae66765d483a8cceb9966fe031444401162a1b8ccf6235c
-SIZE (prometheus-common-v0.59.1_GH0.tar.gz) = 151575
-SHA256 (prometheus-procfs-v0.15.1_GH0.tar.gz) = ba96bb6d45f1fcbff820c7d844e6acdef4416bb0ff2d9e24656f5cbacb8e46b5
-SIZE (prometheus-procfs-v0.15.1_GH0.tar.gz) = 243687
-SHA256 (protocolbuffers-protobuf-go-v1.35.1_GH0.tar.gz) = 7cead1a711d682796b343931a9b54b3b07dd83456baeda6c069432235de45437
-SIZE (protocolbuffers-protobuf-go-v1.35.1_GH0.tar.gz) = 1522321
-SHA256 (redis-go-redis-v9.7.0_GH0.tar.gz) = 9d3b851826714defd3c9348cefcd262528ecf22aeb747d00ca14fa22bb3f85bb
-SIZE (redis-go-redis-v9.7.0_GH0.tar.gz) = 319712
-SHA256 (sagikazarmark-locafero-v0.6.0_GH0.tar.gz) = 2a1ba4cb44d1858b77fb750f6f72f1b3b3d013ef8731644bdc0a6fdc9e3f28be
-SIZE (sagikazarmark-locafero-v0.6.0_GH0.tar.gz) = 11140
-SHA256 (sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = a594ec7e138265768a5c23f8ab460724d8215db45dc1bddde4743bca3373803d
-SIZE (sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = 10872
-SHA256 (sourcegraph-conc-v0.3.0_GH0.tar.gz) = c20a36ef6e8cd4721b8824d3e0a590d78f56ce72ace53ec7fdd2f7a978e9240f
-SIZE (sourcegraph-conc-v0.3.0_GH0.tar.gz) = 23021
-SHA256 (spf13-afero-v1.11.0_GH0.tar.gz) = f83f67c4a03d8bba2b7fe1a496e848b2b1b7d97d0b951d85d2b401e7488a4ed4
-SIZE (spf13-afero-v1.11.0_GH0.tar.gz) = 89257
-SHA256 (spf13-cast-v1.7.0_GH0.tar.gz) = ba68ec49ece842dd15ea5a0f4293510617fefcf2d175f780bcf710dce42567b3
-SIZE (spf13-cast-v1.7.0_GH0.tar.gz) = 15675
-SHA256 (spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac0962cf0520999e3ba85f0c7b808
-SIZE (spf13-pflag-v1.0.5_GH0.tar.gz) = 50796
-SHA256 (spf13-viper-v1.19.0_GH0.tar.gz) = bd754a586de7b8f6e54037b715765833f8120cb8bdbb4240a69c6537a0ccdfd5
-SIZE (spf13-viper-v1.19.0_GH0.tar.gz) = 119990
-SHA256 (stretchr-testify-v1.9.0_GH0.tar.gz) = ee651d4d4427d55096007190398102383498e6b5cf97ea9e89ad6e72b4115fbb
-SIZE (stretchr-testify-v1.9.0_GH0.tar.gz) = 108663
-SHA256 (subosito-gotenv-v1.6.0_GH0.tar.gz) = 51a5a8e36f30ddd97866779e93c4e93b0d4958a60fabd1d17fc2226bfe7823db
-SIZE (subosito-gotenv-v1.6.0_GH0.tar.gz) = 11470
-SHA256 (uber-go-multierr-v1.11.0_GH0.tar.gz) = 8aa599cf7de733306cf8770f854f8a38e6c819b1ae4296f15e44b1e7c6698f34
-SIZE (uber-go-multierr-v1.11.0_GH0.tar.gz) = 16900
-SHA256 (vmihailenco-msgpack-v5.4.1_GH0.tar.gz) = cffb190f68ddf9d248e1587080466981ed911cf08901c6a81f4edc8d66b69f90
-SIZE (vmihailenco-msgpack-v5.4.1_GH0.tar.gz) = 37770
-SHA256 (vmihailenco-tagparser-v2.0.0_GH0.tar.gz) = 676b99c051fef68d1b0fb0385103de0e42a3ee556919b2b54ff5d3445bac56dd
-SIZE (vmihailenco-tagparser-v2.0.0_GH0.tar.gz) = 3683
-SHA256 (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 9e706d96c11314a4b3e2034eb10726e48cc7e7e7e31d4765a675f901ee6a9a7e
-SIZE (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 170691
+TIMESTAMP = 1766124297
+SHA256 (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/go.mod) = 243c71806d34c5b14499725b5d613c9d3ababd728b85d0dacf25a7cbb9304113
+SIZE (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/go.mod) = 3908
+SHA256 (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/oauth2-proxy-oauth2-proxy-v7.13.0_GH0.tar.gz) = 86d005585f753cda3495cf68f231bcb3be13d7c96d80c8890c0f9939e0bddcad
+SIZE (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/oauth2-proxy-oauth2-proxy-v7.13.0_GH0.tar.gz) = 1661775
diff --git a/www/oauth2-proxy/files/patch-go.mod b/www/oauth2-proxy/files/patch-go.mod
deleted file mode 100644
index 897d617d0268..000000000000
--- a/www/oauth2-proxy/files/patch-go.mod
+++ /dev/null
@@ -1,10 +0,0 @@
---- go.mod.orig 2024-10-07 07:27:24 UTC
-+++ go.mod
-@@ -1,6 +1,6 @@ module github.com/oauth2-proxy/oauth2-proxy/v7
- module github.com/oauth2-proxy/oauth2-proxy/v7
-
--go 1.22.7
-+go 1.22
-
- require (
- cloud.google.com/go/compute/metadata v0.5.2
diff --git a/x11-fonts/Makefile b/x11-fonts/Makefile
index 5f8d5d603db9..6f0d896a1ba0 100644
--- a/x11-fonts/Makefile
+++ b/x11-fonts/Makefile
@@ -303,6 +303,7 @@
SUBDIR += py-opentype-sanitizer
SUBDIR += py-opentypespec
SUBDIR += py-shaperglot
+ SUBDIR += py-rendercv-fonts
SUBDIR += py-ufo2ft
SUBDIR += py-ufoLib
SUBDIR += py-ufolint
diff --git a/x11-fonts/py-rendercv-fonts/Makefile b/x11-fonts/py-rendercv-fonts/Makefile
new file mode 100644
index 000000000000..747ffd25d739
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= rendercv-fonts
+DISTVERSION= 0.5.1
+CATEGORIES= x11-fonts python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= rendercv_fonts-${DISTVERSION}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Some fonts for RenderCV
+WWW= https://github.com/rendercv/rendercv-fonts \
+ https://pypi.org/project/rendercv-fonts
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/x11-fonts/py-rendercv-fonts/distinfo b/x11-fonts/py-rendercv-fonts/distinfo
new file mode 100644
index 000000000000..d04daf0d8249
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1766177557
+SHA256 (rendercv_fonts-0.5.1.tar.gz) = f7ea8f33bb1338d9ce41c036066ffb8a482cc182c0f36e183d73a42e2da91ee5
+SIZE (rendercv_fonts-0.5.1.tar.gz) = 33041210
diff --git a/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml b/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml
new file mode 100644
index 000000000000..02b4185a9237
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig 2025-12-19 20:56:16 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["hatchling==1.26.3"]
++requires = ["hatchling"]
+ build-backend = "hatchling.build"
+
+ [tool.hatch.build.targets.wheel]
diff --git a/x11-fonts/py-rendercv-fonts/pkg-descr b/x11-fonts/py-rendercv-fonts/pkg-descr
new file mode 100644
index 000000000000..79118867a96d
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/pkg-descr
@@ -0,0 +1,2 @@
+rendercv-fonts is a python package with some fonts for the rendercv
+package.
diff --git a/x11-toolkits/py-wxPython4/Makefile b/x11-toolkits/py-wxPython4/Makefile
index a6ba4846eb7b..5655d2574f91 100644
--- a/x11-toolkits/py-wxPython4/Makefile
+++ b/x11-toolkits/py-wxPython4/Makefile
@@ -1,6 +1,5 @@
PORTNAME= wxPython
-PORTVERSION= 4.2.2
-PORTREVISION= 2
+PORTVERSION= 4.2.3
CATEGORIES= x11-toolkits python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -17,12 +16,16 @@ LICENSE_NAME_WXWINDOWS= wxWindows Library Licence, Version 3.1
LICENSE_FILE_WXWINDOWS= ${WRKSRC}/license/licence.txt
LICENSE_PERMS_WXWINDOWS= dist-mirror pkg-mirror auto-accept
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pathlib2>0:devel/py-pathlib2@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pathlib2>0:devel/py-pathlib2@${PY_FLAVOR} \
+ ${PKGNAMEPREFIX}requests>=2.28.1:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PKGNAMEPREFIX}requests>=2.28.1:www/py-requests@${PY_FLAVOR}
USES= compiler:c++11-lib gl localbase pkgconfig python
USE_GL= glu
USE_WX= 3.2
-USE_PYTHON= distutils autoplist
+USE_PYTHON= autoplist distutils
OPTIONS_DEFINE= NLS
diff --git a/x11-toolkits/py-wxPython4/distinfo b/x11-toolkits/py-wxPython4/distinfo
index d652e878b837..e08eb2d2eddc 100644
--- a/x11-toolkits/py-wxPython4/distinfo
+++ b/x11-toolkits/py-wxPython4/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736528844
-SHA256 (python/wxPython-4.2.2.tar.gz) = 5dbcb0650f67fdc2c5965795a255ffaa3d7b09fb149aa8da2d0d9aa44e38e2ba
-SIZE (python/wxPython-4.2.2.tar.gz) = 57358880
+TIMESTAMP = 1766213363
+SHA256 (python/wxPython-4.2.3.tar.gz) = 20d6e0c927e27ced85643719bd63e9f7fd501df6e9a8aab1489b039897fd7c01
+SIZE (python/wxPython-4.2.3.tar.gz) = 58861286
diff --git a/x11-toolkits/py-wxPython4/files/patch-setup.py b/x11-toolkits/py-wxPython4/files/patch-setup.py
new file mode 100644
index 000000000000..8222dfc10e39
--- /dev/null
+++ b/x11-toolkits/py-wxPython4/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2024-11-05 05:01:05 UTC
++++ setup.py
+@@ -18,7 +18,7 @@ from distutils.command.build import build as or
+ from setuptools.command.install import install as orig_install
+ from setuptools.command.bdist_egg import bdist_egg as orig_bdist_egg
+ from setuptools.command.sdist import sdist as orig_sdist
+-from setuptools.command.bdist_wheel import bdist_wheel as orig_bdist_wheel
++from wheel.bdist_wheel import bdist_wheel as orig_bdist_wheel
+
+ from buildtools.config import Config, msg, opj, runcmd, canGetSOName, getSOName
+ import buildtools.version as version
diff --git a/x11/xkbcomp/Makefile b/x11/xkbcomp/Makefile
index 3c4f379a719f..88d3f30ff5ae 100644
--- a/x11/xkbcomp/Makefile
+++ b/x11/xkbcomp/Makefile
@@ -1,17 +1,16 @@
PORTNAME= xkbcomp
-DISTVERSION= 1.4.7
+DISTVERSION= 1.5.0
CATEGORIES= x11
MAINTAINER= x11@FreeBSD.org
-COMMENT= Compile XKB keyboard description
+COMMENT= XKB keyboard description compiler
+WWW= https://gitlab.freedesktop.org/xorg/app/xkbcomp
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
USES= pathfix tar:xz xorg xorg-cat:app
-USE_XORG= x11 xkbfile
-
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+USE_XORG= x11 xkbfile xorgproto
PLIST_FILES= bin/xkbcomp \
libdata/pkgconfig/xkbcomp.pc \
diff --git a/x11/xkbcomp/distinfo b/x11/xkbcomp/distinfo
index 1cf4991107a9..2161e6704ab1 100644
--- a/x11/xkbcomp/distinfo
+++ b/x11/xkbcomp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1707032579
-SHA256 (xorg/app/xkbcomp-1.4.7.tar.xz) = 0a288114e5f44e31987042c79aecff1ffad53a8154b8ec971c24a69a80f81f77
-SIZE (xorg/app/xkbcomp-1.4.7.tar.xz) = 239324
+TIMESTAMP = 1764962846
+SHA256 (xorg/app/xkbcomp-1.5.0.tar.xz) = 2ac31f26600776db6d9cd79b3fcd272263faebac7eb85fb2f33c7141b8486060
+SIZE (xorg/app/xkbcomp-1.5.0.tar.xz) = 247996
diff --git a/x11/xkbcomp/pkg-descr b/x11/xkbcomp/pkg-descr
index 074524733411..fb6c42eea535 100644
--- a/x11/xkbcomp/pkg-descr
+++ b/x11/xkbcomp/pkg-descr
@@ -1 +1,4 @@
-This package contains xkbcomp, the X.Org keymap compiler.
+The xkbcomp keymap compiler converts a description of an XKB keymap
+into one of several output formats. The most common use for xkbcomp is
+to create a compiled keymap file (.xkm extension) which can be read
+directly by XKB-capable X servers or utilities.