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--audio/mpg123/Makefile2
-rw-r--r--audio/mpg123/distinfo6
-rw-r--r--cad/kicad-devel/Makefile1
-rw-r--r--cad/kicad/Makefile2
-rw-r--r--comms/chirp/Makefile1
-rw-r--r--comms/quisk/Makefile2
-rw-r--r--databases/grass8/Makefile2
-rw-r--r--devel/qt6-base/Makefile4
-rw-r--r--devel/qt6-base/pkg-plist22
-rw-r--r--editors/vscode/Makefile.version4
-rw-r--r--editors/vscode/distinfo14
-rw-r--r--emulators/playonbsd/Makefile2
-rw-r--r--finance/homebank/Makefile2
-rw-r--r--finance/homebank/distinfo6
-rw-r--r--finance/homebank/pkg-plist443
-rw-r--r--graphics/py-mayavi/Makefile2
-rw-r--r--graphics/qgis-ltr/Makefile3
-rw-r--r--graphics/qgis-ltr/distinfo6
-rw-r--r--misc/pyobd/Makefile2
-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--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/traefik/Makefile3
-rw-r--r--net/traefik/distinfo6
-rw-r--r--security/vuxml/vuln/2025.xml71
-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
40 files changed, 1514 insertions, 334 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/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/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/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/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/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/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/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/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/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/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/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/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/security/vuxml/vuln/2025.xml b/security/vuxml/vuln/2025.xml
index 3e5428cd52a1..3fa157e87559 100644
--- a/security/vuxml/vuln/2025.xml
+++ b/security/vuxml/vuln/2025.xml
@@ -1,3 +1,74 @@
+ <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>
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