Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: python3-pynitrokey-0.5.0
@ 2024-09-16 19:42 slymattz
  2024-09-16 20:04 ` [PR PATCH] [Updated] " slymattz
                   ` (26 more replies)
  0 siblings, 27 replies; 28+ messages in thread
From: slymattz @ 2024-09-16 19:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1659 bytes --]

There is a new pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.5.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (I've tested 0.5.0 rc1 with Nitrokey 3 and I'm now testing the proper release).

#### Changes when compared to the previous release
pynitrokey requires far fewer dependencies than 0.4.50. It should also work on any platform unlike version 0.4.50 where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

I've also decided to go with the PyPi packages as I've heard they are preferred to GH releases.

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 25263 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/17] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From ea79b9c00fdba75fe35f3dd286e12e9190650f95 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:45:11 +0200
Subject: [PATCH 02/17] New package: python3-poetry-plugin-export-1.8.0

---
 srcpkgs/python3-poetry-plugin-export/template | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-poetry-plugin-export/template

diff --git a/srcpkgs/python3-poetry-plugin-export/template b/srcpkgs/python3-poetry-plugin-export/template
new file mode 100644
index 00000000000000..a180731e4e77c3
--- /dev/null
+++ b/srcpkgs/python3-poetry-plugin-export/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-poetry-plugin-export'
+pkgname=python3-poetry-plugin-export
+version=1.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3"
+# This plugin depends on poetry, but poetry depends on it as well.
+# Poetry is therefore not listed to avoid a cyclic dependecy.
+# See: https://github.com/python-poetry/poetry/pull/5980
+short_desc="Poetry plugin to export the dependencies to various formats"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/poetry-plugin-export"
+distfiles="${PYPI_SITE}/p/poetry_plugin_export/poetry_plugin_export-${version}.tar.gz"
+checksum=1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61
+
+post_install() {
+	vlicense LICENSE
+}

From e758cf895a5d96fb714864d08cd62a2b7c05fe60 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:56:57 +0200
Subject: [PATCH 03/17] New package: python3-cachecontrol-0.14.0

---
 srcpkgs/python3-cachecontrol/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-cachecontrol/template

diff --git a/srcpkgs/python3-cachecontrol/template b/srcpkgs/python3-cachecontrol/template
new file mode 100644
index 00000000000000..6196950bab9d8a
--- /dev/null
+++ b/srcpkgs/python3-cachecontrol/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-cachecontrol'
+pkgname=python3-cachecontrol
+version=0.14.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-msgpack python3-requests"
+short_desc="CacheControl implements caching algorithms in httplib2"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/psf/cachecontrol"
+distfiles="${PYPI_SITE}/c/cachecontrol/cachecontrol-${version}.tar.gz"
+checksum=7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938

From 90d82ac4bbda63381d62568acface0f9d73df82e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:03:56 +0200
Subject: [PATCH 04/17] New package: python3-cleo-2.1.0

---
 srcpkgs/python3-cleo/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-cleo/template

diff --git a/srcpkgs/python3-cleo/template b/srcpkgs/python3-cleo/template
new file mode 100644
index 00000000000000..1d19736b6a2297
--- /dev/null
+++ b/srcpkgs/python3-cleo/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-cleo'
+pkgname=python3-cleo
+version=2.1.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-crashtest python3-rapidfuzz"
+short_desc="Create beautiful and testable command-line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/cleo"
+distfiles="${PYPI_SITE}/c/cleo/cleo-${version}.tar.gz"
+checksum=0b2c880b5d13660a7ea651001fb4acb527696c01f15c9ee650f377aa543fd523
+
+post_install() {
+	vlicense LICENSE
+}

From 6686b5b5225287a56b9314518e7519213b58b901 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:27:39 +0200
Subject: [PATCH 05/17] New package: python3-crashtest-0.4.1

---
 srcpkgs/python3-crashtest/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-crashtest/template

diff --git a/srcpkgs/python3-crashtest/template b/srcpkgs/python3-crashtest/template
new file mode 100644
index 00000000000000..85519e9b23c1a0
--- /dev/null
+++ b/srcpkgs/python3-crashtest/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-crashtest'
+pkgname=python3-crashtest
+version=0.4.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-poetry-core"
+depends="python3"
+short_desc="Manage Python errors with ease"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/sdispater/crashtest"
+distfiles="${PYPI_SITE}/c/crashtest/crashtest-${version}.tar.gz"
+checksum=80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce
+
+post_install() {
+	vlicense LICENSE
+}

From 1514902e99421e86d02118076ec84ee023f86a42 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:40:57 +0200
Subject: [PATCH 06/17] New package: poetry-1.8.3

---
 srcpkgs/poetry/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/poetry/template

diff --git a/srcpkgs/poetry/template b/srcpkgs/poetry/template
new file mode 100644
index 00000000000000..1c4b84d9aa71f3
--- /dev/null
+++ b/srcpkgs/poetry/template
@@ -0,0 +1,24 @@
+# Template file for 'poetry'
+pkgname=poetry
+version=1.8.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-poetry-core python3-poetry-plugin-export
+ python3-build python3-cachecontrol python3-cleo
+ python3-crashtest python3-dulwich python3-fastjsonschema
+ python3-installer python3-keyring python3-packaging
+ python3-pexpect python3-pkginfo python3-platformdirs
+ python3-pyproject-hooks python3-requests
+ python3-requests-toolbelt python3-shellingham
+ python3-tomlkit python3-trove-classifiers python3-virtualenv"
+short_desc="Python3 dependency management and packaging system"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://python-poetry.org"
+distfiles="${PYPI_SITE}/p/poetry/poetry-${version}.tar.gz"
+checksum=67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48
+
+post_install() {
+	vlicense LICENSE
+}

From 075ff1895eefe055dde2210e639956018e4c03f8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 07/17] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..e53cae1f655618
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="poetry"
+depends="python3"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+do_build() {
+	poetry build
+}
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From c7e8b61c0fc66153464ef9a0680bf53e81f0f6c9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 08/17] New package: python3-pynitrokey-0.5.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..bd3577dac3f803
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.5.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial libnitrokey"
+short_desc="Python Library for Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=f1a794f9c05a202cb5d3a8d45d1105f5436294752d64b7d93b1cf327672be8d9
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From b8bb0a065abd2263d9b95883c808021dfff69ea5 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 09/17] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 8e8e1885c1ac4b15da27df1c9fedc258da0293e0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 10/17] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 6857ae9435f4cd25d214ffed6ed002d0fcd39d94 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 11/17] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..0e104519918b11
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="https://github.com/Nitrokey/nkdfu/archive/refs/tags/v${version}.tar.gz"
+checksum=b9cd3e383a7e97372bdf26852f314014ac73a77c5f09b3c5a9426350a4af4713

From 92433ce9f12dfd229f45047082274568f25b77bd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 12/17] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From a1bdca3ae866e4abf63ca9c29fca6c927df1c721 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 13/17] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 78ed149edcc5a6484ef61ca885dfeeeb45974065 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 14/17] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From ef93ff5960567d3523dfeef89ec8a909259141fb Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 15/17] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 8e6bb07a2a7614cf274a730e438dd18632d348cd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 16/17] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 770fa294d42f99b217443a2680b5eedee0c2b0aa Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 17/17] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.5.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
@ 2024-09-16 20:04 ` slymattz
  2024-09-20 15:10 ` slymattz
                   ` (25 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-09-16 20:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1664 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.5.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (I've tested 0.5.0 rc1 with Nitrokey 3 and I'm now testing the proper release).

#### Changes when compared to the previous release
pynitrokey requires far fewer dependencies than 0.4.50. It should also work on any platform unlike version 0.4.50 where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

I've also decided to go with the PyPi packages as I've heard they are preferred to GH releases.

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 25237 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/17] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From ea79b9c00fdba75fe35f3dd286e12e9190650f95 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:45:11 +0200
Subject: [PATCH 02/17] New package: python3-poetry-plugin-export-1.8.0

---
 srcpkgs/python3-poetry-plugin-export/template | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-poetry-plugin-export/template

diff --git a/srcpkgs/python3-poetry-plugin-export/template b/srcpkgs/python3-poetry-plugin-export/template
new file mode 100644
index 00000000000000..a180731e4e77c3
--- /dev/null
+++ b/srcpkgs/python3-poetry-plugin-export/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-poetry-plugin-export'
+pkgname=python3-poetry-plugin-export
+version=1.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3"
+# This plugin depends on poetry, but poetry depends on it as well.
+# Poetry is therefore not listed to avoid a cyclic dependecy.
+# See: https://github.com/python-poetry/poetry/pull/5980
+short_desc="Poetry plugin to export the dependencies to various formats"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/poetry-plugin-export"
+distfiles="${PYPI_SITE}/p/poetry_plugin_export/poetry_plugin_export-${version}.tar.gz"
+checksum=1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61
+
+post_install() {
+	vlicense LICENSE
+}

From e758cf895a5d96fb714864d08cd62a2b7c05fe60 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:56:57 +0200
Subject: [PATCH 03/17] New package: python3-cachecontrol-0.14.0

---
 srcpkgs/python3-cachecontrol/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-cachecontrol/template

diff --git a/srcpkgs/python3-cachecontrol/template b/srcpkgs/python3-cachecontrol/template
new file mode 100644
index 00000000000000..6196950bab9d8a
--- /dev/null
+++ b/srcpkgs/python3-cachecontrol/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-cachecontrol'
+pkgname=python3-cachecontrol
+version=0.14.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-msgpack python3-requests"
+short_desc="CacheControl implements caching algorithms in httplib2"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/psf/cachecontrol"
+distfiles="${PYPI_SITE}/c/cachecontrol/cachecontrol-${version}.tar.gz"
+checksum=7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938

From 90d82ac4bbda63381d62568acface0f9d73df82e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:03:56 +0200
Subject: [PATCH 04/17] New package: python3-cleo-2.1.0

---
 srcpkgs/python3-cleo/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-cleo/template

diff --git a/srcpkgs/python3-cleo/template b/srcpkgs/python3-cleo/template
new file mode 100644
index 00000000000000..1d19736b6a2297
--- /dev/null
+++ b/srcpkgs/python3-cleo/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-cleo'
+pkgname=python3-cleo
+version=2.1.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-crashtest python3-rapidfuzz"
+short_desc="Create beautiful and testable command-line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/cleo"
+distfiles="${PYPI_SITE}/c/cleo/cleo-${version}.tar.gz"
+checksum=0b2c880b5d13660a7ea651001fb4acb527696c01f15c9ee650f377aa543fd523
+
+post_install() {
+	vlicense LICENSE
+}

From 6686b5b5225287a56b9314518e7519213b58b901 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:27:39 +0200
Subject: [PATCH 05/17] New package: python3-crashtest-0.4.1

---
 srcpkgs/python3-crashtest/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-crashtest/template

diff --git a/srcpkgs/python3-crashtest/template b/srcpkgs/python3-crashtest/template
new file mode 100644
index 00000000000000..85519e9b23c1a0
--- /dev/null
+++ b/srcpkgs/python3-crashtest/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-crashtest'
+pkgname=python3-crashtest
+version=0.4.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-poetry-core"
+depends="python3"
+short_desc="Manage Python errors with ease"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/sdispater/crashtest"
+distfiles="${PYPI_SITE}/c/crashtest/crashtest-${version}.tar.gz"
+checksum=80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce
+
+post_install() {
+	vlicense LICENSE
+}

From 1514902e99421e86d02118076ec84ee023f86a42 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:40:57 +0200
Subject: [PATCH 06/17] New package: poetry-1.8.3

---
 srcpkgs/poetry/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/poetry/template

diff --git a/srcpkgs/poetry/template b/srcpkgs/poetry/template
new file mode 100644
index 00000000000000..1c4b84d9aa71f3
--- /dev/null
+++ b/srcpkgs/poetry/template
@@ -0,0 +1,24 @@
+# Template file for 'poetry'
+pkgname=poetry
+version=1.8.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-poetry-core python3-poetry-plugin-export
+ python3-build python3-cachecontrol python3-cleo
+ python3-crashtest python3-dulwich python3-fastjsonschema
+ python3-installer python3-keyring python3-packaging
+ python3-pexpect python3-pkginfo python3-platformdirs
+ python3-pyproject-hooks python3-requests
+ python3-requests-toolbelt python3-shellingham
+ python3-tomlkit python3-trove-classifiers python3-virtualenv"
+short_desc="Python3 dependency management and packaging system"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://python-poetry.org"
+distfiles="${PYPI_SITE}/p/poetry/poetry-${version}.tar.gz"
+checksum=67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48
+
+post_install() {
+	vlicense LICENSE
+}

From 075ff1895eefe055dde2210e639956018e4c03f8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 07/17] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..e53cae1f655618
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="poetry"
+depends="python3"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+do_build() {
+	poetry build
+}
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From c7e8b61c0fc66153464ef9a0680bf53e81f0f6c9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 08/17] New package: python3-pynitrokey-0.5.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..bd3577dac3f803
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.5.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial libnitrokey"
+short_desc="Python Library for Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=f1a794f9c05a202cb5d3a8d45d1105f5436294752d64b7d93b1cf327672be8d9
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From b8bb0a065abd2263d9b95883c808021dfff69ea5 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 09/17] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 8e8e1885c1ac4b15da27df1c9fedc258da0293e0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 10/17] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 970f2d379db0ab513e1f1b94dd0cb3f982024d17 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 11/17] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 2f019b83ba29bf563fe80bcd21400fd39598cd1e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 12/17] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From d7d87290b37c93a3af830d8dfb0a7391cceb13a2 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 13/17] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From efabb9165c907b4e3363b329290974f3a10a7b75 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 14/17] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From 641b8df18438bef792445d7ce991d487cd1fded0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 15/17] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From e137edf04971a16a00c17e3fea253b81ad2e1771 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 16/17] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 87d355efc32e545dac3869498332448b6d09d27a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 17/17] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.5.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
  2024-09-16 20:04 ` [PR PATCH] [Updated] " slymattz
@ 2024-09-20 15:10 ` slymattz
  2024-09-25 12:10 ` slymattz
                   ` (24 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-09-20 15:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 3043 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.5.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (I've tested 0.5.0 rc1 with Nitrokey 3 and I'm now testing the proper release).

#### Changes when compared to the previous release
pynitrokey requires far fewer dependencies than 0.4.50. It should also work on any platform unlike version 0.4.50 where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

I've also decided to go with the PyPi packages as I've heard they are preferred to GH releases.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml (pyscard seems to be a non-critical dep but I'll probably add it just in case anyone needs this integration). Arch, for instance lists pyscard as an optional dep.

I wanted to check where it is used so I ran `find /usr/lib/python3.12/site-packages/pynitrokey -type f -name "*.py" | xargs grep -i "from smartcard"` and it returned:
```
/usr/lib/python3.12/site-packages/pynitrokey/cli/trussed/tests.py:        from smartcard import System
/usr/lib/python3.12/site-packages/pynitrokey/cli/trussed/tests.py:        from smartcard.CardConnection import CardConnection
/usr/lib/python3.12/site-packages/pynitrokey/cli/trussed/tests.py:        from smartcard.Exceptions import NoCardException
```
Reference: https://pyscard.sourceforge.io/pyscard-framework.html#framework-samples

2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

Although python3-chardet is not listed anywhere, I got a warning about this module. 

#### How other distros package this
I wouldn't rely on Alpine as it just bumped the version with no changes to [the deps](https://github.com/Nitrokey/pynitrokey/compare/v0.4.50...v0.5.0). I would wait for Arch to update the package and cross-examine their PKGBUILD.

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 25255 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/17] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From ea79b9c00fdba75fe35f3dd286e12e9190650f95 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:45:11 +0200
Subject: [PATCH 02/17] New package: python3-poetry-plugin-export-1.8.0

---
 srcpkgs/python3-poetry-plugin-export/template | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-poetry-plugin-export/template

diff --git a/srcpkgs/python3-poetry-plugin-export/template b/srcpkgs/python3-poetry-plugin-export/template
new file mode 100644
index 00000000000000..a180731e4e77c3
--- /dev/null
+++ b/srcpkgs/python3-poetry-plugin-export/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-poetry-plugin-export'
+pkgname=python3-poetry-plugin-export
+version=1.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3"
+# This plugin depends on poetry, but poetry depends on it as well.
+# Poetry is therefore not listed to avoid a cyclic dependecy.
+# See: https://github.com/python-poetry/poetry/pull/5980
+short_desc="Poetry plugin to export the dependencies to various formats"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/poetry-plugin-export"
+distfiles="${PYPI_SITE}/p/poetry_plugin_export/poetry_plugin_export-${version}.tar.gz"
+checksum=1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61
+
+post_install() {
+	vlicense LICENSE
+}

From e758cf895a5d96fb714864d08cd62a2b7c05fe60 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:56:57 +0200
Subject: [PATCH 03/17] New package: python3-cachecontrol-0.14.0

---
 srcpkgs/python3-cachecontrol/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-cachecontrol/template

diff --git a/srcpkgs/python3-cachecontrol/template b/srcpkgs/python3-cachecontrol/template
new file mode 100644
index 00000000000000..6196950bab9d8a
--- /dev/null
+++ b/srcpkgs/python3-cachecontrol/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-cachecontrol'
+pkgname=python3-cachecontrol
+version=0.14.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-msgpack python3-requests"
+short_desc="CacheControl implements caching algorithms in httplib2"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/psf/cachecontrol"
+distfiles="${PYPI_SITE}/c/cachecontrol/cachecontrol-${version}.tar.gz"
+checksum=7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938

From 90d82ac4bbda63381d62568acface0f9d73df82e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:03:56 +0200
Subject: [PATCH 04/17] New package: python3-cleo-2.1.0

---
 srcpkgs/python3-cleo/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-cleo/template

diff --git a/srcpkgs/python3-cleo/template b/srcpkgs/python3-cleo/template
new file mode 100644
index 00000000000000..1d19736b6a2297
--- /dev/null
+++ b/srcpkgs/python3-cleo/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-cleo'
+pkgname=python3-cleo
+version=2.1.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-crashtest python3-rapidfuzz"
+short_desc="Create beautiful and testable command-line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/cleo"
+distfiles="${PYPI_SITE}/c/cleo/cleo-${version}.tar.gz"
+checksum=0b2c880b5d13660a7ea651001fb4acb527696c01f15c9ee650f377aa543fd523
+
+post_install() {
+	vlicense LICENSE
+}

From 6686b5b5225287a56b9314518e7519213b58b901 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:27:39 +0200
Subject: [PATCH 05/17] New package: python3-crashtest-0.4.1

---
 srcpkgs/python3-crashtest/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-crashtest/template

diff --git a/srcpkgs/python3-crashtest/template b/srcpkgs/python3-crashtest/template
new file mode 100644
index 00000000000000..85519e9b23c1a0
--- /dev/null
+++ b/srcpkgs/python3-crashtest/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-crashtest'
+pkgname=python3-crashtest
+version=0.4.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-poetry-core"
+depends="python3"
+short_desc="Manage Python errors with ease"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/sdispater/crashtest"
+distfiles="${PYPI_SITE}/c/crashtest/crashtest-${version}.tar.gz"
+checksum=80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce
+
+post_install() {
+	vlicense LICENSE
+}

From 1514902e99421e86d02118076ec84ee023f86a42 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:40:57 +0200
Subject: [PATCH 06/17] New package: poetry-1.8.3

---
 srcpkgs/poetry/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/poetry/template

diff --git a/srcpkgs/poetry/template b/srcpkgs/poetry/template
new file mode 100644
index 00000000000000..1c4b84d9aa71f3
--- /dev/null
+++ b/srcpkgs/poetry/template
@@ -0,0 +1,24 @@
+# Template file for 'poetry'
+pkgname=poetry
+version=1.8.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-poetry-core python3-poetry-plugin-export
+ python3-build python3-cachecontrol python3-cleo
+ python3-crashtest python3-dulwich python3-fastjsonschema
+ python3-installer python3-keyring python3-packaging
+ python3-pexpect python3-pkginfo python3-platformdirs
+ python3-pyproject-hooks python3-requests
+ python3-requests-toolbelt python3-shellingham
+ python3-tomlkit python3-trove-classifiers python3-virtualenv"
+short_desc="Python3 dependency management and packaging system"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://python-poetry.org"
+distfiles="${PYPI_SITE}/p/poetry/poetry-${version}.tar.gz"
+checksum=67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48
+
+post_install() {
+	vlicense LICENSE
+}

From 075ff1895eefe055dde2210e639956018e4c03f8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 07/17] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..e53cae1f655618
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="poetry"
+depends="python3"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+do_build() {
+	poetry build
+}
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From 367ee174447019fc3c5434046cf584cd654a66c3 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 08/17] New package: python3-pynitrokey-0.5.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 27 ++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..576966bea7bbcc
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.5.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-pyscard libnitrokey"
+short_desc="Python Library for Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=f1a794f9c05a202cb5d3a8d45d1105f5436294752d64b7d93b1cf327672be8d9
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From b5130b2f78589621a19100e26d0dde20b0986c7f Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 09/17] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 33fc4c67e154e013c24480fdb38ae60bb607c25c Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 10/17] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 1065199a57ddbaf3c04b87a55b8070f6c3a67875 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 11/17] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 3fef02374eb95c39546ea7393f174a2388134e46 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 12/17] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From c494346a400c37bba79217fc4b1dca07fb8860fb Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 13/17] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 511ac465fc2138ce3f93feb16603842da599521e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 14/17] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From d2331c94a474c6a8ffef37e00192cc47db85bde7 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 15/17] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 475d10a913354f9701563a6e574b14dcd721b179 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 16/17] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From b5cb62ddac42affb606a6f631c6984c093a14455 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 17/17] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.5.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
  2024-09-16 20:04 ` [PR PATCH] [Updated] " slymattz
  2024-09-20 15:10 ` slymattz
@ 2024-09-25 12:10 ` slymattz
  2024-09-29 14:06 ` [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0 slymattz
                   ` (23 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-09-25 12:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2277 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.5.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (I've tested 0.5.0 rc1 with Nitrokey 3 and I'm now testing the proper release).

#### Changes when compared to the previous release
pynitrokey requires far fewer dependencies than 0.4.50. It should also work on any platform unlike version 0.4.50 where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

I've also decided to go with the PyPi packages as I've heard they are preferred to GH releases.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

Although python3-chardet is not listed anywhere, I got a warning about this module and included it. 

#### How other distros package this
I wouldn't rely on Alpine as they just bumped the version with no changes to [the deps](https://github.com/Nitrokey/pynitrokey/compare/v0.4.50...v0.5.0). I would wait for Arch to update the package and cross-examine their PKGBUILD.

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 25274 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/17] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From ea79b9c00fdba75fe35f3dd286e12e9190650f95 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:45:11 +0200
Subject: [PATCH 02/17] New package: python3-poetry-plugin-export-1.8.0

---
 srcpkgs/python3-poetry-plugin-export/template | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-poetry-plugin-export/template

diff --git a/srcpkgs/python3-poetry-plugin-export/template b/srcpkgs/python3-poetry-plugin-export/template
new file mode 100644
index 00000000000000..a180731e4e77c3
--- /dev/null
+++ b/srcpkgs/python3-poetry-plugin-export/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-poetry-plugin-export'
+pkgname=python3-poetry-plugin-export
+version=1.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3"
+# This plugin depends on poetry, but poetry depends on it as well.
+# Poetry is therefore not listed to avoid a cyclic dependecy.
+# See: https://github.com/python-poetry/poetry/pull/5980
+short_desc="Poetry plugin to export the dependencies to various formats"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/poetry-plugin-export"
+distfiles="${PYPI_SITE}/p/poetry_plugin_export/poetry_plugin_export-${version}.tar.gz"
+checksum=1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61
+
+post_install() {
+	vlicense LICENSE
+}

From e758cf895a5d96fb714864d08cd62a2b7c05fe60 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:56:57 +0200
Subject: [PATCH 03/17] New package: python3-cachecontrol-0.14.0

---
 srcpkgs/python3-cachecontrol/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-cachecontrol/template

diff --git a/srcpkgs/python3-cachecontrol/template b/srcpkgs/python3-cachecontrol/template
new file mode 100644
index 00000000000000..6196950bab9d8a
--- /dev/null
+++ b/srcpkgs/python3-cachecontrol/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-cachecontrol'
+pkgname=python3-cachecontrol
+version=0.14.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-msgpack python3-requests"
+short_desc="CacheControl implements caching algorithms in httplib2"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/psf/cachecontrol"
+distfiles="${PYPI_SITE}/c/cachecontrol/cachecontrol-${version}.tar.gz"
+checksum=7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938

From 90d82ac4bbda63381d62568acface0f9d73df82e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:03:56 +0200
Subject: [PATCH 04/17] New package: python3-cleo-2.1.0

---
 srcpkgs/python3-cleo/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-cleo/template

diff --git a/srcpkgs/python3-cleo/template b/srcpkgs/python3-cleo/template
new file mode 100644
index 00000000000000..1d19736b6a2297
--- /dev/null
+++ b/srcpkgs/python3-cleo/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-cleo'
+pkgname=python3-cleo
+version=2.1.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-crashtest python3-rapidfuzz"
+short_desc="Create beautiful and testable command-line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/cleo"
+distfiles="${PYPI_SITE}/c/cleo/cleo-${version}.tar.gz"
+checksum=0b2c880b5d13660a7ea651001fb4acb527696c01f15c9ee650f377aa543fd523
+
+post_install() {
+	vlicense LICENSE
+}

From 6686b5b5225287a56b9314518e7519213b58b901 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:27:39 +0200
Subject: [PATCH 05/17] New package: python3-crashtest-0.4.1

---
 srcpkgs/python3-crashtest/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-crashtest/template

diff --git a/srcpkgs/python3-crashtest/template b/srcpkgs/python3-crashtest/template
new file mode 100644
index 00000000000000..85519e9b23c1a0
--- /dev/null
+++ b/srcpkgs/python3-crashtest/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-crashtest'
+pkgname=python3-crashtest
+version=0.4.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-poetry-core"
+depends="python3"
+short_desc="Manage Python errors with ease"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/sdispater/crashtest"
+distfiles="${PYPI_SITE}/c/crashtest/crashtest-${version}.tar.gz"
+checksum=80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce
+
+post_install() {
+	vlicense LICENSE
+}

From 1514902e99421e86d02118076ec84ee023f86a42 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:40:57 +0200
Subject: [PATCH 06/17] New package: poetry-1.8.3

---
 srcpkgs/poetry/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/poetry/template

diff --git a/srcpkgs/poetry/template b/srcpkgs/poetry/template
new file mode 100644
index 00000000000000..1c4b84d9aa71f3
--- /dev/null
+++ b/srcpkgs/poetry/template
@@ -0,0 +1,24 @@
+# Template file for 'poetry'
+pkgname=poetry
+version=1.8.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-poetry-core python3-poetry-plugin-export
+ python3-build python3-cachecontrol python3-cleo
+ python3-crashtest python3-dulwich python3-fastjsonschema
+ python3-installer python3-keyring python3-packaging
+ python3-pexpect python3-pkginfo python3-platformdirs
+ python3-pyproject-hooks python3-requests
+ python3-requests-toolbelt python3-shellingham
+ python3-tomlkit python3-trove-classifiers python3-virtualenv"
+short_desc="Python3 dependency management and packaging system"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://python-poetry.org"
+distfiles="${PYPI_SITE}/p/poetry/poetry-${version}.tar.gz"
+checksum=67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48
+
+post_install() {
+	vlicense LICENSE
+}

From 075ff1895eefe055dde2210e639956018e4c03f8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 07/17] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..e53cae1f655618
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="poetry"
+depends="python3"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+do_build() {
+	poetry build
+}
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From a47fef962d5474edfef8e5a6a9aa2ffc28d8dd04 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 08/17] New package: python3-pynitrokey-0.6.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 27 ++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..824d40ad6e30a5
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.6.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-pyscard python3-asn1crypto libnitrokey"
+short_desc="Python Library for Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=a58e804ce4590cf1919e437a76c7b5b3f0f3411a699436cf00650753813b53d3
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From ef36cb8f31b67aedc81823eb12f2b2fdfffc97b9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 09/17] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 6e2d09653c252f55ca905c634c1b916b2966d586 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 10/17] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From bd0bdd55209a9226f074ea0345b485351fd66173 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 11/17] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From f55166707045dcd7248d48ec128394e574dc95f2 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 12/17] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 77b20d780240d61f2886adb08be56581cf429778 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 13/17] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From bf3c037fde09eef26c606c9dea022c2f4e2e52ad Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 14/17] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From eea41847232d71d4757c0d88752c867156eb4af7 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 15/17] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From b27a9745f930b59cfcacaf2309e18f90d7d3e3e7 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 16/17] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 40ca5d31512339800e1f435748768d2bf7f4a7ce Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 17/17] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (2 preceding siblings ...)
  2024-09-25 12:10 ` slymattz
@ 2024-09-29 14:06 ` slymattz
  2024-09-29 14:16 ` slymattz
                   ` (22 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-09-29 14:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2396 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.6.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Changes when compared to release 0.4.50
pynitrokey 0.6.0 requires far fewer dependencies than 0.4.50 thanks to the lack of spsdk and libusbsio as dependencies. It should also work on any platform unlike the previous version where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

I've also decided to go with the PyPi packages as I've heard they are preferred to GH releases.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

Although python3-chardet is not listed anywhere, I got a warning about this module and included it. 

#### How other distros package this
I wouldn't rely on Alpine as they just bumped the version with no changes to [the deps](https://github.com/Nitrokey/pynitrokey/compare/v0.4.50...v0.6.0). I would wait for Arch or any other distro to update the package and cross-examine their PKGBUILD.

Sep 29: [Arch: v. 0.6.0 already in testing](https://archlinux.org/packages/extra-testing/any/python-pynitrokey)

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 25282 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/17] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From ea79b9c00fdba75fe35f3dd286e12e9190650f95 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:45:11 +0200
Subject: [PATCH 02/17] New package: python3-poetry-plugin-export-1.8.0

---
 srcpkgs/python3-poetry-plugin-export/template | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-poetry-plugin-export/template

diff --git a/srcpkgs/python3-poetry-plugin-export/template b/srcpkgs/python3-poetry-plugin-export/template
new file mode 100644
index 00000000000000..a180731e4e77c3
--- /dev/null
+++ b/srcpkgs/python3-poetry-plugin-export/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-poetry-plugin-export'
+pkgname=python3-poetry-plugin-export
+version=1.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3"
+# This plugin depends on poetry, but poetry depends on it as well.
+# Poetry is therefore not listed to avoid a cyclic dependecy.
+# See: https://github.com/python-poetry/poetry/pull/5980
+short_desc="Poetry plugin to export the dependencies to various formats"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/poetry-plugin-export"
+distfiles="${PYPI_SITE}/p/poetry_plugin_export/poetry_plugin_export-${version}.tar.gz"
+checksum=1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61
+
+post_install() {
+	vlicense LICENSE
+}

From e758cf895a5d96fb714864d08cd62a2b7c05fe60 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:56:57 +0200
Subject: [PATCH 03/17] New package: python3-cachecontrol-0.14.0

---
 srcpkgs/python3-cachecontrol/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-cachecontrol/template

diff --git a/srcpkgs/python3-cachecontrol/template b/srcpkgs/python3-cachecontrol/template
new file mode 100644
index 00000000000000..6196950bab9d8a
--- /dev/null
+++ b/srcpkgs/python3-cachecontrol/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-cachecontrol'
+pkgname=python3-cachecontrol
+version=0.14.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-msgpack python3-requests"
+short_desc="CacheControl implements caching algorithms in httplib2"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/psf/cachecontrol"
+distfiles="${PYPI_SITE}/c/cachecontrol/cachecontrol-${version}.tar.gz"
+checksum=7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938

From 90d82ac4bbda63381d62568acface0f9d73df82e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:03:56 +0200
Subject: [PATCH 04/17] New package: python3-cleo-2.1.0

---
 srcpkgs/python3-cleo/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-cleo/template

diff --git a/srcpkgs/python3-cleo/template b/srcpkgs/python3-cleo/template
new file mode 100644
index 00000000000000..1d19736b6a2297
--- /dev/null
+++ b/srcpkgs/python3-cleo/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-cleo'
+pkgname=python3-cleo
+version=2.1.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-crashtest python3-rapidfuzz"
+short_desc="Create beautiful and testable command-line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/cleo"
+distfiles="${PYPI_SITE}/c/cleo/cleo-${version}.tar.gz"
+checksum=0b2c880b5d13660a7ea651001fb4acb527696c01f15c9ee650f377aa543fd523
+
+post_install() {
+	vlicense LICENSE
+}

From 6686b5b5225287a56b9314518e7519213b58b901 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:27:39 +0200
Subject: [PATCH 05/17] New package: python3-crashtest-0.4.1

---
 srcpkgs/python3-crashtest/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-crashtest/template

diff --git a/srcpkgs/python3-crashtest/template b/srcpkgs/python3-crashtest/template
new file mode 100644
index 00000000000000..85519e9b23c1a0
--- /dev/null
+++ b/srcpkgs/python3-crashtest/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-crashtest'
+pkgname=python3-crashtest
+version=0.4.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-poetry-core"
+depends="python3"
+short_desc="Manage Python errors with ease"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/sdispater/crashtest"
+distfiles="${PYPI_SITE}/c/crashtest/crashtest-${version}.tar.gz"
+checksum=80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce
+
+post_install() {
+	vlicense LICENSE
+}

From 1514902e99421e86d02118076ec84ee023f86a42 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:40:57 +0200
Subject: [PATCH 06/17] New package: poetry-1.8.3

---
 srcpkgs/poetry/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/poetry/template

diff --git a/srcpkgs/poetry/template b/srcpkgs/poetry/template
new file mode 100644
index 00000000000000..1c4b84d9aa71f3
--- /dev/null
+++ b/srcpkgs/poetry/template
@@ -0,0 +1,24 @@
+# Template file for 'poetry'
+pkgname=poetry
+version=1.8.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-poetry-core python3-poetry-plugin-export
+ python3-build python3-cachecontrol python3-cleo
+ python3-crashtest python3-dulwich python3-fastjsonschema
+ python3-installer python3-keyring python3-packaging
+ python3-pexpect python3-pkginfo python3-platformdirs
+ python3-pyproject-hooks python3-requests
+ python3-requests-toolbelt python3-shellingham
+ python3-tomlkit python3-trove-classifiers python3-virtualenv"
+short_desc="Python3 dependency management and packaging system"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://python-poetry.org"
+distfiles="${PYPI_SITE}/p/poetry/poetry-${version}.tar.gz"
+checksum=67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48
+
+post_install() {
+	vlicense LICENSE
+}

From 794e4e3a565ffdc6be8f860f4c84b7a9935c849e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 07/17] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..fe7df2d3c06e96
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From 072e85a0be8b2a5031da52cde4c4296f73f12dd2 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 08/17] New package: python3-pynitrokey-0.6.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 27 ++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..824d40ad6e30a5
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.6.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-pyscard python3-asn1crypto libnitrokey"
+short_desc="Python Library for Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=a58e804ce4590cf1919e437a76c7b5b3f0f3411a699436cf00650753813b53d3
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 89197cc375ad86fa1110ed652772c54a121b4abf Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 09/17] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From c6c7df7d72906fb388bc40cc4bab8db015435106 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 10/17] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From f516d635ebe4ad819031821e2a4656de62825a7d Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 11/17] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 428dec954bb5ba4a16914ad3507513da1796a8b8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 12/17] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 6703904862d95ceccbcb5d5bd25aa76cb3682814 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 13/17] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From af6d1629700ec8a47d295114cba9e63e35136518 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 14/17] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From a64f7ef0a307b851065ec309ab590fe1ca06725b Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 15/17] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From c5491f423f05ee8b15c078c026717b9b279af6d9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 16/17] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 9524b76b33cb2ab16f4a77a06b6f540304896253 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 17/17] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (3 preceding siblings ...)
  2024-09-29 14:06 ` [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0 slymattz
@ 2024-09-29 14:16 ` slymattz
  2024-09-29 14:53 ` slymattz
                   ` (21 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-09-29 14:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2396 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.6.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Changes when compared to release 0.4.50
pynitrokey 0.6.0 requires far fewer dependencies than 0.4.50 thanks to the lack of spsdk and libusbsio as dependencies. It should also work on any platform unlike the previous version where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

I've also decided to go with the PyPi packages as I've heard they are preferred to GH releases.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

Although python3-chardet is not listed anywhere, I got a warning about this module and included it. 

#### How other distros package this
I wouldn't rely on Alpine as they just bumped the version with no changes to [the deps](https://github.com/Nitrokey/pynitrokey/compare/v0.4.50...v0.6.0). I would wait for Arch or any other distro to update the package and cross-examine their PKGBUILD.

Sep 29: [Arch: v. 0.6.0 already in testing](https://archlinux.org/packages/extra-testing/any/python-pynitrokey)

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 18973 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From a6c20993b7abf8f159a1bad6f8f4d6a02453b69e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..fe7df2d3c06e96
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From dccfa75680bb13ce0914210563893569ced5a329 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.6.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 27 ++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..824d40ad6e30a5
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.6.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-pyscard python3-asn1crypto libnitrokey"
+short_desc="Python Library for Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=a58e804ce4590cf1919e437a76c7b5b3f0f3411a699436cf00650753813b53d3
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 2da0c7e5e8546a85836eeedf45562d09ccab9155 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 39b8397fbe4859cb986d65699bdf4d7c119ab408 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 45779d5ef91683fc3a81b3c204789b0672b5f23a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 52816962ddb03085574fb6074a27093c7f1ac3c4 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From c2b3495f7dbc712667ab25a44a5f5814d5181cc3 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 1685e1b701f884ec2dcdb4fbcc91dc15ac3ac9e8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From 711356c11321e5fa839a90eb7c2d51eef24c8d04 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 8cb722cbb6f276a7814b7585989bcd93c7b6f8b5 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 019cdc22533ad050cf4d088e335d99ff4723e6a9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (4 preceding siblings ...)
  2024-09-29 14:16 ` slymattz
@ 2024-09-29 14:53 ` slymattz
  2024-09-29 15:07 ` slymattz
                   ` (20 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-09-29 14:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2698 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.6.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Changes when compared to release 0.4.50
pynitrokey 0.6.0 requires far fewer dependencies than 0.4.50 thanks to the lack of spsdk and libusbsio as dependencies. It should also work on any platform unlike the previous version where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

#### How other distros package this
Sep 29: [Arch: v. 0.6.0 is already in testing](https://archlinux.org/packages/extra-testing/any/python-pynitrokey) and it does make alterations to the dependency list just like my PR (fewer deps are now required because _python3-nitrokey_ accommodates the necessary code from some of the formerly required deps).

#### poetry not needed
Sep 29: I dropped redundant commits of the following new packages to keep it simple:
- [x] python3-poetry-plugin-export-1.8.0 (dep of poetry)
- [x] python3-cachecontrol-0.14.0 (dep of poetry)
- [x] python3-cleo-2.1.0 (dep of poetry)
- [x] python3-crashtest-0.4.1 (dep of poetry)
- [x] poetry-1.8.3

The reason being _poetry_ is not required to build _python3-nitrokey_. _python3-poetry-core_ in hostmakedepends suffices.

Although python3-chardet is not listed anywhere, I got a warning about this module and included it. 

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 19155 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From 74058d551b665006c1d2da48b8285c70db82ff99 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..830dd6acc11206
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi python3-ecdsa
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From cc0298f434c45a3fc3e7af64267a611890d51492 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.6.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 27 ++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..824d40ad6e30a5
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.6.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-pyscard python3-asn1crypto libnitrokey"
+short_desc="Python Library for Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=a58e804ce4590cf1919e437a76c7b5b3f0f3411a699436cf00650753813b53d3
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 617d5faad396f2b3eb5829ed2e3ac0c8f7935f4f Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From a0238890f72823261cedf6a55eb00e8cd126c2e4 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 59a61f96ffc00d439d64a2827ff22216c690b91a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 13e94fda5d6a9f120d5da45c34b4ce4e4b926155 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 66a018c41a09a0d64baa48df11e6e0bd397cce05 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 8437a8093af26430c39c99678602e417d1f07c19 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From 1045cd9456c14d9b865a2bbdcd4d26d1429bbace Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From f8aa01ffc3cbe23009bdf6d83592f5e6f51716cb Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From da2b7740b2c065426161cbe6484a001760b94dab Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (5 preceding siblings ...)
  2024-09-29 14:53 ` slymattz
@ 2024-09-29 15:07 ` slymattz
  2024-12-07 20:45 ` slymattz
                   ` (19 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-09-29 15:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2855 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.6.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Changes when compared to release 0.4.50
pynitrokey 0.6.0 requires far fewer dependencies than 0.4.50 thanks to the lack of spsdk and libusbsio as dependencies. It should also work on any platform unlike the previous version where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

My primary base for deps were the above resources. But I also consulted Arch's PKGBUILD just to make sure no dependency has been omitted (see below).  

Although _python3-chardet_ is not listed anywhere, I got a warning about this module and included it. 

#### How other distros package this
Sep 29: [Arch: v. 0.6.0 is already in testing](https://archlinux.org/packages/extra-testing/any/python-pynitrokey) and it does make alterations to the dependency list just like my PR (fewer deps are now required because _python3-nitrokey_ accommodates the necessary code from some of the formerly required deps).

#### poetry not needed
Sep 29: I dropped redundant commits of the following new packages to keep it simple:
- [x] python3-poetry-plugin-export-1.8.0 (dep of poetry)
- [x] python3-cachecontrol-0.14.0 (dep of poetry)
- [x] python3-cleo-2.1.0 (dep of poetry)
- [x] python3-crashtest-0.4.1 (dep of poetry)
- [x] poetry-1.8.3

The reason being _poetry_ is not required to build _python3-nitrokey_. _python3-poetry-core_ in hostmakedepends suffices.

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 19185 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From 74058d551b665006c1d2da48b8285c70db82ff99 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.0

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..830dd6acc11206
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi python3-ecdsa
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=a167e1cbb323d549eb0bbd06edfa64978ab8b86d0276f3b4047c1f258b33477d
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From 2d2eb0079765ab6659ea81732571d28198cd13c1 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.6.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 27 ++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..db70432cc040d8
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.6.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-pyscard python3-asn1crypto libnitrokey"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=a58e804ce4590cf1919e437a76c7b5b3f0f3411a699436cf00650753813b53d3
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From e7b612f3a91859a9ba2b0006b4ed2ed4a9633299 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 574276dd1e2fe07c82a2de8ee3bf5955b56e6e61 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 49f47e6178455ad6ba94e3f89b4c578ed7d72844 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From cd68c9a0c869488bee0ab535f1a4f83002c335ca Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 6e04266f9f2f3abfd14dcc8f3a432298004e1d7a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From e73f15053c7695ee26fa7a483c08beac2ca6c395 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From 77ddc7a615179315df2b8b6a308fd57e46a023d0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 2427f95c9e5873649d3a53e548dee5adfdd554d6 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 05665080411961120b8484fbb979b332f2c9bdcd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (6 preceding siblings ...)
  2024-09-29 15:07 ` slymattz
@ 2024-12-07 20:45 ` slymattz
  2024-12-07 20:50 ` slymattz
                   ` (18 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-12-07 20:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2400 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.6.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Changes when compared to release 0.4.50
pynitrokey 0.6.0 requires far fewer dependencies than 0.4.50 thanks to the lack of spsdk and libusbsio as dependencies. It should also work on any platform unlike the previous version where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

My primary base for deps were the above resources. But I also consulted Arch's PKGBUILD just to make sure no dependency has been omitted (see below).  

Although _python3-chardet_ is not listed anywhere, I got a warning about this module and included it. 

#### How other distros package this
Sep 29: [Arch: v. 0.6.0 is already in testing](https://archlinux.org/packages/extra-testing/any/python-pynitrokey) and it does make alterations to the dependency list just like my PR (fewer deps are now required because _python3-nitrokey_ accommodates the necessary code from some of the formerly required deps).

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 19171 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From 6804246394b585dff67187cb259ad432684839de Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.3

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..506f15fe9287ee
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=f088362c8ef0694fc86d4c00a72148d93c2d6ab4f96d8a2581eab5e128266c4a
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From cd8ac35716973f1b98f2b200025db9e9eece94bd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.6.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 27 ++++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..db70432cc040d8
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.6.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-certifi python3-cffi python3-click
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-intelhex python3-nkdfu python3-nitrokey
+ python3-dateutil python3-usb python3-requests
+ python3-tqdm python3-tlv8 python3-typing_extensions
+ python3-click-aliases python3-semver python3-libusb1
+ python3-protobuf python3-nethsm python3-chardet
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-pyscard python3-asn1crypto libnitrokey"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=a58e804ce4590cf1919e437a76c7b5b3f0f3411a699436cf00650753813b53d3
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 91385dcddcdd81c1db8e34cb883f1f2d0714dc66 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 2edccfd9b44df9d26d5ebeee77618f6dd7bfbeb2 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 2720909a2e1c58a9af5ffe59f3d0e61a23bb974f Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From afc4fd36967c8c62393979a7d4ce57bee918b88a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 4bd80c3d8a9956c1731d7c8201ea19766c39d8b5 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From bd8bf05949c32ac2634dbfa1e87d339f29b64f00 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From 6bfd1e3b423c84159713f1d9e8c10c1729f638d7 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 72630f8e01aea203f2aac9232762351d54487bd1 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From ec993e185901cf23a6bd6a3ccf2734b96ef49697 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (7 preceding siblings ...)
  2024-12-07 20:45 ` slymattz
@ 2024-12-07 20:50 ` slymattz
  2024-12-07 20:58 ` slymattz
                   ` (17 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-12-07 20:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2400 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.6.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Changes when compared to release 0.4.50
pynitrokey 0.6.0 requires far fewer dependencies than 0.4.50 thanks to the lack of spsdk and libusbsio as dependencies. It should also work on any platform unlike the previous version where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

My primary base for deps were the above resources. But I also consulted Arch's PKGBUILD just to make sure no dependency has been omitted (see below).  

Although _python3-chardet_ is not listed anywhere, I got a warning about this module and included it. 

#### How other distros package this
Sep 29: [Arch: v. 0.6.0 is already in testing](https://archlinux.org/packages/extra-testing/any/python-pynitrokey) and it does make alterations to the dependency list just like my PR (fewer deps are now required because _python3-nitrokey_ accommodates the necessary code from some of the formerly required deps).

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 19075 bytes --]

From 670ef73477a8b9cc7f05e1f78b97a0859e44a936 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From 6804246394b585dff67187cb259ad432684839de Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.3

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..506f15fe9287ee
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=f088362c8ef0694fc86d4c00a72148d93c2d6ab4f96d8a2581eab5e128266c4a
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From c24ae0d8779da594784afbbc9e3d338c84390a68 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.7.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..c6b7db6269fe5b
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.7.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-cffi python3-click
+ python3-click-aliases python3-semver python3-libusb1
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-usb python3-requests python3-intelhex
+ python3-nkdfu python3-nitrokey python3-protobuf
+ python3-nethsm python3-pyscard libnitrokey
+ python3-tqdm python3-tlv8"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=3854cf4ceb68b3da0fd31594ab21e8c62c901a3b7286cd93185e184ec343d4dc
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 8305ed2d33ffd12f8ff0c282f9080f6fe563c0ad Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 2be98e7a05e02c90ff7a64bed5fdfd7a95593d7b Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From a0a604d44f841e9c5e8ac92df033b5335cde72b7 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 029eda8137ab2af9e691b957ff4e820b8325b924 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From fd39b839ee110e7c9316a6664b2bae88de238874 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 644c18c659f7885f82e86acdedd869179955482c Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From a71b844369bf74da8fe841cdbb98fe9c914ee32a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 09242b294ee42e2e61f8787308f06209289412a0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 039e690e8704fdd76fb17de9699f9c6ddd879e0d Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.6.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (8 preceding siblings ...)
  2024-12-07 20:50 ` slymattz
@ 2024-12-07 20:58 ` slymattz
  2024-12-09 13:01 ` [PR PATCH] [Updated] New package: python3-pynitrokey-0.7.0 slymattz
                   ` (16 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-12-07 20:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2400 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.6.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Changes when compared to release 0.4.50
pynitrokey 0.6.0 requires far fewer dependencies than 0.4.50 thanks to the lack of spsdk and libusbsio as dependencies. It should also work on any platform unlike the previous version where cmsis-pack-manager was restricted to x86. I know it's not a common practice to close a PR and open another but I've decided to close https://github.com/void-linux/void-packages/pull/52002 because of how much these two differ.

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

My primary base for deps were the above resources. But I also consulted Arch's PKGBUILD just to make sure no dependency has been omitted (see below).  

Although _python3-chardet_ is not listed anywhere, I got a warning about this module and included it. 

#### How other distros package this
Sep 29: [Arch: v. 0.6.0 is already in testing](https://archlinux.org/packages/extra-testing/any/python-pynitrokey) and it does make alterations to the dependency list just like my PR (fewer deps are now required because _python3-nitrokey_ accommodates the necessary code from some of the formerly required deps).

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 19075 bytes --]

From faf1ff49347fae5e4ee26e3f4af226a050b89a10 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From eda521a437ab49d3170e0371402a6e1afdbbe545 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.3

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..506f15fe9287ee
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=f088362c8ef0694fc86d4c00a72148d93c2d6ab4f96d8a2581eab5e128266c4a
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From 0c899811f62883598bdb38856dc6024a7ca325b8 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.7.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..c6b7db6269fe5b
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.7.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-cffi python3-click
+ python3-click-aliases python3-semver python3-libusb1
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-usb python3-requests python3-intelhex
+ python3-nkdfu python3-nitrokey python3-protobuf
+ python3-nethsm python3-pyscard libnitrokey
+ python3-tqdm python3-tlv8"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=3854cf4ceb68b3da0fd31594ab21e8c62c901a3b7286cd93185e184ec343d4dc
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 0169ad3551839a067968593c37b312b8b7ce9172 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 7dd91ff97ec6c90d6e2455fe7a64315752a10c62 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 7df546fbe8707101b77dc5b29e30732b992b7e0c Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 965daf9feee7917df439be149cb04e37396fe138 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From d2553d991cefdfeb3366243352b7ea3d8056a26e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From d212014a5498558d2054d18d274c36554e3fa8f3 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From d10e8d653d9a9e02e3c5ab29a7c49beebfe902b9 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 7a32fc2e6a94f806b3dafcea04e6fc4ec3c29062 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 2a9484544c235b1bfdfcd23ac8a7fee3ed3c79af Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.7.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (9 preceding siblings ...)
  2024-12-07 20:58 ` slymattz
@ 2024-12-09 13:01 ` slymattz
  2024-12-17 14:02 ` slymattz
                   ` (15 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-12-09 13:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1321 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.7.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 19091 bytes --]

From faf1ff49347fae5e4ee26e3f4af226a050b89a10 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/patches/5cc527e4.patch | 40 +++++++++++++++++++
 srcpkgs/python3-hidapi/template               | 24 +++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/patches/5cc527e4.patch
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/patches/5cc527e4.patch b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
new file mode 100644
index 00000000000000..92835c9df8c7ba
--- /dev/null
+++ b/srcpkgs/python3-hidapi/patches/5cc527e4.patch
@@ -0,0 +1,40 @@
+From 5cc527e4cc6fb82bed718cc9f0cdc7e47b61bb9c Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py   | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 0000000..7480bc8
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba..73066b0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+ 
+ 
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+             )
+         )
+     libs = ["udev", "rt"]
+-    src = ["hidraw.pyx", "chid.pxd"]
++    src = ["hidraw.pyx"]
+     if system_hidapi == 1:
+         libs.append("hidapi-hidraw")
+     else:
diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..c303fe3a3adc41
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,24 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi --without-libusb"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.tar.gz"
+checksum=a7cb029286ced5426a381286526d9501846409701a29c2538615c3d1a612b8be
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From eda521a437ab49d3170e0371402a6e1afdbbe545 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.3

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..506f15fe9287ee
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=f088362c8ef0694fc86d4c00a72148d93c2d6ab4f96d8a2581eab5e128266c4a
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From bd7dc346ade7812053c0224194cd2bfd82985dd7 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.7.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..11f2152dc611c2
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.7.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-cffi python3-click
+ python3-click-aliases python3-semver python3-libusb1
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-usb python3-requests python3-intelhex
+ python3-nkdfu python3-nitrokey python3-protobuf
+ python3-nethsm python3-pyscard libnitrokey
+ python3-tqdm python3-tlv8 python3-chardet"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=3854cf4ceb68b3da0fd31594ab21e8c62c901a3b7286cd93185e184ec343d4dc
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From c58d4d9c1839a97b7a18cff9b38440d71feb0a68 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From ba43e0931cdcebd8f7d44e4b0d0e68a2016d7720 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From d77a8ef7c5eb4968af8bde572412865dfffa3731 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 2a574bfc4f1fbec35d544481e3dbddb3475e3c3e Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From b9f89d446e289b657e5415202bd71c7a9b98cbf5 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 57f087b48351ac23778c96b563b9b2afe6ecbb12 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From 637d48247f34d0b31c76b649d9a97a06e26d8bfa Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 8f796a22238302324f8a013f3419a5e0b72b9c98 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 2f81b001c248432ce6edbfe67faa7d44830c1934 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.7.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (10 preceding siblings ...)
  2024-12-09 13:01 ` [PR PATCH] [Updated] New package: python3-pynitrokey-0.7.0 slymattz
@ 2024-12-17 14:02 ` slymattz
  2024-12-17 14:27 ` slymattz
                   ` (14 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-12-17 14:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1770 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.7.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

EDIT 12/13/24: Updating firmware on NK3 as a non-root user requires the following udev rule:
`ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42dd", MODE="666"`
The Nitrokey team is already aware of the issue caused by a broken dependency (python3-hidapi ver. 0.14.post4) and is working on fixing the problem in the future release. For reference, see https://github.com/Nitrokey/pynitrokey/pull/602/commits/687e4b787073c9e0eb0228c96766a68696d4ae10

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 17699 bytes --]

From 2dd4ad065462ab0039d91ae6a6b165ea35b5f8ca Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..e7ec01293a120c
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+_subver=post2
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython pkg-config"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.${_subver}.tar.gz"
+checksum=6c0e97ba6b059a309d51b495a8f0d5efbcea8756b640d98b6f6bb9fdef2458ac
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From a027792b510a30830d5e827dc958cf5ecfda7b83 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.3

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..506f15fe9287ee
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=f088362c8ef0694fc86d4c00a72148d93c2d6ab4f96d8a2581eab5e128266c4a
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From ec0a391bf48c3687a1730349b0b5bbf402ebbd36 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.7.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..11f2152dc611c2
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.7.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-cffi python3-click
+ python3-click-aliases python3-semver python3-libusb1
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-usb python3-requests python3-intelhex
+ python3-nkdfu python3-nitrokey python3-protobuf
+ python3-nethsm python3-pyscard libnitrokey
+ python3-tqdm python3-tlv8 python3-chardet"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=3854cf4ceb68b3da0fd31594ab21e8c62c901a3b7286cd93185e184ec343d4dc
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 66e1967d809b697f73997b39ebb98680a7ce2043 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 86ab2bfe39e7bf423c11d9ec9902a83d008c580a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 36d33addb9e48eca09e827b2e1c67dc72ae69582 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 11f756b13a91cc50244d6f08a4bb8172452d42a1 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 95f3c093b422ada72d5fe95789f1b2fef60f1561 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 369d03a6567cde3548cbb9e49de48a426b966edd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From baa61bc5d74e01109df20829b6ac9dcbba22a8b0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 24b1803c264d7f70871f2de13a0022b3e4a62540 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 190c7d2c6528124075d900d1d51ab463362797bf Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.7.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (11 preceding siblings ...)
  2024-12-17 14:02 ` slymattz
@ 2024-12-17 14:27 ` slymattz
  2024-12-17 15:44 ` slymattz
                   ` (13 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-12-17 14:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1770 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.7.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

EDIT 12/13/24: Updating firmware on NK3 as a non-root user requires the following udev rule:
`ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42dd", MODE="666"`
The Nitrokey team is already aware of the issue caused by a broken dependency (python3-hidapi ver. 0.14.post4) and is working on fixing the problem in the future release. For reference, see https://github.com/Nitrokey/pynitrokey/pull/602/commits/687e4b787073c9e0eb0228c96766a68696d4ae10

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 17699 bytes --]

From 2dd4ad065462ab0039d91ae6a6b165ea35b5f8ca Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/12] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..e7ec01293a120c
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+_subver=post2
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython pkg-config"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.${_subver}.tar.gz"
+checksum=6c0e97ba6b059a309d51b495a8f0d5efbcea8756b640d98b6f6bb9fdef2458ac
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From a027792b510a30830d5e827dc958cf5ecfda7b83 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/12] New package: python3-nitrokey-0.2.3

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..506f15fe9287ee
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=f088362c8ef0694fc86d4c00a72148d93c2d6ab4f96d8a2581eab5e128266c4a
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From ec0a391bf48c3687a1730349b0b5bbf402ebbd36 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/12] New package: python3-pynitrokey-0.7.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..11f2152dc611c2
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.7.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-cffi python3-click
+ python3-click-aliases python3-semver python3-libusb1
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-usb python3-requests python3-intelhex
+ python3-nkdfu python3-nitrokey python3-protobuf
+ python3-nethsm python3-pyscard libnitrokey
+ python3-tqdm python3-tlv8 python3-chardet"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=3854cf4ceb68b3da0fd31594ab21e8c62c901a3b7286cd93185e184ec343d4dc
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 66e1967d809b697f73997b39ebb98680a7ce2043 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/12] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 86ab2bfe39e7bf423c11d9ec9902a83d008c580a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/12] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 36d33addb9e48eca09e827b2e1c67dc72ae69582 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/12] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 11f756b13a91cc50244d6f08a4bb8172452d42a1 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/12] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 95f3c093b422ada72d5fe95789f1b2fef60f1561 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/12] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 369d03a6567cde3548cbb9e49de48a426b966edd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/12] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From baa61bc5d74e01109df20829b6ac9dcbba22a8b0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/12] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 24b1803c264d7f70871f2de13a0022b3e4a62540 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/12] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 190c7d2c6528124075d900d1d51ab463362797bf Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/12] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PR PATCH] [Updated] New package: python3-pynitrokey-0.7.0
  2024-09-16 19:42 [PR PATCH] New package: python3-pynitrokey-0.5.0 slymattz
                   ` (12 preceding siblings ...)
  2024-12-17 14:27 ` slymattz
@ 2024-12-17 15:44 ` slymattz
  2024-12-17 15:46 ` slymattz
                   ` (12 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: slymattz @ 2024-12-17 15:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1770 bytes --]

There is an updated pull request by slymattz against master on the void-packages repository

https://github.com/slymattz/void-packages nitrokey-0.5.0
https://github.com/void-linux/void-packages/pull/52240

New package: python3-pynitrokey-0.7.0
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### Dependencies

1. https://github.com/Nitrokey/pynitrokey/blob/master/pyproject.toml
2. https://github.com/Nitrokey/nitrokey-sdk-py/blob/main/pyproject.toml
3. https://github.com/Nitrokey/nethsm-sdk-py/blob/main/pyproject.toml

EDIT 12/13/24: Updating firmware on NK3 as a non-root user requires the following udev rule:
`ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42dd", MODE="666"`
The Nitrokey team is already aware of the issue caused by a broken dependency (python3-hidapi ver. 0.14.post4) and is working on fixing the problem in the future release. For reference, see https://github.com/Nitrokey/pynitrokey/pull/602/commits/687e4b787073c9e0eb0228c96766a68696d4ae10

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->

#### Local build testing
- I built this PR locally for my native architecture: x86_64-glibc
- I built this PR locally for these architectures:
  - x86_64-musl
  - armv6l-musl (crossbuild)
  - aarch64-glibc (crossbuild)
  - armv7l-musl (crossbuild)


A patch file from https://github.com/void-linux/void-packages/pull/52240.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nitrokey-0.5.0-52240.patch --]
[-- Type: text/x-diff, Size: 4821532 bytes --]

From 2dd4ad065462ab0039d91ae6a6b165ea35b5f8ca Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 17:25:46 +0200
Subject: [PATCH 01/13] New package: python3-hidapi-0.14.0

---
 srcpkgs/python3-hidapi/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-hidapi/template

diff --git a/srcpkgs/python3-hidapi/template b/srcpkgs/python3-hidapi/template
new file mode 100644
index 00000000000000..e7ec01293a120c
--- /dev/null
+++ b/srcpkgs/python3-hidapi/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-hidapi'
+pkgname=python3-hidapi
+version=0.14.0
+_subver=post2
+revision=1
+build_style=python3-module
+make_build_args="--with-system-hidapi"
+hostmakedepends="python3-setuptools python3-wheel python3-Cython pkg-config"
+makedepends="eudev-libudev-devel hidapi-devel libusb-devel python3-devel"
+depends="python3 hidapi"
+short_desc="Cython interface to the hidapi"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-3.0-or-later, BSD-3-Clause"
+homepage="https://github.com/trezor/cython-hidapi"
+distfiles="${PYPI_SITE}/h/hidapi/hidapi-${version}.${_subver}.tar.gz"
+checksum=6c0e97ba6b059a309d51b495a8f0d5efbcea8756b640d98b6f6bb9fdef2458ac
+
+if [ $CROSS_BUILD ]; then
+	# without the following line, the compiler complains about the lack of hidapi.h
+	hostmakedepends+=" hidapi-devel"
+fi
+
+post_install() {
+	vlicense LICENSE-bsd.txt
+}

From a027792b510a30830d5e827dc958cf5ecfda7b83 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 18:57:15 +0200
Subject: [PATCH 02/13] New package: python3-nitrokey-0.2.3

---
 srcpkgs/python3-nitrokey/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-nitrokey/template

diff --git a/srcpkgs/python3-nitrokey/template b/srcpkgs/python3-nitrokey/template
new file mode 100644
index 00000000000000..506f15fe9287ee
--- /dev/null
+++ b/srcpkgs/python3-nitrokey/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-nitrokey'
+pkgname=python3-nitrokey
+version=0.2.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel python3-poetry-core"
+depends="python3-fido2 python3-requests python3-semver python3-tlv8
+ python3-crcmod python3-cryptography python3-hidapi
+ python3-protobuf python3-pyserial python3-typing_extensions"
+short_desc="Python SDK to use and configure Nitrokey devices"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/nitrokey-sdk-py"
+distfiles="${PYPI_SITE}/n/nitrokey/nitrokey-${version}.tar.gz"
+checksum=f088362c8ef0694fc86d4c00a72148d93c2d6ab4f96d8a2581eab5e128266c4a
+
+post_install() {
+	vlicense LICENSES/MIT.txt
+}

From ec0a391bf48c3687a1730349b0b5bbf402ebbd36 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:14:30 +0200
Subject: [PATCH 03/13] New package: python3-pynitrokey-0.7.0

---
 srcpkgs/python3-pynitrokey/files/LICENSE-MIT | 23 +++++++++++++++++
 srcpkgs/python3-pynitrokey/template          | 26 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/python3-pynitrokey/files/LICENSE-MIT
 create mode 100644 srcpkgs/python3-pynitrokey/template

diff --git a/srcpkgs/python3-pynitrokey/files/LICENSE-MIT b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
new file mode 100644
index 00000000000000..31aa79387f27e7
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/files/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/srcpkgs/python3-pynitrokey/template b/srcpkgs/python3-pynitrokey/template
new file mode 100644
index 00000000000000..11f2152dc611c2
--- /dev/null
+++ b/srcpkgs/python3-pynitrokey/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-pynitrokey'
+pkgname=python3-pynitrokey
+version=0.7.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-wheel python3-flit_core"
+depends="python3-cffi python3-click
+ python3-click-aliases python3-semver python3-libusb1
+ python3-crcmod python3-hidapi python3-pyserial
+ python3-cryptography python3-ecdsa python3-fido2
+ python3-usb python3-requests python3-intelhex
+ python3-nkdfu python3-nitrokey python3-protobuf
+ python3-nethsm python3-pyscard libnitrokey
+ python3-tqdm python3-tlv8 python3-chardet"
+short_desc="CLI for the Nitrokey FIDO2, Nitrokey Start, Nitrokey 3 and NetHSM"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0, MIT"
+homepage="https://github.com/Nitrokey/pynitrokey"
+distfiles="${PYPI_SITE}/p/pynitrokey/pynitrokey-${version}.tar.gz"
+checksum=3854cf4ceb68b3da0fd31594ab21e8c62c901a3b7286cd93185e184ec343d4dc
+
+post_install() {
+	# PyPi package does not include LICENSE files
+	vlicense "${FILESDIR}/LICENSE-MIT"
+}

From 66e1967d809b697f73997b39ebb98680a7ce2043 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:15:37 +0200
Subject: [PATCH 04/13] New package: python3-click-aliases-1.0.4

---
 srcpkgs/python3-click-aliases/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-click-aliases/template

diff --git a/srcpkgs/python3-click-aliases/template b/srcpkgs/python3-click-aliases/template
new file mode 100644
index 00000000000000..58525800ae6599
--- /dev/null
+++ b/srcpkgs/python3-click-aliases/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-click-aliases'
+pkgname=python3-click-aliases
+version=1.0.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core python3-wheel"
+depends="python3-click"
+short_desc="Enable aliases for Click"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/click-contrib/click-aliases"
+distfiles="${PYPI_SITE}/c/click_aliases/click_aliases-${version}.tar.gz"
+checksum=384313c5dc4c4bd64d9eadaff39ad91352747e8cdfd2f95d504d914c01eb4eda
+
+post_install() {
+	vlicense LICENSE
+}

From 86ab2bfe39e7bf423c11d9ec9902a83d008c580a Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:16:43 +0200
Subject: [PATCH 05/13] New package: python3-intelhex-2.3.0

---
 srcpkgs/python3-intelhex/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-intelhex/template

diff --git a/srcpkgs/python3-intelhex/template b/srcpkgs/python3-intelhex/template
new file mode 100644
index 00000000000000..88ffc7b7a827c5
--- /dev/null
+++ b/srcpkgs/python3-intelhex/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-intelhex'
+pkgname=python3-intelhex
+version=2.3.0
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Python library for Intel HEX files manipulations"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-intelhex/intelhex"
+distfiles="${PYPI_SITE}/i/intelhex/intelhex-${version}.tar.gz"
+checksum=892b7361a719f4945237da8ccf754e9513db32f5628852785aea108dcd250093
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 36d33addb9e48eca09e827b2e1c67dc72ae69582 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:22:13 +0200
Subject: [PATCH 06/13] New package: python3-nkdfu-0.2

---
 srcpkgs/python3-nkdfu/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nkdfu/template

diff --git a/srcpkgs/python3-nkdfu/template b/srcpkgs/python3-nkdfu/template
new file mode 100644
index 00000000000000..f04a65bf8ab0f0
--- /dev/null
+++ b/srcpkgs/python3-nkdfu/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nkdfu'
+pkgname=python3-nkdfu
+version=0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-fire python3-intelhex python3-usb python3-tqdm"
+short_desc="DFU tool for updating Nitrokeys' firmware"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="GPL-2.0-only"
+homepage="https://github.com/Nitrokey/nkdfu"
+distfiles="${PYPI_SITE}/n/nkdfu/nkdfu-${version}.tar.gz"
+checksum=f25f75ddd382c47285b6943cde9f51577b1496ed284f93d58b5e054ae609f5f8

From 11f756b13a91cc50244d6f08a4bb8172452d42a1 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:23:11 +0200
Subject: [PATCH 07/13] New package: python3-tlv8-0.10.0

---
 srcpkgs/python3-tlv8/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-tlv8/template

diff --git a/srcpkgs/python3-tlv8/template b/srcpkgs/python3-tlv8/template
new file mode 100644
index 00000000000000..e218fa5684ac1c
--- /dev/null
+++ b/srcpkgs/python3-tlv8/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-tlv8'
+pkgname=python3-tlv8
+version=0.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools"
+depends="python3"
+short_desc="Module to handle type-length-value (TLV)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/jlusiardi/tlv8_python"
+distfiles="${PYPI_SITE}/t/tlv8/tlv8-${version}.tar.gz"
+checksum=7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684

From 95f3c093b422ada72d5fe95789f1b2fef60f1561 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Mon, 9 Sep 2024 21:24:44 +0200
Subject: [PATCH 08/13] New package: python3-fire-0.6.0

---
 srcpkgs/python3-fire/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-fire/template

diff --git a/srcpkgs/python3-fire/template b/srcpkgs/python3-fire/template
new file mode 100644
index 00000000000000..05d777d871a265
--- /dev/null
+++ b/srcpkgs/python3-fire/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-fire'
+pkgname=python3-fire
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core python3-wheel"
+depends="python3-six python3-termcolor"
+short_desc="Library for automatically generating command line interfaces"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/google/python-fire"
+distfiles="${PYPI_SITE}/f/fire/fire-${version}.tar.gz"
+checksum=54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66

From 369d03a6567cde3548cbb9e49de48a426b966edd Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:17:20 +0200
Subject: [PATCH 09/13] python3-protobuf: update to 5.28.0

---
 srcpkgs/python3-protobuf/patches/cpp17.patch | 11 ----------
 srcpkgs/python3-protobuf/template            | 21 ++++++--------------
 2 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
deleted file mode 100644
index 97b81e1bfa5ad6..00000000000000
--- a/srcpkgs/python3-protobuf/patches/cpp17.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
-+++ -	2023-07-14 16:19:35.949677747 +0200
-@@ -370,7 +370,7 @@
-       extra_compile_args.append('-Wno-invalid-offsetof')
-       extra_compile_args.append('-Wno-sign-compare')
-       extra_compile_args.append('-Wno-unused-variable')
--      extra_compile_args.append('-std=c++14')
-+      extra_compile_args.append('-std=c++17')
- 
-     if sys.platform == 'darwin':
-       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 301489708bf35a..9cacac2ddc6281 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,30 +1,21 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.25.2
+version=5.28.0
 revision=1
 build_style=python3-module
-build_wrksrc=python
 hostmakedepends="python3-setuptools python3-wheel protobuf"
+makedepends="python3-devel protobuf-devel"
 depends="python3-setuptools python3-six"
 checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-# PyPi release does not have bits for cppext
-distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
-checksum=8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871
-make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
+distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
+checksum=dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add
 
-build_options="cppext"
-build_options_default="cppext"
-desc_option_cppext="Build C++ extension to improve performance"
-
-if [ "$build_option_cppext" ]; then
-	make_build_args="--cpp_implementation"
-	make_install_args="--cpp_implementation"
-	makedepends+=" python3-devel protobuf-devel"
-fi
+# building with c++ implementation is now the default behavior
+# https://github.com/protocolbuffers/protobuf/issues/12390#issuecomment-1502304165
 
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE

From baa61bc5d74e01109df20829b6ac9dcbba22a8b0 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:50:43 +0200
Subject: [PATCH 10/13] hidapi: update to 0.14.0

---
 srcpkgs/hidapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidapi/template b/srcpkgs/hidapi/template
index 365e8eac36cacd..66bc48f737c9b2 100644
--- a/srcpkgs/hidapi/template
+++ b/srcpkgs/hidapi/template
@@ -1,6 +1,6 @@
 # Template file for 'hidapi'
 pkgname=hidapi
-version=0.13.1
+version=0.14.0
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/libusb/hidapi"
 changelog="https://github.com/libusb/hidapi/releases"
 distfiles="https://github.com/libusb/hidapi/archive/refs/tags/hidapi-${version}.tar.gz"
-checksum=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
+checksum=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
 
 post_install() {
 	vlicense LICENSE-bsd.txt LICENSE

From 24b1803c264d7f70871f2de13a0022b3e4a62540 Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 18:52:38 +0200
Subject: [PATCH 11/13] python3-ecdsa: update to 0.19.0

---
 srcpkgs/python3-ecdsa/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ecdsa/template b/srcpkgs/python3-ecdsa/template
index 0cce9910988f7c..719435d8eb3c22 100644
--- a/srcpkgs/python3-ecdsa/template
+++ b/srcpkgs/python3-ecdsa/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-ecdsa'
 pkgname=python3-ecdsa
-version=0.18.0
+version=0.19.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/tlsfuzzer/python-ecdsa/"
 distfiles="https://github.com/tlsfuzzer/python-ecdsa/archive/python-ecdsa-${version}.tar.gz"
-checksum=5d33bcc7c45be2d0bf0bd7d3a1e6502fac16efde1b69bc988c9a3ee7680c17d7
+checksum=1ba39e8358eaeebef1ba2a772db619528375ddf3fe0e1b20e43372d7d5ab3f77
 
 do_check() {
 	coverage run --branch -m pytest src/ecdsa

From 190c7d2c6528124075d900d1d51ab463362797bf Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 10 Sep 2024 19:30:11 +0200
Subject: [PATCH 12/13] New package: python3-nethsm-1.2.1

---
 srcpkgs/python3-nethsm/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/python3-nethsm/template

diff --git a/srcpkgs/python3-nethsm/template b/srcpkgs/python3-nethsm/template
new file mode 100644
index 00000000000000..9e01b4084a1163
--- /dev/null
+++ b/srcpkgs/python3-nethsm/template
@@ -0,0 +1,13 @@
+# Template file for 'python3-nethsm'
+pkgname=python3-nethsm
+version=1.2.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+depends="python3-certifi python3-cryptography python3-dateutil python3-typing_extensions python3-urllib3"
+short_desc="Python Library to manage NetHSM(s)"
+maintainer="Mateusz Sylwestrzak <slymattz@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/Nitrokey/nethsm-sdk-py"
+distfiles="${PYPI_SITE}/n/nethsm/nethsm-${version}.tar.gz"
+checksum=10fc462450861a5de9df22e533b347ef1b44552db0a118a028984be7b0348001

From 433ac0073314436a2e83f0b809ef2e76b87cb70c Mon Sep 17 00:00:00 2001
From: Mateusz Sylwestrzak <slymattz@gmail.com>
Date: Tue, 17 Dec 2024 16:44:23 +0100
Subject: [PATCH 13/13] Revert "Merge branch 'master' into nitrokey-0.5.0"

This reverts commit edbca6afd5f3f1978743e1bfd89d84650418d0c8, reversing
changes made to 190c7d2c6528124075d900d1d51ab463362797bf.
---
 Manual.md                                     |     7 -
 common/build-helper/meson.sh                  |     2 +-
 common/build-helper/python3.sh                |     2 -
 .../environment/build-style/python3-module.sh |     3 -
 .../environment/build-style/python3-pep517.sh |     5 +-
 common/environment/setup-subpkg/subpkg.sh     |     6 -
 common/environment/setup/python.sh            |     2 +-
 common/hooks/do-pkg/00-gen-pkg.sh             |    22 +-
 .../04-create-xbps-metadata-scripts.sh        |     2 +-
 .../post-install/06-strip-and-debug-pkgs.sh   |     2 +-
 .../hooks/post-install/98-shlib-provides.sh   |     9 +-
 .../hooks/pre-configure/02-script-wrapper.sh  |     2 +-
 common/hooks/pre-pkg/04-generate-provides.sh  |    29 -
 .../hooks/pre-pkg/04-generate-runtime-deps.sh |     4 +-
 .../pre-pkg/05-generate-32bit-runtime-deps.sh |    22 +-
 common/hooks/pre-pkg/06-verify-python-deps.sh |    17 -
 common/hooks/pre-pkg/99-pkglint.sh            |     4 +-
 common/hooks/pre-pkg/999-collected-rdeps.sh   |     4 +-
 common/scripts/parse-py-metadata.py           |   203 -
 common/shlibs                                 |    18 +-
 common/xbps-src/shutils/show.sh               |     6 +-
 srcpkgs/Carla/template                        |     2 +-
 srcpkgs/DSView/template                       |     2 +-
 srcpkgs/DisplayCAL/template                   |     2 +-
 srcpkgs/GCP-Guest-Environment/template        |     2 +-
 srcpkgs/Grammalecte/template                  |     2 +-
 srcpkgs/Komikku/template                      |     2 +-
 srcpkgs/LabJackPython/template                |     2 +-
 srcpkgs/OpenLP/template                       |     2 +-
 srcpkgs/OpenSubdiv/patches/tbb-2021.patch     |    29 +
 srcpkgs/OpenSubdiv/template                   |     6 +-
 srcpkgs/PackageKit/template                   |     2 +-
 srcpkgs/PhotoCollage/template                 |     6 +-
 srcpkgs/PyInstaller/template                  |     2 +-
 srcpkgs/QMPlay2/template                      |     6 +-
 srcpkgs/ReText/template                       |     2 +-
 srcpkgs/SoapySDR/template                     |     2 +-
 srcpkgs/Solaar/template                       |     2 +-
 srcpkgs/Trimage/template                      |     2 +-
 srcpkgs/TwitchNotifier/template               |     2 +-
 srcpkgs/act/template                          |     2 +-
 srcpkgs/activityrelay/template                |     2 +-
 srcpkgs/afew/template                         |     2 +-
 srcpkgs/afl++/template                        |     2 +-
 srcpkgs/aircrack-ng/template                  |     2 +-
 srcpkgs/alienfx/template                      |     2 +-
 srcpkgs/alot/template                         |     2 +-
 srcpkgs/android-studio/template               |     3 +-
 srcpkgs/angrysearch/template                  |     2 +-
 srcpkgs/ansible-core/template                 |     2 +-
 srcpkgs/ansible/template                      |     2 +-
 srcpkgs/apostrophe/template                   |     5 +-
 srcpkgs/apparmor/template                     |     2 +-
 srcpkgs/arandr/template                       |     2 +-
 srcpkgs/asciidoc/template                     |     2 +-
 srcpkgs/asciinema/template                    |     2 +-
 srcpkgs/ast-grep/template                     |     4 +-
 srcpkgs/attic/template                        |     2 +-
 srcpkgs/audit/template                        |     2 +-
 srcpkgs/autopep8/template                     |     2 +-
 srcpkgs/autorandr/template                    |     2 +-
 srcpkgs/autotiling/template                   |     2 +-
 srcpkgs/avahi-discover/template               |    15 +-
 srcpkgs/avideo/template                       |     2 +-
 srcpkgs/avr-gdb/patches/constness.patch       |    11 +
 srcpkgs/avr-gdb/template                      |     8 +-
 srcpkgs/aws-cli/template                      |     2 +-
 srcpkgs/awsume/template                       |     2 +-
 srcpkgs/azote/template                        |     2 +-
 srcpkgs/bCNC/template                         |     2 +-
 srcpkgs/backblaze-b2/template                 |     2 +-
 srcpkgs/backintime/template                   |     2 +-
 srcpkgs/bcc/template                          |     6 +-
 srcpkgs/beancount/template                    |     2 +-
 srcpkgs/beets/template                        |     2 +-
 srcpkgs/binwalk/template                      |     2 +-
 srcpkgs/black/template                        |     2 +-
 srcpkgs/blender/patches/0001-musl-fixes.patch |    16 +-
 .../blender/patches/0002-fix-includes.patch   |    38 -
 srcpkgs/blender/patches/altivec-all.patch     |    32 +
 .../blender/patches/python-3.12-regex.patch   |    36 +
 srcpkgs/blender/patches/python-3.13.patch     |   626 -
 .../patches/python3.12-pylongobject.patch     |   134 +
 srcpkgs/blender/template                      |    12 +-
 srcpkgs/bluefish/template                     |     2 +-
 srcpkgs/blueman/template                      |     2 +-
 srcpkgs/blueprint-compiler/template           |     2 +-
 srcpkgs/boost/template                        |     6 +-
 srcpkgs/bootchart2/template                   |     2 +-
 srcpkgs/borg/template                         |     2 +-
 srcpkgs/borgmatic/template                    |     2 +-
 srcpkgs/botan/template                        |     2 +-
 srcpkgs/brltty/patches/python3-bindings.patch |    28 -
 srcpkgs/brltty/template                       |    29 +-
 srcpkgs/btrfs-backup/template                 |     2 +-
 srcpkgs/bum/template                          |     2 +-
 srcpkgs/bumblebee-status/template             |     2 +-
 srcpkgs/bup/template                          |     2 +-
 srcpkgs/cadence/template                      |     2 +-
 srcpkgs/caffeine-ng/template                  |     2 +-
 srcpkgs/cairo-dock-plugins/template           |     2 +-
 srcpkgs/calibre/template                      |     2 +-
 .../canto-curses/patches/python-3.13.patch    |    20 -
 srcpkgs/canto-curses/template                 |     2 +-
 srcpkgs/canto-next/template                   |     2 +-
 srcpkgs/capstone/template                     |     2 +-
 srcpkgs/cargo-update/files/Cargo.lock         |   879 +
 srcpkgs/cargo-update/template                 |     4 +-
 srcpkgs/caribou/template                      |     2 +-
 srcpkgs/castero/template                      |     2 +-
 srcpkgs/catfish/template                      |     2 +-
 srcpkgs/ccsm/template                         |     2 +-
 srcpkgs/certbot-apache/template               |     2 +-
 srcpkgs/certbot-nginx/template                |     2 +-
 srcpkgs/certbot/template                      |     2 +-
 srcpkgs/chirp/template                        |     2 +-
 .../cinnamon-control-center/patches/musl.diff |    19 +
 srcpkgs/cinnamon-control-center/template      |    11 +-
 srcpkgs/cinnamon-desktop/template             |     4 +-
 srcpkgs/cinnamon-menus/template               |     6 +-
 srcpkgs/cinnamon-screensaver/template         |     6 +-
 srcpkgs/cinnamon-session/template             |     6 +-
 srcpkgs/cinnamon-settings-daemon/template     |     8 +-
 srcpkgs/cinnamon-translations/template        |     4 +-
 srcpkgs/cinnamon/template                     |    23 +-
 ...0aae4eff422c3acd275c0108e970eafcdcb9.patch |    46 +
 srcpkgs/cjs/template                          |     8 +-
 srcpkgs/clearine/template                     |     2 +-
 srcpkgs/cmakelang/template                    |     2 +-
 srcpkgs/coccigrep/template                    |     2 +-
 srcpkgs/collectd/template                     |     2 +-
 srcpkgs/compizconfig-python/template          |     2 +-
 srcpkgs/configshell-fb/template               |     2 +-
 srcpkgs/console-setup/template                |     4 +-
 srcpkgs/cookiecutter/template                 |     2 +-
 srcpkgs/coursera-dl/template                  |     2 +-
 srcpkgs/cozy/template                         |     6 +-
 srcpkgs/cppman/template                       |     2 +-
 srcpkgs/cpuset/template                       |     2 +-
 srcpkgs/criu/template                         |     2 +-
 srcpkgs/cropgui/template                      |     2 +-
 srcpkgs/cross-arm-none-eabi-gdb/template      |    19 +-
 srcpkgs/csound/template                       |     2 +-
 srcpkgs/ctop/template                         |     2 +-
 .../curl/patches/fix-content-encoding.patch   |    26 +
 srcpkgs/curl/patches/fix-netrc.patch          |   214 +
 srcpkgs/curl/template                         |     6 +-
 srcpkgs/curseradio/template                   |     2 +-
 srcpkgs/cutter/template                       |     2 +-
 srcpkgs/d-feet/template                       |     2 +-
 srcpkgs/deluge/template                       |     2 +-
 srcpkgs/devedeng/template                     |     2 +-
 srcpkgs/diffoscope/template                   |     2 +-
 srcpkgs/discord/template                      |     4 +-
 srcpkgs/distcc/template                       |     2 +-
 srcpkgs/docker-cli/template                   |     4 +-
 srcpkgs/downloader-cli/template               |     2 +-
 srcpkgs/dtrx/template                         |     2 +-
 srcpkgs/duckdb/template                       |     2 +-
 srcpkgs/duplicity/template                    |     4 +-
 srcpkgs/eduvpn-common/template                |     2 +-
 srcpkgs/edx-dl/template                       |     2 +-
 srcpkgs/electrum/template                     |     2 +-
 srcpkgs/eog-plugins/template                  |     2 +-
 srcpkgs/eolie/template                        |     2 +-
 srcpkgs/epy/template                          |     2 +-
 srcpkgs/ergo/template                         |     2 +-
 srcpkgs/esptool/template                      |     2 +-
 srcpkgs/etcetera/template                     |     2 +-
 srcpkgs/etesync-dav/template                  |     2 +-
 srcpkgs/evemu/template                        |     2 +-
 ...8fb0227c714d7ed0613a28142613aa4a9c6b.patch |    53 +
 srcpkgs/extension-manager/template            |     8 +-
 srcpkgs/eyeD3/template                        |     2 +-
 srcpkgs/eza/template                          |     8 +-
 srcpkgs/fail2ban/template                     |    10 +-
 srcpkgs/fava/template                         |     2 +-
 srcpkgs/fenrir/template                       |     2 +-
 srcpkgs/fetchmail/template                    |     2 +-
 srcpkgs/fftw/patches/clock-gettime.patch      |    70 -
 srcpkgs/fftw/template                         |     2 +-
 srcpkgs/fierce/template                       |     2 +-
 srcpkgs/fifengine/template                    |     2 +-
 srcpkgs/firefox/template                      |     6 +-
 srcpkgs/flake8/template                       |     2 +-
 srcpkgs/flannel/template                      |     4 +-
 srcpkgs/flinks/template                       |     2 +-
 srcpkgs/fnott/template                        |     6 +-
 srcpkgs/font-sarasa-gothic/template           |     4 +-
 srcpkgs/fontforge/patches/l10n.patch          |  8803 ----------
 srcpkgs/fontforge/template                    |     2 +-
 srcpkgs/fonttools/template                    |     2 +-
 srcpkgs/freecad/template                      |     6 +-
 srcpkgs/freeorion/template                    |     4 +-
 srcpkgs/frr/patches/python-3.13.patch         |    79 -
 srcpkgs/frr/template                          |     2 +-
 srcpkgs/fwupd/template                        |     4 +-
 srcpkgs/gajim/template                        |     2 +-
 srcpkgs/gallery-dl/template                   |     2 +-
 srcpkgs/gammastep/template                    |     2 +-
 srcpkgs/gbinder-python/template               |     2 +-
 srcpkgs/gcalcli/template                      |     2 +-
 srcpkgs/gcovr/template                        |     2 +-
 srcpkgs/gdb/template                          |     2 +-
 srcpkgs/gdm-settings/template                 |     2 +-
 srcpkgs/gdown/template                        |     2 +-
 srcpkgs/gedit-plugins/template                |     2 +-
 srcpkgs/gedit/template                        |     2 +-
 srcpkgs/gef/template                          |     2 +-
 srcpkgs/geis/template                         |     2 +-
 srcpkgs/gfeeds/template                       |     2 +-
 srcpkgs/gi-docgen/template                    |     2 +-
 srcpkgs/git-cola/template                     |     4 +-
 srcpkgs/git-delete-merged-branches/template   |     2 +-
 srcpkgs/git-filter-repo/template              |     2 +-
 srcpkgs/git-review/template                   |     2 +-
 srcpkgs/git-revise/template                   |     2 +-
 srcpkgs/gitg/template                         |     2 +-
 srcpkgs/glade3/template                       |     2 +-
 srcpkgs/glances/template                      |     2 +-
 srcpkgs/gleam/template                        |     4 +-
 srcpkgs/glib/template                         |     2 +-
 srcpkgs/glusterfs/template                    |     2 +-
 srcpkgs/gnome-browser-connector/template      |     2 +-
 srcpkgs/gnome-builder/template                |     2 +-
 srcpkgs/gnome-music/template                  |     2 +-
 srcpkgs/gnome-passbook/template               |     2 +-
 srcpkgs/gnome-secrets/template                |     2 +-
 srcpkgs/gnome-tweaks/template                 |     2 +-
 srcpkgs/gns3-gui/template                     |     2 +-
 srcpkgs/gns3-net-converter/template           |     2 +-
 srcpkgs/gns3-server/template                  |     2 +-
 srcpkgs/gnubg/template                        |     2 +-
 srcpkgs/gnucash/template                      |     2 +-
 srcpkgs/gnuradio-nrsc5/template               |     2 +-
 srcpkgs/gnuradio-osmosdr/template             |     2 +-
 srcpkgs/gnuradio-rds/template                 |     2 +-
 srcpkgs/gnuradio/template                     |     2 +-
 .../gobject-introspection-bootstrap/template  |     2 +-
 srcpkgs/gobject-introspection/template        |     2 +-
 srcpkgs/gom/template                          |     2 +-
 srcpkgs/gpgme/template                        |    11 +-
 srcpkgs/gpodder/template                      |     2 +-
 srcpkgs/gpsd/template                         |     2 +-
 srcpkgs/gramps/template                       |     2 +-
 srcpkgs/greg/template                         |     2 +-
 srcpkgs/grip/template                         |     2 +-
 srcpkgs/gscreenshot/template                  |     2 +-
 srcpkgs/gst1-editing-services/template        |     2 +-
 srcpkgs/gst1-python3/template                 |     2 +-
 srcpkgs/gtk-doc/template                      |     2 +-
 srcpkgs/guake/template                        |     2 +-
 srcpkgs/gufw/template                         |     2 +-
 srcpkgs/gwe/template                          |     2 +-
 srcpkgs/gwenview/template                     |     4 +-
 srcpkgs/hamlib/template                       |     6 +-
 srcpkgs/hatch-fancy-pypi-readme/template      |     2 +-
 srcpkgs/hatch-jupyter-builder/template        |     2 +-
 srcpkgs/hatch-nodejs-version/template         |     2 +-
 srcpkgs/hatch-vcs/template                    |     2 +-
 srcpkgs/hatch/template                        |     2 +-
 srcpkgs/hatchling/template                    |     2 +-
 srcpkgs/heisenbridge/template                 |     2 +-
 srcpkgs/hexchat/template                      |     2 +-
 srcpkgs/hg-evolve/template                    |     2 +-
 srcpkgs/hg-git/template                       |     2 +-
 srcpkgs/hivex/template                        |     2 +-
 srcpkgs/hobbits/template                      |     2 +-
 srcpkgs/hplip/template                        |     2 +-
 srcpkgs/httpie/template                       |     2 +-
 srcpkgs/hugin/template                        |     2 +-
 srcpkgs/hugo/template                         |     4 +-
 srcpkgs/hydrus/template                       |     2 +-
 srcpkgs/i2c-tools/template                    |     2 +-
 srcpkgs/ibus/template                         |    17 +-
 srcpkgs/icdiff/template                       |     2 +-
 srcpkgs/idjc/template                         |     2 +-
 srcpkgs/imath/template                        |     4 +-
 srcpkgs/img2pdf/template                      |     2 +-
 srcpkgs/impacket/template                     |     2 +-
 srcpkgs/instaloader/template                  |     2 +-
 srcpkgs/iotop/template                        |     2 +-
 srcpkgs/ite8291r3-ctl/template                |     2 +-
 srcpkgs/jack_mixer/template                   |     8 +-
 srcpkgs/janet/template                        |     4 +-
 srcpkgs/jaq/template                          |     5 +-
 srcpkgs/jc/template                           |     2 +-
 srcpkgs/jep/template                          |     2 +-
 srcpkgs/jrnl/template                         |     2 +-
 srcpkgs/jujutsu/template                      |     5 +-
 srcpkgs/jupyterlab/template                   |     2 +-
 srcpkgs/justbuild/template                    |     4 +-
 srcpkgs/kapidox/template                      |     2 +-
 .../kdevelop-python/patches/python-3.13.patch |    26 -
 srcpkgs/kdevelop-python/template              |    10 +-
 srcpkgs/keystone/template                     |     2 +-
 srcpkgs/kf6-solid/template                    |     4 +-
 srcpkgs/khal/template                         |     2 +-
 srcpkgs/khard/template                        |     2 +-
 srcpkgs/kicad/template                        |     2 +-
 ...boost-python-bindung-with-boost-1.67.patch |    95 +
 srcpkgs/kig/template                          |     6 +-
 srcpkgs/kitty/template                        |     2 +-
 srcpkgs/knot/template                         |     4 +-
 srcpkgs/kodi/patches/no-werror.patch          |    19 -
 srcpkgs/kodi/template                         |     9 +-
 srcpkgs/kore/patches/python-3.13.patch        |    69 -
 srcpkgs/kore/template                         |     2 +-
 srcpkgs/krita/patches/python-3.13.patch       |   120 -
 srcpkgs/krita/template                        |     2 +-
 srcpkgs/ktoblzcheck/template                  |     2 +-
 srcpkgs/kubernetes/template                   |     4 +-
 srcpkgs/kupfer/template                       |     2 +-
 srcpkgs/kvirc/template                        |     2 +-
 srcpkgs/labwc/template                        |     4 +-
 srcpkgs/ldapdomaindump/template               |     2 +-
 srcpkgs/ldb/template                          |     2 +-
 srcpkgs/legendary/template                    |     2 +-
 srcpkgs/lensfun/template                      |     2 +-
 srcpkgs/lesspass/template                     |     2 +-
 srcpkgs/lfm/template                          |     2 +-
 srcpkgs/libaccounts-glib/template             |     2 +-
 srcpkgs/libblockdev/template                  |     2 +-
 srcpkgs/libbytesize/template                  |     2 +-
 srcpkgs/libcap-ng/template                    |     2 +-
 srcpkgs/libcec/patches/python-3.13.patch      |    12 -
 srcpkgs/libcec/template                       |     2 +-
 srcpkgs/libffado/template                     |     2 +-
 srcpkgs/libgdal/template                      |     2 +-
 srcpkgs/libgexiv2/template                    |     2 +-
 srcpkgs/libgit2-glib/template                 |     2 +-
 srcpkgs/libgpiod/template                     |     2 +-
 srcpkgs/libiio/template                       |     2 +-
 .../libimobiledevice/patches/00.cython3.patch |    24 -
 .../libimobiledevice/patches/01.cython3.patch |    50 -
 srcpkgs/libimobiledevice/template             |     4 +-
 srcpkgs/libixion/template                     |     2 +-
 srcpkgs/libkdcraw5/template                   |     5 +-
 srcpkgs/libkdumpfile/template                 |     2 +-
 srcpkgs/liblouis/template                     |     2 +-
 srcpkgs/libnvme/template                      |     2 +-
 srcpkgs/libopenshot/template                  |     2 +-
 srcpkgs/liborcus/template                     |     2 +-
 srcpkgs/libpeas/template                      |     2 +-
 srcpkgs/libpeas2/template                     |     2 +-
 srcpkgs/libpfm4/template                      |     2 +-
 srcpkgs/libplist/template                     |     2 +-
 srcpkgs/libproxy/template                     |     2 +-
 srcpkgs/libpwquality/template                 |     2 +-
 srcpkgs/libreoffice/template                  |     2 +-
 srcpkgs/libsearpc/template                    |     2 +-
 srcpkgs/libsigrokdecode/template              |     2 +-
 srcpkgs/libsmbios/template                    |     2 +-
 srcpkgs/libtorrent-rasterbar/template         |     4 +-
 srcpkgs/libvirt-python3/template              |     4 +-
 srcpkgs/libvoikko/template                    |     2 +-
 srcpkgs/libxml2/template                      |     2 +-
 srcpkgs/libxslt/template                      |     2 +-
 srcpkgs/lightdm-gtk-greeter-settings/template |     2 +-
 srcpkgs/limine/template                       |     6 +-
 srcpkgs/linux-tools/template                  |     2 +-
 srcpkgs/linux4.19/files/DocBook/Makefile      |   282 +
 srcpkgs/linux4.19/files/arm-dotconfig         |  6552 ++++++++
 srcpkgs/linux4.19/files/arm64-dotconfig       |  8721 ++++++++++
 srcpkgs/linux4.19/files/i386-dotconfig        |  8682 ++++++++++
 srcpkgs/linux4.19/files/mv-debug              |     7 +
 srcpkgs/linux4.19/files/ppc-dotconfig         |  6958 ++++++++
 srcpkgs/linux4.19/files/ppc64-dotconfig       |  8793 ++++++++++
 srcpkgs/linux4.19/files/ppc64le-dotconfig     |  8554 ++++++++++
 srcpkgs/linux4.19/files/x86_64-dotconfig      |  8897 ++++++++++
 .../linux4.19/patches/ppc64-be-elfv2.patch    |    86 +
 .../linux4.19/patches/ppcle-broken-vdso.patch |    21 +
 srcpkgs/linux4.19/patches/ppcle-enable.patch  |    33 +
 .../patches/ppcle-ll-compat-sys.patch         |   107 +
 srcpkgs/linux4.19/template                    |   338 +
 srcpkgs/linux6.10/files/arm64-dotconfig       | 13501 +++++++++++++++
 srcpkgs/linux6.10/files/i386-dotconfig        | 11111 +++++++++++++
 srcpkgs/linux6.10/files/mv-debug              |     8 +
 srcpkgs/linux6.10/files/x86_64-dotconfig      | 11578 +++++++++++++
 .../linux6.10/patches/fix-musl-btf-ids.patch  |    15 +
 .../linux6.10/patches/fix-musl-objtool.patch  |    14 +
 .../linux6.10/patches/fixdep-largefile.patch  |    11 +
 ...d-in-kernel-pd-mapper-implementation.patch |  1853 +++
 srcpkgs/linux6.10/template                    |   351 +
 srcpkgs/linux6.11/files/arm64-dotconfig       | 13598 ++++++++++++++++
 srcpkgs/linux6.11/files/i386-dotconfig        | 11169 +++++++++++++
 srcpkgs/linux6.11/files/mv-debug              |     8 +
 srcpkgs/linux6.11/files/x86_64-dotconfig      | 11641 +++++++++++++
 .../linux6.11/patches/fix-musl-btf-ids.patch  |    15 +
 .../linux6.11/patches/fix-musl-objtool.patch  |    14 +
 .../linux6.11/patches/fixdep-largefile.patch  |    11 +
 srcpkgs/linux6.11/patches/x13s-camera.patch   |   105 +
 srcpkgs/linux6.11/template                    |   351 +
 srcpkgs/linux6.12/files/arm64-dotconfig       |     5 +-
 srcpkgs/linux6.12/files/i386-dotconfig        |     5 +-
 srcpkgs/linux6.12/files/x86_64-dotconfig      |     5 +-
 srcpkgs/linux6.12/template                    |     4 +-
 srcpkgs/linux6.6/files/arm64-dotconfig        |     6 +-
 srcpkgs/linux6.6/files/i386-dotconfig         |     4 +-
 srcpkgs/linux6.6/files/x86_64-dotconfig       |     4 +-
 srcpkgs/linux6.6/template                     |     4 +-
 srcpkgs/lite-xl/template                      |     6 +-
 srcpkgs/litecli/template                      |     2 +-
 srcpkgs/litterbox/template                    |     2 +-
 srcpkgs/llvm17/template                       |    20 +-
 srcpkgs/llvm18/template                       |    26 +-
 srcpkgs/llvm19/template                       |     2 +-
 srcpkgs/lollypop/template                     |     2 +-
 srcpkgs/lowdown/template                      |     6 +-
 srcpkgs/lutris/template                       |     2 +-
 srcpkgs/lxqt-notificationd/template           |     4 +-
 srcpkgs/lxqt-panel/template                   |     4 +-
 srcpkgs/magic-wormhole/template               |     2 +-
 srcpkgs/mailnag-goa-plugin/template           |     2 +-
 srcpkgs/mailnag/template                      |     2 +-
 srcpkgs/manuskript/template                   |     2 +-
 srcpkgs/massren/template                      |     6 +-
 srcpkgs/mat2/template                         |     2 +-
 srcpkgs/mate-menu/template                    |     2 +-
 srcpkgs/mate-tweak/template                   |     2 +-
 srcpkgs/maturin/template                      |     4 +-
 srcpkgs/mcelog/template                       |     4 +-
 srcpkgs/mcg/template                          |     2 +-
 srcpkgs/mcomix/template                       |     2 +-
 srcpkgs/med/patches/include-dir.patch         |    13 -
 srcpkgs/med/template                          |    20 +-
 srcpkgs/meld/template                         |     2 +-
 srcpkgs/memray/template                       |     2 +-
 srcpkgs/menulibre/template                    |     2 +-
 srcpkgs/menumaker/template                    |     2 +-
 srcpkgs/mercurial/template                    |     2 +-
 srcpkgs/mesa/template                         |     7 +-
 srcpkgs/meson-cmake-wrapper/template          |     2 +-
 srcpkgs/meson/template                        |     2 +-
 srcpkgs/mimeo/template                        |     2 +-
 srcpkgs/minigalaxy/template                   |     2 +-
 srcpkgs/mininet/template                      |     2 +-
 srcpkgs/mirage/template                       |     2 +-
 srcpkgs/mitmproxy/template                    |     2 +-
 srcpkgs/mkchromecast/template                 |     2 +-
 srcpkgs/mlt7/template                         |     2 +-
 srcpkgs/moby/template                         |     6 +-
 srcpkgs/mod_wsgi/template                     |     2 +-
 srcpkgs/mongo-c-driver/template               |     6 +-
 srcpkgs/monit/template                        |     6 +-
 srcpkgs/mopidy-local/template                 |     2 +-
 srcpkgs/mopidy-mpd/template                   |     2 +-
 srcpkgs/mopidy-multisonic/template            |     2 +-
 srcpkgs/mopidy-podcast/template               |     2 +-
 srcpkgs/mopidy/template                       |     2 +-
 srcpkgs/mozo/template                         |     2 +-
 srcpkgs/mpd-sima/template                     |     2 +-
 srcpkgs/muffin/template                       |    11 +-
 srcpkgs/mugshot/template                      |     2 +-
 srcpkgs/multibootusb/template                 |     2 +-
 srcpkgs/muse/template                         |     7 +-
 srcpkgs/mymcplus/template                     |     2 +-
 srcpkgs/mypaint/template                      |     2 +-
 srcpkgs/nagstamon/template                    |     2 +-
 srcpkgs/nautilus-python/template              |     2 +-
 srcpkgs/navit/template                        |     2 +-
 srcpkgs/nemo-audio-tab/template               |     4 +-
 srcpkgs/nemo-compare/template                 |     7 +-
 srcpkgs/nemo-emblems/template                 |     4 +-
 srcpkgs/nemo-extensions/template              |     2 +-
 srcpkgs/nemo-fileroller/template              |     6 +-
 srcpkgs/nemo-image-converter/template         |     6 +-
 srcpkgs/nemo-preview/template                 |     8 +-
 srcpkgs/nemo-python/template                  |     6 +-
 srcpkgs/nemo-terminal/template                |     4 +-
 srcpkgs/nemo/template                         |     9 +-
 srcpkgs/neovim-remote/template                |     2 +-
 srcpkgs/network-ups-tools/template            |     2 +-
 srcpkgs/newt/template                         |     2 +-
 srcpkgs/nftables/template                     |     2 +-
 srcpkgs/nicotine+/template                    |     2 +-
 srcpkgs/ninja/template                        |     2 +-
 srcpkgs/nitroshare/template                   |     2 +-
 srcpkgs/nmap/template                         |    10 +-
 srcpkgs/nodeenv/patches/python-3.13.patch     |    73 -
 srcpkgs/nodeenv/template                      |     2 +-
 srcpkgs/notmuch/template                      |     2 +-
 srcpkgs/nsd/template                          |     6 +-
 srcpkgs/ntpd-rs/template                      |     4 +-
 srcpkgs/nyx/template                          |     2 +-
 srcpkgs/obs/template                          |     2 +-
 srcpkgs/offlineimap/template                  |     2 +-
 srcpkgs/offpunk/template                      |     2 +-
 srcpkgs/olm-python3/template                  |     2 +-
 srcpkgs/onboard/template                      |     2 +-
 srcpkgs/opencamlib/template                   |     4 +-
 srcpkgs/opencolorio/template                  |     2 +-
 srcpkgs/opencv/template                       |     2 +-
 srcpkgs/openimagedenoise/template             |     6 +-
 srcpkgs/openimageio/template                  |     6 +-
 srcpkgs/openrazer-meta/template               |     2 +-
 srcpkgs/openshot/template                     |     2 +-
 srcpkgs/openvswitch/template                  |     2 +-
 srcpkgs/opera/template                        |     4 +-
 srcpkgs/orca/template                         |     2 +-
 srcpkgs/osc/template                          |     2 +-
 srcpkgs/othman/template                       |     2 +-
 srcpkgs/pacman/template                       |    13 +-
 srcpkgs/pahole/template                       |     4 +-
 srcpkgs/pam_wrapper/template                  |     2 +-
 srcpkgs/pantalaimon/template                  |     2 +-
 srcpkgs/papis/template                        |     2 +-
 srcpkgs/pass-git-helper/template              |     2 +-
 srcpkgs/pass-import/template                  |     2 +-
 srcpkgs/passt/template                        |     4 +-
 srcpkgs/pdfarranger/template                  |     2 +-
 srcpkgs/peframe/template                      |     2 +-
 srcpkgs/pekwm/template                        |     7 +-
 srcpkgs/pelican/template                      |     2 +-
 srcpkgs/perl-Locale-Codes/template            |     4 +-
 srcpkgs/persepolis/template                   |     2 +-
 srcpkgs/peru/template                         |     2 +-
 srcpkgs/pex/template                          |     2 +-
 srcpkgs/pgcli/template                        |     2 +-
 srcpkgs/photofilmstrip/template               |     2 +-
 srcpkgs/picard/template                       |     2 +-
 srcpkgs/pinktrace/template                    |     2 +-
 srcpkgs/piper/template                        |     2 +-
 srcpkgs/platformio/template                   |     2 +-
 srcpkgs/playitslowly/template                 |     2 +-
 srcpkgs/playonlinux/template                  |     2 +-
 srcpkgs/plover/template                       |     2 +-
 srcpkgs/plplot/template                       |     2 +-
 srcpkgs/pluma/template                        |     2 +-
 srcpkgs/pmbootstrap/template                  |     2 +-
 srcpkgs/pockyt/template                       |     2 +-
 srcpkgs/podman-compose/template               |     2 +-
 srcpkgs/poezio/template                       |     2 +-
 srcpkgs/polychromatic/template                |     2 +-
 srcpkgs/polysh/template                       |     2 +-
 srcpkgs/portage/template                      |     2 +-
 srcpkgs/postgresql15/template                 |     2 +-
 srcpkgs/postgresql16/template                 |     2 +-
 srcpkgs/pre-commit/template                   |     2 +-
 srcpkgs/profanity/template                    |     2 +-
 srcpkgs/proplib/template                      |     8 +-
 srcpkgs/protontricks/template                 |     2 +-
 srcpkgs/protonvpn-cli/template                |     2 +-
 srcpkgs/ps_mem/template                       |     2 +-
 srcpkgs/puddletag/template                    |     2 +-
 srcpkgs/pulseaudio-equalizer-ladspa/template  |     2 +-
 srcpkgs/pv/template                           |     6 +-
 srcpkgs/py3status/template                    |     2 +-
 srcpkgs/pychess/template                      |     6 +-
 srcpkgs/pycp/template                         |     2 +-
 srcpkgs/pyliblo/patches/cython3.patch         |    32 -
 srcpkgs/pyliblo/patches/python-3.11.patch     |    19 -
 srcpkgs/pyliblo/template                      |     8 +-
 srcpkgs/pylint/template                       |     2 +-
 srcpkgs/pymol/template                        |     2 +-
 srcpkgs/pyotherside/template                  |     2 +-
 srcpkgs/pyradio/template                      |     2 +-
 srcpkgs/pysolfc/template                      |     2 +-
 srcpkgs/python/template                       |     2 +-
 srcpkgs/python3-3to2/template                 |     2 +-
 srcpkgs/python3-Arpeggio/template             |     2 +-
 srcpkgs/python3-Arrow/template                |     2 +-
 srcpkgs/python3-Babel/template                |     2 +-
 srcpkgs/python3-BeautifulSoup4/template       |     2 +-
 srcpkgs/python3-Bottleneck/template           |     2 +-
 srcpkgs/python3-Brotli/template               |     2 +-
 srcpkgs/python3-Cheroot/template              |     2 +-
 srcpkgs/python3-CherryPy/template             |     2 +-
 srcpkgs/python3-ConfigArgParse/template       |     2 +-
 srcpkgs/python3-Cython/template               |     2 +-
 srcpkgs/python3-Cython0.29/template           |    31 +
 srcpkgs/python3-Cython0.29/update             |     3 +
 srcpkgs/python3-EasyProcess/template          |     5 +-
 srcpkgs/python3-Faker/template                |     2 +-
 srcpkgs/python3-Flask-Babel/template          |     2 +-
 srcpkgs/python3-Flask-Cors/template           |     2 +-
 srcpkgs/python3-Flask-HTTPAuth/template       |     2 +-
 srcpkgs/python3-Flask-Login/template          |     2 +-
 srcpkgs/python3-Flask-RESTful/template        |     4 +-
 srcpkgs/python3-Flask-WTF/template            |     4 +-
 srcpkgs/python3-Flask/template                |     2 +-
 srcpkgs/python3-GitPython/template            |     2 +-
 srcpkgs/python3-IPy/template                  |     2 +-
 srcpkgs/python3-Inflector/template            |     2 +-
 srcpkgs/python3-Jinja2/template               |     2 +-
 srcpkgs/python3-Levenshtein/template          |     8 +-
 srcpkgs/python3-M2Crypto/template             |     2 +-
 srcpkgs/python3-Mako/template                 |     2 +-
 srcpkgs/python3-Markdown/template             |     2 +-
 srcpkgs/python3-MarkupSafe/template           |     8 +-
 srcpkgs/python3-Markups/template              |     2 +-
 srcpkgs/python3-MechanicalSoup/template       |     2 +-
 srcpkgs/python3-MiniMock/template             |     2 +-
 srcpkgs/python3-MyST-Parser/template          |     2 +-
 srcpkgs/python3-PGPy/template                 |     2 +-
 srcpkgs/python3-Pebble/template               |     2 +-
 srcpkgs/python3-Pillow/template               |     4 +-
 srcpkgs/python3-PyAudio/template              |     2 +-
 srcpkgs/python3-PyBrowserID/template          |     2 +-
 srcpkgs/python3-PyFxA/template                |     2 +-
 srcpkgs/python3-PyHamcrest/template           |     2 +-
 srcpkgs/python3-PyICU/template                |     2 +-
 srcpkgs/python3-PyJWT/template                |     2 +-
 srcpkgs/python3-PyOpenGL-accelerate/template  |     2 +-
 srcpkgs/python3-PyOpenGL/template             |     2 +-
 srcpkgs/python3-PyQt-builder/template         |     2 +-
 srcpkgs/python3-PyQt5-networkauth/template    |     2 +-
 srcpkgs/python3-PyQt5-webengine/template      |     2 +-
 srcpkgs/python3-PyQt5/template                |     2 +-
 srcpkgs/python3-PyVirtualDisplay/template     |     2 +-
 srcpkgs/python3-Pygments/template             |     2 +-
 srcpkgs/python3-Pyphen/template               |     2 +-
 srcpkgs/python3-Pyro4/template                |     2 +-
 srcpkgs/python3-QtAwesome/template            |     2 +-
 srcpkgs/python3-QtPy/template                 |     2 +-
 srcpkgs/python3-RPi.GPIO/template             |     2 +-
 srcpkgs/python3-ReParser/template             |     2 +-
 srcpkgs/python3-Ropper/template               |     2 +-
 srcpkgs/python3-SQLAlchemy/template           |     6 +-
 srcpkgs/python3-SQLAlchemy/update             |     2 -
 srcpkgs/python3-SQLAlchemy2/template          |     6 +-
 srcpkgs/python3-SQLAlchemy2/update            |     1 -
 srcpkgs/python3-SecretStorage/template        |     2 +-
 srcpkgs/python3-SoCo/template                 |     2 +-
 srcpkgs/python3-Sphinx/template               |     2 +-
 srcpkgs/python3-Telethon/template             |     2 +-
 srcpkgs/python3-Twisted/template              |     2 +-
 srcpkgs/python3-TxSNI/template                |     2 +-
 srcpkgs/python3-Unidecode/template            |     2 +-
 srcpkgs/python3-WTForms/template              |     2 +-
 srcpkgs/python3-WeasyPrint/template           |     2 +-
 srcpkgs/python3-WebOb/template                |     2 +-
 srcpkgs/python3-Werkzeug/template             |     2 +-
 srcpkgs/python3-Whoosh/template               |     2 +-
 srcpkgs/python3-XlsxWriter/template           |     2 +-
 srcpkgs/python3-Yapsy/template                |     2 +-
 srcpkgs/python3-aalib/template                |     2 +-
 srcpkgs/python3-acme/template                 |     2 +-
 srcpkgs/python3-adblock/template              |     2 +-
 srcpkgs/python3-aioamqp/template              |     2 +-
 srcpkgs/python3-aiodns/template               |     2 +-
 srcpkgs/python3-aiofiles/template             |     2 +-
 srcpkgs/python3-aiohappyeyeballs/template     |     4 +-
 srcpkgs/python3-aiohttp-cors/template         |     2 +-
 srcpkgs/python3-aiohttp-sse-client/template   |     2 +-
 srcpkgs/python3-aiohttp/template              |     2 +-
 srcpkgs/python3-aiohttp_socks/template        |     2 +-
 srcpkgs/python3-aioinflux/template            |     2 +-
 srcpkgs/python3-aionotify/template            |     2 +-
 srcpkgs/python3-aioresponses/template         |     2 +-
 srcpkgs/python3-aiorpcx/template              |     2 +-
 srcpkgs/python3-aiosignal/template            |     2 +-
 srcpkgs/python3-aiostream/template            |     4 +-
 srcpkgs/python3-ajsonrpc/template             |     2 +-
 srcpkgs/python3-alabaster/template            |     2 +-
 srcpkgs/python3-alembic/template              |     2 +-
 srcpkgs/python3-alsa/template                 |     2 +-
 srcpkgs/python3-altgraph/template             |     2 +-
 srcpkgs/python3-aniso8601/template            |     2 +-
 srcpkgs/python3-annotated-types/template      |     2 +-
 srcpkgs/python3-ansible-compat/template       |     2 +-
 srcpkgs/python3-ansible-lint/template         |     2 +-
 srcpkgs/python3-ansicolor/template            |     2 +-
 srcpkgs/python3-ansicolors/template           |     2 +-
 srcpkgs/python3-ansiwrap/template             |     2 +-
 srcpkgs/python3-anyio/template                |     2 +-
 srcpkgs/python3-anytree/template              |     4 +-
 srcpkgs/python3-appdirs/template              |     2 +-
 srcpkgs/python3-applib/template               |     2 +-
 srcpkgs/python3-apprise/template              |     2 +-
 srcpkgs/python3-apsw/template                 |     2 +-
 srcpkgs/python3-aputils/template              |     2 +-
 srcpkgs/python3-argcomplete/template          |     2 +-
 srcpkgs/python3-argh/template                 |     2 +-
 srcpkgs/python3-argon2-cffi-bindings/template |     2 +-
 srcpkgs/python3-argon2/template               |     2 +-
 srcpkgs/python3-art/template                  |     2 +-
 srcpkgs/python3-arxiv2bib/template            |     2 +-
 srcpkgs/python3-asgiref/template              |     2 +-
 srcpkgs/python3-asn1crypto/template           |     2 +-
 srcpkgs/python3-aspectlib/template            |     2 +-
 srcpkgs/python3-asteval/template              |     2 +-
 srcpkgs/python3-astral/template               |     2 +-
 srcpkgs/python3-astroid/template              |     2 +-
 srcpkgs/python3-asttokens/template            |     4 +-
 srcpkgs/python3-async-lru/template            |     2 +-
 srcpkgs/python3-async-timeout/template        |     2 +-
 srcpkgs/python3-async_generator/template      |     2 +-
 srcpkgs/python3-atomicwrites/template         |     2 +-
 srcpkgs/python3-atspi/template                |     2 +-
 srcpkgs/python3-attrs/template                |     2 +-
 srcpkgs/python3-audioread/template            |     2 +-
 srcpkgs/python3-augeas/template               |     2 +-
 srcpkgs/python3-authres/template              |     2 +-
 srcpkgs/python3-autobahn/template             |     2 +-
 .../python3-autocommand/patches/license.patch |     9 -
 srcpkgs/python3-autocommand/template          |     2 +-
 srcpkgs/python3-automat/template              |     2 +-
 srcpkgs/python3-axolotl-curve25519/template   |     2 +-
 srcpkgs/python3-axolotl/template              |     2 +-
 srcpkgs/python3-b2sdk/template                |     2 +-
 srcpkgs/python3-babelfish/template            |     2 +-
 srcpkgs/python3-backcall/template             |     2 +-
 srcpkgs/python3-bcrypt/template               |     2 +-
 srcpkgs/python3-beniget/template              |     2 +-
 srcpkgs/python3-betamax-matchers/template     |     2 +-
 srcpkgs/python3-betamax/template              |     2 +-
 srcpkgs/python3-bibtexparser/template         |     2 +-
 srcpkgs/python3-binaryornot/template          |     2 +-
 srcpkgs/python3-bitarray/template             |     2 +-
 srcpkgs/python3-bitbucket-api/template        |     2 +-
 srcpkgs/python3-bitstring/template            |     2 +-
 srcpkgs/python3-bleach/template               |     2 +-
 srcpkgs/python3-blessed/template              |     2 +-
 srcpkgs/python3-blessings/template            |     2 +-
 srcpkgs/python3-blinker/template              |     2 +-
 srcpkgs/python3-bokeh/template                |     4 +-
 srcpkgs/python3-boltons/template              |     2 +-
 srcpkgs/python3-boolean.py/template           |     2 +-
 srcpkgs/python3-boto3/template                |     2 +-
 srcpkgs/python3-botocore/template             |     2 +-
 srcpkgs/python3-bottle/template               |     6 +-
 srcpkgs/python3-bracex/template               |     2 +-
 srcpkgs/python3-breathe/template              |     2 +-
 srcpkgs/python3-bsddb3/template               |     2 +-
 srcpkgs/python3-build/template                |     4 +-
 srcpkgs/python3-cached-property/template      |     2 +-
 srcpkgs/python3-cachetools/template           |     2 +-
 srcpkgs/python3-cairo/template                |     2 +-
 srcpkgs/python3-cairocffi/template            |     2 +-
 srcpkgs/python3-cairosvg/template             |     2 +-
 srcpkgs/python3-calver/template               |     2 +-
 srcpkgs/python3-canonicaljson/template        |     2 +-
 srcpkgs/python3-casttube/template             |     2 +-
 srcpkgs/python3-cattrs/template               |     2 +-
 srcpkgs/python3-cchardet/template             |     2 +-
 srcpkgs/python3-certifi/template              |     2 +-
 srcpkgs/python3-cffi/template                 |     2 +-
 srcpkgs/python3-cfgv/template                 |     2 +-
 srcpkgs/python3-changelogs/template           |    19 +
 srcpkgs/python3-chardet/template              |     2 +-
 srcpkgs/python3-charset-normalizer/template   |     2 +-
 srcpkgs/python3-cheetah3/template             |     2 +-
 srcpkgs/python3-chess/template                |     2 +-
 srcpkgs/python3-chromecast/template           |     2 +-
 srcpkgs/python3-chroot/template               |     2 +-
 srcpkgs/python3-ciso8601/template             |     4 +-
 srcpkgs/python3-cjkwrap/template              |     2 +-
 srcpkgs/python3-cli-ui/template               |     2 +-
 srcpkgs/python3-cli_helpers/template          |     2 +-
 srcpkgs/python3-click-log/template            |     2 +-
 srcpkgs/python3-click-plugins/template        |     2 +-
 srcpkgs/python3-click-repl/template           |     2 +-
 srcpkgs/python3-click-threading/template      |     2 +-
 srcpkgs/python3-click/template                |     2 +-
 srcpkgs/python3-cloudscraper/template         |     2 +-
 srcpkgs/python3-cmdln/template                |     2 +-
 srcpkgs/python3-codespell/template            |     2 +-
 srcpkgs/python3-colorama/template             |     2 +-
 srcpkgs/python3-colorclass/template           |     2 +-
 srcpkgs/python3-colored-traceback/template    |     2 +-
 srcpkgs/python3-colorlog/template             |     2 +-
 srcpkgs/python3-colour/template               |     2 +-
 srcpkgs/python3-comm/template                 |     2 +-
 srcpkgs/python3-commonmark/template           |     2 +-
 srcpkgs/python3-configobj/template            |     2 +-
 srcpkgs/python3-confuse/template              |     2 +-
 srcpkgs/python3-constantly/template           |     2 +-
 srcpkgs/python3-construct/template            |     2 +-
 srcpkgs/python3-contourpy/template            |     2 +-
 srcpkgs/python3-conway-polynomials/template   |     2 +-
 srcpkgs/python3-coverage/template             |     2 +-
 srcpkgs/python3-coveralls/template            |     2 +-
 srcpkgs/python3-cppy/template                 |     6 +-
 srcpkgs/python3-cram/template                 |     2 +-
 srcpkgs/python3-crccheck/template             |     4 +-
 srcpkgs/python3-crcmod/template               |     2 +-
 srcpkgs/python3-cryptography/template         |     4 +-
 srcpkgs/python3-cryptography_vectors/template |     4 +-
 srcpkgs/python3-css-parser/template           |     8 +-
 srcpkgs/python3-cssselect/template            |     2 +-
 srcpkgs/python3-cssselect2/template           |     2 +-
 srcpkgs/python3-cssutils/template             |     2 +-
 srcpkgs/python3-cups/template                 |     2 +-
 srcpkgs/python3-curio/template                |     2 +-
 srcpkgs/python3-curl/template                 |     2 +-
 srcpkgs/python3-curtsies/template             |     2 +-
 srcpkgs/python3-cvxopt/template               |     2 +-
 srcpkgs/python3-cwcwidth/template             |     2 +-
 srcpkgs/python3-cycler/template               |     2 +-
 srcpkgs/python3-cypari2/template              |     2 +-
 srcpkgs/python3-cysignals/template            |     2 +-
 srcpkgs/python3-daemonize/template            |     2 +-
 srcpkgs/python3-dateparser/template           |     2 +-
 srcpkgs/python3-dateutil/template             |     2 +-
 srcpkgs/python3-dbus-next/template            |     2 +-
 srcpkgs/python3-dbus/template                 |     2 +-
 srcpkgs/python3-dbusmock/template             |     2 +-
 srcpkgs/python3-ddt/template                  |     2 +-
 srcpkgs/python3-debian/template               |     2 +-
 srcpkgs/python3-decorator/template            |     2 +-
 srcpkgs/python3-defusedxml/template           |     2 +-
 srcpkgs/python3-deprecated/template           |     6 +-
 srcpkgs/python3-deprecation/template          |     2 +-
 srcpkgs/python3-dill/template                 |     2 +-
 srcpkgs/python3-dirty-equals/template         |     2 +-
 srcpkgs/python3-discid/template               |     2 +-
 srcpkgs/python3-discogs_client/template       |     2 +-
 srcpkgs/python3-distlib/template              |     2 +-
 srcpkgs/python3-distro/template               |     2 +-
 srcpkgs/python3-distutils-extra/template      |     2 +-
 srcpkgs/python3-dkimpy/template               |     2 +-
 srcpkgs/python3-dnspython/template            |     2 +-
 srcpkgs/python3-dnsrecon/template             |     2 +-
 srcpkgs/python3-docker/template               |     2 +-
 srcpkgs/python3-dockerpty/template            |     2 +-
 srcpkgs/python3-docopt/template               |     2 +-
 .../python3-docstring-to-markdown/template    |     2 +-
 srcpkgs/python3-docutils/template             |     2 +-
 srcpkgs/python3-dogpile.cache/template        |     2 +-
 srcpkgs/python3-doi/template                  |     2 +-
 srcpkgs/python3-dominate/template             |     2 +-
 srcpkgs/python3-dotenv/template               |     2 +-
 srcpkgs/python3-dotty-dict/template           |     2 +-
 srcpkgs/python3-dpkt/template                 |     2 +-
 srcpkgs/python3-drgn/template                 |     2 +-
 srcpkgs/python3-dulwich/template              |     2 +-
 srcpkgs/python3-easygui/template              |     2 +-
 srcpkgs/python3-editables/template            |     2 +-
 srcpkgs/python3-editor/template               |     2 +-
 srcpkgs/python3-eduvpn-client/template        |     2 +-
 srcpkgs/python3-efl/template                  |    40 +
 srcpkgs/python3-elementpath/template          |     2 +-
 srcpkgs/python3-email-validator/template      |     2 +-
 srcpkgs/python3-emoji/template                |     2 +-
 srcpkgs/python3-empy/template                 |     2 +-
 srcpkgs/python3-enchant/template              |     2 +-
 srcpkgs/python3-enrich/template               |     2 +-
 srcpkgs/python3-entrypoints/template          |     2 +-
 srcpkgs/python3-envdir/template               |     2 +-
 srcpkgs/python3-enzyme/template               |     2 +-
 srcpkgs/python3-esprima/template              |     2 +-
 srcpkgs/python3-et-xmlfile/template           |     2 +-
 srcpkgs/python3-etebase/template              |     2 +-
 srcpkgs/python3-etesync/template              |     2 +-
 srcpkgs/python3-evdev/template                |     2 +-
 srcpkgs/python3-ewmh/template                 |     2 +-
 srcpkgs/python3-execnet/template              |     2 +-
 srcpkgs/python3-executing/template            |     2 +-
 srcpkgs/python3-exifread/template             |     2 +-
 srcpkgs/python3-fasteners/template            |     2 +-
 srcpkgs/python3-fastjsonschema/template       |     2 +-
 srcpkgs/python3-feedgenerator/template        |     2 +-
 srcpkgs/python3-feedparser/template           |     2 +-
 srcpkgs/python3-ffmpeg-python/template        |     2 +-
 srcpkgs/python3-fido2/template                |     2 +-
 srcpkgs/python3-fields/template               |     2 +-
 srcpkgs/python3-filebytes/template            |     2 +-
 srcpkgs/python3-filelock/template             |     2 +-
 srcpkgs/python3-filetype/template             |     2 +-
 srcpkgs/python3-fishnet/template              |     2 +-
 srcpkgs/python3-flaky/template                |     2 +-
 srcpkgs/python3-flasgger/template             |     2 +-
 srcpkgs/python3-flexmock/template             |     2 +-
 srcpkgs/python3-flit_core-bootstrap/template  |    30 -
 srcpkgs/python3-flit_core/template            |     6 +-
 srcpkgs/python3-fpylll/template               |     2 +-
 srcpkgs/python3-freezegun/template            |     2 +-
 srcpkgs/python3-frozendict/template           |     2 +-
 .../patches/no-expandvars.patch               |    23 -
 srcpkgs/python3-frozenlist/template           |     8 +-
 srcpkgs/python3-furl/template                 |     2 +-
 srcpkgs/python3-fuse/template                 |     2 +-
 srcpkgs/python3-future/template               |     2 +-
 srcpkgs/python3-fuzzyfinder/template          |     2 +-
 srcpkgs/python3-gast/template                 |     2 +-
 srcpkgs/python3-geojson/template              |     2 +-
 srcpkgs/python3-gevent/template               |     2 +-
 .../patches/setup.cfg.patch                   |    25 +
 .../patches/setup.py.patch                    |    25 +
 srcpkgs/python3-gitchangelog/template         |    17 +
 srcpkgs/python3-gitdb/template                |     2 +-
 srcpkgs/python3-gitea-client/template         |     2 +-
 srcpkgs/python3-github3/template              |     2 +-
 srcpkgs/python3-gitlab/template               |     2 +-
 srcpkgs/python3-glad/template                 |     2 +-
 srcpkgs/python3-gmpy2/template                |     2 +-
 srcpkgs/python3-gntp/template                 |     2 +-
 srcpkgs/python3-gnupg/template                |     2 +-
 srcpkgs/python3-gobject/template              |     4 +-
 srcpkgs/python3-google-api-core/template      |     2 +-
 .../python3-google-api-python-client/template |     2 +-
 srcpkgs/python3-google-auth-httplib2/template |     2 +-
 srcpkgs/python3-google-auth-oauthlib/template |     2 +-
 srcpkgs/python3-google-auth/template          |     2 +-
 srcpkgs/python3-google-i18n-address/template  |     2 +-
 .../python3-googleapis-common-protos/template |     2 +-
 srcpkgs/python3-graphviz/template             |     2 +-
 srcpkgs/python3-greenlet/template             |     4 +-
 srcpkgs/python3-grequests/template            |     4 +-
 .../python3-grpcio-tools/patches/cross.patch  |    13 -
 srcpkgs/python3-grpcio-tools/template         |     6 +-
 srcpkgs/python3-grpcio/template               |     8 +-
 srcpkgs/python3-guessit/template              |     2 +-
 srcpkgs/python3-h11/template                  |     2 +-
 srcpkgs/python3-h2/template                   |     2 +-
 srcpkgs/python3-h5py/template                 |     4 +-
 srcpkgs/python3-habanero/template             |     2 +-
 srcpkgs/python3-halo/template                 |     2 +-
 srcpkgs/python3-hawkauthlib/template          |     2 +-
 srcpkgs/python3-hcloud/template               |     2 +-
 srcpkgs/python3-hid/template                  |     4 +-
 srcpkgs/python3-hiredis/template              |     2 +-
 srcpkgs/python3-hjson/template                |     2 +-
 srcpkgs/python3-hkdf/template                 |     2 +-
 srcpkgs/python3-hoedown/template              |     2 +-
 srcpkgs/python3-hpack/template                |     2 +-
 srcpkgs/python3-html2text/template            |     2 +-
 srcpkgs/python3-html5-parser/template         |     2 +-
 srcpkgs/python3-html5lib/template             |     2 +-
 srcpkgs/python3-httmock/template              |     2 +-
 srcpkgs/python3-httpbin/template              |     2 +-
 srcpkgs/python3-httpcore/template             |     2 +-
 srcpkgs/python3-httplib2/template             |     2 +-
 srcpkgs/python3-httpx/template                |     2 +-
 srcpkgs/python3-humanize/template             |     2 +-
 srcpkgs/python3-hypercorn/template            |     2 +-
 srcpkgs/python3-hyperframe/template           |     2 +-
 srcpkgs/python3-hyperlink/template            |     2 +-
 srcpkgs/python3-hypothesis/template           |     4 +-
 srcpkgs/python3-i3ipc/template                |     2 +-
 srcpkgs/python3-icalendar/template            |     2 +-
 srcpkgs/python3-identify/template             |     2 +-
 srcpkgs/python3-idna/template                 |     2 +-
 srcpkgs/python3-ifaddr/template               |     2 +-
 srcpkgs/python3-ijson/template                |     2 +-
 srcpkgs/python3-imageio/template              |     4 +-
 srcpkgs/python3-imagesize/template            |     2 +-
 srcpkgs/python3-imaplib2/template             |     2 +-
 srcpkgs/python3-immutabledict/template        |     2 +-
 srcpkgs/python3-importlib_metadata/template   |     2 +-
 srcpkgs/python3-incremental/template          |     2 +-
 srcpkgs/python3-inflate64/template            |     2 +-
 srcpkgs/python3-inflect/template              |     2 +-
 srcpkgs/python3-influxdb/template             |     2 +-
 srcpkgs/python3-iniconfig/template            |     2 +-
 srcpkgs/python3-injector/template             |     2 +-
 srcpkgs/python3-inotify/template              |     2 +-
 srcpkgs/python3-installer-bootstrap/template  |    41 -
 srcpkgs/python3-installer/template            |     2 +-
 srcpkgs/python3-intervaltree/template         |     2 +-
 srcpkgs/python3-iptools/template              |     2 +-
 srcpkgs/python3-ipyparallel/template          |     4 +-
 srcpkgs/python3-ipython/template              |     4 +-
 srcpkgs/python3-ipython_genutils/template     |     2 +-
 srcpkgs/python3-ipython_ipykernel/template    |     2 +-
 srcpkgs/python3-irc/template                  |     2 +-
 srcpkgs/python3-isbnlib/template              |     2 +-
 srcpkgs/python3-iso8601/template              |     2 +-
 srcpkgs/python3-isodate/template              |     2 +-
 srcpkgs/python3-isort/template                |     2 +-
 srcpkgs/python3-iterable-io/template          |     2 +-
 srcpkgs/python3-itsdangerous/template         |     2 +-
 srcpkgs/python3-itunespy/template             |     2 +-
 srcpkgs/python3-iwlib/template                |     2 +-
 srcpkgs/python3-janus/template                |     2 +-
 srcpkgs/python3-jaraco.classes/template       |     2 +-
 srcpkgs/python3-jaraco.collections/template   |     2 +-
 srcpkgs/python3-jaraco.context/template       |     2 +-
 srcpkgs/python3-jaraco.functools/template     |     2 +-
 srcpkgs/python3-jaraco.logging/template       |     2 +-
 srcpkgs/python3-jaraco.stream/template        |     2 +-
 srcpkgs/python3-jaraco.text/template          |     2 +-
 srcpkgs/python3-jedi/template                 |     2 +-
 srcpkgs/python3-jeepney/template              |     2 +-
 srcpkgs/python3-jellyfish/template            |     6 +-
 srcpkgs/python3-jmespath/template             |     2 +-
 srcpkgs/python3-joblib/template               |     2 +-
 srcpkgs/python3-josepy/template               |     2 +-
 srcpkgs/python3-jq/template                   |     6 +-
 srcpkgs/python3-json-logger/template          |     2 +-
 srcpkgs/python3-json5/template                |     2 +-
 srcpkgs/python3-jsondiff/template             |     4 +-
 srcpkgs/python3-jsonpatch/template            |     2 +-
 srcpkgs/python3-jsonpointer/template          |     2 +-
 srcpkgs/python3-jsonrpclib/template           |     2 +-
 srcpkgs/python3-jsonschema-path/template      |     2 +-
 .../template                                  |     2 +-
 srcpkgs/python3-jsonschema/template           |     2 +-
 srcpkgs/python3-jupyter/template              |     2 +-
 srcpkgs/python3-jupyter_client/template       |     2 +-
 srcpkgs/python3-jupyter_console/template      |     2 +-
 srcpkgs/python3-jupyter_core/template         |     2 +-
 srcpkgs/python3-jupyter_events/template       |     2 +-
 srcpkgs/python3-jupyter_ipywidgets/template   |     2 +-
 srcpkgs/python3-jupyter_nbconvert/template    |     2 +-
 srcpkgs/python3-jupyter_nbformat/template     |     2 +-
 srcpkgs/python3-jupyter_notebook/template     |     2 +-
 srcpkgs/python3-jupyter_packaging/template    |     2 +-
 srcpkgs/python3-jupyter_qtconsole/template    |     2 +-
 srcpkgs/python3-jupyter_server/template       |     2 +-
 .../python3-jupyter_server_terminals/template |     2 +-
 .../template                                  |     2 +-
 srcpkgs/python3-jupyterlab_pygments/template  |     2 +-
 srcpkgs/python3-jupyterlab_server/template    |     2 +-
 srcpkgs/python3-kaitaistruct/template         |     2 +-
 srcpkgs/python3-kaptan/template               |     2 +-
 srcpkgs/python3-keyring/template              |     2 +-
 srcpkgs/python3-keyrings-alt/template         |     2 +-
 srcpkgs/python3-keyutils/template             |     2 +-
 srcpkgs/python3-kitchen/template              |     2 +-
 srcpkgs/python3-kiwisolver/template           |     2 +-
 srcpkgs/python3-lazy-object-proxy/template    |     2 +-
 srcpkgs/python3-lazy_loader/template          |     2 +-
 srcpkgs/python3-ldap/template                 |     2 +-
 srcpkgs/python3-ldap3/template                |     2 +-
 srcpkgs/python3-libarchive-c/template         |     2 +-
 srcpkgs/python3-libevdev/template             |     2 +-
 srcpkgs/python3-libsass/template              |    21 -
 srcpkgs/python3-libtmux/template              |     2 +-
 srcpkgs/python3-libusb1/template              |     2 +-
 srcpkgs/python3-license-expression/template   |     2 +-
 srcpkgs/python3-listparser/template           |     2 +-
 srcpkgs/python3-llfuse/template               |     2 +-
 srcpkgs/python3-log_symbols/template          |     2 +-
 srcpkgs/python3-logbook/template              |    11 +-
 srcpkgs/python3-logfury/template              |     2 +-
 srcpkgs/python3-loguru/template               |     2 +-
 srcpkgs/python3-looseversion/template         |     2 +-
 srcpkgs/python3-lrcalc/template               |     2 +-
 srcpkgs/python3-lsp-jsonrpc/template          |     2 +-
 srcpkgs/python3-lsp-server/template           |     2 +-
 .../patches/cython3-fix-test.patch            |    32 +
 .../python3-lxml/patches/cython3-legacy.patch |    12 +
 .../python3-lxml/patches/libxml-2.10.4.patch  |    17 +
 .../python3-lxml/patches/libxml-2.11.0.patch  |    14 +
 ...sl.patch => tests-fix-encoding-name.patch} |    15 +-
 srcpkgs/python3-lxml/template                 |     8 +-
 srcpkgs/python3-lz4/template                  |     2 +-
 srcpkgs/python3-macaroons/template            |     2 +-
 srcpkgs/python3-macholib/template             |     2 +-
 srcpkgs/python3-magic/template                |     2 +-
 srcpkgs/python3-makefun/template              |     2 +-
 srcpkgs/python3-marisa-trie/template          |     2 +-
 srcpkgs/python3-markdown-it/template          |     2 +-
 srcpkgs/python3-markdown-math/template        |     2 +-
 srcpkgs/python3-markdown2/template            |     2 +-
 srcpkgs/python3-marshmallow/template          |     2 +-
 srcpkgs/python3-matplotlib-inline/template    |     2 +-
 srcpkgs/python3-matplotlib/template           |     4 +-
 srcpkgs/python3-matrix-common/template        |     2 +-
 srcpkgs/python3-matrix-nio/template           |     2 +-
 srcpkgs/python3-mautrix/template              |     2 +-
 srcpkgs/python3-mccabe/template               |     2 +-
 srcpkgs/python3-md2gemini/template            |     2 +-
 srcpkgs/python3-mdit-py-plugins/template      |     2 +-
 srcpkgs/python3-mdurl/template                |     2 +-
 srcpkgs/python3-mechanize/template            |     2 +-
 srcpkgs/python3-mediafile/template            |     2 +-
 srcpkgs/python3-memory_allocator/template     |     2 +-
 srcpkgs/python3-meson-python/template         |     6 +-
 srcpkgs/python3-milc/template                 |     2 +-
 srcpkgs/python3-minidb/template               |     2 +-
 srcpkgs/python3-miniupnpc/template            |     2 +-
 srcpkgs/python3-misaka/template               |     2 +-
 srcpkgs/python3-mistune/template              |     2 +-
 srcpkgs/python3-mistune2/template             |     2 +-
 srcpkgs/python3-mitmproxy_wireguard/template  |     2 +-
 srcpkgs/python3-mock/template                 |     2 +-
 srcpkgs/python3-more-itertools/template       |     2 +-
 srcpkgs/python3-mpd2/template                 |     2 +-
 srcpkgs/python3-mpdnotify/template            |     2 +-
 srcpkgs/python3-mpi4py/template               |     4 +-
 srcpkgs/python3-mpmath/template               |     2 +-
 srcpkgs/python3-mpv/template                  |     2 +-
 srcpkgs/python3-msgpack/template              |     2 +-
 srcpkgs/python3-msoffcrypto-tool/template     |     2 +-
 srcpkgs/python3-mtranslate/template           |     2 +-
 srcpkgs/python3-multidict/template            |     2 +-
 srcpkgs/python3-multivolumefile/template      |     2 +-
 srcpkgs/python3-munkres/template              |     2 +-
 srcpkgs/python3-musicbrainzngs/template       |     2 +-
 srcpkgs/python3-musicpd/template              |     2 +-
 srcpkgs/python3-mutagen/template              |     2 +-
 srcpkgs/python3-mygpoclient/template          |     2 +-
 srcpkgs/python3-mypy/template                 |     2 +-
 srcpkgs/python3-mypy_extensions/template      |     2 +-
 srcpkgs/python3-mysqlclient/template          |     2 +-
 srcpkgs/python3-namedlist/template            |     2 +-
 srcpkgs/python3-nanobind/template             |     4 +-
 srcpkgs/python3-natsort/template              |     2 +-
 .../patches/python3.13.patch                  |    41 -
 srcpkgs/python3-nbclassic/template            |     7 +-
 srcpkgs/python3-nbclient/template             |     2 +-
 srcpkgs/python3-nbxmpp/template               |     2 +-
 srcpkgs/python3-ndg_httpsclient/template      |     2 +-
 srcpkgs/python3-neovim/template               |     2 +-
 srcpkgs/python3-nest_asyncio/template         |     2 +-
 srcpkgs/python3-netaddr/template              |     2 +-
 srcpkgs/python3-netifaces/template            |     2 +-
 srcpkgs/python3-networkx/template             |     2 +-
 srcpkgs/python3-niapy/template                |     2 +-
 srcpkgs/python3-nose-random/template          |    18 +
 srcpkgs/python3-nose/patches/setup.py.patch   |    18 +
 srcpkgs/python3-nose/template                 |    22 +
 srcpkgs/python3-nose2/template                |     2 +-
 srcpkgs/python3-notebook_shim/template        |     2 +-
 srcpkgs/python3-notify2/template              |     2 +-
 srcpkgs/python3-npyscreen/template            |     2 +-
 srcpkgs/python3-ntlm-auth/template            |     2 +-
 srcpkgs/python3-ntplib/template               |     2 +-
 srcpkgs/python3-numexpr/template              |     2 +-
 srcpkgs/python3-numpy-stl/template            |     2 +-
 srcpkgs/python3-numpy/template                |     4 +-
 srcpkgs/python3-nvml/template                 |     2 +-
 srcpkgs/python3-oauth2client/template         |     2 +-
 srcpkgs/python3-oauthlib/template             |     2 +-
 srcpkgs/python3-objgraph/template             |     2 +-
 srcpkgs/python3-occ/template                  |     2 +-
 srcpkgs/python3-olefile/template              |     2 +-
 srcpkgs/python3-oletools/template             |     2 +-
 srcpkgs/python3-omemo-dr/template             |     2 +-
 srcpkgs/python3-opcua/template                |     2 +-
 srcpkgs/python3-openai/template               |     2 +-
 srcpkgs/python3-openapi-core/template         |     2 +-
 .../python3-openapi-schema-validator/template |     2 +-
 .../python3-openapi-spec-validator/template   |     2 +-
 srcpkgs/python3-openpyxl/template             |     2 +-
 srcpkgs/python3-openssl/template              |     2 +-
 srcpkgs/python3-orderedmultidict/template     |     2 +-
 srcpkgs/python3-orjson/template               |     2 +-
 srcpkgs/python3-orocos-kdl/template           |     2 +-
 srcpkgs/python3-outcome/template              |     2 +-
 srcpkgs/python3-overrides/template            |     2 +-
 srcpkgs/python3-owm/template                  |     2 +-
 srcpkgs/python3-owslib/template               |     2 +-
 srcpkgs/python3-packaging-bootstrap/template  |    40 -
 srcpkgs/python3-packaging/template            |     4 +-
 srcpkgs/python3-pafy/template                 |     2 +-
 srcpkgs/python3-paho_mqtt/template            |     2 +-
 srcpkgs/python3-pam/template                  |     2 +-
 srcpkgs/python3-pamqp/template                |     2 +-
 srcpkgs/python3-pandas-msgpack/template       |     2 +-
 srcpkgs/python3-pandas/template               |     2 +-
 srcpkgs/python3-pandocfilters/template        |     2 +-
 srcpkgs/python3-parameterized/template        |     2 +-
 srcpkgs/python3-paramiko/template             |     2 +-
 srcpkgs/python3-parse/template                |     2 +-
 srcpkgs/python3-parsedatetime/template        |     2 +-
 srcpkgs/python3-parsing/template              |     4 +-
 srcpkgs/python3-parso/template                |     2 +-
 srcpkgs/python3-parver/template               |     2 +-
 srcpkgs/python3-passlib/template              |     4 +-
 srcpkgs/python3-path-and-address/template     |     2 +-
 srcpkgs/python3-path/template                 |     2 +-
 srcpkgs/python3-pathable/template             |     2 +-
 srcpkgs/python3-pathlib2/template             |     2 +-
 srcpkgs/python3-pathspec/template             |     2 +-
 srcpkgs/python3-pathtools/template            |     2 +-
 srcpkgs/python3-pathvalidate/template         |     2 +-
 srcpkgs/python3-pbkdf2/template               |     2 +-
 srcpkgs/python3-pbr/template                  |     2 +-
 srcpkgs/python3-pcodedmp/template             |     2 +-
 srcpkgs/python3-pdfminer.six/template         |     2 +-
 srcpkgs/python3-pdfrw/template                |     2 +-
 srcpkgs/python3-pdm-backend/template          |     2 +-
 srcpkgs/python3-peewee/template               |     8 +-
 srcpkgs/python3-pefile/template               |     2 +-
 srcpkgs/python3-pem/template                  |     2 +-
 srcpkgs/python3-pendulum/template             |     2 +-
 srcpkgs/python3-pep440/template               |     2 +-
 srcpkgs/python3-perf/template                 |     2 +-
 srcpkgs/python3-pexpect/template              |     2 +-
 srcpkgs/python3-pgmigrate/template            |     2 +-
 srcpkgs/python3-pgspecial/template            |     2 +-
 srcpkgs/python3-pgzero/template               |     2 +-
 srcpkgs/python3-phonenumbers/template         |     2 +-
 srcpkgs/python3-phx-class-registry/template   |     2 +-
 srcpkgs/python3-picamera/template             |     2 +-
 srcpkgs/python3-pickleshare/template          |     2 +-
 srcpkgs/python3-piexif/template               |     2 +-
 srcpkgs/python3-pikepdf/template              |     2 +-
 srcpkgs/python3-pillow-simd/template          |    15 +-
 srcpkgs/python3-pillow_heif/template          |     2 +-
 srcpkgs/python3-pip/template                  |     4 +-
 srcpkgs/python3-pipenv/template               |     2 +-
 srcpkgs/python3-pipx/template                 |     2 +-
 srcpkgs/python3-pivy/patches/python3.12.patch |    23 +
 srcpkgs/python3-pivy/template                 |    12 +-
 srcpkgs/python3-pkgconfig/template            |     2 +-
 srcpkgs/python3-pkginfo/template              |     2 +-
 srcpkgs/python3-platformdirs/template         |     2 +-
 srcpkgs/python3-plotly/template               |     2 +-
 srcpkgs/python3-plover_stroke/template        |     2 +-
 srcpkgs/python3-pluggy/template               |     2 +-
 srcpkgs/python3-ply/template                  |     2 +-
 srcpkgs/python3-pmw/template                  |     2 +-
 srcpkgs/python3-podcastparser/template        |     2 +-
 srcpkgs/python3-poetry-core/template          |     2 +-
 srcpkgs/python3-polib/template                |     2 +-
 srcpkgs/python3-pooch/template                |     2 +-
 srcpkgs/python3-portend/template              |     2 +-
 srcpkgs/python3-potr/template                 |     2 +-
 srcpkgs/python3-pplpy/template                |     2 +-
 srcpkgs/python3-prctl/template                |     2 +-
 srcpkgs/python3-precis-i18n/template          |     2 +-
 srcpkgs/python3-pretend/template              |     2 +-
 srcpkgs/python3-primecountpy/template         |     2 +-
 srcpkgs/python3-priority/template             |     2 +-
 srcpkgs/python3-process-tests/template        |     2 +-
 srcpkgs/python3-progress/template             |     2 +-
 srcpkgs/python3-progressbar/template          |     2 +-
 srcpkgs/python3-prometheus_client/template    |     2 +-
 srcpkgs/python3-prompt_toolkit/template       |     2 +-
 srcpkgs/python3-proselint/template            |     2 +-
 srcpkgs/python3-psutil/template               |     2 +-
 srcpkgs/python3-psycopg/template              |     2 +-
 srcpkgs/python3-psycopg2/template             |     2 +-
 srcpkgs/python3-ptyprocess/template           |     2 +-
 srcpkgs/python3-publicsuffix2/template        |     2 +-
 srcpkgs/python3-pulsectl-asyncio/template     |     2 +-
 srcpkgs/python3-pulsectl/template             |     2 +-
 srcpkgs/python3-pure-protobuf/template        |     2 +-
 srcpkgs/python3-pure_eval/template            |     2 +-
 srcpkgs/python3-puremagic/template            |     2 +-
 srcpkgs/python3-pwntools/template             |     2 +-
 srcpkgs/python3-py-cpuinfo/template           |     2 +-
 srcpkgs/python3-py/template                   |     2 +-
 srcpkgs/python3-py7zr/template                |     2 +-
 srcpkgs/python3-pyDes/template                |     2 +-
 srcpkgs/python3-pyFFTW/template               |     6 +-
 srcpkgs/python3-pyacoustid/template           |     2 +-
 srcpkgs/python3-pyaes/template                |     2 +-
 srcpkgs/python3-pyasn1-modules/template       |     2 +-
 srcpkgs/python3-pyasn1/template               |     2 +-
 srcpkgs/python3-pyasynchat/template           |     2 +-
 srcpkgs/python3-pyasyncore/template           |     2 +-
 srcpkgs/python3-pybcj/template                |     2 +-
 srcpkgs/python3-pybind11/template             |     2 +-
 srcpkgs/python3-pycares/template              |     2 +-
 srcpkgs/python3-pycdio/template               |     2 +-
 srcpkgs/python3-pychm/template                |     2 +-
 srcpkgs/python3-pyclip/template               |     2 +-
 srcpkgs/python3-pyclipper/template            |     4 +-
 srcpkgs/python3-pycodestyle/template          |     2 +-
 srcpkgs/python3-pycollada/template            |     2 +-
 srcpkgs/python3-pycotap/template              |     2 +-
 srcpkgs/python3-pycountry/template            |     2 +-
 srcpkgs/python3-pycparser/template            |     2 +-
 srcpkgs/python3-pycryptodome/template         |     2 +-
 srcpkgs/python3-pycryptodomex/template        |     2 +-
 srcpkgs/python3-pydantic-core/template        |    19 +-
 srcpkgs/python3-pydantic/template             |     2 +-
 srcpkgs/python3-pydbus/template               |     2 +-
 srcpkgs/python3-pydyf/template                |     2 +-
 srcpkgs/python3-pyelftools/template           |     2 +-
 srcpkgs/python3-pyfavicon/template            |     2 +-
 srcpkgs/python3-pyfiglet/template             |     2 +-
 srcpkgs/python3-pyflakes/template             |     2 +-
 srcpkgs/python3-pyfuse3/template              |     6 +-
 srcpkgs/python3-pygame/template               |    12 +-
 srcpkgs/python3-pygccxml/template             |     2 +-
 srcpkgs/python3-pygdbmi/template              |     2 +-
 srcpkgs/python3-pygit2/template               |     2 +-
 srcpkgs/python3-pyglet/template               |     2 +-
 srcpkgs/python3-pyinfra/template              |     2 +-
 srcpkgs/python3-pykeepass/template            |     2 +-
 srcpkgs/python3-pykka/template                |     2 +-
 srcpkgs/python3-pykwalify/template            |     2 +-
 srcpkgs/python3-pylast/template               |     2 +-
 srcpkgs/python3-pylibgen/template             |     2 +-
 srcpkgs/python3-pylru/template                |     2 +-
 srcpkgs/python3-pymediainfo/template          |     2 +-
 srcpkgs/python3-pynacl/template               |     2 +-
 srcpkgs/python3-pyopencl/template             |     6 +-
 srcpkgs/python3-pyotp/template                |     2 +-
 srcpkgs/python3-pypandoc/template             |     2 +-
 srcpkgs/python3-pypdf/template                |     2 +-
 srcpkgs/python3-pyperclip/template            |     2 +-
 srcpkgs/python3-pypng/template                |     2 +-
 srcpkgs/python3-pyppmd/template               |     2 +-
 srcpkgs/python3-pyproject-api/template        |     2 +-
 srcpkgs/python3-pyproject-hooks/template      |     2 +-
 srcpkgs/python3-pyproject-metadata/template   |     4 +-
 srcpkgs/python3-pyqt5-qsci/template           |     2 +-
 srcpkgs/python3-pyqt6-3d/template             |     2 +-
 srcpkgs/python3-pyqt6-charts/template         |     2 +-
 srcpkgs/python3-pyqt6-networkauth/template    |     2 +-
 srcpkgs/python3-pyqt6-qsci/template           |     2 +-
 srcpkgs/python3-pyqt6-sip/template            |     2 +-
 srcpkgs/python3-pyqt6-webengine/template      |     2 +-
 srcpkgs/python3-pyqt6/template                |     2 +-
 srcpkgs/python3-pyqtgraph/template            |     2 +-
 srcpkgs/python3-pyrfc3339/template            |     2 +-
 srcpkgs/python3-pyrsistent/template           |     2 +-
 srcpkgs/python3-pyscard/template              |     2 +-
 srcpkgs/python3-pyscss/template               |     2 +-
 srcpkgs/python3-pysdl2/template               |     2 +-
 srcpkgs/python3-pyserial/template             |     2 +-
 srcpkgs/python3-pyside6/template              |     2 +-
 srcpkgs/python3-pysigset/template             |     2 +-
 srcpkgs/python3-pysocks/template              |     2 +-
 srcpkgs/python3-pysol_cards/template          |     2 +-
 srcpkgs/python3-pyspnego/template             |     2 +-
 srcpkgs/python3-pysrt/template                |     2 +-
 srcpkgs/python3-pystache/patches/setup.patch  |    27 +
 srcpkgs/python3-pystache/template             |    24 +
 srcpkgs/python3-pytaglib/template             |     2 +-
 srcpkgs/python3-pyte/template                 |     2 +-
 srcpkgs/python3-pytest-aiohttp/template       |     2 +-
 srcpkgs/python3-pytest-asyncio/template       |     2 +-
 srcpkgs/python3-pytest-benchmark/template     |     2 +-
 srcpkgs/python3-pytest-black/template         |     2 +-
 .../python3-pytest-console-scripts/template   |     2 +-
 srcpkgs/python3-pytest-cov/template           |     2 +-
 .../patches/no_setuptools_git.patch           |    11 +
 .../python3-pytest-fixture-config/template    |     6 +-
 srcpkgs/python3-pytest-flake8/template        |     2 +-
 srcpkgs/python3-pytest-forked/template        |     2 +-
 srcpkgs/python3-pytest-httpbin/template       |     2 +-
 srcpkgs/python3-pytest-httpserver/template    |     2 +-
 srcpkgs/python3-pytest-import-check/template  |     2 +-
 srcpkgs/python3-pytest-isort/template         |     2 +-
 srcpkgs/python3-pytest-jupyter/template       |     2 +-
 srcpkgs/python3-pytest-lazy-fixture/template  |     2 +-
 srcpkgs/python3-pytest-localserver/template   |     2 +-
 srcpkgs/python3-pytest-mock/template          |     2 +-
 srcpkgs/python3-pytest-qt/template            |     2 +-
 srcpkgs/python3-pytest-subtests/template      |     6 +-
 srcpkgs/python3-pytest-sugar/template         |     2 +-
 srcpkgs/python3-pytest-timeout/template       |     2 +-
 srcpkgs/python3-pytest-trio/template          |     2 +-
 srcpkgs/python3-pytest-xdist/template         |     2 +-
 srcpkgs/python3-pytest-xvfb/template          |     2 +-
 srcpkgs/python3-pytest/template               |     2 +-
 srcpkgs/python3-python-multipart/template     |     2 +-
 srcpkgs/python3-pythondialog/template         |     2 +-
 srcpkgs/python3-pytools/template              |     8 +-
 srcpkgs/python3-pytz/template                 |     2 +-
 .../python3-pytz_deprecation_shim/template    |     2 +-
 srcpkgs/python3-pytzdata/template             |     2 +-
 srcpkgs/python3-pyudev/template               |     2 +-
 srcpkgs/python3-pywayland/template            |     2 +-
 srcpkgs/python3-pywinrm/template              |     2 +-
 srcpkgs/python3-pywlroots/template            |     2 +-
 srcpkgs/python3-pywt/template                 |     4 +-
 srcpkgs/python3-pyx/template                  |     2 +-
 srcpkgs/python3-pyxattr/template              |     2 +-
 srcpkgs/python3-pyzbar/template               |     2 +-
 srcpkgs/python3-pyzmq/template                |     2 +-
 srcpkgs/python3-pyzstd/template               |     2 +-
 srcpkgs/python3-qrcode/template               |     2 +-
 srcpkgs/python3-qtile-extras/template         |     2 +-
 srcpkgs/python3-quart/template                |     4 +-
 srcpkgs/python3-random2/template              |     2 +-
 srcpkgs/python3-rapidfuzz/template            |     2 +-
 srcpkgs/python3-rarfile/template              |     2 +-
 srcpkgs/python3-raven/template                |     2 +-
 srcpkgs/python3-rdflib/template               |     2 +-
 srcpkgs/python3-re-assert/template            |     2 +-
 srcpkgs/python3-readability-lxml/template     |     2 +-
 srcpkgs/python3-readlike/template             |     2 +-
 srcpkgs/python3-rebulk/template               |     2 +-
 srcpkgs/python3-recommonmark/template         |     2 +-
 srcpkgs/python3-redis/template                |     4 +-
 srcpkgs/python3-reedsolo/template             |     2 +-
 srcpkgs/python3-referencing/template          |     2 +-
 srcpkgs/python3-reflink/template              |     2 +-
 srcpkgs/python3-regex/template                |     2 +-
 srcpkgs/python3-rencode/template              |     2 +-
 srcpkgs/python3-reportlab/template            |     2 +-
 .../template                                  |     2 +-
 srcpkgs/python3-requests-file/template        |     2 +-
 srcpkgs/python3-requests-mock/template        |     2 +-
 srcpkgs/python3-requests-ntlm/template        |     2 +-
 srcpkgs/python3-requests-oauthlib/template    |     2 +-
 srcpkgs/python3-requests-toolbelt/template    |     2 +-
 srcpkgs/python3-requests-unixsocket/template  |     2 +-
 srcpkgs/python3-requests/template             |     2 +-
 srcpkgs/python3-resolvelib/template           |     2 +-
 srcpkgs/python3-responses/template            |     2 +-
 srcpkgs/python3-rfc3339-validator/template    |     2 +-
 srcpkgs/python3-rfc3986-validator/template    |     2 +-
 srcpkgs/python3-rfc3986/template              |     2 +-
 srcpkgs/python3-rfc3987/template              |     2 +-
 srcpkgs/python3-rfc6555/template              |     2 +-
 srcpkgs/python3-rich/template                 |     2 +-
 srcpkgs/python3-ripe-atlas-cousteau/template  |     2 +-
 srcpkgs/python3-ripe-atlas-sagan/template     |     2 +-
 srcpkgs/python3-ropgadget/template            |     2 +-
 srcpkgs/python3-rpds-py/template              |     2 +-
 srcpkgs/python3-rsa/template                  |     2 +-
 srcpkgs/python3-rss2email/template            |     2 +-
 srcpkgs/python3-rst2ansi/template             |     2 +-
 srcpkgs/python3-rtf_tokenize/template         |     2 +-
 srcpkgs/python3-rtree/template                |     2 +-
 srcpkgs/python3-ruamel.yaml.clib/template     |     2 +-
 srcpkgs/python3-ruamel.yaml/template          |     2 +-
 srcpkgs/python3-rx/template                   |     2 +-
 srcpkgs/python3-s-tui/template                |     2 +-
 srcpkgs/python3-s3transfer/template           |     2 +-
 srcpkgs/python3-sabctools/template            |     2 +-
 srcpkgs/python3-saml2/template                |     2 +-
 srcpkgs/python3-scandir/template              |     2 +-
 srcpkgs/python3-scikit-build-core/template    |     2 +-
 srcpkgs/python3-scikit-build/template         |     2 +-
 srcpkgs/python3-scikit-image/template         |     2 +-
 srcpkgs/python3-scikit-learn/template         |     2 +-
 srcpkgs/python3-scipy/template                |     2 +-
 srcpkgs/python3-scour/template                |     2 +-
 srcpkgs/python3-scruffy/template              |     4 +-
 srcpkgs/python3-scrypt/template               |     2 +-
 srcpkgs/python3-seaborn/template              |     2 +-
 srcpkgs/python3-semanticversion/template      |     2 +-
 srcpkgs/python3-semver/template               |     2 +-
 srcpkgs/python3-send2trash/template           |     2 +-
 srcpkgs/python3-sentry/template               |     2 +-
 srcpkgs/python3-serpent/template              |     2 +-
 srcpkgs/python3-service_identity/template     |     2 +-
 srcpkgs/python3-setproctitle/template         |     2 +-
 srcpkgs/python3-setuptools-rust/template      |     2 +-
 srcpkgs/python3-setuptools/template           |     4 +-
 srcpkgs/python3-setuptools_scm/template       |     2 +-
 srcpkgs/python3-sgmllib/template              |     2 +-
 srcpkgs/python3-sh/template                   |     2 +-
 srcpkgs/python3-shapely/template              |     6 +-
 srcpkgs/python3-shellingham/template          |     2 +-
 srcpkgs/python3-shodan/template               |     2 +-
 srcpkgs/python3-shxparser/template            |     2 +-
 srcpkgs/python3-signedjson/template           |     2 +-
 srcpkgs/python3-simber/template               |     2 +-
 srcpkgs/python3-simplebayes/template          |     2 +-
 srcpkgs/python3-simplegeneric/template        |     2 +-
 srcpkgs/python3-simplejson/template           |     2 +-
 srcpkgs/python3-sip-PyQt5/template            |     2 +-
 srcpkgs/python3-six/template                  |     2 +-
 srcpkgs/python3-slixmpp/template              |     2 +-
 srcpkgs/python3-slugify/template              |     2 +-
 srcpkgs/python3-smartypants/template          |     2 +-
 srcpkgs/python3-smbc/template                 |     2 +-
 srcpkgs/python3-smmap/template                |     2 +-
 srcpkgs/python3-snakeoil/template             |     2 +-
 srcpkgs/python3-snappy/template               |     2 +-
 srcpkgs/python3-sniffio/template              |     2 +-
 srcpkgs/python3-snowballstemmer/template      |     2 +-
 srcpkgs/python3-socketIO-client/template      |     2 +-
 srcpkgs/python3-socks/template                |     2 +-
 srcpkgs/python3-socksio/template              |     2 +-
 srcpkgs/python3-sortedcontainers/template     |     2 +-
 srcpkgs/python3-soupsieve/template            |     2 +-
 srcpkgs/python3-spake2/template               |     2 +-
 srcpkgs/python3-sphinx-automodapi/template    |     2 +-
 srcpkgs/python3-sphinx-copybutton/template    |     2 +-
 .../python3-sphinx-markdown-tables/template   |     2 +-
 srcpkgs/python3-sphinx-tabs/template          |     2 +-
 srcpkgs/python3-sphinx_rtd_theme/template     |     2 +-
 .../python3-sphinxcontrib-applehelp/template  |     2 +-
 .../python3-sphinxcontrib-devhelp/template    |     2 +-
 .../python3-sphinxcontrib-htmlhelp/template   |     2 +-
 srcpkgs/python3-sphinxcontrib-jsmath/template |     2 +-
 srcpkgs/python3-sphinxcontrib-qthelp/template |     2 +-
 .../template                                  |     2 +-
 srcpkgs/python3-sphinxcontrib/template        |     2 +-
 srcpkgs/python3-spinners/template             |     2 +-
 srcpkgs/python3-spotipy/template              |     2 +-
 srcpkgs/python3-sqlparse/template             |     2 +-
 srcpkgs/python3-stack_data/template           |     2 +-
 srcpkgs/python3-starlette/template            |     2 +-
 srcpkgs/python3-stem/template                 |     2 +-
 srcpkgs/python3-stevedore/template            |     2 +-
 srcpkgs/python3-straight.plugin/template      |     2 +-
 srcpkgs/python3-strict-rfc3339/template       |     2 +-
 srcpkgs/python3-subprocess-tee/template       |     2 +-
 srcpkgs/python3-subunit/template              |     2 +-
 srcpkgs/python3-suds/template                 |     6 +-
 srcpkgs/python3-svg.path/template             |     2 +-
 srcpkgs/python3-svgelements/template          |     2 +-
 srcpkgs/python3-sympy/template                |     2 +-
 srcpkgs/python3-syndom/template               |     2 +-
 .../python3-tables/patches/numpy-2.0.patch    |   149 +
 srcpkgs/python3-tables/template               |    32 +
 srcpkgs/python3-tabulate/template             |     2 +-
 srcpkgs/python3-tasklib/template              |     2 +-
 srcpkgs/python3-telegram/template             |     2 +-
 srcpkgs/python3-tempita/template              |     3 +-
 srcpkgs/python3-tempora/template              |     2 +-
 srcpkgs/python3-tenacity/template             |     2 +-
 srcpkgs/python3-term-image/template           |     2 +-
 srcpkgs/python3-termcolor/template            |     2 +-
 srcpkgs/python3-terminado/template            |     2 +-
 srcpkgs/python3-terminaltables/template       |     2 +-
 srcpkgs/python3-testpath/template             |     2 +-
 srcpkgs/python3-testtools/template            |     2 +-
 srcpkgs/python3-text-unidecode/template       |     2 +-
 srcpkgs/python3-texttable/template            |     2 +-
 srcpkgs/python3-textual/template              |     2 +-
 srcpkgs/python3-thefuzz/template              |     2 +-
 srcpkgs/python3-threadpoolctl/template        |     2 +-
 srcpkgs/python3-tifffile/template             |     2 +-
 srcpkgs/python3-time-machine/template         |     2 +-
 srcpkgs/python3-tinycss/template              |     2 +-
 srcpkgs/python3-tinycss2/template             |     2 +-
 srcpkgs/python3-tinyhtml5/template            |     2 +-
 .../patches/musl-pgo-tests.patch              |     1 -
 srcpkgs/python3-tkinter/template              |     8 +-
 srcpkgs/python3-tldextract/template           |     2 +-
 srcpkgs/python3-tmuxp/template                |     2 +-
 srcpkgs/python3-tokenize-rt/template          |     2 +-
 srcpkgs/python3-toml/template                 |     2 +-
 srcpkgs/python3-tomli-w/template              |     2 +-
 srcpkgs/python3-tomli/template                |     4 +-
 srcpkgs/python3-tomlkit/template              |     2 +-
 srcpkgs/python3-tornado/template              |     2 +-
 srcpkgs/python3-tqdm/template                 |     2 +-
 srcpkgs/python3-traitlets/template            |     2 +-
 srcpkgs/python3-treq/template                 |     2 +-
 srcpkgs/python3-trimesh/template              |     2 +-
 srcpkgs/python3-trio-websocket/template       |     2 +-
 srcpkgs/python3-trio/template                 |     2 +-
 srcpkgs/python3-trove-classifiers/template    |     2 +-
 srcpkgs/python3-trustme/template              |     2 +-
 srcpkgs/python3-ttystatus/template            |     2 +-
 srcpkgs/python3-tweepy/template               |     2 +-
 srcpkgs/python3-twitter/template              |     2 +-
 srcpkgs/python3-txaio/template                |     2 +-
 srcpkgs/python3-txredisapi/template           |     2 +-
 srcpkgs/python3-txtorcon/template             |     2 +-
 srcpkgs/python3-typed-ast/template            |    19 +
 srcpkgs/python3-typeguard/template            |     2 +-
 srcpkgs/python3-typing_extensions/template    |     4 +-
 srcpkgs/python3-typogrify/template            |     2 +-
 srcpkgs/python3-tzlocal/template              |     2 +-
 srcpkgs/python3-ultrajson/template            |     2 +-
 srcpkgs/python3-unittest-mixins/template      |     2 +-
 srcpkgs/python3-unpaddedbase64/template       |     2 +-
 srcpkgs/python3-urbandict/template            |     2 +-
 srcpkgs/python3-uritemplate/template          |     2 +-
 srcpkgs/python3-uritools/template             |     2 +-
 srcpkgs/python3-urlgrabber/template           |     2 +-
 srcpkgs/python3-urllib3/template              |     2 +-
 srcpkgs/python3-urwid/template                |     2 +-
 srcpkgs/python3-urwid_readline/template       |     2 +-
 srcpkgs/python3-urwidgets/template            |     2 +-
 srcpkgs/python3-urwidtrees/template           |     2 +-
 srcpkgs/python3-usb/template                  |     2 +-
 srcpkgs/python3-userpath/template             |     2 +-
 srcpkgs/python3-utils/template                |     2 +-
 srcpkgs/python3-uvicorn/template              |     2 +-
 srcpkgs/python3-uvloop/template               |     6 +-
 srcpkgs/python3-validators/template           |     2 +-
 srcpkgs/python3-vdf/template                  |     2 +-
 srcpkgs/python3-versioneer/template           |     2 +-
 srcpkgs/python3-versioningit/template         |     2 +-
 srcpkgs/python3-vint/template                 |     2 +-
 srcpkgs/python3-virtualenv-clone/template     |     2 +-
 srcpkgs/python3-virtualenv/template           |     2 +-
 srcpkgs/python3-virustotal-api/template       |     2 +-
 srcpkgs/python3-vispy/template                |     2 +-
 srcpkgs/python3-vlc/template                  |     2 +-
 srcpkgs/python3-vobject/template              |     2 +-
 srcpkgs/python3-voluptuous/template           |     2 +-
 srcpkgs/python3-waitress/template             |     2 +-
 srcpkgs/python3-watchdog/template             |     2 +-
 srcpkgs/python3-watchman/template             |     2 +-
 srcpkgs/python3-wcmatch/template              |     2 +-
 srcpkgs/python3-wcwidth/template              |     2 +-
 srcpkgs/python3-webassets/template            |     2 +-
 srcpkgs/python3-webencodings/template         |     2 +-
 srcpkgs/python3-websocket-client/template     |     2 +-
 srcpkgs/python3-websockets/template           |     4 +-
 srcpkgs/python3-wheel/template                |     4 +-
 srcpkgs/python3-wikipedia/template            |     2 +-
 srcpkgs/python3-wrapt/template                |     2 +-
 srcpkgs/python3-wsproto/template              |     2 +-
 srcpkgs/python3-xapp/template                 |     2 +-
 .../python3-xcffib/patches/fix-build.patch    |    30 -
 srcpkgs/python3-xcffib/template               |     2 +-
 srcpkgs/python3-xdg-base-dirs/template        |     2 +-
 srcpkgs/python3-xdg/template                  |     2 +-
 srcpkgs/python3-xkbcommon/template            |     2 +-
 srcpkgs/python3-xlib/template                 |     2 +-
 srcpkgs/python3-xlrd/template                 |     2 +-
 srcpkgs/python3-xmlschema/template            |     2 +-
 srcpkgs/python3-xmltodict/template            |     2 +-
 srcpkgs/python3-xvfbwrapper/template          |     2 +-
 srcpkgs/python3-xxhash/template               |     2 +-
 srcpkgs/python3-xyzservices/template          |     2 +-
 srcpkgs/python3-yaml/template                 |     2 +-
 srcpkgs/python3-yamllint/template             |     2 +-
 srcpkgs/python3-yapf/template                 |     2 +-
 srcpkgs/python3-yara/template                 |     2 +-
 srcpkgs/python3-yarl/template                 |     2 +-
 srcpkgs/python3-yattag/template               |     2 +-
 srcpkgs/python3-youtube-search/template       |     2 +-
 srcpkgs/python3-youtubesearch/template        |     2 +-
 srcpkgs/python3-ytmusicapi/template           |     2 +-
 srcpkgs/python3-zc.lockfile/template          |     2 +-
 srcpkgs/python3-zeroconf/template             |     2 +-
 srcpkgs/python3-zipfile-deflate64/template    |     2 +-
 srcpkgs/python3-zipp/template                 |     2 +-
 srcpkgs/python3-zipstream-ng/template         |     2 +-
 srcpkgs/python3-zipstream/template            |     2 +-
 .../python3-zope.cachedescriptors/template    |     2 +-
 srcpkgs/python3-zope.component/template       |     2 +-
 srcpkgs/python3-zope.configuration/template   |     2 +-
 srcpkgs/python3-zope.copy/template            |     2 +-
 srcpkgs/python3-zope.deferredimport/template  |     2 +-
 srcpkgs/python3-zope.deprecation/template     |     2 +-
 srcpkgs/python3-zope.event/template           |     2 +-
 srcpkgs/python3-zope.exceptions/template      |     2 +-
 srcpkgs/python3-zope.hookable/template        |     2 +-
 srcpkgs/python3-zope.i18nmessageid/template   |     4 +-
 srcpkgs/python3-zope.interface/template       |     2 +-
 srcpkgs/python3-zope.location/template        |     2 +-
 srcpkgs/python3-zope.proxy/template           |     2 +-
 srcpkgs/python3-zope.schema/template          |     2 +-
 srcpkgs/python3-zope.security/template        |     8 +-
 srcpkgs/python3-zope.testing/template         |     2 +-
 srcpkgs/python3-zope.testrunner/template      |     2 +-
 srcpkgs/python3-zstandard/template            |     2 +-
 srcpkgs/python3-zulip/template                |     2 +-
 srcpkgs/python3-zxcvbn/template               |     2 +-
 srcpkgs/python3/patches/musl-pgo-tests.patch  |    44 -
 srcpkgs/python3/patches/ppc-fixes.patch       |    45 +
 srcpkgs/python3/template                      |    14 +-
 srcpkgs/pythran/patches/gast-0.6.patch        |    76 +
 srcpkgs/pythran/template                      |     6 +-
 srcpkgs/pywal/template                        |     2 +-
 srcpkgs/qgis/template                         |     2 +-
 srcpkgs/qmk/template                          |     2 +-
 srcpkgs/qomui/template                        |     2 +-
 srcpkgs/qtile/template                        |     2 +-
 srcpkgs/quodlibet/template                    |     2 +-
 srcpkgs/qutebrowser/template                  |     2 +-
 srcpkgs/qytdl/template                        |     2 +-
 srcpkgs/radicale/template                     |     2 +-
 srcpkgs/ranger/template                       |     2 +-
 srcpkgs/rdiff-backup/template                 |     2 +-
 srcpkgs/re2c/template                         |     4 +-
 srcpkgs/recoll/patches/musl.patch             |    17 +
 srcpkgs/recoll/template                       |    18 +-
 srcpkgs/rednotebook/template                  |     2 +-
 srcpkgs/redshift/template                     |     2 +-
 srcpkgs/remhind/template                      |     2 +-
 srcpkgs/remmina/template                      |     2 +-
 srcpkgs/removed-packages/template             |     9 -
 srcpkgs/renderdoc/patches/python-3.13.patch   |    11 -
 srcpkgs/renderdoc/template                    |     2 +-
 srcpkgs/reuse/template                        |     2 +-
 srcpkgs/rhythmbox/template                    |     5 +-
 srcpkgs/ripe-atlas-tools/template             |     2 +-
 srcpkgs/river/template                        |     4 +-
 srcpkgs/rmlint/template                       |     2 +-
 srcpkgs/rofi-rbw/template                     |     2 +-
 srcpkgs/rofimoji/template                     |     2 +-
 srcpkgs/root/template                         |     2 +-
 srcpkgs/rpm/template                          |     2 +-
 srcpkgs/rrdtool/template                      |     2 +-
 srcpkgs/rsyslog/files/rsyslog.conf            |     2 +-
 srcpkgs/rsyslog/template                      |     7 +-
 srcpkgs/rtags/template                        |     4 +-
 srcpkgs/rtslib-fb/template                    |     2 +-
 srcpkgs/rubber/template                       |     2 +-
 srcpkgs/ruff/template                         |     2 +-
 srcpkgs/s3cmd/template                        |     2 +-
 srcpkgs/sabnzbd/template                      |     2 +-
 srcpkgs/safeeyes/template                     |     2 +-
 srcpkgs/sagemath/template                     |     2 +-
 srcpkgs/salt/template                         |     2 +-
 srcpkgs/samba/template                        |     2 +-
 srcpkgs/sbcl/template                         |    10 +-
 srcpkgs/sc-controller/template                |     2 +-
 srcpkgs/scapy/template                        |     2 +-
 srcpkgs/scons/template                        |     2 +-
 srcpkgs/screenkey/template                    |     2 +-
 srcpkgs/screenplain/template                  |     2 +-
 srcpkgs/scribus/template                      |     2 +-
 srcpkgs/seafile-libclient/template            |     2 +-
 srcpkgs/setconf/template                      |     2 +-
 srcpkgs/setzer/template                       |     2 +-
 srcpkgs/sigil/template                        |     2 +-
 srcpkgs/sip/template                          |     2 +-
 srcpkgs/sip4/template                         |     2 +-
 srcpkgs/skim/template                         |     4 +-
 srcpkgs/sonata/template                       |     2 +-
 srcpkgs/soundconverter/template               |     2 +-
 srcpkgs/speech-dispatcher/template            |     2 +-
 srcpkgs/speedtest-cli/template                |     2 +-
 srcpkgs/spotify-qt/template                   |     6 +-
 srcpkgs/sqlmap/template                       |     2 +-
 srcpkgs/ssh-audit/template                    |     2 +-
 srcpkgs/sshuttle/template                     |     2 +-
 srcpkgs/sssd/template                         |     2 +-
 srcpkgs/stcgal/template                       |     2 +-
 srcpkgs/stig/template                         |     2 +-
 srcpkgs/streamlink/template                   |     2 +-
 srcpkgs/subliminal/template                   |     2 +-
 srcpkgs/subuser/template                      |     2 +-
 srcpkgs/subversion/template                   |     2 +-
 srcpkgs/sumo/template                         |     2 +-
 srcpkgs/synapse/template                      |     2 +-
 srcpkgs/syncplay/template                     |     2 +-
 srcpkgs/syncthing-gtk/template                |     2 +-
 srcpkgs/system-config-printer/template        |     2 +-
 srcpkgs/talloc/template                       |     2 +-
 srcpkgs/targetcli-fb/template                 |     2 +-
 srcpkgs/tbb/template                          |     2 +-
 srcpkgs/tcpdump/template                      |     4 +-
 srcpkgs/tdb/template                          |     2 +-
 srcpkgs/telegram-tg/template                  |     2 +-
 srcpkgs/telepresence/patches/python3.12.patch |    14 +
 srcpkgs/telepresence/template                 |    26 +-
 srcpkgs/termdown/template                     |     2 +-
 srcpkgs/terminator/template                   |     2 +-
 srcpkgs/termtosvg/template                    |     2 +-
 srcpkgs/terraform/template                    |     4 +-
 srcpkgs/terragrunt/template                   |     4 +-
 srcpkgs/tevent/template                       |     2 +-
 srcpkgs/texworks/template                     |     2 +-
 srcpkgs/tgt/template                          |     4 +-
 srcpkgs/thefuck/template                      |     2 +-
 srcpkgs/thinkpad-scripts/template             |     2 +-
 srcpkgs/timer-cli/template                    |     2 +-
 srcpkgs/tlpui/template                        |     2 +-
 srcpkgs/tlsh/template                         |     2 +-
 srcpkgs/todoman/template                      |     2 +-
 srcpkgs/toot/template                         |     2 +-
 srcpkgs/torbrowser-launcher/template          |     2 +-
 srcpkgs/totem/template                        |     2 +-
 srcpkgs/touchegg/template                     |     6 +-
 srcpkgs/tox/template                          |     2 +-
 srcpkgs/trackma/template                      |     2 +-
 srcpkgs/transifex-cli/template                |     2 +-
 srcpkgs/transset/template                     |     4 +-
 srcpkgs/trash-cli/template                    |     2 +-
 srcpkgs/treeline/template                     |     2 +-
 srcpkgs/tryton/template                       |     2 +-
 srcpkgs/tuimoji/template                      |     2 +-
 srcpkgs/tuir/template                         |     2 +-
 srcpkgs/tuxedo-drivers/template               |     4 +-
 srcpkgs/txt2tags/template                     |     2 +-
 srcpkgs/tzupdate/template                     |     2 +-
 srcpkgs/udiskie/patches/setuptools.patch      |    45 -
 srcpkgs/udiskie/template                      |     4 +-
 srcpkgs/ueberzug/template                     |     2 +-
 srcpkgs/ufw/template                          |     2 +-
 srcpkgs/ulauncher/template                    |     2 +-
 srcpkgs/unicorn/template                      |     2 +-
 srcpkgs/unknown-horizons/template             |     2 +-
 srcpkgs/urh/patches/numpy.patch               |    22 -
 srcpkgs/urh/template                          |    11 +-
 srcpkgs/urlscan/template                      |     2 +-
 srcpkgs/urlwatch/template                     |     2 +-
 srcpkgs/uv/template                           |     2 +-
 srcpkgs/uwsgi/template                        |     2 +-
 srcpkgs/vapoursynth/template                  |     2 +-
 srcpkgs/variety/template                      |     2 +-
 srcpkgs/vaultwarden/template                  |     6 +-
 srcpkgs/vdirsyncer/template                   |     2 +-
 srcpkgs/victoria-logs/template                |     4 +-
 srcpkgs/victoria-metrics/template             |     6 +-
 srcpkgs/vidcutter/patches/mpv-0.35-1.patch    |   387 +
 srcpkgs/vidcutter/patches/mpv-0.35-2.patch    |    24 +
 srcpkgs/vidcutter/template                    |    21 +-
 srcpkgs/vim/template                          |     2 +-
 srcpkgs/vimiv/template                        |     2 +-
 srcpkgs/virt-manager/template                 |     2 +-
 srcpkgs/virtme/template                       |     2 +-
 srcpkgs/virtualenvwrapper/template            |     2 +-
 srcpkgs/visidata/template                     |     2 +-
 srcpkgs/vit/template                          |     2 +-
 srcpkgs/volctl/template                       |     2 +-
 srcpkgs/volk/template                         |     2 +-
 srcpkgs/volta/template                        |     4 +-
 srcpkgs/voltron/template                      |     2 +-
 srcpkgs/volume_key/template                   |     2 +-
 srcpkgs/vpn-slice/template                    |     2 +-
 srcpkgs/vtk/template                          |     2 +-
 srcpkgs/waydroid/template                     |     2 +-
 srcpkgs/weather/template                      |     2 +-
 srcpkgs/weechat/template                      |     2 +-
 srcpkgs/wfuzz/template                        |     2 +-
 srcpkgs/whipper/template                      |     2 +-
 srcpkgs/wicd/template                         |     2 +-
 srcpkgs/wlroots0.18/template                  |     4 +-
 srcpkgs/wpgtk/template                        |     2 +-
 srcpkgs/wxPython/patches/wxsvg-cython.patch   |    12 -
 srcpkgs/wxPython/template                     |     9 +-
 srcpkgs/xapps/template                        |     4 +-
 srcpkgs/xcb-proto/template                    |     2 +-
 srcpkgs/xdg-desktop-portal-xapp/template      |    17 -
 srcpkgs/xdot/template                         |     2 +-
 srcpkgs/xen/template                          |     2 +-
 srcpkgs/xfce4-i3-workspaces-plugin/template   |     3 +-
 srcpkgs/xkcdpass/template                     |     2 +-
 srcpkgs/xml2rfc/template                      |     2 +-
 srcpkgs/xmldiff/template                      |     2 +-
 srcpkgs/xmlto/template                        |    18 +-
 srcpkgs/xonsh/template                        |     2 +-
 srcpkgs/xpra/template                         |     4 +-
 ...8a884c8cf3257ea1f053a82784da078999ed.patch |   192 +
 srcpkgs/xreader/template                      |     8 +-
 srcpkgs/xsnow/template                        |     6 +-
 srcpkgs/xterm/template                        |     6 +-
 srcpkgs/yewtube/template                      |     2 +-
 srcpkgs/you-get/template                      |     2 +-
 srcpkgs/youtube-dl/template                   |     4 +-
 srcpkgs/yq/template                           |     2 +-
 srcpkgs/yt-dlp/template                       |     2 +-
 srcpkgs/ytcc/template                         |     2 +-
 srcpkgs/ytmdl/template                        |     2 +-
 srcpkgs/yubikey-manager/template              |     2 +-
 srcpkgs/z3/template                           |     2 +-
 srcpkgs/zbar/template                         |     2 +-
 srcpkgs/zeek/template                         |     2 +-
 srcpkgs/zeitgeist/template                    |     2 +-
 srcpkgs/zet/patches/fix-rust178.patch         |    23 +
 srcpkgs/zet/template                          |     7 +-
 srcpkgs/zim/template                          |     2 +-
 srcpkgs/zmap/template                         |     6 +-
 srcpkgs/znc/template                          |     2 +-
 srcpkgs/zulip-term/template                   |     2 +-
 xbps-src                                      |     2 +-
 1823 files changed, 138547 insertions(+), 13111 deletions(-)
 delete mode 100644 common/hooks/pre-pkg/04-generate-provides.sh
 delete mode 100644 common/hooks/pre-pkg/06-verify-python-deps.sh
 delete mode 100644 common/scripts/parse-py-metadata.py
 create mode 100644 srcpkgs/OpenSubdiv/patches/tbb-2021.patch
 create mode 100644 srcpkgs/avr-gdb/patches/constness.patch
 delete mode 100644 srcpkgs/blender/patches/0002-fix-includes.patch
 create mode 100644 srcpkgs/blender/patches/altivec-all.patch
 create mode 100644 srcpkgs/blender/patches/python-3.12-regex.patch
 delete mode 100644 srcpkgs/blender/patches/python-3.13.patch
 create mode 100644 srcpkgs/blender/patches/python3.12-pylongobject.patch
 delete mode 100644 srcpkgs/brltty/patches/python3-bindings.patch
 delete mode 100644 srcpkgs/canto-curses/patches/python-3.13.patch
 create mode 100644 srcpkgs/cargo-update/files/Cargo.lock
 create mode 100644 srcpkgs/cinnamon-control-center/patches/musl.diff
 create mode 100644 srcpkgs/cjs/patches/fb480aae4eff422c3acd275c0108e970eafcdcb9.patch
 create mode 100644 srcpkgs/curl/patches/fix-content-encoding.patch
 create mode 100644 srcpkgs/curl/patches/fix-netrc.patch
 create mode 100644 srcpkgs/extension-manager/patches/f3768fb0227c714d7ed0613a28142613aa4a9c6b.patch
 delete mode 100644 srcpkgs/fftw/patches/clock-gettime.patch
 delete mode 100644 srcpkgs/fontforge/patches/l10n.patch
 delete mode 100644 srcpkgs/frr/patches/python-3.13.patch
 delete mode 100644 srcpkgs/kdevelop-python/patches/python-3.13.patch
 create mode 100644 srcpkgs/kig/patches/0001-fix-boost-python-bindung-with-boost-1.67.patch
 delete mode 100644 srcpkgs/kodi/patches/no-werror.patch
 delete mode 100644 srcpkgs/kore/patches/python-3.13.patch
 delete mode 100644 srcpkgs/krita/patches/python-3.13.patch
 delete mode 100644 srcpkgs/libcec/patches/python-3.13.patch
 delete mode 100644 srcpkgs/libimobiledevice/patches/00.cython3.patch
 delete mode 100644 srcpkgs/libimobiledevice/patches/01.cython3.patch
 create mode 100644 srcpkgs/linux4.19/files/DocBook/Makefile
 create mode 100644 srcpkgs/linux4.19/files/arm-dotconfig
 create mode 100644 srcpkgs/linux4.19/files/arm64-dotconfig
 create mode 100644 srcpkgs/linux4.19/files/i386-dotconfig
 create mode 100755 srcpkgs/linux4.19/files/mv-debug
 create mode 100644 srcpkgs/linux4.19/files/ppc-dotconfig
 create mode 100644 srcpkgs/linux4.19/files/ppc64-dotconfig
 create mode 100644 srcpkgs/linux4.19/files/ppc64le-dotconfig
 create mode 100644 srcpkgs/linux4.19/files/x86_64-dotconfig
 create mode 100644 srcpkgs/linux4.19/patches/ppc64-be-elfv2.patch
 create mode 100644 srcpkgs/linux4.19/patches/ppcle-broken-vdso.patch
 create mode 100644 srcpkgs/linux4.19/patches/ppcle-enable.patch
 create mode 100644 srcpkgs/linux4.19/patches/ppcle-ll-compat-sys.patch
 create mode 100644 srcpkgs/linux4.19/template
 create mode 100644 srcpkgs/linux6.10/files/arm64-dotconfig
 create mode 100644 srcpkgs/linux6.10/files/i386-dotconfig
 create mode 100755 srcpkgs/linux6.10/files/mv-debug
 create mode 100644 srcpkgs/linux6.10/files/x86_64-dotconfig
 create mode 100644 srcpkgs/linux6.10/patches/fix-musl-btf-ids.patch
 create mode 100644 srcpkgs/linux6.10/patches/fix-musl-objtool.patch
 create mode 100644 srcpkgs/linux6.10/patches/fixdep-largefile.patch
 create mode 100644 srcpkgs/linux6.10/patches/soc-qcom-add-in-kernel-pd-mapper-implementation.patch
 create mode 100644 srcpkgs/linux6.10/template
 create mode 100644 srcpkgs/linux6.11/files/arm64-dotconfig
 create mode 100644 srcpkgs/linux6.11/files/i386-dotconfig
 create mode 100755 srcpkgs/linux6.11/files/mv-debug
 create mode 100644 srcpkgs/linux6.11/files/x86_64-dotconfig
 create mode 100644 srcpkgs/linux6.11/patches/fix-musl-btf-ids.patch
 create mode 100644 srcpkgs/linux6.11/patches/fix-musl-objtool.patch
 create mode 100644 srcpkgs/linux6.11/patches/fixdep-largefile.patch
 create mode 100644 srcpkgs/linux6.11/patches/x13s-camera.patch
 create mode 100644 srcpkgs/linux6.11/template
 delete mode 100644 srcpkgs/med/patches/include-dir.patch
 delete mode 100644 srcpkgs/nodeenv/patches/python-3.13.patch
 delete mode 100644 srcpkgs/pyliblo/patches/cython3.patch
 delete mode 100644 srcpkgs/pyliblo/patches/python-3.11.patch
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update
 delete mode 100644 srcpkgs/python3-SQLAlchemy/update
 delete mode 100644 srcpkgs/python3-SQLAlchemy2/update
 delete mode 100644 srcpkgs/python3-autocommand/patches/license.patch
 create mode 100644 srcpkgs/python3-changelogs/template
 create mode 100644 srcpkgs/python3-efl/template
 delete mode 100644 srcpkgs/python3-flit_core-bootstrap/template
 delete mode 100644 srcpkgs/python3-frozenlist/patches/no-expandvars.patch
 create mode 100644 srcpkgs/python3-gitchangelog/patches/setup.cfg.patch
 create mode 100644 srcpkgs/python3-gitchangelog/patches/setup.py.patch
 create mode 100644 srcpkgs/python3-gitchangelog/template
 delete mode 100644 srcpkgs/python3-grpcio-tools/patches/cross.patch
 delete mode 100644 srcpkgs/python3-installer-bootstrap/template
 delete mode 100644 srcpkgs/python3-libsass/template
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
 rename srcpkgs/python3-lxml/patches/{fix-encoding-tests-musl.patch => tests-fix-encoding-name.patch} (54%)
 delete mode 100644 srcpkgs/python3-nbclassic/patches/python3.13.patch
 create mode 100644 srcpkgs/python3-nose-random/template
 create mode 100644 srcpkgs/python3-nose/patches/setup.py.patch
 create mode 100644 srcpkgs/python3-nose/template
 delete mode 100644 srcpkgs/python3-packaging-bootstrap/template
 create mode 100644 srcpkgs/python3-pivy/patches/python3.12.patch
 create mode 100644 srcpkgs/python3-pystache/patches/setup.patch
 create mode 100644 srcpkgs/python3-pystache/template
 create mode 100644 srcpkgs/python3-pytest-fixture-config/patches/no_setuptools_git.patch
 create mode 100644 srcpkgs/python3-tables/patches/numpy-2.0.patch
 create mode 100644 srcpkgs/python3-tables/template
 delete mode 120000 srcpkgs/python3-tkinter/patches/musl-pgo-tests.patch
 create mode 100644 srcpkgs/python3-typed-ast/template
 delete mode 100644 srcpkgs/python3-xcffib/patches/fix-build.patch
 delete mode 100644 srcpkgs/python3/patches/musl-pgo-tests.patch
 create mode 100644 srcpkgs/python3/patches/ppc-fixes.patch
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch
 delete mode 100644 srcpkgs/renderdoc/patches/python-3.13.patch
 create mode 100644 srcpkgs/telepresence/patches/python3.12.patch
 delete mode 100644 srcpkgs/udiskie/patches/setuptools.patch
 delete mode 100644 srcpkgs/urh/patches/numpy.patch
 create mode 100644 srcpkgs/vidcutter/patches/mpv-0.35-1.patch
 create mode 100644 srcpkgs/vidcutter/patches/mpv-0.35-2.patch
 delete mode 100644 srcpkgs/wxPython/patches/wxsvg-cython.patch
 delete mode 100644 srcpkgs/xdg-desktop-portal-xapp/template
 create mode 100644 srcpkgs/xreader/patches/06b18a884c8cf3257ea1f053a82784da078999ed.patch
 create mode 100644 srcpkgs/zet/patches/fix-rust178.patch

diff --git a/Manual.md b/Manual.md
index 9d1fabe07d8a18..c39509f5c7f61b 100644
--- a/Manual.md
+++ b/Manual.md
@@ -1639,13 +1639,6 @@ written in Python) or just single Python file ones that live in `/usr/bin`.
 If `python_version` is set to `ignore`, python-containing shebangs will not be rewritten.
 Use this only if a package should not be using a system version of python.
 
-- `python_extras`: Python module extras to consider when verifying Python module dependencies.
-Can be used to ensure additional dependency sets are checked. Example: `python_extras="all"`.
-
-- `nopyprovides`: if set, don't create `provides` entries for Python modules in the package.
-
-- `nopyverifydeps`: if set, don't verify Python module dependencies.
-
 Also, a set of useful variables are defined to use in the templates:
 
 | Variable    | Value                            |
diff --git a/common/build-helper/meson.sh b/common/build-helper/meson.sh
index 51901e893d0440..02fb515f2bea6f 100644
--- a/common/build-helper/meson.sh
+++ b/common/build-helper/meson.sh
@@ -47,7 +47,7 @@ esac
 # Tell meson to run binaries with qemu if desired
 _MESON_EXE_WRAPPER=""
 if [[ "${build_helper}" = *qemu* ]]; then
-	_MESON_EXE_WRAPPER="exe_wrapper = '/usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}'"
+	_MESON_EXE_WRAPPER="exe_wrapper = '/usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}-static'"
 fi
 
 # Record cross-compiling information in cross file.
diff --git a/common/build-helper/python3.sh b/common/build-helper/python3.sh
index 1a38f32d1d80bb..4707599ef0e068 100644
--- a/common/build-helper/python3.sh
+++ b/common/build-helper/python3.sh
@@ -2,10 +2,8 @@
 if [ -n "$CROSS_BUILD" ]; then
 	export PYPREFIX="$XBPS_CROSS_BASE"
 	export CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
-	export CXXFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
 	export LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib"
 	export CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
-	export CXX="${XBPS_CROSS_TRIPLET}-g++ -pthread $CXXFLAGS $LDFLAGS"
 	export LDSHARED="${CC} -shared $LDFLAGS"
 	export PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config"
 	export PYTHONPATH="${XBPS_CROSS_BASE}/${py3_lib}"
diff --git a/common/environment/build-style/python3-module.sh b/common/environment/build-style/python3-module.sh
index 8ab040aaf58a68..638f6be9373a47 100644
--- a/common/environment/build-style/python3-module.sh
+++ b/common/environment/build-style/python3-module.sh
@@ -1,6 +1,3 @@
 lib32disabled=yes
-if [ -z "$nopyprovides" ] || [ -z "$noverifypydeps" ]; then
-	hostmakedepends+=" python3-packaging-bootstrap"
-fi
 makedepends+=" python3"
 build_helper+=" python3"
diff --git a/common/environment/build-style/python3-pep517.sh b/common/environment/build-style/python3-pep517.sh
index b56773720aee72..f4faf980f5080d 100644
--- a/common/environment/build-style/python3-pep517.sh
+++ b/common/environment/build-style/python3-pep517.sh
@@ -1,6 +1,3 @@
-lib32disabled=yes
 hostmakedepends+=" python3-build python3-installer"
-if [ -z "$nopyprovides" ] || [ -z "$noverifypydeps" ]; then
-	hostmakedepends+=" python3-packaging-bootstrap"
-fi
+lib32disabled=yes
 build_helper+=" python3"
diff --git a/common/environment/setup-subpkg/subpkg.sh b/common/environment/setup-subpkg/subpkg.sh
index 379ade740faca5..6edab5d882e114 100644
--- a/common/environment/setup-subpkg/subpkg.sh
+++ b/common/environment/setup-subpkg/subpkg.sh
@@ -11,9 +11,6 @@ unset -v nostrip nostrip_files
 # hooks/post-install/14-fix-permissions
 unset -v nocheckperms nofixperms
 
-# hooks/pre-pkg/04-generate-provides
-unset -v nopyprovides
-
 # hooks/pre-pkg/04-generate-runtime-deps
 unset -v noverifyrdeps skiprdeps allow_unknown_shlibs shlib_requires
 
@@ -23,9 +20,6 @@ unset -v lib32depends lib32disabled lib32files lib32mode lib32symlinks
 # hooks/pre-pkg/06-shlib-provides
 unset -v noshlibprovides shlib_provides
 
-# hooks/pre-pkg/06-verify-python-deps
-unset -v noverifypydeps python_extras
-
 # xbps-triggers: system-accounts
 unset -v system_accounts system_groups
 
diff --git a/common/environment/setup/python.sh b/common/environment/setup/python.sh
index 75b3399c109e30..ab5c47d52847b1 100644
--- a/common/environment/setup/python.sh
+++ b/common/environment/setup/python.sh
@@ -7,7 +7,7 @@ py2_lib="usr/lib/python${py2_ver}"
 py2_sitelib="${py2_lib}/site-packages"
 py2_inc="usr/include/python${py2_ver}"
 
-py3_ver="3.13"
+py3_ver="3.12"
 py3_abiver=""
 py3_lib="usr/lib/python${py3_ver}"
 py3_sitelib="${py3_lib}/site-packages"
diff --git a/common/hooks/do-pkg/00-gen-pkg.sh b/common/hooks/do-pkg/00-gen-pkg.sh
index 06ff08b903be1f..e61f0532bd71f6 100644
--- a/common/hooks/do-pkg/00-gen-pkg.sh
+++ b/common/hooks/do-pkg/00-gen-pkg.sh
@@ -1,7 +1,7 @@
 # This hook generates a XBPS binary package from an installed package in destdir.
 
 genpkg() {
-	local pkgdir="$1" arch="$2" desc="$3" pkgver="$4" binpkg="$5" suffix="${6:-}"
+	local pkgdir="$1" arch="$2" desc="$3" pkgver="$4" binpkg="$5"
 	local _preserve _deps _shprovides _shrequires _gitrevs _provides _conflicts
 	local _replaces _reverts _mutable_files _conf_files f
 	local _pkglock="$pkgdir/${binpkg}.lock"
@@ -34,23 +34,21 @@ genpkg() {
 	cd $pkgdir
 
 	_preserve=${preserve:+-p}
-	if [ -s ${XBPS_STATEDIR}/${pkgname}${suffix}-rdeps ]; then
-		_deps="$(<${XBPS_STATEDIR}/${pkgname}${suffix}-rdeps)"
+	if [ -s ${PKGDESTDIR}/rdeps ]; then
+		_deps="$(<${PKGDESTDIR}/rdeps)"
 	fi
-	if [ -s ${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-provides ]; then
-		_shprovides="$(<${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-provides)"
+	if [ -s ${PKGDESTDIR}/shlib-provides ]; then
+		_shprovides="$(<${PKGDESTDIR}/shlib-provides)"
 	fi
-	if [ -s ${XBPS_STATEDIR}/${pkgname}${suffix}-provides ]; then
-		_provides="$(<${XBPS_STATEDIR}/${pkgname}${suffix}-provides)"
-	fi
-	if [ -s ${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-requires ]; then
-		_shrequires="$(<${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-requires)"
+	if [ -s ${PKGDESTDIR}/shlib-requires ]; then
+		_shrequires="$(<${PKGDESTDIR}/shlib-requires)"
 	fi
 	if [ -s ${XBPS_STATEDIR}/gitrev ]; then
 		_gitrevs="$(<${XBPS_STATEDIR}/gitrev)"
 	fi
 
 	# Stripping whitespaces
+	local _provides="$(echo $provides)"
 	local _conflicts="$(echo $conflicts)"
 	local _replaces="$(echo $replaces)"
 	local _reverts="$(echo $reverts)"
@@ -144,7 +142,7 @@ hook() {
 		_desc="${short_desc} (debug files)"
 		binpkg=${_pkgver}.${arch}.xbps
 		PKGDESTDIR="${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/${pkgname}-dbg-${version}"
-		genpkg ${repo} ${arch} "${_desc}" ${_pkgver} ${binpkg} -dbg
+		genpkg ${repo} ${arch} "${_desc}" ${_pkgver} ${binpkg}
 	fi
 	# Generate 32bit pkg.
 	if [ "$XBPS_TARGET_MACHINE" != "i686" ]; then
@@ -163,6 +161,6 @@ hook() {
 		PKGDESTDIR="${XBPS_DESTDIR}/${pkgname}-32bit-${version}"
 		[ -n "${_provides}" ] && export provides="${_provides}"
 		[ -n "${_replaces}" ] && export replaces="${_replaces}"
-		genpkg ${repo} x86_64 "${_desc}" ${_pkgver} ${binpkg} -32bit
+		genpkg ${repo} x86_64 "${_desc}" ${_pkgver} ${binpkg}
 	fi
 }
diff --git a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh
index cf7868b1067360..70152bad55f4fc 100644
--- a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh
+++ b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh
@@ -274,7 +274,7 @@ _EOF
 	if [ -d ${PKGDESTDIR}/usr/lib/python* ]; then
 		pycompile_version="$(find ${PKGDESTDIR}/usr/lib/python* -prune -type d | grep -o '[[:digit:]]\.[[:digit:]]\+$')"
 		if [ -z "${pycompile_module}" ]; then
-			pycompile_module="$(find ${PKGDESTDIR}/usr/lib/python*/site-packages* -mindepth 1 -maxdepth 1 '!' -name '*.egg-info' '!' -name '*.dist-info' '!' -name '*.so' '!' -name '*.pth' -printf '%f ')"
+			pycompile_module="$(find ${PKGDESTDIR}/usr/lib/python*/site-packages -mindepth 1 -maxdepth 1 '!' -name '*.egg-info' '!' -name '*.dist-info' '!' -name '*.so' '!' -name '*.pth' -printf '%f ')"
 		fi
 	fi
 
diff --git a/common/hooks/post-install/06-strip-and-debug-pkgs.sh b/common/hooks/post-install/06-strip-and-debug-pkgs.sh
index ebe3166f09c039..b6bd52320dc8d1 100644
--- a/common/hooks/post-install/06-strip-and-debug-pkgs.sh
+++ b/common/hooks/post-install/06-strip-and-debug-pkgs.sh
@@ -51,7 +51,7 @@ create_debug_pkg() {
 		msg_red "$pkgver: failed to create debug pkg\n"
 		return 1
 	fi
-	printf "${pkgver} " >> ${XBPS_STATEDIR}/${pkgname}-dbg-rdeps
+	printf "${pkgver} " >> ${_destdir}/rdeps
 	rmdir --ignore-fail-on-non-empty "${PKGDESTDIR}/usr/lib" 2>/dev/null
 	return 0
 }
diff --git a/common/hooks/post-install/98-shlib-provides.sh b/common/hooks/post-install/98-shlib-provides.sh
index 47e0e3bd3cedc3..a2ccff794b2e66 100644
--- a/common/hooks/post-install/98-shlib-provides.sh
+++ b/common/hooks/post-install/98-shlib-provides.sh
@@ -6,8 +6,7 @@ collect_sonames() {
 	local _pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)*$"
 	local _versioned_pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)+$"
 	local _tmpfile=$(mktemp) || exit 1
-	local _mainpkg="${2:-}"
-	local _suffix="${3:-}"
+	local _mainpkg="$2"
 	local _shlib_dir="${XBPS_STATEDIR}/shlib-provides"
 	local _no_soname=$(mktemp) || exit 1
 
@@ -51,8 +50,8 @@ collect_sonames() {
 		echo "$f" >> ${_tmpfile}
 	done
 	if [ -s "${_tmpfile}" ]; then
-		tr '\n' ' ' < "${_tmpfile}" > "${XBPS_STATEDIR}/${pkgname}${_suffix}-shlib-provides"
-		echo >> "${XBPS_STATEDIR}/${pkgname}${_suffix}-shlib-provides"
+		tr '\n' ' ' < "${_tmpfile}" > ${_destdir}/shlib-provides
+		echo >> ${_destdir}/shlib-provides
 		if [ "$_mainpkg" ]; then
 			cp "${_tmpfile}" "${_shlib_dir}/${pkgname}.soname"
 		fi
@@ -85,5 +84,5 @@ hook() {
 	# native pkg
 	collect_sonames ${PKGDESTDIR} $_mainpkg
 	# 32bit pkg
-	collect_sonames ${_destdir32} "" -32bit
+	collect_sonames ${_destdir32}
 }
diff --git a/common/hooks/pre-configure/02-script-wrapper.sh b/common/hooks/pre-configure/02-script-wrapper.sh
index 3d5d6c2ab3b8f3..02f3965be7effb 100644
--- a/common/hooks/pre-configure/02-script-wrapper.sh
+++ b/common/hooks/pre-configure/02-script-wrapper.sh
@@ -251,7 +251,7 @@ hook() {
 	generic_wrapper3 libetpan-config
 	generic_wrapper3 giblib-config
 	python_wrapper python-config 2.7
-	python_wrapper python3-config 3.13
+	python_wrapper python3-config 3.12
 	apr_apu_wrapper apu-1-config
 	qemu_wrapper llvm-config
 }
diff --git a/common/hooks/pre-pkg/04-generate-provides.sh b/common/hooks/pre-pkg/04-generate-provides.sh
deleted file mode 100644
index f9c1a68e134c78..00000000000000
--- a/common/hooks/pre-pkg/04-generate-provides.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-# vim: set ts=4 sw=4 et:
-#
-# This hook executes the following tasks:
-#	- Generates provides file with provides entries for xbps-create(1)
-
-generate_python_provides() {
-    local py3_bin="${XBPS_MASTERDIR}/usr/bin/python3"
-
-    if [ -z "$nopyprovides" ] && [ -d "${PKGDESTDIR}/${py3_sitelib}" ] && [ -x "${py3_bin}" ]; then
-        PYTHONPATH="${XBPS_MASTERDIR}/${py3_sitelib}-bootstrap" "${py3_bin}" \
-            "${XBPS_COMMONDIR}"/scripts/parse-py-metadata.py \
-            -S "${PKGDESTDIR}/${py3_sitelib}" -v "${pkgver}" provides
-    fi
-}
-
-hook() {
-    local -a _provides=()
-
-    # include explicit values from the template
-    read -r -a _provides <<< "$provides"
-
-    # get the canonical python package names for each python module
-    mapfile -t _provides -O "${#_provides[@]}" < <( generate_python_provides )
-
-    if [ "${#_provides[@]}" -gt 0 ]; then
-        echo "   ${_provides[*]}"
-        echo "${_provides[*]}" > "${XBPS_STATEDIR}/${pkgname}-provides"
-    fi
-}
diff --git a/common/hooks/pre-pkg/04-generate-runtime-deps.sh b/common/hooks/pre-pkg/04-generate-runtime-deps.sh
index 658257b19483c2..78c4be2e63d51b 100644
--- a/common/hooks/pre-pkg/04-generate-runtime-deps.sh
+++ b/common/hooks/pre-pkg/04-generate-runtime-deps.sh
@@ -41,7 +41,7 @@ store_pkgdestdir_rundeps() {
                     _curdep="${_curdep}>=0"
                 fi
                 printf "%s " "${_curdep}"
-            done > "${XBPS_STATEDIR}/${pkgname}-rdeps"
+            done > "${PKGDESTDIR}/rdeps"
         fi
 }
 
@@ -149,6 +149,6 @@ hook() {
     store_pkgdestdir_rundeps
 
     if [ -n "${sorequires}" ]; then
-        echo "${sorequires}" | xargs -n1 | sort | xargs > ${XBPS_STATEDIR}/${pkgname}-shlib-requires
+        echo "${sorequires}" | xargs -n1 | sort | xargs > ${PKGDESTDIR}/shlib-requires
     fi
 }
diff --git a/common/hooks/pre-pkg/05-generate-32bit-runtime-deps.sh b/common/hooks/pre-pkg/05-generate-32bit-runtime-deps.sh
index a2c79d34770866..3685f762315b0c 100644
--- a/common/hooks/pre-pkg/05-generate-32bit-runtime-deps.sh
+++ b/common/hooks/pre-pkg/05-generate-32bit-runtime-deps.sh
@@ -19,13 +19,13 @@ hook() {
 	# 32bit dependencies.
 	trap - ERR
 
-	: > ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+	: > ${destdir32}/rdeps
 
-	if [ -s "${XBPS_STATEDIR}/${pkgname}-rdeps" ]; then
+	if [ -s "$PKGDESTDIR/rdeps" ]; then
 		if [ -n "$lib32depends" ]; then
 			_deps="${lib32depends}"
 		else
-			_deps="$(<${XBPS_STATEDIR}/${pkgname}-rdeps)"
+			_deps="$(<${PKGDESTDIR}/rdeps)"
 		fi
 		for f in ${_deps}; do
 			unset found pkgn pkgv _shprovides
@@ -43,7 +43,7 @@ hook() {
 			# If dependency is a development pkg switch it to 32bit.
 			if [[ $pkgn == *-devel ]]; then
 				echo "   RDEP: $f -> ${pkgn}-32bit${pkgv} (development)"
-				printf "${pkgn}-32bit${pkgv} " >> ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+				printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
 				continue
 			fi
 			# If dependency does not have "shlib-provides" do not
@@ -60,20 +60,20 @@ hook() {
 				_shprovides="$($XBPS_QUERY_CMD -R --property=shlib-provides "$pkgn")"
 				if [ -n "${_shprovides}" ]; then
 					echo "   RDEP: $f -> ${pkgn}-32bit${pkgv} (shlib-provides)"
-					printf "${pkgn}-32bit${pkgv} " >> ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+					printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
 				else
 					echo "   RDEP: $f -> ${pkgn}${pkgv} (no shlib-provides)"
-					printf "${pkgn}${pkgv} " >> ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+					printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps
 				fi
 			else
-				if [ -s "${XBPS_STATEDIR}/${pkgn}-shlib-provides" ]; then
+				if [ -s ${XBPS_DESTDIR}/${pkgn}-${version}/shlib-provides ]; then
 					# Dependency is a subpkg; check if it provides any shlib
 					# and convert to 32bit if true.
 					echo "   RDEP: $f -> ${pkgn}-32bit${pkgv} (subpkg, shlib-provides)"
-					printf "${pkgn}-32bit${pkgv} " >> ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+					printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
 				else
 					echo "   RDEP: $f -> ${pkgn}${pkgv} (subpkg, no shlib-provides)"
-					printf "${pkgn}${pkgv} " >> ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+					printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps
 				fi
 			fi
 		done
@@ -81,7 +81,7 @@ hook() {
 	# If it's a development pkg add a dependency to the 64bit pkg.
 	if [[ $pkgn == *-devel ]]; then
 		echo "   RDEP: ${pkgver}"
-		printf "${pkgver} " >> ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+		printf "${pkgver} " >> ${destdir32}/rdeps
 	fi
-	printf "\n" >> ${XBPS_STATEDIR}/${pkgname}-32bit-rdeps
+	printf "\n" >> ${destdir32}/rdeps
 }
diff --git a/common/hooks/pre-pkg/06-verify-python-deps.sh b/common/hooks/pre-pkg/06-verify-python-deps.sh
deleted file mode 100644
index a47e5bbbf107d3..00000000000000
--- a/common/hooks/pre-pkg/06-verify-python-deps.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-# vim: set ts=4 sw=4 et:
-#
-# This hook executes the following tasks:
-#	- Verifies python module dependencies from dist-info's METADATA and egg-info's PKG-INFO
-
-hook() {
-    local py3_bin="${XBPS_MASTERDIR}/usr/bin/python3"
-
-    if [ -z "$nopyprovides" ] && [ -d "${PKGDESTDIR}/${py3_sitelib}" ] && [ -x "${py3_bin}" ]; then
-            PYTHONPATH="${XBPS_MASTERDIR}/${py3_sitelib}-bootstrap" "${py3_bin}" \
-                "${XBPS_COMMONDIR}"/scripts/parse-py-metadata.py \
-                ${NOCOLORS:+-C} ${XBPS_STRICT:+-s} -S "${PKGDESTDIR}/${py3_sitelib}" -v "${pkgver}" \
-                depends -e "${python_extras}" \
-                -V <( $XBPS_QUERY_XCMD -R -p provides -s "py3:" ) -D "${XBPS_STATEDIR}/${pkgname}-rdeps" \
-                || msg_error "$pkgver: failed to verify python module dependencies\n"
-    fi
-}
diff --git a/common/hooks/pre-pkg/99-pkglint.sh b/common/hooks/pre-pkg/99-pkglint.sh
index 2922c1a36f526a..90cb07da3f4aff 100644
--- a/common/hooks/pre-pkg/99-pkglint.sh
+++ b/common/hooks/pre-pkg/99-pkglint.sh
@@ -170,11 +170,11 @@ hook() {
 	fi
 
 	# Check for missing shlibs and SONAME bumps.
-	if [ ! -s "${XBPS_STATEDIR}/${pkgname}-shlib-provides" ]; then
+	if [ ! -s "${PKGDESTDIR}/shlib-provides" ]; then
 		return 0
 	fi
 
-	for filename in $(<"${XBPS_STATEDIR}/${pkgname}-shlib-provides"); do
+	for filename in $(<${PKGDESTDIR}/shlib-provides); do
 		rev=${filename#*.so.}
 		libname=${filename%.so*}
 		_shlib=$(echo "$libname"|sed -E 's|\+|\\+|g')
diff --git a/common/hooks/pre-pkg/999-collected-rdeps.sh b/common/hooks/pre-pkg/999-collected-rdeps.sh
index e22b0c5c0f5cdb..67f4a6261e8ab6 100644
--- a/common/hooks/pre-pkg/999-collected-rdeps.sh
+++ b/common/hooks/pre-pkg/999-collected-rdeps.sh
@@ -1,7 +1,7 @@
 # This hook displays resolved dependencies for a pkg.
 
 hook() {
-	if [ -e "${XBPS_STATEDIR}/${pkgname}-rdeps" ]; then
-		echo "   $(cat "${XBPS_STATEDIR}/${pkgname}-rdeps")"
+	if [ -e $PKGDESTDIR/rdeps ]; then
+		echo "   $(cat $PKGDESTDIR/rdeps)"
 	fi
 }
diff --git a/common/scripts/parse-py-metadata.py b/common/scripts/parse-py-metadata.py
deleted file mode 100644
index 150d476a4ceccc..00000000000000
--- a/common/scripts/parse-py-metadata.py
+++ /dev/null
@@ -1,203 +0,0 @@
-#!/usr/bin/python3
-
-# vim: set ts=4 sw=4 et:
-"""
-Usage:
-
-./parse-py-metadata.py -S "$DESTDIR/$py3_sitelib" provides -v "$version"
-
-    extract the names of top-level packages from:
-      - $DESTDIR/$py3_sitelib/*.dist-info/METADATA
-      - $DESTDIR/$py3_sitelib/*.egg-info/PKG-INFO
-
-./parse-py-metadata.py -S "$DESTDIR/$py3_sitelib" [-s] [-C] depends -e "extra1 extra2 ..."
-    -D "$XBPS_STATEDIR/$pkgname-rdeps" -V <( xbps-query -R -p provides -s "py3:" )
-
-    check that the dependencies of a package match what's listed in the python
-    package metadata, using the virtual package provides entries generated by
-    `parse-py-metadata.py provides`.
-
-This script requires python3-packaging-bootstrap to be installed in the chroot
-to run (which should be taken care of by the python3-module and python3-pep517
-build styles).
-"""
-
-import argparse
-from pathlib import Path
-from sys import stderr
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
-    from packaging.metadata import Metadata
-    from packaging.requirements import Requirement
-    from packaging.utils import canonicalize_name
-
-
-def msg_err(msg: str, *, nocolor: bool = False, strict: bool = False):
-    if nocolor:
-        print(msg, flush=True)
-    else:
-        color = "31" if strict else "33"
-        print(f"\033[1m\033[{color}m{msg}\033[m", file=stderr, flush=True)
-
-
-def vpkgname(val: "str | Requirement", *, version: str | None = None) -> str:
-    sfx = ""
-    if version is not None:
-        sfx = f"-{version}"
-    if isinstance(val, Requirement):
-        name = val.name
-    else:
-        name = val
-    return f"py3:{canonicalize_name(name)}{sfx}"
-
-
-def getpkgname(pkgver: str) -> str:
-    return pkgver.rpartition("-")[0]
-
-
-def getpkgversion(pkgver: str) -> str:
-    return pkgver.rpartition("-")[2]
-
-
-def getpkgdepname(pkgdep: str) -> str:
-    if "<" in pkgdep:
-        return pkgdep.partition("<")[0]
-    elif ">" in pkgdep:
-        return pkgdep.partition(">")[0]
-    else:
-        return pkgdep.rpartition("-")[0]
-
-
-def match_markers(req: "Requirement", extras: set[str]) -> bool:
-    # unconditional requirement
-    if req.marker is None:
-        return True
-
-    # check the requirement for each extra we want and without any extras
-    if extras:
-        return req.marker.evaluate() and any(req.marker.evaluate({"extra": e}) for e in extras)
-
-    return req.marker.evaluate()
-
-
-def find_metadata_files(sitepkgs: Path) -> list[Path]:
-    metafiles = list(sitepkgs.glob("*.dist-info/METADATA"))
-    metafiles.extend(sitepkgs.glob("*.egg-info/PKG-INFO"))
-    return metafiles
-
-
-def parse_provides(args):
-    out = set()
-
-    for metafile in find_metadata_files(args.sitepkgs):
-        with metafile.open() as f:
-            raw = f.read()
-
-        meta = Metadata.from_email(raw, validate=False)
-
-        out.add(vpkgname(meta.name, version=getpkgversion(args.pkgver)))
-        if meta.provides_dist is not None:
-            out.update(map(lambda n: vpkgname(n, version=getpkgversion(args.pkgver)), meta.provides_dist))
-        # deprecated but may be used
-        if meta.provides is not None:
-            out.update(map(lambda n: vpkgname(n, version=getpkgversion(args.pkgver)), meta.provides))
-
-        print("\n".join(out), flush=True)
-
-
-def parse_depends(args):
-    depends = dict()
-    vpkgs = dict()
-    extras = set(args.extras.split())
-
-    with args.vpkgs.open() as f:
-        for ln in f.readlines():
-            if not ln.strip():
-                continue
-            pkgver, _, rest = ln.partition(":")
-            vpkgvers, _, _ = rest.strip().partition("(")
-            pkg = getpkgname(pkgver)
-            vpkg = map(getpkgname, vpkgvers.split())
-            for v in vpkg:
-                vpkgs[v] = pkg
-
-    if args.rdeps.exists():
-        with args.rdeps.open() as f:
-            rdeps = list(map(getpkgdepname, f.read().split()))
-    else:
-        rdeps = []
-
-    for metafile in find_metadata_files(args.sitepkgs):
-        with metafile.open() as f:
-            raw = f.read()
-
-        meta = Metadata.from_email(raw, validate=False)
-
-        if meta.requires_dist is not None:
-            depends.update(map(lambda p: (vpkgname(p), None),
-                               filter(lambda r: match_markers(r, extras), meta.requires_dist)))
-        # deprecated but may be used
-        if meta.requires is not None:
-            depends.update(map(lambda p: (vpkgname(p), None), meta.requires))
-
-    err = False
-    unknown = False
-    missing = []
-    for k in depends.keys():
-        if k in vpkgs.keys():
-            pkgname = vpkgs[k]
-            if pkgname in rdeps:
-                print(f"   PYTHON: {k} <-> {pkgname}", flush=True)
-            else:
-                msg_err(f"   PYTHON: {k} <-> {pkgname} NOT IN depends PLEASE FIX!",
-                        nocolor=args.nocolor, strict=args.strict)
-                missing.append(pkgname)
-                err = True
-        else:
-            msg_err(f"   PYTHON: {k} <-> UNKNOWN PKG PLEASE FIX!",
-                    nocolor=args.nocolor, strict=args.strict)
-            unknown = True
-            err = True
-
-    if missing or unknown:
-        msg_err(f"=> {args.pkgver}: missing dependencies detected!",
-                nocolor=args.nocolor, strict=args.strict)
-    if missing:
-        msg_err(f"=> {args.pkgver}: please add these packages to depends: {' '.join(sorted(missing))}",
-                nocolor=args.nocolor, strict=args.strict)
-
-    if err and args.strict:
-        exit(1)
-
-
-if __name__ == "__main__":
-    parser = argparse.ArgumentParser()
-    parser.add_argument("-S", dest="sitepkgs", type=Path)
-    parser.add_argument("-v", dest="pkgver")
-    parser.add_argument("-s", dest="strict", action="store_true")
-    parser.add_argument("-C", dest="nocolor", action="store_true")
-    subparsers = parser.add_subparsers()
-
-    prov_parser = subparsers.add_parser("provides")
-    prov_parser.set_defaults(func=parse_provides)
-
-    deps_parser = subparsers.add_parser("depends")
-    deps_parser.add_argument("-e", dest="extras", default="")
-    deps_parser.add_argument("-V", dest="vpkgs", type=Path)
-    deps_parser.add_argument("-D", dest="rdeps", type=Path)
-    deps_parser.set_defaults(func=parse_depends)
-
-    args = parser.parse_args()
-
-    try:
-        from packaging.metadata import Metadata
-        from packaging.requirements import Requirement
-        from packaging.utils import canonicalize_name
-    except ImportError:
-        msg_err(f"=> WARNING: {args.pkgver}: missing packaging module!\n"
-                f"=> WARNING: {args.pkgver}: please add python3-packaging-bootstrap to hostmakedepends to run this check",
-                nocolor=args.nocolor)
-        exit(0)
-
-    args.func(args)
diff --git a/common/shlibs b/common/shlibs
index e2742f96a693e0..5e8f45495580ef 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -673,8 +673,8 @@ libboost_stacktrace_noop.so.1.83.0 libboost_stacktrace_noop-1.83.0_1
 libboost_stacktrace_addr2line.so.1.83.0 libboost_stacktrace_addr2line-1.83.0_1
 libboost_stacktrace_basic.so.1.83.0 libboost_stacktrace_basic-1.83.0_1
 libboost_mpi.so.1.83.0 libboost_mpi-1.83.0_1
-libboost_mpi_python313.so.1.83.0 libboost_mpi-python3-1.83.0_5
-libboost_python313.so.1.83.0 boost-python3-1.83.0_5
+libboost_mpi_python311.so.1.83.0 libboost_mpi-python3-1.83.0_1
+libboost_python312.so.1.83.0 boost-python3-1.83.0_1
 libexempi.so.8 exempi-2.5.0_1
 libatasmart.so.4 libatasmart-0.17_1
 libsgutils2-1.45.so.2 libsgutils-1.45_1
@@ -1730,8 +1730,8 @@ libportaudio.so.2 portaudio-19.20140130_1
 libportaudiocpp.so.0 portaudio-cpp-19.20140130_1
 libdar.so.6000 libdar-2.6.6_1
 libdar64.so.6000 libdar-2.6.6_1
-libpython3.so python3-3.13.0_1
-libpython3.13.so.1.0 python3-3.13.0_1
+libpython3.so python3-3.12.0_1
+libpython3.12.so.1.0 python3-3.12.0_1
 libbrscandec2.so.1 brother-brscan3-0.2.11_2
 libxmlrpc_server_abyss.so.3 xmlrpc-c-1.51.06_2
 libxmlrpc++.so.8 xmlrpc-c-1.51.06_2
@@ -2328,8 +2328,8 @@ libetpan.so.20 libetpan-1.9.3_4
 libxmp.so.4 libxmp-4.3.7_1
 libKF6ThreadWeaver.so.6 kf6-threadweaver-6.0.0_1
 libKF5ThreadWeaver.so.5 threadweaver-5.26.0_1
-libOpenImageIO_Util.so.2.5 openimageio-2.5.17.0_1
-libOpenImageIO.so.2.5 openimageio-2.5.17.0_1
+libOpenImageIO_Util.so.2.4 openimageio-2.4.9.0_1
+libOpenImageIO.so.2.4 openimageio-2.4.9.0_1
 libOpenColorIO.so.2.1 opencolorio-2.1.2_1
 libpystring.so.1 pystring-1.1.3_1
 libyaml-cpp.so.0.7 yaml-cpp-0.7.0_1
@@ -3980,13 +3980,13 @@ librdkafka.so.1 librdkafka-1.4.4_3
 librdkafka++.so.1 librdkafka-1.4.4_3
 libraft.so.0 raft-0.18.2_1
 libmdnsd.so.1 libmdnsd-0.9_1
-libosdGPU.so.3.6.0 OpenSubdiv-3.6.0_1
-libosdCPU.so.3.6.0 OpenSubdiv-3.6.0_1
+libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1
+libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1
 libcaribou.so.0 libcaribou-0.4.21_3
 libtinyclipboard.so.1 tinyclipboard-16.01_1
 libcbor.so.0.11 libcbor-0.11.0_1
 libfido2.so.1 libfido2-1.6.0_2
-libOpenImageDenoise.so.2 openimagedenoise-2.3.0_1
+libOpenImageDenoise.so.1 openimagedenoise-1.3.0_1
 libcbang0.so cbang-1.6.0_3
 libblosc.so.1 c-blosc-1.17.1_1
 libopenvdb.so.9.0 openvdb-9.0.0_1
diff --git a/common/xbps-src/shutils/show.sh b/common/xbps-src/shutils/show.sh
index 39d46b623bfdef..5e9e8a186bb13d 100644
--- a/common/xbps-src/shutils/show.sh
+++ b/common/xbps-src/shutils/show.sh
@@ -62,7 +62,7 @@ show_pkg_var() {
 }
 
 show_pkg_deps() {
-    [ -f "${XBPS_STATEDIR}/${pkgname}-rdeps" ] && cat "${XBPS_STATEDIR}/${pkgname}-rdeps"
+    [ -f "${PKGDESTDIR}/rdeps" ] && cat ${PKGDESTDIR}/rdeps
 }
 
 show_pkg_files() {
@@ -155,9 +155,9 @@ show_pkg_build_options() {
 }
 
 show_pkg_shlib_provides() {
-    [ -f "${XBPS_STATEDIR}/${pkgname}-shlib-provides" ] && cat "${XBPS_STATEDIR}/${pkgname}-shlib-provides"
+    [ -f "${PKGDESTDIR}/shlib-provides" ] && cat ${PKGDESTDIR}/shlib-provides
 }
 
 show_pkg_shlib_requires() {
-    [ -f "${XBPS_STATEDIR}/${pkgname}-shlib-requires" ] && cat "${XBPS_STATEDIR}/${pkgname}-shlib-requires"
+    [ -f "${PKGDESTDIR}/shlib-requires" ] && cat ${PKGDESTDIR}/shlib-requires
 }
diff --git a/srcpkgs/Carla/template b/srcpkgs/Carla/template
index 0a48174b7cb559..e672a58ceaea7a 100755
--- a/srcpkgs/Carla/template
+++ b/srcpkgs/Carla/template
@@ -1,7 +1,7 @@
 # Template file for 'Carla'
 pkgname=Carla
 version=2.5.8
-revision=2
+revision=1
 archs="x86_64* i686* aarch64* arm*"
 build_style=gnu-makefile
 pycompile_dirs="usr/share/carla"
diff --git a/srcpkgs/DSView/template b/srcpkgs/DSView/template
index 0624fd407448e4..b261627b4598da 100644
--- a/srcpkgs/DSView/template
+++ b/srcpkgs/DSView/template
@@ -1,7 +1,7 @@
 # Template file for 'DSView'
 pkgname=DSView
 version=1.3.2
-revision=2
+revision=1
 build_style=cmake
 hostmakedepends="pkg-config qt5-qmake qt5-host-tools"
 makedepends="boost-devel fftw-devel libglib-devel libusb-devel python3-devel qt5-devel"
diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
index 1f3023f5006023..4c4da7e57e0b6e 100644
--- a/srcpkgs/DisplayCAL/template
+++ b/srcpkgs/DisplayCAL/template
@@ -1,7 +1,7 @@
 # Template file for 'DisplayCAL'
 pkgname=DisplayCAL
 version=3.9.12
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
diff --git a/srcpkgs/GCP-Guest-Environment/template b/srcpkgs/GCP-Guest-Environment/template
index 0827b04d99da06..8cb51827d34a82 100644
--- a/srcpkgs/GCP-Guest-Environment/template
+++ b/srcpkgs/GCP-Guest-Environment/template
@@ -1,7 +1,7 @@
 # Template file for 'GCP-Guest-Environment'
 pkgname=GCP-Guest-Environment
 version=20191210
-revision=6
+revision=5
 build_wrksrc="packages/python-google-compute-engine"
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-distro"
diff --git a/srcpkgs/Grammalecte/template b/srcpkgs/Grammalecte/template
index a82a6bed8e0eb7..8218bbdef04370 100644
--- a/srcpkgs/Grammalecte/template
+++ b/srcpkgs/Grammalecte/template
@@ -1,7 +1,7 @@
 # Template file for 'Grammalecte'
 pkgname=Grammalecte
 version=1.6.0
-revision=7
+revision=6
 create_wrksrc=yes
 build_style=python3-module
 hostmakedepends="python3-setuptools"
diff --git a/srcpkgs/Komikku/template b/srcpkgs/Komikku/template
index cc5d4cc6d24095..822fe4b47d681c 100644
--- a/srcpkgs/Komikku/template
+++ b/srcpkgs/Komikku/template
@@ -1,7 +1,7 @@
 # Template file for 'Komikku'
 pkgname=Komikku
 version=1.21.1
-revision=3
+revision=2
 build_style=meson
 hostmakedepends="gettext glib-devel gobject-introspection pkg-config
  desktop-file-utils gtk-update-icon-cache"
diff --git a/srcpkgs/LabJackPython/template b/srcpkgs/LabJackPython/template
index 906117f1d0d694..17fdd03c4505c9 100644
--- a/srcpkgs/LabJackPython/template
+++ b/srcpkgs/LabJackPython/template
@@ -1,7 +1,7 @@
 # Template file for 'LabJackPython'
 pkgname=LabJackPython
 version=2.0.4
-revision=6
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3 exodriver"
diff --git a/srcpkgs/OpenLP/template b/srcpkgs/OpenLP/template
index a05a2b645720de..99948dd9138698 100644
--- a/srcpkgs/OpenLP/template
+++ b/srcpkgs/OpenLP/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenLP'
 pkgname=OpenLP
 version=3.1.4
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools qt5-host-tools"
 depends="python3-alembic python3-platformdirs python3-BeautifulSoup4
diff --git a/srcpkgs/OpenSubdiv/patches/tbb-2021.patch b/srcpkgs/OpenSubdiv/patches/tbb-2021.patch
new file mode 100644
index 00000000000000..5a812c84b21102
--- /dev/null
+++ b/srcpkgs/OpenSubdiv/patches/tbb-2021.patch
@@ -0,0 +1,29 @@
+diff --git a/opensubdiv/osd/tbbEvaluator.cpp b/opensubdiv/osd/tbbEvaluator.cpp
+index c98db9f..8dec0e1 100644
+--- a/opensubdiv/osd/tbbEvaluator.cpp
++++ b/opensubdiv/osd/tbbEvaluator.cpp
+@@ -25,7 +25,7 @@
+ #include "../osd/tbbEvaluator.h"
+ #include "../osd/tbbKernel.h"
+ 
+-#include <tbb/task_scheduler_init.h>
++#include <tbb/global_control.h>
+ 
+ namespace OpenSubdiv {
+ namespace OPENSUBDIV_VERSION {
+@@ -215,10 +215,11 @@ TbbEvaluator::Synchronize(void *) {
+ /* static */
+ void
+ TbbEvaluator::SetNumThreads(int numThreads) {
+-    if (numThreads == -1) {
+-        tbb::task_scheduler_init init;
+-    } else {
+-        tbb::task_scheduler_init init(numThreads);
++    if (numThreads != -1) {
++		tbb::global_control tbb_global_control(
++			tbb::global_control::max_allowed_parallelism,
++			numThreads
++		);
+     }
+ }
+ 
diff --git a/srcpkgs/OpenSubdiv/template b/srcpkgs/OpenSubdiv/template
index 7db0f87a638bd5..76d950301cd01d 100644
--- a/srcpkgs/OpenSubdiv/template
+++ b/srcpkgs/OpenSubdiv/template
@@ -1,7 +1,7 @@
 # Template file for 'OpenSubdiv'
 pkgname=OpenSubdiv
-version=3.6.0
-revision=1
+version=3.4.3
+revision=4
 build_style=cmake
 # TODO: CUDA/OpenCL support
 # NO_GLTESTS: skip tests which require X11 & $DISPLAY environment variable
@@ -13,7 +13,7 @@ maintainer="John <me@johnnynator.dev>"
 license="Apache-2.0"
 homepage="http://graphics.pixar.com/opensubdiv/docs/intro.html"
 distfiles="https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${version//./_}.tar.gz"
-checksum=bebfd61ab6657a4f4ff27845fb66a167d00395783bfbd253254d87447ed1d879
+checksum=7b22eb27d636ab0c1e03722c7a5a5bd4f11664ee65c9b48f341a6d0ce7f36745
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" OpenSubdiv"
diff --git a/srcpkgs/PackageKit/template b/srcpkgs/PackageKit/template
index 798eea87ba3d3f..228ef3cedf1ac6 100644
--- a/srcpkgs/PackageKit/template
+++ b/srcpkgs/PackageKit/template
@@ -1,7 +1,7 @@
 # Template file for 'PackageKit'
 pkgname=PackageKit
 version=1.2.4
-revision=4
+revision=3
 build_style=meson
 build_helper="gir"
 configure_args="-Dgstreamer_plugin=false -Dgtk_module=false
diff --git a/srcpkgs/PhotoCollage/template b/srcpkgs/PhotoCollage/template
index b2f73f003c3475..a563aa6b5e0737 100644
--- a/srcpkgs/PhotoCollage/template
+++ b/srcpkgs/PhotoCollage/template
@@ -1,7 +1,7 @@
 # Template file for 'PhotoCollage'
 pkgname=PhotoCollage
-version=1.4.8
-revision=1
+version=1.4.5
+revision=2
 build_style=python3-module
 hostmakedepends="gettext python3-setuptools"
 depends="python3-Pillow python3-gobject"
@@ -10,4 +10,4 @@ maintainer="SolitudeSF <solitudesf@protonmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/adrienverge/PhotoCollage"
 distfiles="https://github.com/adrienverge/PhotoCollage/archive/v${version}.tar.gz"
-checksum=7dae43d9711b7e5e89d8dd75363d967f3d5911b9db65ed3fbe7c95e567215994
+checksum=7dab2de4a098cb68369221bd634591dc768f10df2064a55bb8d6430cf5be5b36
diff --git a/srcpkgs/PyInstaller/template b/srcpkgs/PyInstaller/template
index f2ee5eaa3fdbfb..baebb65246ac8a 100644
--- a/srcpkgs/PyInstaller/template
+++ b/srcpkgs/PyInstaller/template
@@ -1,7 +1,7 @@
 # Template file for 'PyInstaller'
 pkgname=PyInstaller
 version=4.1
-revision=5
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="zlib-devel"
diff --git a/srcpkgs/QMPlay2/template b/srcpkgs/QMPlay2/template
index d02de5139534de..b58ef7c089bd4e 100644
--- a/srcpkgs/QMPlay2/template
+++ b/srcpkgs/QMPlay2/template
@@ -1,7 +1,7 @@
 # Template file for 'QMPlay2'
 pkgname=QMPlay2
-version=24.12.06
-revision=1
+version=24.06.16
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config qt5-qmake qt5-host-tools"
 makedepends="alsa-lib-devel ffmpeg6-devel libass-devel libcdio-devel libgme-devel
@@ -14,7 +14,7 @@ license="LGPL-3.0-only"
 homepage="http://zaps166.sourceforge.net/?app=QMPlay2"
 changelog="https://raw.githubusercontent.com/zaps166/QMPlay2/master/ChangeLog"
 distfiles="https://github.com/zaps166/QMPlay2/releases/download/${version}/QMPlay2-src-${version}.tar.xz"
-checksum=dc59d9b87f3af6753195be1793a2e10aebf3ad59d20e2e43a5c21e10a46c7cec
+checksum=7b06be4b95cb15064015934b24e76e583b85398136fc28b622dc1118d07c55b4
 
 QMPlay2-devel_package() {
 	short_desc+=" - development files"
diff --git a/srcpkgs/ReText/template b/srcpkgs/ReText/template
index aaecedf0883d50..8a28ff8170de85 100644
--- a/srcpkgs/ReText/template
+++ b/srcpkgs/ReText/template
@@ -1,7 +1,7 @@
 # Template file for 'ReText'
 pkgname=ReText
 version=7.2.3
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="ImageMagick python3 qt5-host-tools qt5-tools python3-setuptools"
 makedepends="python3-Markdown python3-Markups python3-PyQt5-webkit qt5-tools"
diff --git a/srcpkgs/SoapySDR/template b/srcpkgs/SoapySDR/template
index d2c71c9ce6f3cf..61bdbce1827bec 100644
--- a/srcpkgs/SoapySDR/template
+++ b/srcpkgs/SoapySDR/template
@@ -1,7 +1,7 @@
 # Template file for 'SoapySDR'
 pkgname=SoapySDR
 version=0.8.1
-revision=4
+revision=3
 build_style=cmake
 configure_args="-DPYTHON_EXECUTABLE=/usr/bin/python3"
 hostmakedepends="doxygen swig python3 python3-setuptools"
diff --git a/srcpkgs/Solaar/template b/srcpkgs/Solaar/template
index f8661e50de3a48..a970ae06f33395 100644
--- a/srcpkgs/Solaar/template
+++ b/srcpkgs/Solaar/template
@@ -1,7 +1,7 @@
 # Template file for 'Solaar'
 pkgname=Solaar
 version=1.1.13
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-evdev python3-pyudev python3-psutil python3-yaml python3-dbus
diff --git a/srcpkgs/Trimage/template b/srcpkgs/Trimage/template
index 8e1bee95269a1a..27df5e141fcb72 100644
--- a/srcpkgs/Trimage/template
+++ b/srcpkgs/Trimage/template
@@ -1,7 +1,7 @@
 # Template file for 'Trimage'
 pkgname=Trimage
 version=1.0.6
-revision=7
+revision=6
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3 jpegoptim optipng advancecomp pngcrush python3-PyQt5"
diff --git a/srcpkgs/TwitchNotifier/template b/srcpkgs/TwitchNotifier/template
index eb4ac2bd50f705..67297ac166071d 100644
--- a/srcpkgs/TwitchNotifier/template
+++ b/srcpkgs/TwitchNotifier/template
@@ -1,7 +1,7 @@
 # Template file for 'TwitchNotifier'
 pkgname=TwitchNotifier
 version=0.5
-revision=8
+revision=7
 build_style=python3-module
 hostmakedepends="python3-devel python3-setuptools"
 makedepends="python3-devel"
diff --git a/srcpkgs/act/template b/srcpkgs/act/template
index 32fc2a7d75aab2..842bb5dfb3b879 100644
--- a/srcpkgs/act/template
+++ b/srcpkgs/act/template
@@ -6,7 +6,7 @@ build_style=go
 go_import_path="github.com/nektos/act"
 go_ldflags="-X main.version=${version}"
 short_desc="Run your GitHub Actions locally"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="0x5c <dev@0x5c.io>"
 license="MIT, Apache-2.0"
 homepage="https://github.com/nektos/act"
 distfiles="https://github.com/nektos/act/archive/refs/tags/v${version}.tar.gz"
diff --git a/srcpkgs/activityrelay/template b/srcpkgs/activityrelay/template
index 12fec9fd2977db..fac56f895c1d64 100644
--- a/srcpkgs/activityrelay/template
+++ b/srcpkgs/activityrelay/template
@@ -1,7 +1,7 @@
 # Template file for 'activityrelay'
 pkgname=activityrelay
 version=0.2.4
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-aiohttp python3-aputils python3-cachetools python3-click
diff --git a/srcpkgs/afew/template b/srcpkgs/afew/template
index 49ceb4a9734dfd..c3bf26e3609061 100644
--- a/srcpkgs/afew/template
+++ b/srcpkgs/afew/template
@@ -1,7 +1,7 @@
 # Template file for 'afew'
 pkgname=afew
 version=3.0.1
-revision=7
+revision=6
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm python3-Sphinx pkg-config"
 depends="notmuch-python3 python3-dkimpy python3-chardet notmuch"
diff --git a/srcpkgs/afl++/template b/srcpkgs/afl++/template
index 0287ebcdae0919..c92bd1bd7682c5 100644
--- a/srcpkgs/afl++/template
+++ b/srcpkgs/afl++/template
@@ -1,7 +1,7 @@
 # Template file for 'afl++'
 pkgname=afl++
 version=4.21c
-revision=3
+revision=2
 archs="i686* x86_64* aarch64*"
 build_helper="qemu"
 build_style=gnu-makefile
diff --git a/srcpkgs/aircrack-ng/template b/srcpkgs/aircrack-ng/template
index a440b9af54a547..e9910100c99037 100644
--- a/srcpkgs/aircrack-ng/template
+++ b/srcpkgs/aircrack-ng/template
@@ -1,7 +1,7 @@
 # Template file for 'aircrack-ng'
 pkgname=aircrack-ng
 version=1.7
-revision=5
+revision=4
 build_style=gnu-configure
 hostmakedepends="automake ethtool libtool pkg-config python3 python3-setuptools"
 makedepends="libhwloc-devel libnl3-devel libpcap-devel libpciaccess-devel
diff --git a/srcpkgs/alienfx/template b/srcpkgs/alienfx/template
index 39580df96caaad..9ccf0708842ee6 100644
--- a/srcpkgs/alienfx/template
+++ b/srcpkgs/alienfx/template
@@ -1,7 +1,7 @@
 # Template file for 'alienfx'
 pkgname=alienfx
 version=2.4.3
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-usb python3-cairo python3-gobject python3-setuptools
diff --git a/srcpkgs/alot/template b/srcpkgs/alot/template
index 4fccd6bd99a116..1eb596387e3260 100644
--- a/srcpkgs/alot/template
+++ b/srcpkgs/alot/template
@@ -1,7 +1,7 @@
 # Template file for 'alot'
 pkgname=alot
 version=0.10
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Sphinx python3-notmuch2 python3-cffi"
 depends="python3-setuptools python3-Twisted python3-notmuch2 python3-configobj
diff --git a/srcpkgs/android-studio/template b/srcpkgs/android-studio/template
index 6c7b825cf3b706..016a8f241c3f5c 100644
--- a/srcpkgs/android-studio/template
+++ b/srcpkgs/android-studio/template
@@ -1,10 +1,9 @@
 # Template file for 'android-studio'
 pkgname=android-studio
 version=2024.2.1.9
-revision=2
+revision=1
 archs="x86_64"
 hostmakedepends="tar"
-depends="libbsd"
 short_desc="Official Android IDE"
 maintainer="Bnyro <bnyro@tutanota.com>"
 license="Apache-2.0"
diff --git a/srcpkgs/angrysearch/template b/srcpkgs/angrysearch/template
index b7e4f84348070e..149ba8580e2e2f 100644
--- a/srcpkgs/angrysearch/template
+++ b/srcpkgs/angrysearch/template
@@ -1,7 +1,7 @@
 # Template file for 'angrysearch'
 pkgname=angrysearch
 version=1.0.3
-revision=3
+revision=2
 pycompile_dirs="usr/share/angrysearch"
 hostmakedepends="python3"
 depends="python3-PyQt5 xdg-utils"
diff --git a/srcpkgs/ansible-core/template b/srcpkgs/ansible-core/template
index ea81c7a11a2c2c..90390483d86687 100644
--- a/srcpkgs/ansible-core/template
+++ b/srcpkgs/ansible-core/template
@@ -1,7 +1,7 @@
 # Template file for 'ansible-core'
 pkgname=ansible-core
 version=2.17.5
-revision=2
+revision=1
 hostmakedepends="python3-setuptools python3-wheel python3-packaging
  python3-straight.plugin python3-docutils python3-Jinja2 python3-yaml"
 depends="python3-cryptography python3-Jinja2 python3-paramiko python3-yaml
diff --git a/srcpkgs/ansible/template b/srcpkgs/ansible/template
index 274f21e513245f..0972275964ed5e 100644
--- a/srcpkgs/ansible/template
+++ b/srcpkgs/ansible/template
@@ -1,7 +1,7 @@
 # Template file for 'ansible'
 pkgname=ansible
 version=10.5.0
-revision=2
+revision=1
 build_style="python3-pep517"
 hostmakedepends="python3-setuptools python3-wheel"
 depends="ansible-core"
diff --git a/srcpkgs/apostrophe/template b/srcpkgs/apostrophe/template
index 053369a755a509..acd19ae1a7572f 100644
--- a/srcpkgs/apostrophe/template
+++ b/srcpkgs/apostrophe/template
@@ -1,12 +1,11 @@
 # Template file for 'apostrophe'
 pkgname=apostrophe
 version=2.6.3
-revision=5
+revision=4
 build_style=meson
 build_helper=gir
 hostmakedepends="python3 glib-devel appstream-glib pkg-config gettext sassc"
-# FIXME: libgladeui3 added only to resolve ordering for Python rebuilds
-makedepends="libglib-devel gtk+3-devel libhandy1-devel libgladeui3"
+makedepends="libglib-devel gtk+3-devel libhandy1-devel"
 depends="python3-gobject python3-chardet python3-setuptools python3-pypandoc
  gspell iso-codes libhandy1 libwebkit2gtk41"
 short_desc="GTK based distraction free Markdown editor"
diff --git a/srcpkgs/apparmor/template b/srcpkgs/apparmor/template
index 4da6d6a59f866c..51afdea88b2356 100644
--- a/srcpkgs/apparmor/template
+++ b/srcpkgs/apparmor/template
@@ -2,7 +2,7 @@
 pkgname=apparmor
 reverts="4.0.2_1"
 version=3.1.7
-revision=4
+revision=3
 build_wrksrc=libraries/libapparmor
 build_style=gnu-configure
 conf_files="/etc/apparmor.d/local/* /etc/apparmor/*"
diff --git a/srcpkgs/arandr/template b/srcpkgs/arandr/template
index 899a16b047c937..dec79ddade2f6c 100644
--- a/srcpkgs/arandr/template
+++ b/srcpkgs/arandr/template
@@ -1,7 +1,7 @@
 # Template file for 'arandr'
 pkgname=arandr
 version=0.1.11
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="gettext python3-setuptools python3-docutils"
 depends="python3-gobject gtk+3 xrandr"
diff --git a/srcpkgs/asciidoc/template b/srcpkgs/asciidoc/template
index b1b95fe05a6943..8a9b94778e607c 100644
--- a/srcpkgs/asciidoc/template
+++ b/srcpkgs/asciidoc/template
@@ -1,7 +1,7 @@
 # Template file for 'asciidoc'
 pkgname=asciidoc
 version=10.2.0
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="docbook-xsl libxslt python3-setuptools"
 depends="docbook-xsl libxslt python3"
diff --git a/srcpkgs/asciinema/template b/srcpkgs/asciinema/template
index 8b70c8a55186a1..1797b49d419687 100644
--- a/srcpkgs/asciinema/template
+++ b/srcpkgs/asciinema/template
@@ -1,7 +1,7 @@
 # Template file for 'asciinema'
 pkgname=asciinema
 version=2.4.0
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-wheel"
 depends="python3"
diff --git a/srcpkgs/ast-grep/template b/srcpkgs/ast-grep/template
index a8892d13ea1151..b5928b55e3ce92 100644
--- a/srcpkgs/ast-grep/template
+++ b/srcpkgs/ast-grep/template
@@ -1,6 +1,6 @@
 # Template file for 'ast-grep'
 pkgname=ast-grep
-version=0.31.0
+version=0.30.0
 revision=1
 build_style=cargo
 make_check_args="-- --skip=test_unmatching_id skip=test_merge_with_globs"
@@ -10,7 +10,7 @@ license="MIT"
 homepage="https://ast-grep.github.io"
 changelog="https://raw.githubusercontent.com/ast-grep/ast-grep/main/CHANGELOG.md"
 distfiles="https://static.crates.io/crates/ast-grep/ast-grep-${version}.crate"
-checksum=3f3bc70c0b82e1712de70725c642b528f0b1544ea7a1ade610826e0659a85816
+checksum=ebbd6bac25f4cbb262a6dff3783f43131091c47ad5a00541e0afddd2197f10ce
 
 do_install() {
 	vbin target/${RUST_TARGET}/release/ast-grep
diff --git a/srcpkgs/attic/template b/srcpkgs/attic/template
index dcb3cfd0ca9598..e7645d6f155c7a 100644
--- a/srcpkgs/attic/template
+++ b/srcpkgs/attic/template
@@ -1,7 +1,7 @@
 # Template file for 'attic'
 pkgname=attic
 version=0.16
-revision=25
+revision=24
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython python3-Sphinx python3-pytz"
 makedepends="python3-devel openssl-devel acl-devel"
diff --git a/srcpkgs/audit/template b/srcpkgs/audit/template
index 3f6c65a84f8fa5..c57cdd0812dfc1 100644
--- a/srcpkgs/audit/template
+++ b/srcpkgs/audit/template
@@ -1,7 +1,7 @@
 # Template file for 'audit'
 pkgname=audit
 version=3.1.4
-revision=3
+revision=2
 build_style=gnu-configure
 configure_args="--libdir=/usr/lib --enable-shared=audit --enable-gssapi-krb5
  --with-apparmor --with-libcap-ng --with-python3"
diff --git a/srcpkgs/autopep8/template b/srcpkgs/autopep8/template
index d49a262c36edfa..e98017abd8f0bd 100644
--- a/srcpkgs/autopep8/template
+++ b/srcpkgs/autopep8/template
@@ -1,7 +1,7 @@
 # Template file for 'autopep8'
 pkgname=autopep8
 version=2.3.1
-revision=2
+revision=1
 build_style=python3-pep517
 # fails in CI due to readonly check
 make_check_args="-k not(io_error)"
diff --git a/srcpkgs/autorandr/template b/srcpkgs/autorandr/template
index 46aa5398a15da9..e35e6ce69d156a 100644
--- a/srcpkgs/autorandr/template
+++ b/srcpkgs/autorandr/template
@@ -1,7 +1,7 @@
 # Template file for 'autorandr'
 pkgname=autorandr
 version=1.15
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools pkg-config desktop-file-utils"
 depends="python3-setuptools xrandr"
diff --git a/srcpkgs/autotiling/template b/srcpkgs/autotiling/template
index 88cedeaa2cbd79..198d01849a18c2 100644
--- a/srcpkgs/autotiling/template
+++ b/srcpkgs/autotiling/template
@@ -1,7 +1,7 @@
 # Template file for 'autotiling'
 pkgname=autotiling
 version=1.9.3
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-wheel"
 depends="python3-i3ipc"
diff --git a/srcpkgs/avahi-discover/template b/srcpkgs/avahi-discover/template
index 767332ec8ebaab..769296f689a88e 100644
--- a/srcpkgs/avahi-discover/template
+++ b/srcpkgs/avahi-discover/template
@@ -5,7 +5,7 @@
 #
 pkgname=avahi-discover
 version=0.8
-revision=8
+revision=7
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-qt3 --disable-qt4 --disable-mono --disable-monodoc
@@ -53,19 +53,6 @@ pre_configure() {
 	autoreconf -fi
 }
 
-pre_build() {
-	[ -n "${CROSS_BUILD}" ] || return 0
-
-	# TODO: fix this hack!
-	#
-	# GIR_EXTRA_LIBS_PATH in g-ir-scanner-qemuwrapper is not being honored,
-	# and the linker cannot find libavahi-glib.so.1 when scanning. Linking
-	# the missing library alongside the scanner targets is sufficient.
-	local d=avahi-gobject/.libs
-	mkdir -p "${d}"
-	ln -Tsf "../../avahi-glib/.libs/libavahi-glib.so.1" "${d}/libavahi-glib.so.1"
-}
-
 do_install() {
 	mkdir -p ${wrksrc}/tmpinstall/usr/lib
 	ln -s lib ${wrksrc}/tmpinstall/usr/lib${XBPS_TARGET_WORDSIZE}
diff --git a/srcpkgs/avideo/template b/srcpkgs/avideo/template
index d229094ce0e2d4..5e098845dcf65e 100644
--- a/srcpkgs/avideo/template
+++ b/srcpkgs/avideo/template
@@ -1,7 +1,7 @@
 # Template file for 'avideo'
 pkgname=avideo
 version=2017.9.27
-revision=10
+revision=9
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
diff --git a/srcpkgs/avr-gdb/patches/constness.patch b/srcpkgs/avr-gdb/patches/constness.patch
new file mode 100644
index 00000000000000..cc7fe451e46178
--- /dev/null
+++ b/srcpkgs/avr-gdb/patches/constness.patch
@@ -0,0 +1,11 @@
+--- ./gdb/completer.c.orig	2023-09-29 16:16:06.344069450 -0400
++++ ./gdb/completer.c	2023-09-29 16:16:21.522162391 -0400
+@@ -2011,7 +2011,7 @@
+       rl_basic_quote_characters = NULL;
+     }
+ 
+-  return rl_completer_word_break_characters;
++  return (char *)rl_completer_word_break_characters;
+ }
+ 
+ char *
diff --git a/srcpkgs/avr-gdb/template b/srcpkgs/avr-gdb/template
index 3bfd5e27422116..43799838c10e84 100644
--- a/srcpkgs/avr-gdb/template
+++ b/srcpkgs/avr-gdb/template
@@ -1,14 +1,14 @@
 # Template file for 'avr-gdb'
 pkgname=avr-gdb
-version=15.2
-revision=1
+version=12.1
+revision=2
 build_style=gnu-configure
 configure_args="--target=avr --disable-werror --disable-nls --with-system-readline
  --with-system-gdbinit=/etc/gdb/gdbinit --with-system-zlib
  $(vopt_with guile) $(vopt_if python --with-python=/usr/bin/python3)"
 hostmakedepends="pkg-config texinfo $(vopt_if guile guile)
  $(vopt_if python "python3-setuptools python3-devel")"
-makedepends="expat-devel ncurses-devel readline-devel zlib-devel gmp-devel mpfr-devel
+makedepends="expat-devel ncurses-devel readline-devel zlib-devel gmp-devel
  $(vopt_if guile guile-devel) $(vopt_if python 'gettext-devel python3-devel')"
 depends="gdb-common"
 short_desc="GNU Debugger for AVR"
@@ -16,7 +16,7 @@ maintainer="Artur Sinila <opensource@logarithmus.dev>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/gdb"
 distfiles="${GNU_SITE}/gdb/gdb-${version}.tar.xz"
-checksum=83350ccd35b5b5a0cba6b334c41294ea968158c573940904f00b92f76345314d
+checksum=0e1793bf8f2b54d53f46dea84ccfd446f48f81b297b28c4f7fc017b818d69fed
 make_check=no  # See gdb/template.
 replaces="cross-avr-gdb>=0"
 
diff --git a/srcpkgs/aws-cli/template b/srcpkgs/aws-cli/template
index 1bfdf13c59c2c0..894be2668d72a2 100644
--- a/srcpkgs/aws-cli/template
+++ b/srcpkgs/aws-cli/template
@@ -1,7 +1,7 @@
 # Template file for 'aws-cli'
 pkgname=aws-cli
 version=1.22.88
-revision=4
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="groff python3-botocore python3-s3transfer python3-colorama
diff --git a/srcpkgs/awsume/template b/srcpkgs/awsume/template
index aa8ef36b01d0fd..7c2e7cbf13b4d4 100644
--- a/srcpkgs/awsume/template
+++ b/srcpkgs/awsume/template
@@ -1,7 +1,7 @@
 # Template file for 'awsume'
 pkgname=awsume
 version=4.5.5
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3 python3-setuptools"
 makedepends="python3-boto3 python3-botocore python3-colorama python3-pluggy python3-psutil python3-xmltodict python3-yaml python3-dateutil"
diff --git a/srcpkgs/azote/template b/srcpkgs/azote/template
index 1ce31a207931d4..ee359faeeb3587 100644
--- a/srcpkgs/azote/template
+++ b/srcpkgs/azote/template
@@ -1,7 +1,7 @@
 # Template file for 'azote'
 pkgname=azote
 version=1.13.1
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="gtk+3 libayatana-appindicator python3 python3-cairo python3-gobject
diff --git a/srcpkgs/bCNC/template b/srcpkgs/bCNC/template
index 2d91cc04a6dadd..1704de365a7c96 100644
--- a/srcpkgs/bCNC/template
+++ b/srcpkgs/bCNC/template
@@ -1,7 +1,7 @@
 # Template file for 'bCNC'
 pkgname=bCNC
 version=0.9.15
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-pyserial python3-Pillow python3-tkinter python3-numpy python3-scipy
diff --git a/srcpkgs/backblaze-b2/template b/srcpkgs/backblaze-b2/template
index e9ad155f20698c..be0b87b5502834 100644
--- a/srcpkgs/backblaze-b2/template
+++ b/srcpkgs/backblaze-b2/template
@@ -1,7 +1,7 @@
 # Template file for 'backblaze-b2'
 pkgname=backblaze-b2
 version=4.2.0
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3 python3-build python3-packaging python3-pdm-backend python3-pip python3-setuptools_scm python3-wheel"
 depends="python3-Arrow python3-b2sdk python3-docutils
diff --git a/srcpkgs/backintime/template b/srcpkgs/backintime/template
index e38ae43fde91f9..a502c09f64d596 100644
--- a/srcpkgs/backintime/template
+++ b/srcpkgs/backintime/template
@@ -1,7 +1,7 @@
 # Template file for 'backintime'
 pkgname=backintime
 version=1.5.3
-revision=2
+revision=1
 configure_args="--python3"
 pycompile_dirs="/usr/share/backintime"
 hostmakedepends="gettext python3"
diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index f163113f8cd138..0ea88bbe23ba6f 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -1,14 +1,14 @@
 # Template file for 'bcc'
 pkgname=bcc
 version=0.32.0
-revision=2
+revision=1
 _llvmver=19
 build_style=cmake
 configure_args="-DREVISION=${version} -DENABLE_LLVM_SHARED=1
  -DCMAKE_PREFIX_PATH=${XBPS_CROSS_BASE}/usr/lib/llvm/${_llvmver}"
 hostmakedepends="flex python3-setuptools"
-makedepends="clang${_llvmver} clang-tools-extra${_llvmver} elfutils-devel flex
- lld${_llvmver}-devel llvm${_llvmver}-devel ncurses-devel python3-devel zlib-devel"
+makedepends="clang${_llvmver} clang-tools-extra${_llvmver} elfutils-devel flex lld${_llvmver}-devel llvm${_llvmver}-devel
+ ncurses-devel python3-devel zlib-devel"
 short_desc="BPF-based Linux IO analysis, networking, monitoring, and more"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Apache-2.0"
diff --git a/srcpkgs/beancount/template b/srcpkgs/beancount/template
index 354485b68ec606..dc665645d9b157 100644
--- a/srcpkgs/beancount/template
+++ b/srcpkgs/beancount/template
@@ -1,7 +1,7 @@
 # Template file for 'beancount'
 pkgname=beancount
 version=2.3.6
-revision=4
+revision=3
 build_style=python3-module
 make_check_args="--pyargs beancount --ignore beancount/web/web_test.py
  --deselect beancount/scripts/bake_test.py::TestScriptBake::test_bake_directory
diff --git a/srcpkgs/beets/template b/srcpkgs/beets/template
index f45ef6487d9051..ffac0e9ddac4db 100644
--- a/srcpkgs/beets/template
+++ b/srcpkgs/beets/template
@@ -1,7 +1,7 @@
 # Template file for 'beets'
 pkgname=beets
 version=2.0.0
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-munkres python3-musicbrainzngs python3-Unidecode python3-yaml
diff --git a/srcpkgs/binwalk/template b/srcpkgs/binwalk/template
index 391fdf2dd9fee6..f4e69b040075b2 100644
--- a/srcpkgs/binwalk/template
+++ b/srcpkgs/binwalk/template
@@ -1,7 +1,7 @@
 # Template file for 'binwalk'
 pkgname=binwalk
 version=2.4.3
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3 tar"
diff --git a/srcpkgs/black/template b/srcpkgs/black/template
index d62a33c8d7f45f..f88493bbc9abe5 100644
--- a/srcpkgs/black/template
+++ b/srcpkgs/black/template
@@ -1,7 +1,7 @@
 # Template file for 'black'
 pkgname=black
 version=24.10.0
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling hatch-vcs hatch-fancy-pypi-readme"
 depends="python3-click python3-platformdirs python3-pathspec python3-packaging
diff --git a/srcpkgs/blender/patches/0001-musl-fixes.patch b/srcpkgs/blender/patches/0001-musl-fixes.patch
index 847f369cb304bb..a32821172cba34 100644
--- a/srcpkgs/blender/patches/0001-musl-fixes.patch
+++ b/srcpkgs/blender/patches/0001-musl-fixes.patch
@@ -1,4 +1,7 @@
-From 8ad26a05598810b9d64722ac48507c145b010e30 Mon Sep 17 00:00:00 2001
+Imported from https://gitlab.alpinelinux.org/alpine/aports/-/raw/47a715de12d0f9ea19dc8b27c417553f5b1b7a39/community/blender/0001-musl-fixes.patch
+adapted to not use __MUSL__ definition
+
+From aae3146f16bfeea88a83a2997196a69ff97a2e4c Mon Sep 17 00:00:00 2001
 From: Leon Marz <main@lmarz.org>
 Date: Wed, 7 Dec 2022 21:18:58 +0100
 Subject: [PATCH 1/2] musl fixes
@@ -7,18 +10,15 @@ Subject: [PATCH 1/2] musl fixes
  extern/glog/src/config_linux.h | 1 -
  1 file changed, 1 deletion(-)
 
-diff --git a/extern/glog/src/config_linux.h b/extern/glog/src/config_linux.h
-index b3a3325..946095a 100644
 --- a/extern/glog/src/config_linux.h
 +++ b/extern/glog/src/config_linux.h
-@@ -14,7 +14,6 @@
+@@ -14,7 +14,9 @@
  #define HAVE_DLFCN_H
  
  /* Define to 1 if you have the <execinfo.h> header file. */
--#define HAVE_EXECINFO_H
++#ifdef __GLIBC__
+ #define HAVE_EXECINFO_H
++#endif
  
  /* Define if you have the `fcntl' function */
  #define HAVE_FCNTL
--- 
-2.47.0
-
diff --git a/srcpkgs/blender/patches/0002-fix-includes.patch b/srcpkgs/blender/patches/0002-fix-includes.patch
deleted file mode 100644
index 44809f4f158a9b..00000000000000
--- a/srcpkgs/blender/patches/0002-fix-includes.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From af7161dfb4324002e27abef7c4f7a6151f26c34a Mon Sep 17 00:00:00 2001
-From: Leon Marz <main@lmarz.org>
-Date: Wed, 27 Mar 2024 10:40:01 +0100
-Subject: [PATCH 2/2] fix includes
-
----
- source/blender/blenkernel/BKE_volume_enums.hh | 2 ++
- source/blender/blenlib/BLI_index_range.hh     | 1 +
- 2 files changed, 3 insertions(+)
-
-diff --git a/source/blender/blenkernel/BKE_volume_enums.hh b/source/blender/blenkernel/BKE_volume_enums.hh
-index 3817b52..ebcfa44 100644
---- a/source/blender/blenkernel/BKE_volume_enums.hh
-+++ b/source/blender/blenkernel/BKE_volume_enums.hh
-@@ -8,6 +8,8 @@
-  * \ingroup bli
-  */
- 
-+#include <cstdint>
-+
- enum VolumeGridType : int8_t {
-   VOLUME_GRID_UNKNOWN = 0,
-   VOLUME_GRID_BOOLEAN,
-diff --git a/source/blender/blenlib/BLI_index_range.hh b/source/blender/blenlib/BLI_index_range.hh
-index bd9e030..25e9eb7 100644
---- a/source/blender/blenlib/BLI_index_range.hh
-+++ b/source/blender/blenlib/BLI_index_range.hh
-@@ -38,6 +38,7 @@
-  */
- 
- #include <algorithm>
-+#include <cstdint>
- #include <iosfwd>
- 
- #include "BLI_assert.h"
--- 
-2.47.0
-
diff --git a/srcpkgs/blender/patches/altivec-all.patch b/srcpkgs/blender/patches/altivec-all.patch
new file mode 100644
index 00000000000000..115e1ea6fd033d
--- /dev/null
+++ b/srcpkgs/blender/patches/altivec-all.patch
@@ -0,0 +1,32 @@
+This applies a better workaround for C++ type conflicts
+in AltiVec/C++, allowing it to build on BE ppc(64).
+
+--- a/extern/clew/include/clew.h
++++ b/extern/clew/include/clew.h
+@@ -370,15 +370,18 @@ typedef unsigned int cl_GLenum;
+ 
+ /* Define basic vector types */
+ /* Workaround for ppc64el platform: conflicts with bool from C++. */
+-#if defined( __VEC__ ) && !(defined(__PPC64__) && defined(__LITTLE_ENDIAN__))
++#if defined(__VEC__)
+    #include <altivec.h>   /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */
+-   typedef vector unsigned char     __cl_uchar16;
+-   typedef vector signed char       __cl_char16;
+-   typedef vector unsigned short    __cl_ushort8;
+-   typedef vector signed short      __cl_short8;
+-   typedef vector unsigned int      __cl_uint4;
+-   typedef vector signed int        __cl_int4;
+-   typedef vector float             __cl_float4;
++   #undef vector
++   #undef bool
++   #undef pixel
++   typedef __vector unsigned char     __cl_uchar16;
++   typedef __vector signed char       __cl_char16;
++   typedef __vector unsigned short    __cl_ushort8;
++   typedef __vector signed short      __cl_short8;
++   typedef __vector unsigned int      __cl_uint4;
++   typedef __vector signed int        __cl_int4;
++   typedef __vector float             __cl_float4;
+    #define  __CL_UCHAR16__  1
+    #define  __CL_CHAR16__   1
+    #define  __CL_USHORT8__  1
diff --git a/srcpkgs/blender/patches/python-3.12-regex.patch b/srcpkgs/blender/patches/python-3.12-regex.patch
new file mode 100644
index 00000000000000..daba4a859fd157
--- /dev/null
+++ b/srcpkgs/blender/patches/python-3.12-regex.patch
@@ -0,0 +1,36 @@
+--- a/scripts/addons/io_import_dxf/dxfgrabber/dxfentities.py
++++ b/scripts/addons/io_import_dxf/dxfgrabber/dxfentities.py
+@@ -852,7 +852,7 @@ class MText(DXFEntity):
+         self.set_default_extrusion()
+ 
+     def lines(self):
+-        return self.raw_text.split('\P')
++        return self.raw_text.split(r'\P')
+ 
+     def plain_text(self, split=False):
+         chars = []
+--- a/scripts/addons/io_scene_gltf2/io/exp/gltf2_io_image_data.py
++++ b/scripts/addons/io_scene_gltf2/io/exp/gltf2_io_image_data.py
+@@ -22,9 +22,9 @@ class ImageData:
+         return hash(self._data)
+ 
+     def adjusted_name(self):
+-        regex_dot = re.compile("\.")
++        regex_dot = re.compile(r"\.")
+         adjusted_name = re.sub(regex_dot, "_", self.name)
+-        new_name = "".join([char for char in adjusted_name if char not in "!#$&'()*+,/:;<>?@[\]^`{|}~"])
++        new_name = "".join([char for char in adjusted_name if char not in r"!#$&'()*+,/:;<>?@[\]^`{|}~"])
+         return new_name
+ 
+     @property
+--- a/scripts/modules/bl_i18n_utils/settings.py
++++ b/scripts/modules/bl_i18n_utils/settings.py
+@@ -302,7 +302,7 @@ PYGETTEXT_KEYWORDS = (() +
+     # becomes extremely slow to process some (unrelated) source files.
+     ((r"\{(?:(?:\s*\"[^\",]+\"\s*,)|(?:\s*\"\\\"\",)|(?:\s*nullptr\s*,)){4}\s*" +
+       _msg_re + r"\s*,(?:(?:\s*\"[^\"',]+\"\s*,)|(?:\s*nullptr\s*,))(?:[^,]+,){2}"
+-      + "(?:\|?\s*B_UNIT_DEF_[_A-Z]+\s*)+\}"),) +
++      + r"(?:\|?\s*B_UNIT_DEF_[_A-Z]+\s*)+\}"),) +
+ 
+     tuple((r"{}\(\s*" + _msg_re + r"\s*,\s*(?:" +
+            r"\s*,\s*)?(?:".join(_ctxt_re_gen(i) for i in range(PYGETTEXT_MAX_MULTI_CTXT)) + r")?\s*\)").format(it)
diff --git a/srcpkgs/blender/patches/python-3.13.patch b/srcpkgs/blender/patches/python-3.13.patch
deleted file mode 100644
index 0dd6f4b95b4d84..00000000000000
--- a/srcpkgs/blender/patches/python-3.13.patch
+++ /dev/null
@@ -1,626 +0,0 @@
-From d9f38fca5ffe29136cd6f390e318ad8455864582 Mon Sep 17 00:00:00 2001
-From: Campbell Barton <campbell@blender.org>
-Date: Fri, 18 Oct 2024 12:23:34 +1100
-Subject: [PATCH] PyAPI: support Python 3.13
-
-- `_PySet_NextEntry` has been removed, use generic iterator access
-  which will has some additional overhead as it needs to create
-  an iterator to access the values.
-
-- Add v3.13 compatibility defines to account for renaming:
-  _PyObject_LookupAttr -> PyObject_GetOptionalAttr
-  _PyLong_AsInt -> PyLong_AsInt
-
-- Unfortunately use of Python's internal API needs to be used to
-  inspect op-codes in `bpy_driver.cc`.
-
-Testing GLTF/FBX IO there isn't any significant performance impact
-from these changes.
-
-Resolves #123871.
----
- .../blender/python/bmesh/bmesh_py_ops_call.cc |  16 +-
- source/blender/python/generic/py_capi_rna.cc  | 140 ++++++++++--------
- .../blender/python/generic/py_capi_utils.cc   |  56 ++++---
- .../blender/python/generic/py_capi_utils.hh   |   4 +
- .../blender/python/generic/python_compat.hh   |  10 +-
- .../blender/python/gpu/gpu_py_framebuffer.cc  |   6 +-
- source/blender/python/intern/bpy.cc           |  48 +++---
- source/blender/python/intern/bpy_driver.cc    |  37 ++++-
- .../python/intern/bpy_library_write.cc        |  27 ++--
- source/blender/python/intern/bpy_rna.cc       |   6 +-
- 10 files changed, 218 insertions(+), 132 deletions(-)
-
-diff --git a/source/blender/python/bmesh/bmesh_py_ops_call.cc b/source/blender/python/bmesh/bmesh_py_ops_call.cc
-index d5a2e6b02ad..624e4d02e98 100644
---- a/source/blender/python/bmesh/bmesh_py_ops_call.cc
-+++ b/source/blender/python/bmesh/bmesh_py_ops_call.cc
-@@ -548,11 +548,12 @@ static int bpy_slot_from_py(BMesh *bm,
-           break;
-         }
-         case BMO_OP_SLOT_SUBTYPE_MAP_EMPTY: {
--          if (PySet_Size(value) > 0) {
-+          if (PySet_GET_SIZE(value) > 0) {
-+            PyObject *it = PyObject_GetIter(value);
-             PyObject *arg_key;
--            Py_ssize_t arg_pos = 0;
--            Py_ssize_t arg_hash = 0;
--            while (_PySet_NextEntry(value, &arg_pos, &arg_key, &arg_hash)) {
-+            while ((arg_key = PyIter_Next(it))) {
-+              /* Borrow from the set. */
-+              Py_DECREF(arg_key);
- 
-               if (bpy_slot_from_py_elem_check((BPy_BMElem *)arg_key,
-                                               bm,
-@@ -561,11 +562,16 @@ static int bpy_slot_from_py(BMesh *bm,
-                                               slot_name,
-                                               "invalid key in set") == -1)
-               {
--                return -1; /* error is set in bpy_slot_from_py_elem_check() */
-+                /* Error is set in #bpy_slot_from_py_elem_check(). */
-+                break;
-               }
- 
-               BMO_slot_map_empty_insert(bmop, slot, ((BPy_BMElem *)arg_key)->ele);
-             }
-+            Py_DECREF(it);
-+            if (arg_key) {
-+              return -1;
-+            }
-           }
-           break;
-         }
-diff --git a/source/blender/python/generic/py_capi_rna.cc b/source/blender/python/generic/py_capi_rna.cc
-index 11827fa0836..a41e474f619 100644
---- a/source/blender/python/generic/py_capi_rna.cc
-+++ b/source/blender/python/generic/py_capi_rna.cc
-@@ -75,60 +75,66 @@ BLI_bitmap *pyrna_enum_bitmap_from_set(const EnumPropertyItem *items,
-                                        int bitmap_size,
-                                        const char *error_prefix)
- {
--  /* Set looping. */
--  Py_ssize_t pos = 0;
--  Py_ssize_t hash = 0;
--  PyObject *key;
--
-+  BLI_assert(PySet_Check(value));
-   BLI_bitmap *bitmap = BLI_BITMAP_NEW(bitmap_size, __func__);
- 
--  while (_PySet_NextEntry(value, &pos, &key, &hash)) {
--    const char *param = PyUnicode_AsUTF8(key);
--    if (param == nullptr) {
--      PyErr_Format(PyExc_TypeError,
--                   "%.200s expected a string, not %.200s",
--                   error_prefix,
--                   Py_TYPE(key)->tp_name);
--      goto error;
--    }
-+  if (PySet_GET_SIZE(value) > 0) {
-+    /* Set looping. */
-+    PyObject *it = PyObject_GetIter(value);
-+    PyObject *key;
-+    while ((key = PyIter_Next(it))) {
-+      /* Borrow from the set. */
-+      Py_DECREF(key);
- 
--    int ret;
--    if (pyrna_enum_value_from_id(items, param, &ret, error_prefix) == -1) {
--      goto error;
--    }
-+      const char *param = PyUnicode_AsUTF8(key);
-+      if (param == nullptr) {
-+        PyErr_Format(PyExc_TypeError,
-+                     "%.200s expected a string, not %.200s",
-+                     error_prefix,
-+                     Py_TYPE(key)->tp_name);
-+        break;
-+      }
- 
--    int index = ret;
-+      int ret;
-+      if (pyrna_enum_value_from_id(items, param, &ret, error_prefix) == -1) {
-+        break;
-+      }
- 
--    if (type_convert_sign) {
--      if (type_size == 2) {
--        union {
--          signed short as_signed;
--          ushort as_unsigned;
--        } ret_convert;
--        ret_convert.as_signed = (signed short)ret;
--        index = int(ret_convert.as_unsigned);
--      }
--      else if (type_size == 1) {
--        union {
--          signed char as_signed;
--          uchar as_unsigned;
--        } ret_convert;
--        ret_convert.as_signed = (signed char)ret;
--        index = int(ret_convert.as_unsigned);
--      }
--      else {
--        BLI_assert_unreachable();
-+      int index = ret;
-+
-+      if (type_convert_sign) {
-+        if (type_size == 2) {
-+          union {
-+            signed short as_signed;
-+            ushort as_unsigned;
-+          } ret_convert;
-+          ret_convert.as_signed = (signed short)ret;
-+          index = int(ret_convert.as_unsigned);
-+        }
-+        else if (type_size == 1) {
-+          union {
-+            signed char as_signed;
-+            uchar as_unsigned;
-+          } ret_convert;
-+          ret_convert.as_signed = (signed char)ret;
-+          index = int(ret_convert.as_unsigned);
-+        }
-+        else {
-+          BLI_assert_unreachable();
-+        }
-       }
-+      BLI_assert(index < bitmap_size);
-+      BLI_BITMAP_ENABLE(bitmap, index);
-+    }
-+    Py_DECREF(it);
-+
-+    if (key) {
-+      MEM_freeN(bitmap);
-+      bitmap = nullptr;
-     }
--    BLI_assert(index < bitmap_size);
--    BLI_BITMAP_ENABLE(bitmap, index);
-   }
- 
-   return bitmap;
--
--error:
--  MEM_freeN(bitmap);
--  return nullptr;
- }
- 
- int pyrna_enum_bitfield_from_set(const EnumPropertyItem *items,
-@@ -136,32 +142,40 @@ int pyrna_enum_bitfield_from_set(const EnumPropertyItem *items,
-                                  int *r_value,
-                                  const char *error_prefix)
- {
-+  BLI_assert(PySet_Check(value));
-   /* Set of enum items, concatenate all values with OR. */
--  int ret, flag = 0;
--
--  /* Set looping. */
--  Py_ssize_t pos = 0;
--  Py_ssize_t hash = 0;
--  PyObject *key;
-+  int flag = 0;
- 
-   *r_value = 0;
- 
--  while (_PySet_NextEntry(value, &pos, &key, &hash)) {
--    const char *param = PyUnicode_AsUTF8(key);
-+  PyObject *key = nullptr;
-+  if (PySet_GET_SIZE(value) > 0) {
-+    /* Set looping. */
-+    PyObject *it = PyObject_GetIter(value);
-+    while ((key = PyIter_Next(it))) {
-+      /* Borrow from the set. */
-+      Py_DECREF(key);
- 
--    if (param == nullptr) {
--      PyErr_Format(PyExc_TypeError,
--                   "%.200s expected a string, not %.200s",
--                   error_prefix,
--                   Py_TYPE(key)->tp_name);
-+      const char *param = PyUnicode_AsUTF8(key);
-+      if (param == nullptr) {
-+        PyErr_Format(PyExc_TypeError,
-+                     "%.200s expected a string, not %.200s",
-+                     error_prefix,
-+                     Py_TYPE(key)->tp_name);
-+        break;
-+      }
-+
-+      int ret;
-+      if (pyrna_enum_value_from_id(items, param, &ret, error_prefix) == -1) {
-+        break;
-+      }
-+
-+      flag |= ret;
-+    }
-+    Py_DECREF(it);
-+    if (key) {
-       return -1;
-     }
--
--    if (pyrna_enum_value_from_id(items, param, &ret, error_prefix) == -1) {
--      return -1;
--    }
--
--    flag |= ret;
-   }
- 
-   *r_value = flag;
-diff --git a/source/blender/python/generic/py_capi_utils.cc b/source/blender/python/generic/py_capi_utils.cc
-index 3311064e7c5..74c829d717e 100644
---- a/source/blender/python/generic/py_capi_utils.cc
-+++ b/source/blender/python/generic/py_capi_utils.cc
-@@ -39,6 +39,11 @@
- #  include "BLI_math_base.h" /* isfinite() */
- #endif
- 
-+#if PY_VERSION_HEX <= 0x030c0000 /* <=3.12 */
-+#  define PyLong_AsInt _PyLong_AsInt
-+#  define PyUnicode_CompareWithASCIIString _PyUnicode_EqualToASCIIString
-+#endif
-+
- /* -------------------------------------------------------------------- */
- /** \name Fast Python to C Array Conversion for Primitive Types
-  * \{ */
-@@ -874,10 +879,12 @@ static void pyc_exception_buffer_handle_system_exit()
-   if (!PyErr_ExceptionMatches(PyExc_SystemExit)) {
-     return;
-   }
--  /* Inspecting, follow Python's logic in #_Py_HandleSystemExit & treat as a regular exception. */
-+/* Inspecting, follow Python's logic in #_Py_HandleSystemExit & treat as a regular exception. */
-+#  if 0 /* FIXME: */
-   if (_Py_GetConfig()->inspect) {
-     return;
-   }
-+#  endif
- 
-   /* NOTE(@ideasman42): A `SystemExit` exception will exit immediately (unless inspecting).
-    * So print the error and exit now. Without this #PyErr_Display shows the error stack-trace
-@@ -1424,11 +1431,6 @@ int PyC_FlagSet_ToBitfield(const PyC_FlagSet *items,
-   /* set of enum items, concatenate all values with OR */
-   int ret, flag = 0;
- 
--  /* set looping */
--  Py_ssize_t pos = 0;
--  Py_ssize_t hash = 0;
--  PyObject *key;
--
-   if (!PySet_Check(value)) {
-     PyErr_Format(PyExc_TypeError,
-                  "%.200s expected a set, not %.200s",
-@@ -1439,22 +1441,32 @@ int PyC_FlagSet_ToBitfield(const PyC_FlagSet *items,
- 
-   *r_value = 0;
- 
--  while (_PySet_NextEntry(value, &pos, &key, &hash)) {
--    const char *param = PyUnicode_AsUTF8(key);
-+  if (PySet_GET_SIZE(value) > 0) {
-+    PyObject *it = PyObject_GetIter(value);
-+    PyObject *key;
-+    while ((key = PyIter_Next(it))) {
-+      /* Borrow from the set. */
-+      Py_DECREF(key);
- 
--    if (param == nullptr) {
--      PyErr_Format(PyExc_TypeError,
--                   "%.200s set must contain strings, not %.200s",
--                   error_prefix,
--                   Py_TYPE(key)->tp_name);
-+      const char *param = PyUnicode_AsUTF8(key);
-+      if (param == nullptr) {
-+        PyErr_Format(PyExc_TypeError,
-+                     "%.200s set must contain strings, not %.200s",
-+                     error_prefix,
-+                     Py_TYPE(key)->tp_name);
-+        break;
-+      }
-+
-+      if (PyC_FlagSet_ValueFromID(items, param, &ret, error_prefix) < 0) {
-+        break;
-+      }
-+
-+      flag |= ret;
-+    }
-+    Py_DECREF(it);
-+    if (key != nullptr) {
-       return -1;
-     }
--
--    if (PyC_FlagSet_ValueFromID(items, param, &ret, error_prefix) < 0) {
--      return -1;
--    }
--
--    flag |= ret;
-   }
- 
-   *r_value = flag;
-@@ -1724,7 +1736,7 @@ static ulong pyc_Long_AsUnsignedLong(PyObject *value)
- 
- int PyC_Long_AsBool(PyObject *value)
- {
--  const int test = _PyLong_AsInt(value);
-+  const int test = PyLong_AsInt(value);
-   if (UNLIKELY(test == -1 && PyErr_Occurred())) {
-     return -1;
-   }
-@@ -1737,7 +1749,7 @@ int PyC_Long_AsBool(PyObject *value)
- 
- int8_t PyC_Long_AsI8(PyObject *value)
- {
--  const int test = _PyLong_AsInt(value);
-+  const int test = PyLong_AsInt(value);
-   if (UNLIKELY(test == -1 && PyErr_Occurred())) {
-     return -1;
-   }
-@@ -1750,7 +1762,7 @@ int8_t PyC_Long_AsI8(PyObject *value)
- 
- int16_t PyC_Long_AsI16(PyObject *value)
- {
--  const int test = _PyLong_AsInt(value);
-+  const int test = PyLong_AsInt(value);
-   if (UNLIKELY(test == -1 && PyErr_Occurred())) {
-     return -1;
-   }
-diff --git a/source/blender/python/generic/py_capi_utils.hh b/source/blender/python/generic/py_capi_utils.hh
-index 4a641f78471..81740e0d0ad 100644
---- a/source/blender/python/generic/py_capi_utils.hh
-+++ b/source/blender/python/generic/py_capi_utils.hh
-@@ -339,7 +339,11 @@ uint64_t PyC_Long_AsU64(PyObject *value);
- /* inline so type signatures match as expected */
- Py_LOCAL_INLINE(int32_t) PyC_Long_AsI32(PyObject *value)
- {
-+#if PY_VERSION_HEX <= 0x030c0000 /* <=3.12 */
-   return (int32_t)_PyLong_AsInt(value);
-+#else
-+  return (int32_t)PyLong_AsInt(value);
-+#endif
- }
- Py_LOCAL_INLINE(int64_t) PyC_Long_AsI64(PyObject *value)
- {
-diff --git a/source/blender/python/generic/python_compat.hh b/source/blender/python/generic/python_compat.hh
-index f18d0fb59b3..e2799aeeb46 100644
---- a/source/blender/python/generic/python_compat.hh
-+++ b/source/blender/python/generic/python_compat.hh
-@@ -9,9 +9,17 @@
- 
- #pragma once
- 
-+/* Removes `intialized` member from Python 3.13+. */
-+#if PY_VERSION_HEX >= 0x030d0000
-+#  define PY_ARG_PARSER_HEAD_COMPAT()
-+#elif PY_VERSION_HEX >= 0x030c0000
- /* Add `intialized` member for Python 3.12+. */
--#if PY_VERSION_HEX >= 0x030c0000
- #  define PY_ARG_PARSER_HEAD_COMPAT() 0,
- #else
- #  define PY_ARG_PARSER_HEAD_COMPAT()
- #endif
-+
-+/* Python 3.13 made some changes, use the "new" names. */
-+#if PY_VERSION_HEX < 0x030d0000
-+#  define PyObject_GetOptionalAttr _PyObject_LookupAttr
-+#endif
-diff --git a/source/blender/python/gpu/gpu_py_framebuffer.cc b/source/blender/python/gpu/gpu_py_framebuffer.cc
-index 899ad21f770..9bef53654df 100644
---- a/source/blender/python/gpu/gpu_py_framebuffer.cc
-+++ b/source/blender/python/gpu/gpu_py_framebuffer.cc
-@@ -286,14 +286,14 @@ static bool pygpu_framebuffer_new_parse_arg(PyObject *o, GPUAttachment *r_attach
-         return false;
-       }
- 
--      if (c_texture && _PyUnicode_EqualToASCIIString(key, c_texture)) {
-+      if (c_texture && PyUnicode_CompareWithASCIIString(key, c_texture)) {
-         /* Compare only once. */
-         c_texture = nullptr;
-         if (!bpygpu_ParseTexture(value, &tmp_attach.tex)) {
-           return false;
-         }
-       }
--      else if (c_layer && _PyUnicode_EqualToASCIIString(key, c_layer)) {
-+      else if (c_layer && PyUnicode_CompareWithASCIIString(key, c_layer)) {
-         /* Compare only once. */
-         c_layer = nullptr;
-         tmp_attach.layer = PyLong_AsLong(value);
-@@ -301,7 +301,7 @@ static bool pygpu_framebuffer_new_parse_arg(PyObject *o, GPUAttachment *r_attach
-           return false;
-         }
-       }
--      else if (c_mip && _PyUnicode_EqualToASCIIString(key, c_mip)) {
-+      else if (c_mip && PyUnicode_CompareWithASCIIString(key, c_mip)) {
-         /* Compare only once. */
-         c_mip = nullptr;
-         tmp_attach.mip = PyLong_AsLong(value);
-diff --git a/source/blender/python/intern/bpy.cc b/source/blender/python/intern/bpy.cc
-index 7cdd00fc7a3..42ea76e40ac 100644
---- a/source/blender/python/intern/bpy.cc
-+++ b/source/blender/python/intern/bpy.cc
-@@ -610,38 +610,40 @@ PyDoc_STRVAR(
-     "   :rtype: dict\n");
- static PyObject *bpy_wm_capabilities(PyObject *self)
- {
--  static _Py_Identifier PyId_capabilities = {"_wm_capabilities_", -1};
--
-+  PyObject *py_id_capabilities = PyUnicode_FromString("_wm_capabilities_");
-   PyObject *result = nullptr;
--  switch (_PyObject_LookupAttrId(self, &PyId_capabilities, &result)) {
--    case 1:
--      return result;
--    case 0:
--      break;
--    default:
--      /* Unlikely, but there may be an error, forward it. */
--      return nullptr;
--  }
-+  switch (PyObject_GetOptionalAttr(self, py_id_capabilities, &result)) {
-+    case 1: {
-+      result = PyDict_New();
- 
--  result = PyDict_New();
--
--  const eWM_CapabilitiesFlag flag = WM_capabilities_flag();
-+      const eWM_CapabilitiesFlag flag = WM_capabilities_flag();
- 
- #define SetFlagItem(x) \
-   PyDict_SetItemString(result, STRINGIFY(x), PyBool_FromLong((WM_CAPABILITY_##x) & flag));
- 
--  SetFlagItem(CURSOR_WARP);
--  SetFlagItem(WINDOW_POSITION);
--  SetFlagItem(PRIMARY_CLIPBOARD);
--  SetFlagItem(GPU_FRONT_BUFFER_READ);
--  SetFlagItem(CLIPBOARD_IMAGES);
--  SetFlagItem(DESKTOP_SAMPLE);
--  SetFlagItem(INPUT_IME);
--  SetFlagItem(TRACKPAD_PHYSICAL_DIRECTION);
-+      SetFlagItem(CURSOR_WARP);
-+      SetFlagItem(WINDOW_POSITION);
-+      SetFlagItem(PRIMARY_CLIPBOARD);
-+      SetFlagItem(GPU_FRONT_BUFFER_READ);
-+      SetFlagItem(CLIPBOARD_IMAGES);
-+      SetFlagItem(DESKTOP_SAMPLE);
-+      SetFlagItem(INPUT_IME);
-+      SetFlagItem(TRACKPAD_PHYSICAL_DIRECTION);
- 
- #undef SetFlagItem
-+      PyObject_SetAttr(self, py_id_capabilities, result);
-+      break;
-+    }
-+    case 0:
-+      BLI_assert(result != nullptr);
-+      break;
-+    default:
-+      /* Unlikely, but there may be an error, forward it. */
-+      BLI_assert(result == nullptr);
-+      break;
-+  }
- 
--  _PyObject_SetAttrId(self, &PyId_capabilities, result);
-+  Py_DECREF(py_id_capabilities);
-   return result;
- }
- 
-diff --git a/source/blender/python/intern/bpy_driver.cc b/source/blender/python/intern/bpy_driver.cc
-index b32bfbc2a56..e589f0992e1 100644
---- a/source/blender/python/intern/bpy_driver.cc
-+++ b/source/blender/python/intern/bpy_driver.cc
-@@ -43,6 +43,13 @@
- #  include <opcode.h>
- #endif
- 
-+#if PY_VERSION_HEX >= 0x030d0000 /* >=3.13 */
-+/* WARNING(@ideasman42): Using `Py_BUILD_CORE` is a last resort,
-+ * the alternative would be not to inspect OP-CODES at all. */
-+#  define Py_BUILD_CORE
-+#  include <internal/pycore_code.h>
-+#endif
-+
- PyObject *bpy_pydriver_Dict = nullptr;
- 
- #ifdef USE_BYTECODE_WHITELIST
-@@ -375,7 +382,35 @@ static bool is_opcode_secure(const int opcode)
-     OK_OP(LOAD_CONST) /* Ok because constants are accepted. */
-     OK_OP(LOAD_NAME)  /* Ok, because `PyCodeObject.names` is checked. */
-     OK_OP(CALL)       /* Ok, because we check its "name" before calling. */
--    OK_OP(KW_NAMES)   /* Ok, because it's used for calling functions with keyword arguments. */
-+#  if PY_VERSION_HEX >= 0x030d0000
-+    OK_OP(CALL_KW) /* Ok, because it's used for calling functions with keyword arguments. */
-+
-+    OK_OP(CALL_FUNCTION_EX);
-+
-+    /* OK because the names are checked. */
-+    OK_OP(CALL_ALLOC_AND_ENTER_INIT)
-+    OK_OP(CALL_BOUND_METHOD_EXACT_ARGS)
-+    OK_OP(CALL_BOUND_METHOD_GENERAL)
-+    OK_OP(CALL_BUILTIN_CLASS)
-+    OK_OP(CALL_BUILTIN_FAST)
-+    OK_OP(CALL_BUILTIN_FAST_WITH_KEYWORDS)
-+    OK_OP(CALL_BUILTIN_O)
-+    OK_OP(CALL_ISINSTANCE)
-+    OK_OP(CALL_LEN)
-+    OK_OP(CALL_LIST_APPEND)
-+    OK_OP(CALL_METHOD_DESCRIPTOR_FAST)
-+    OK_OP(CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS)
-+    OK_OP(CALL_METHOD_DESCRIPTOR_NOARGS)
-+    OK_OP(CALL_METHOD_DESCRIPTOR_O)
-+    OK_OP(CALL_NON_PY_GENERAL)
-+    OK_OP(CALL_PY_EXACT_ARGS)
-+    OK_OP(CALL_PY_GENERAL)
-+    OK_OP(CALL_STR_1)
-+    OK_OP(CALL_TUPLE_1)
-+    OK_OP(CALL_TYPE_1)
-+#  else
-+    OK_OP(KW_NAMES) /* Ok, because it's used for calling functions with keyword arguments. */
-+#  endif
- 
- #  if PY_VERSION_HEX < 0x030c0000
-     OK_OP(PRECALL) /* Ok, because it's used for calling. */
-diff --git a/source/blender/python/intern/bpy_library_write.cc b/source/blender/python/intern/bpy_library_write.cc
-index d1c0b32ac07..59bf476427f 100644
---- a/source/blender/python/intern/bpy_library_write.cc
-+++ b/source/blender/python/intern/bpy_library_write.cc
-@@ -136,20 +136,25 @@ static PyObject *bpy_lib_write(BPy_PropertyRNA *self, PyObject *args, PyObject *
-       PartialWriteContext::IDAddOperations::ADD_DEPENDENCIES |
-       (use_fake_user ? PartialWriteContext::IDAddOperations::SET_FAKE_USER : 0))};
- 
--  Py_ssize_t pos, hash;
--  PyObject *key;
--  ID *id = nullptr;
--
--  pos = hash = 0;
--  while (_PySet_NextEntry(datablocks, &pos, &key, &hash)) {
--    if (!pyrna_id_FromPyObject(key, &id)) {
--      PyErr_Format(PyExc_TypeError, "Expected an ID type, not %.200s", Py_TYPE(key)->tp_name);
--      return nullptr;
--    }
--    else {
-+  if (PySet_GET_SIZE(datablocks) > 0) {
-+    PyObject *it = PyObject_GetIter(datablocks);
-+    PyObject *key;
-+    while ((key = PyIter_Next(it))) {
-+      /* Borrow from the set. */
-+      Py_DECREF(key);
-+      ID *id;
-+      if (!pyrna_id_FromPyObject(key, &id)) {
-+        PyErr_Format(PyExc_TypeError, "Expected an ID type, not %.200s", Py_TYPE(key)->tp_name);
-+        break;
-+      }
-       partial_write_ctx.id_add(id, add_options, nullptr);
-     }
-+    Py_DECREF(it);
-+    if (key) {
-+      return nullptr;
-+    }
-   }
-+
-   BLI_assert(partial_write_ctx.is_valid());
- 
-   /* write blend */
-diff --git a/source/blender/python/intern/bpy_rna.cc b/source/blender/python/intern/bpy_rna.cc
-index eb365bf0238..a9cb115f57e 100644
---- a/source/blender/python/intern/bpy_rna.cc
-+++ b/source/blender/python/intern/bpy_rna.cc
-@@ -8639,7 +8639,7 @@ static int bpy_class_validate_recursive(PointerRNA *dummy_ptr,
-       continue;
-     }
- 
--    /* TODO(@ideasman42): Use Python3.7x _PyObject_LookupAttr(), also in the macro below. */
-+    /* TODO(@ideasman42): Use #PyObject_GetOptionalAttr(), also in the macro below. */
-     identifier = RNA_property_identifier(prop);
-     item = PyObject_GetAttrString(py_class, identifier);
- 
-@@ -9263,7 +9263,7 @@ static PyObject *pyrna_register_class(PyObject * /*self*/, PyObject *py_class)
- 
-   /* Call classed register method.
-    * Note that zero falls through, no attribute, no error. */
--  switch (_PyObject_LookupAttr(py_class, bpy_intern_str_register, &py_cls_meth)) {
-+  switch (PyObject_GetOptionalAttr(py_class, bpy_intern_str_register, &py_cls_meth)) {
-     case 1: {
-       PyObject *ret = PyObject_CallObject(py_cls_meth, nullptr);
-       Py_DECREF(py_cls_meth);
-@@ -9378,7 +9378,7 @@ static PyObject *pyrna_unregister_class(PyObject * /*self*/, PyObject *py_class)
- 
-   /* Call classed unregister method.
-    * Note that zero falls through, no attribute, no error. */
--  switch (_PyObject_LookupAttr(py_class, bpy_intern_str_unregister, &py_cls_meth)) {
-+  switch (PyObject_GetOptionalAttr(py_class, bpy_intern_str_unregister, &py_cls_meth)) {
-     case 1: {
-       PyObject *ret = PyObject_CallObject(py_cls_meth, nullptr);
-       Py_DECREF(py_cls_meth);
diff --git a/srcpkgs/blender/patches/python3.12-pylongobject.patch b/srcpkgs/blender/patches/python3.12-pylongobject.patch
new file mode 100644
index 00000000000000..80b326809cc95f
--- /dev/null
+++ b/srcpkgs/blender/patches/python3.12-pylongobject.patch
@@ -0,0 +1,134 @@
+https://src.fedoraproject.org/rpms/blender/raw/7045717eb5477c40905f6d29dfd3dbf5ed674e4d/f/blender-3.6.1-py312-pylongobject.patch
+
+--- a/source/blender/freestyle/intern/python/BPy_IntegrationType.cpp
++++ b/source/blender/freestyle/intern/python/BPy_IntegrationType.cpp
+@@ -188,6 +188,7 @@ PyTypeObject IntegrationType_Type = {
+ 
+ /*-----------------------BPy_IntegrationType instance definitions -------------------------*/
+ 
++#if PY_VERSION_HEX < 0x030c0000 /* older than Python 3.12 */
+ static PyLongObject _IntegrationType_MEAN = {
+     PyVarObject_HEAD_INIT(&IntegrationType_Type, 1){MEAN}};
+ static PyLongObject _IntegrationType_MIN = {PyVarObject_HEAD_INIT(&IntegrationType_Type, 1){MIN}};
+@@ -196,6 +197,26 @@ static PyLongObject _IntegrationType_FIR
+     PyVarObject_HEAD_INIT(&IntegrationType_Type, 1){FIRST}};
+ static PyLongObject _IntegrationType_LAST = {
+     PyVarObject_HEAD_INIT(&IntegrationType_Type, 1){LAST}};
++#else
++#define NON_SIZE_BITS 3
++#define TAG_FROM_SIGN_AND_SIZE(sign, size) ((1 - (sign)) | ((size) << NON_SIZE_BITS))
++#define _Py_IntegrationTypeType_DIGIT_INIT(val) \
++    { \
++        .ob_base = PyObject_HEAD_INIT(&IntegrationType_Type) \
++        .long_value  = { \
++            .lv_tag = TAG_FROM_SIGN_AND_SIZE( \
++                (val) == 0 ? 0 : ((val) < 0 ? -1 : 1), \
++                (val) == 0 ? 0 : 1), \
++            { ((val) >= 0 ? (val) : -(val)) }, \
++        } \
++    }
++
++static PyLongObject _IntegrationType_MEAN = _Py_IntegrationTypeType_DIGIT_INIT(MEAN);
++static PyLongObject _IntegrationType_MIN = _Py_IntegrationTypeType_DIGIT_INIT(MIN);
++static PyLongObject _IntegrationType_MAX = _Py_IntegrationTypeType_DIGIT_INIT(MAX);
++static PyLongObject _IntegrationType_FIRST = _Py_IntegrationTypeType_DIGIT_INIT(FIRST);
++static PyLongObject _IntegrationType_LAST = _Py_IntegrationTypeType_DIGIT_INIT(LAST);
++#endif
+ 
+ #define BPy_IntegrationType_MEAN ((PyObject *)&_IntegrationType_MEAN)
+ #define BPy_IntegrationType_MIN ((PyObject *)&_IntegrationType_MIN)
+--- a/source/blender/freestyle/intern/python/BPy_MediumType.cpp
++++ b/source/blender/freestyle/intern/python/BPy_MediumType.cpp
+@@ -73,6 +73,7 @@ PyTypeObject MediumType_Type = {
+ 
+ /*-----------------------BPy_IntegrationType instance definitions -------------------------*/
+ 
++#if PY_VERSION_HEX < 0x030c0000 /* older than Python 3.12 */
+ PyLongObject _BPy_MediumType_DRY_MEDIUM = {
+     PyVarObject_HEAD_INIT(&MediumType_Type, 1){Stroke::DRY_MEDIUM},
+ };
+@@ -82,6 +83,24 @@ PyLongObject _BPy_MediumType_HUMID_MEDIU
+ PyLongObject _BPy_MediumType_OPAQUE_MEDIUM = {
+     PyVarObject_HEAD_INIT(&MediumType_Type, 1){Stroke::OPAQUE_MEDIUM},
+ };
++#else
++#define NON_SIZE_BITS 3
++#define TAG_FROM_SIGN_AND_SIZE(sign, size) ((1 - (sign)) | ((size) << NON_SIZE_BITS))
++#define _Py_MediumType_DIGIT_INIT(val) \
++    { \
++        .ob_base = PyObject_HEAD_INIT(&MediumType_Type) \
++        .long_value  = { \
++            .lv_tag = TAG_FROM_SIGN_AND_SIZE( \
++                (val) == 0 ? 0 : ((val) < 0 ? -1 : 1), \
++                (val) == 0 ? 0 : 1), \
++            { ((val) >= 0 ? (val) : -(val)) }, \
++        } \
++    }
++
++PyLongObject _BPy_MediumType_DRY_MEDIUM = _Py_MediumType_DIGIT_INIT(Stroke::DRY_MEDIUM);
++PyLongObject _BPy_MediumType_HUMID_MEDIUM = _Py_MediumType_DIGIT_INIT(Stroke::HUMID_MEDIUM);
++PyLongObject _BPy_MediumType_OPAQUE_MEDIUM = _Py_MediumType_DIGIT_INIT(Stroke::OPAQUE_MEDIUM);
++#endif
+ 
+ //-------------------MODULE INITIALIZATION--------------------------------
+ 
+--- a/source/blender/freestyle/intern/python/BPy_Nature.cpp
++++ b/source/blender/freestyle/intern/python/BPy_Nature.cpp
+@@ -137,6 +137,7 @@ PyTypeObject Nature_Type = {
+ 
+ /*-----------------------BPy_Nature instance definitions ----------------------------------*/
+ 
++#if PY_VERSION_HEX < 0x030c0000 /* older than Python 3.12 */
+ static PyLongObject _Nature_POINT = {PyVarObject_HEAD_INIT(&Nature_Type, 0){Nature::POINT}};
+ static PyLongObject _Nature_S_VERTEX = {PyVarObject_HEAD_INIT(&Nature_Type, 1){Nature::S_VERTEX}};
+ static PyLongObject _Nature_VIEW_VERTEX = {
+@@ -159,6 +160,36 @@ static PyLongObject _Nature_MATERIAL_BOU
+     PyVarObject_HEAD_INIT(&Nature_Type, 1){Nature::MATERIAL_BOUNDARY}};
+ static PyLongObject _Nature_EDGE_MARK = {
+     PyVarObject_HEAD_INIT(&Nature_Type, 1){Nature::EDGE_MARK}};
++#else
++#define NON_SIZE_BITS 3
++#define TAG_FROM_SIGN_AND_SIZE(sign, size) ((1 - (sign)) | ((size) << NON_SIZE_BITS))
++#define _Py_Nature_TypeType_DIGIT_INIT(val) \
++    { \
++        .ob_base = PyObject_HEAD_INIT(&Nature_Type) \
++        .long_value  = { \
++            .lv_tag = TAG_FROM_SIGN_AND_SIZE( \
++                (val) == 0 ? 0 : ((val) < 0 ? -1 : 1), \
++                (val) == 0 ? 0 : 1), \
++            { ((val) >= 0 ? (val) : -(val)) }, \
++        } \
++    }
++
++static PyLongObject _Nature_POINT = _Py_Nature_TypeType_DIGIT_INIT(Nature::POINT);
++static PyLongObject _Nature_S_VERTEX = _Py_Nature_TypeType_DIGIT_INIT(Nature::S_VERTEX);
++static PyLongObject _Nature_VIEW_VERTEX = _Py_Nature_TypeType_DIGIT_INIT(Nature::VIEW_VERTEX);
++static PyLongObject _Nature_NON_T_VERTEX = _Py_Nature_TypeType_DIGIT_INIT(Nature::NON_T_VERTEX);
++static PyLongObject _Nature_T_VERTEX = _Py_Nature_TypeType_DIGIT_INIT(Nature::T_VERTEX);
++static PyLongObject _Nature_CUSP = _Py_Nature_TypeType_DIGIT_INIT(Nature::CUSP);
++static PyLongObject _Nature_NO_FEATURE = _Py_Nature_TypeType_DIGIT_INIT(Nature::NO_FEATURE);
++static PyLongObject _Nature_SILHOUETTE = _Py_Nature_TypeType_DIGIT_INIT(Nature::SILHOUETTE);
++static PyLongObject _Nature_BORDER = _Py_Nature_TypeType_DIGIT_INIT(Nature::BORDER);
++static PyLongObject _Nature_CREASE = _Py_Nature_TypeType_DIGIT_INIT(Nature::CREASE);
++static PyLongObject _Nature_RIDGE = _Py_Nature_TypeType_DIGIT_INIT(Nature::RIDGE);
++static PyLongObject _Nature_VALLEY = _Py_Nature_TypeType_DIGIT_INIT(Nature::VALLEY);
++static PyLongObject _Nature_SUGGESTIVE_CONTOUR = _Py_Nature_TypeType_DIGIT_INIT(Nature::SUGGESTIVE_CONTOUR);
++static PyLongObject _Nature_MATERIAL_BOUNDARY = _Py_Nature_TypeType_DIGIT_INIT(Nature::MATERIAL_BOUNDARY);
++static PyLongObject _Nature_EDGE_MARK = _Py_Nature_TypeType_DIGIT_INIT(Nature::EDGE_MARK);
++#endif
+ 
+ #define BPy_Nature_POINT ((PyObject *)&_Nature_POINT)
+ #define BPy_Nature_S_VERTEX ((PyObject *)&_Nature_S_VERTEX)
+@@ -249,7 +280,12 @@ static PyObject *BPy_Nature_bitwise(PyOb
+   else {
+     result = PyObject_NewVar(BPy_Nature, &Nature_Type, 1);
+     if (result) {
++#if PY_VERSION_HEX >= 0x030c0000 /* Python 3.12 and newer */
++      result->i.long_value.lv_tag = TAG_FROM_SIGN_AND_SIZE((v > 0 ? 1 : -1), 1);
++      result->i.long_value.ob_digit[0] = v;
++#else
+       result->i.ob_digit[0] = v;
++#endif
+     }
+   }
+   return (PyObject *)result;
diff --git a/srcpkgs/blender/template b/srcpkgs/blender/template
index 8aec56d4083906..7e321a9ad525cd 100644
--- a/srcpkgs/blender/template
+++ b/srcpkgs/blender/template
@@ -1,7 +1,7 @@
 # Template file for 'blender'
 pkgname=blender
-version=4.3.1
-revision=1
+version=4.0.2
+revision=3
 archs="x86_64* ppc64*"
 build_style="cmake"
 pycompile_dirs="usr/share/blender/${version%.*}/scripts"
@@ -24,23 +24,21 @@ makedepends="libgomp-devel libpng-devel tiff-devel python3-devel glu-devel
  pugixml-devel libXxf86vm-devel libepoxy-devel gmp-devel gmpxx-devel
  wayland-protocols wayland-devel libxkbcommon-devel libdecor-devel
  libspnav-devel libwebp-devel potrace-devel Haru-devel
- pulseaudio-devel eigen lzo-devel vulkan-loader-devel shaderc"
+ pulseaudio-devel eigen lzo-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="3D graphics creation suite"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.blender.org"
 distfiles="https://download.blender.org/source/blender-${version}.tar.xz"
-checksum=81bce671a7eb80d6880b728e042f4a4f65e1c4ccca86429a21615b45f7aef2e9
+checksum=aaa0e729da7591cfbf45772af76345977daaa7b11a0af35d98f9313e246077a3
 python_version=3
 LDFLAGS="-Wl,-z,stack-size=2097152"
 # Blender tests are executed against a system installation of blender. This
 # is currently not supported by xbps-src.
 make_check=no
 
-if [ "$XBPS_TARGET_LIBC" = musl ]; then
-	configure_args+=" -DWITH_LZMA=OFF"
-else
+if [ "$XBPS_TARGET_LIBC" != musl ]; then
 	makedepends+=" jemalloc-devel"
 fi
 
diff --git a/srcpkgs/bluefish/template b/srcpkgs/bluefish/template
index e078072cc2ce1a..bb4115b017bbdb 100644
--- a/srcpkgs/bluefish/template
+++ b/srcpkgs/bluefish/template
@@ -1,7 +1,7 @@
 # Template file for 'bluefish'
 pkgname=bluefish
 version=2.2.16
-revision=2
+revision=1
 build_style=gnu-configure
 configure_args="--enable-spell-check --disable-update-databases
  --disable-xml-catalog-update $(vopt_enable python)"
diff --git a/srcpkgs/blueman/template b/srcpkgs/blueman/template
index fdcba73b29d4db..ddb98862d354e1 100644
--- a/srcpkgs/blueman/template
+++ b/srcpkgs/blueman/template
@@ -1,7 +1,7 @@
 # Template file for 'blueman'
 pkgname=blueman
 version=2.4.3
-revision=2
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="intltool iproute2 pkg-config python3-Cython glib-devel
diff --git a/srcpkgs/blueprint-compiler/template b/srcpkgs/blueprint-compiler/template
index 4569bf5e8e2003..3e175a97a4201a 100644
--- a/srcpkgs/blueprint-compiler/template
+++ b/srcpkgs/blueprint-compiler/template
@@ -1,7 +1,7 @@
 # Template file for 'blueprint-compiler'
 pkgname=blueprint-compiler
 version=0.14.0
-revision=2
+revision=1
 build_style=meson
 depends="python3-gobject"
 checkdepends="${depends} libadwaita-devel xvfb-run"
diff --git a/srcpkgs/boost/template b/srcpkgs/boost/template
index 2ab14be4992afd..e21c2b3b95971c 100644
--- a/srcpkgs/boost/template
+++ b/srcpkgs/boost/template
@@ -1,7 +1,7 @@
 # Template file for 'boost'
 pkgname=boost
 version=1.83.0
-revision=6
+revision=4
 build_style=meta
 hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config"
 makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel libzstd-devel"
@@ -216,9 +216,7 @@ boost-build_package() {
 }
 boost-devel_package() {
 	noverifyrdeps=yes
-	_depends="${subpackages/boost-devel}"
-	_depends="${_depends/libboost_mpi-python3}"
-	depends="${_depends/boost-python3}"
+	depends="boost ${subpackages/boost-devel}"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
diff --git a/srcpkgs/bootchart2/template b/srcpkgs/bootchart2/template
index 3d3cc4cb0dea34..60b8d989aa4e0f 100644
--- a/srcpkgs/bootchart2/template
+++ b/srcpkgs/bootchart2/template
@@ -1,7 +1,7 @@
 # Template file for 'bootchart2'
 pkgname=bootchart2
 version=0.14.9
-revision=5
+revision=4
 build_style=gnu-makefile
 make_install_args="EARLY_PREFIX=/usr DOCDIR=/usr/share/doc/bootchart2"
 hostmakedepends="python3-setuptools"
diff --git a/srcpkgs/borg/template b/srcpkgs/borg/template
index 5ab97fc7100550..aabf178923d305 100644
--- a/srcpkgs/borg/template
+++ b/srcpkgs/borg/template
@@ -1,7 +1,7 @@
 # Template file for 'borg'
 pkgname=borg
 version=1.4.0
-revision=2
+revision=1
 build_style=python3-module
 make_check_args="-k not((benchmark)or(readonly))"
 make_check_target="build/lib.*/borg/testsuite"
diff --git a/srcpkgs/borgmatic/template b/srcpkgs/borgmatic/template
index 6ef042f30e7aaa..d584c417c2b487 100644
--- a/srcpkgs/borgmatic/template
+++ b/srcpkgs/borgmatic/template
@@ -1,7 +1,7 @@
 # Template file for 'borgmatic'
 pkgname=borgmatic
 version=1.9.2
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="borg python3-setuptools python3-ruamel.yaml python3-jsonschema
diff --git a/srcpkgs/botan/template b/srcpkgs/botan/template
index 66703f66bcbae6..43573d95864260 100644
--- a/srcpkgs/botan/template
+++ b/srcpkgs/botan/template
@@ -1,7 +1,7 @@
 # Template file for 'botan'
 pkgname=botan
 version=2.19.3
-revision=4
+revision=3
 build_style=gnu-makefile
 hostmakedepends="doxygen python3"
 makedepends="bzip2-devel liblzma-devel sqlite-devel zlib-devel"
diff --git a/srcpkgs/brltty/patches/python3-bindings.patch b/srcpkgs/brltty/patches/python3-bindings.patch
deleted file mode 100644
index ef977ee8e25ccf..00000000000000
--- a/srcpkgs/brltty/patches/python3-bindings.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Python bindings will be built directly in the xbps-src template.
-
---- a/Bindings/Python/Makefile.in
-+++ b/Bindings/Python/Makefile.in
-@@ -45,10 +45,7 @@
- all: $(PYTHON_API)
- 
- $(PYTHON_API): brlapi.auto.c $(API_HDRS) brlapi
--	set -- $(V_setup) build --build-temp .; \
--	[ "@host_os@" != "mingw32" ] || set -- "$${@}" --compiler mingw32; \
--	"$(PYTHON)" ./setup.py "$${@}"
--	[ "@host_os@" != "mingw32" ] || "$(PYTHON)" ./setup.py $(V_setup) bdist_wininst --skip-build
-+	echo "To be built directly..."
- 
- brlapi.auto.c: $(SRC_DIR)/brlapi.pyx $(SRC_DIR)/c_brlapi.pxd constants.auto.pyx
- 	"$(CYTHON)" -$(PYTHON_VERSION) -I. -o $@ $(SRC_DIR)/brlapi.pyx
-@@ -62,10 +59,7 @@
- INSTALLED_FILES = installed-files
- 
- install: all
--	set -- $(V_setup) install --skip-build --record "$(INSTALLED_FILES)"; \
--	[ -z "$(PYTHON_DESTDIR)" ] || set -- "$${@}" --root "$(PYTHON_DESTDIR)"; \
--	[ -z "$(PYTHON_PREFIX)" ] || set -- "$${@}" --prefix "$(PYTHON_PREFIX)"; \
--	"$(PYTHON)" ./setup.py "$${@}"
-+	echo "To be installed directly..."
- 
- uninstall:
- 	[ ! -f "$(INSTALLED_FILES)" ] || rm -f -- `$(AWK) '{printf "%s%s ", "$(PYTHON_DESTDIR)", $$0}' "$(INSTALLED_FILES)"`
diff --git a/srcpkgs/brltty/template b/srcpkgs/brltty/template
index c29190d18a0e0e..c92b681ea57067 100644
--- a/srcpkgs/brltty/template
+++ b/srcpkgs/brltty/template
@@ -1,8 +1,9 @@
 # Template file for 'brltty'
 pkgname=brltty
 version=6.4
-revision=12
+revision=11
 build_style=gnu-configure
+build_helper=python3
 configure_args="--enable-gpm --with-screen-driver=lx,sc
  --with-tables-directory=/usr/share/brltty PYTHON=/usr/bin/python3"
 hostmakedepends="pkg-config python3-Cython"
@@ -28,7 +29,6 @@ pre_configure() {
 		*-musl) # There is no ldconfig in musl libc
 			sed -e "s;/sbin/ldconfig -n;echo;" -i configure ;;
 	esac
-
 	export PYTHON_LIBS="-L${XBPS_CROSS_BASE}/usr/lib -lpython${py3_ver}${py3_abiver}"
 	export PYTHON_CPPFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc}"
 }
@@ -40,31 +40,8 @@ post_configure() {
 	esac
 }
 
-post_build() {
-	# brltty has two problems with the xbps-src cross environment:
-	#
-	# - brltty has a lock.h that will be overshadowed by Python's lock.h
-	#   when the build helper overrides CFLAGS to prefer the cross root
-	#
-	# - The brltty build process drops critical environment variables for
-	#   cross compilation of Python exctensions
-	#
-	# To work around this, just manually build the Python package.
-
-	cd Bindings/Python
-	. "${XBPS_BUILDHELPERDIR}/python3.sh"
-	python3 setup.py build --build-temp .
-}
-
 do_install() {
-	make INSTALL_ROOT="${DESTDIR}" install
-
-	local _inst_args=(
-	 --skip-build --record=installed-files --root="${DESTDIR}" --prefix=/usr
-	)
-
-	( cd Bindings/Python && python3 ./setup.py install "${_inst_args[@]}" )
-
+	make INSTALL_ROOT=${DESTDIR} install
 	vsv brltty
 	vsconf Documents/brltty.conf
 	vdoc Documents/ChangeLog
diff --git a/srcpkgs/btrfs-backup/template b/srcpkgs/btrfs-backup/template
index d8b582aab8f0a0..2fa61f3f215560 100644
--- a/srcpkgs/btrfs-backup/template
+++ b/srcpkgs/btrfs-backup/template
@@ -1,7 +1,7 @@
 # Template file for 'btrfs-backup'
 pkgname=btrfs-backup
 version=0.3.1
-revision=7
+revision=6
 build_style=python3-module
 pycompile_module="${pkgname/-/_}"
 hostmakedepends="python3-setuptools"
diff --git a/srcpkgs/bum/template b/srcpkgs/bum/template
index 3d47729dd50fcd..fee78f71f8346c 100644
--- a/srcpkgs/bum/template
+++ b/srcpkgs/bum/template
@@ -1,7 +1,7 @@
 # Template file for 'bum'
 pkgname=bum
 version=0.1.3
-revision=10
+revision=9
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-mpd2 python3-musicbrainzngs python3-mpv"
diff --git a/srcpkgs/bumblebee-status/template b/srcpkgs/bumblebee-status/template
index 0fdec478d798ae..ea126cb4331619 100644
--- a/srcpkgs/bumblebee-status/template
+++ b/srcpkgs/bumblebee-status/template
@@ -1,7 +1,7 @@
 # Template file for 'bumblebee-status'
 pkgname=bumblebee-status
 version=2.1.6
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-netifaces python3-psutil python3-requests"
diff --git a/srcpkgs/bup/template b/srcpkgs/bup/template
index 2102b619c8c1f5..49203917aea376 100644
--- a/srcpkgs/bup/template
+++ b/srcpkgs/bup/template
@@ -1,7 +1,7 @@
 # Template file for 'bup'
 pkgname=bup
 version=0.33.4
-revision=2
+revision=1
 build_style=configure
 hostmakedepends="pkg-config python3 perl git pandoc"
 makedepends="python3-devel readline-devel acl-devel"
diff --git a/srcpkgs/cadence/template b/srcpkgs/cadence/template
index cfcb1f0865f9f6..1be01775dfb6ec 100644
--- a/srcpkgs/cadence/template
+++ b/srcpkgs/cadence/template
@@ -1,7 +1,7 @@
 # Template file for 'cadence'
 pkgname=cadence
 version=0.9.2
-revision=6
+revision=5
 build_style=gnu-makefile
 pycompile_dirs="usr/share/cadence/src"
 hostmakedepends="pkg-config qt5-host-tools python3-PyQt5-devel-tools"
diff --git a/srcpkgs/caffeine-ng/template b/srcpkgs/caffeine-ng/template
index 0c4b10a4347343..6f18114aaddd9e 100644
--- a/srcpkgs/caffeine-ng/template
+++ b/srcpkgs/caffeine-ng/template
@@ -1,7 +1,7 @@
 # Template file for 'caffeine-ng'
 pkgname=caffeine-ng
 version=4.0.2
-revision=6
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="desktop-file-utils gtk+3 hicolor-icon-theme libnotify
diff --git a/srcpkgs/cairo-dock-plugins/template b/srcpkgs/cairo-dock-plugins/template
index 38f29853366ee8..67d50e12697e4a 100644
--- a/srcpkgs/cairo-dock-plugins/template
+++ b/srcpkgs/cairo-dock-plugins/template
@@ -1,7 +1,7 @@
 # Template file for 'cairo-dock-plugins'
 pkgname=cairo-dock-plugins
 version=3.4.1
-revision=20
+revision=19
 build_style=cmake
 hostmakedepends="gettext pkg-config python3-setuptools python3-devel vala-devel"
 makedepends="alsa-lib-devel fftw-devel pulseaudio-devel libexif-devel
diff --git a/srcpkgs/calibre/template b/srcpkgs/calibre/template
index e4ee8bb72b14e7..b5b2724cea9eb2 100644
--- a/srcpkgs/calibre/template
+++ b/srcpkgs/calibre/template
@@ -1,7 +1,7 @@
 # Template file for 'calibre'
 pkgname=calibre
 version=7.21.0
-revision=2
+revision=1
 build_helper=python3
 pycompile_dirs="/usr/lib/calibre/"
 hostmakedepends="pkg-config cmake python3-BeautifulSoup4 python3-Pillow
diff --git a/srcpkgs/canto-curses/patches/python-3.13.patch b/srcpkgs/canto-curses/patches/python-3.13.patch
deleted file mode 100644
index bba7bfcc21e8e9..00000000000000
--- a/srcpkgs/canto-curses/patches/python-3.13.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Taken from Arch. Cf.
-
-  https://gitlab.archlinux.org/archlinux/packaging/packages/canto-curses
-
-diff --unified --recursive --text --new-file canto-curses-0.9.9.orig/canto_curses/widecurse.c canto-curses-0.9.9/canto_curses/widecurse.c
---- canto-curses-0.9.9.orig/canto_curses/widecurse.c	2024-11-19 06:55:26.703201292 +0100
-+++ canto-curses-0.9.9/canto_curses/widecurse.c	2024-11-19 06:55:39.423227011 +0100
-@@ -6,9 +6,12 @@
-    published by the Free Software Foundation.
- */
- 
-+#define NCURSES_INTERNALS 1
- #include <Python.h>
-+#include <curses.h>
- #include <py_curses.h>
- #include <readline/readline.h>
-+#include <wchar.h>
- 
- static PyObject *py_wcwidth(PyObject * self, PyObject * args)
- {
diff --git a/srcpkgs/canto-curses/template b/srcpkgs/canto-curses/template
index 0b3ce4c3c0daec..ffe8a687fdcbe4 100644
--- a/srcpkgs/canto-curses/template
+++ b/srcpkgs/canto-curses/template
@@ -1,7 +1,7 @@
 # Template file for 'canto-curses'
 pkgname=canto-curses
 version=0.9.9
-revision=11
+revision=10
 build_style=python3-module
 pycompile_dirs="/usr/lib/canto/plugins"
 hostmakedepends="python3-setuptools"
diff --git a/srcpkgs/canto-next/template b/srcpkgs/canto-next/template
index f61782a89824fa..11a2d055da0dcb 100644
--- a/srcpkgs/canto-next/template
+++ b/srcpkgs/canto-next/template
@@ -1,7 +1,7 @@
 # Template file for 'canto-next'
 pkgname=canto-next
 version=0.9.8
-revision=4
+revision=3
 build_style=python3-module
 pycompile_dirs="/usr/lib/canto/plugins"
 hostmakedepends="python3-setuptools"
diff --git a/srcpkgs/capstone/template b/srcpkgs/capstone/template
index 86e50c8a401772..06ca41eb68b648 100644
--- a/srcpkgs/capstone/template
+++ b/srcpkgs/capstone/template
@@ -1,7 +1,7 @@
 # Template file for 'capstone'
 pkgname=capstone
 version=5.0.1
-revision=3
+revision=2
 build_style=gnu-makefile
 make_use_env=yes
 hostmakedepends="python3-setuptools"
diff --git a/srcpkgs/cargo-update/files/Cargo.lock b/srcpkgs/cargo-update/files/Cargo.lock
new file mode 100644
index 00000000000000..138562bb0d9389
--- /dev/null
+++ b/srcpkgs/cargo-update/files/Cargo.lock
@@ -0,0 +1,879 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "array_tool"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f8cb5d814eb646a863c4f24978cff2880c4be96ad8cde2c0f0678732902e271"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "cargo-update"
+version = "16.0.0"
+dependencies = [
+ "array_tool",
+ "clap",
+ "curl",
+ "embed-resource",
+ "git2",
+ "hex",
+ "home",
+ "json-deserializer",
+ "semver",
+ "serde",
+ "serde_derive",
+ "tabwriter",
+ "toml",
+ "url",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b9470d453346108f93a59222a9a1a5724db32d0a4727b7ab7ace4b4d822dc9"
+dependencies = [
+ "jobserver",
+ "libc",
+ "shlex",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+dependencies = [
+ "atty",
+ "bitflags 1.3.2",
+ "clap_lex",
+ "indexmap 1.9.3",
+ "once_cell",
+ "strsim",
+ "termcolor",
+ "terminal_size",
+ "textwrap",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "curl"
+version = "0.4.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265"
+dependencies = [
+ "curl-sys",
+ "libc",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "socket2",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "curl-sys"
+version = "0.4.77+curl-8.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f469e8a5991f277a208224f6c7ad72ecb5f986e36d09ae1f2c1bb9259478a480"
+dependencies = [
+ "cc",
+ "libc",
+ "libnghttp2-sys",
+ "libz-sys",
+ "openssl-sys",
+ "pkg-config",
+ "vcpkg",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "embed-resource"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4e24052d7be71f0efb50c201557f6fe7d237cfd5a64fd5bcd7fd8fe32dbbffa"
+dependencies = [
+ "cc",
+ "memchr",
+ "rustc_version",
+ "toml",
+ "vswhom",
+ "winreg",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "git2"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724"
+dependencies = [
+ "bitflags 2.6.0",
+ "libc",
+ "libgit2-sys",
+ "log",
+ "openssl-probe",
+ "openssl-sys",
+ "url",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hashbrown"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown 0.12.3",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.0",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+dependencies = [
+ "hermit-abi 0.3.9",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "jobserver"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "json-deserializer"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f63b421e16eb4100beb677af56f0b4f3a4f08bab74ef2af079ce5bb92c2683f"
+
+[[package]]
+name = "libc"
+version = "0.2.161"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
+
+[[package]]
+name = "libgit2-sys"
+version = "0.17.0+1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224"
+dependencies = [
+ "cc",
+ "libc",
+ "libssh2-sys",
+ "libz-sys",
+ "openssl-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "libnghttp2-sys"
+version = "0.1.10+1.61.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "libssh2-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee"
+dependencies = [
+ "cc",
+ "libc",
+ "libz-sys",
+ "openssl-sys",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "once_cell"
+version = "1.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-src"
+version = "300.4.0+3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a709e02f2b4aca747929cca5ed248880847c650233cf8b8cdc48f40aaf4898a6"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.104"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "os_str_bytes"
+version = "6.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.37.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "schannel"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.214"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.214"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "socket2"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "2.0.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tabwriter"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a327282c4f64f6dc37e3bba4c2b6842cc3a992f204fa58d917696a89f691e5f6"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
+dependencies = [
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
+dependencies = [
+ "terminal_size",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
+dependencies = [
+ "indexmap 2.6.0",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
+
+[[package]]
+name = "url"
+version = "2.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "vswhom"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
+dependencies = [
+ "libc",
+ "vswhom-sys",
+]
+
+[[package]]
+name = "vswhom-sys"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "winnow"
+version = "0.6.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
diff --git a/srcpkgs/cargo-update/template b/srcpkgs/cargo-update/template
index babfc7469121c1..a5ac4608928e43 100644
--- a/srcpkgs/cargo-update/template
+++ b/srcpkgs/cargo-update/template
@@ -13,11 +13,11 @@ changelog="https://github.com/nabijaczleweli/cargo-update/releases"
 distfiles="https://github.com/nabijaczleweli/cargo-update/archive/refs/tags/v${version}.tar.gz"
 checksum=50ab6c2f4c66057cdb337fe1bbb5df5b018acca88b059db0db58aa1664b44285
 
-post_patch() {
+post_extract() {
 	# Upstream does not ship a lockfile and is very vocal about that being
 	# the right way:
 	# https://github.com/nabijaczleweli/cargo-update/issues/50
-	cargo generate-lockfile
+	cp ${FILESDIR}/Cargo.lock .
 }
 
 post_install() {
diff --git a/srcpkgs/caribou/template b/srcpkgs/caribou/template
index fe0277f2ef12a2..62a4559e1f9c64 100644
--- a/srcpkgs/caribou/template
+++ b/srcpkgs/caribou/template
@@ -1,7 +1,7 @@
 # Template file for 'caribou'
 pkgname=caribou
 version=0.4.21
-revision=9
+revision=8
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-schemas-compile --disable-static --disable-gtk2-module
diff --git a/srcpkgs/castero/template b/srcpkgs/castero/template
index 84ec67e2b22bdf..b63ab64ee2e48c 100644
--- a/srcpkgs/castero/template
+++ b/srcpkgs/castero/template
@@ -1,7 +1,7 @@
 # Template file for 'castero'
 pkgname=castero
 version=0.9.5
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 # taken from https://github.com/xgi/castero/blob/master/requirements.txt,
diff --git a/srcpkgs/catfish/template b/srcpkgs/catfish/template
index 3f49732d0a8b3a..dd4ba0d57ae4d8 100644
--- a/srcpkgs/catfish/template
+++ b/srcpkgs/catfish/template
@@ -1,7 +1,7 @@
 # Template file for 'catfish'
 pkgname=catfish
 version=4.18.0
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="intltool python3-distutils-extra python3-gobject"
 depends="desktop-file-utils gtk+3 hicolor-icon-theme python3-gobject
diff --git a/srcpkgs/ccsm/template b/srcpkgs/ccsm/template
index 1b5064ce6a7e8c..e0d6e453f77260 100644
--- a/srcpkgs/ccsm/template
+++ b/srcpkgs/ccsm/template
@@ -1,7 +1,7 @@
 # Template file for 'ccsm'
 pkgname=ccsm
 version=0.8.18
-revision=7
+revision=6
 build_style=python3-module
 hostmakedepends="python3-setuptools intltool"
 depends="compizconfig-python python3-xlib python3-gobject"
diff --git a/srcpkgs/certbot-apache/template b/srcpkgs/certbot-apache/template
index eb3af81533d080..e2eba12d60275d 100644
--- a/srcpkgs/certbot-apache/template
+++ b/srcpkgs/certbot-apache/template
@@ -1,7 +1,7 @@
 # Template file for 'certbot-apache'
 pkgname=certbot-apache
 version=2.10.0
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core python3-setuptools python3-wheel"
 depends="certbot python3-acme python3-augeas python3-zope.interface"
diff --git a/srcpkgs/certbot-nginx/template b/srcpkgs/certbot-nginx/template
index 47b76dbaa1828a..dd8172f7f76e15 100644
--- a/srcpkgs/certbot-nginx/template
+++ b/srcpkgs/certbot-nginx/template
@@ -1,7 +1,7 @@
 # Template file for 'certbot-nginx'
 pkgname=certbot-nginx
 version=2.10.0
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core python3-setuptools python3-wheel"
 depends="certbot python3-acme python3-parsing python3-zope.interface"
diff --git a/srcpkgs/certbot/template b/srcpkgs/certbot/template
index 92650a284532d8..efa83137bbafea 100644
--- a/srcpkgs/certbot/template
+++ b/srcpkgs/certbot/template
@@ -1,7 +1,7 @@
 # Template file for 'certbot'
 pkgname=certbot
 version=2.10.0
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core python3-setuptools python3-wheel"
 depends="python3-acme python3-ConfigArgParse python3-configobj
diff --git a/srcpkgs/chirp/template b/srcpkgs/chirp/template
index bcaf978d39670d..b5673298dacb9a 100644
--- a/srcpkgs/chirp/template
+++ b/srcpkgs/chirp/template
@@ -1,7 +1,7 @@
 # Template file for 'chirp'
 pkgname=chirp
 version=20241025
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-six wxPython python3-pyserial python3-requests
diff --git a/srcpkgs/cinnamon-control-center/patches/musl.diff b/srcpkgs/cinnamon-control-center/patches/musl.diff
new file mode 100644
index 00000000000000..860b0c4195e59a
--- /dev/null
+++ b/srcpkgs/cinnamon-control-center/patches/musl.diff
@@ -0,0 +1,19 @@
+Include networkmanager header after the musl ones, to avoid conflicts.
+
+diff --git a/panels/network/wireless-security/utils.c b/panels/network/wireless-security/utils.c
+index b74424d..2bb543f 100644
+--- a/panels/network/wireless-security/utils.c
++++ b/panels/network/wireless-security/utils.c
+@@ -20,11 +20,10 @@
+  * Copyright 2007 - 2015 Red Hat, Inc.
+  */
+ 
+-#include "nm-default.h"
+-
+ #include <string.h>
+ #include <netinet/ether.h>
+ 
++#include "nm-default.h"
+ #include "utils.h"
+ 
+ /**
diff --git a/srcpkgs/cinnamon-control-center/template b/srcpkgs/cinnamon-control-center/template
index 0a046d5d741c8d..ead98639c4accc 100644
--- a/srcpkgs/cinnamon-control-center/template
+++ b/srcpkgs/cinnamon-control-center/template
@@ -1,6 +1,6 @@
 # Template file for 'cinnamon-control-center'
 pkgname=cinnamon-control-center
-version=6.4.1
+version=5.8.2
 revision=2
 build_style=meson
 build_helper=gir
@@ -10,16 +10,15 @@ makedepends="ModemManager-devel cinnamon-desktop-devel cinnamon-menus-devel
  cinnamon-settings-daemon-devel gnome-online-accounts-devel ibus-devel
  libSM-devel libcanberra-devel libgnomekbd-devel
  libnotify-devel libwacom-devel libnma-devel polkit-devel
- pulseaudio-devel upower-devel libglib-devel gtk+3-devel colord-devel"
-depends="libcinnamon-control-center>=${version}_${revision}
- cinnamon-settings-daemon cinnamon-translations desktop-file-utils
- hicolor-icon-theme gnome-color-manager"
+ pulseaudio-devel upower-devel libglib-devel gtk+3-devel"
+depends="libcinnamon-control-center>=${version}_${revision} cinnamon-settings-daemon>=2.4
+ cinnamon-translations>=2.4 desktop-file-utils hicolor-icon-theme"
 short_desc="Cinnamon Control Center"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon-control-center"
 distfiles="https://github.com/linuxmint/${pkgname}/archive/${version}.tar.gz"
-checksum=a68886524ce3f18952bc79d28061b71fc48a24e5dac5175874e3d390425bad92
+checksum=8905b9ddf0c9b8ef98c47c2f4a1fd5e0b944d4955a05b4534b1c54d13c7241e5
 # requires X and wacom devices?
 make_check=no
 
diff --git a/srcpkgs/cinnamon-desktop/template b/srcpkgs/cinnamon-desktop/template
index 3a3c1361dcef6f..a61bb56b558796 100644
--- a/srcpkgs/cinnamon-desktop/template
+++ b/srcpkgs/cinnamon-desktop/template
@@ -1,6 +1,6 @@
 # Template file for 'cinnamon-desktop'
 pkgname=cinnamon-desktop
-version=6.4.1
+version=5.8.0
 revision=2
 build_style=meson
 build_helper="gir"
@@ -14,7 +14,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon-desktop"
 distfiles="https://github.com/linuxmint/cinnamon-desktop/archive/${version}.tar.gz"
-checksum=0e9af48b97910302a1130424a05c63b2e7aacb4ce6ae7a1d53c71bcd157a3a8f
+checksum=53080bd27527a8271d659e143a8d3b333d9b85efc82b77e571075f9cf8d3287c
 
 cinnamon-desktop-devel_package() {
 	depends="gtk+3-devel libxkbfile-devel ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/cinnamon-menus/template b/srcpkgs/cinnamon-menus/template
index 72da334005730b..e923c3cc863240 100644
--- a/srcpkgs/cinnamon-menus/template
+++ b/srcpkgs/cinnamon-menus/template
@@ -1,7 +1,7 @@
 # Template file for 'cinnamon-menus'
 pkgname=cinnamon-menus
-version=6.4.0
-revision=2
+version=5.8.0
+revision=1
 build_style=meson
 build_helper=gir
 hostmakedepends="glib-devel intltool pkg-config"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon-menus"
 distfiles="https://github.com/linuxmint/cinnamon-menus/archive/${version}.tar.gz"
-checksum=9cad5ac61900492f66c91810fd13bed9dc37b49ec0b9bbc0bbe9ebf48ee45452
+checksum=99c4336ea5d87f01cbf19b40c8200dde933aebd73fe87b83cc11361bea5b6626
 
 cinnamon-menus-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
diff --git a/srcpkgs/cinnamon-screensaver/template b/srcpkgs/cinnamon-screensaver/template
index a947aaed049f31..906f49f861ea5b 100644
--- a/srcpkgs/cinnamon-screensaver/template
+++ b/srcpkgs/cinnamon-screensaver/template
@@ -1,7 +1,7 @@
 # Template file for 'cinnamon-screensaver'
 pkgname=cinnamon-screensaver
-version=6.4.0
-revision=3
+version=5.8.1
+revision=2
 build_style=meson
 build_helper="gir"
 hostmakedepends="gettext-devel glib-devel pkg-config python3-devel"
@@ -16,7 +16,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon-screensaver"
 distfiles="https://github.com/linuxmint/cinnamon-screensaver/archive/${version}.tar.gz"
-checksum=e985b68981482b7ead6aef55988937958539221d752f9a4feb7ced9ac32fe422
+checksum=8959f03a9e7e2b2760a8fb5c7129d2431021ca193ff4ebcac59c4bbda95a8319
 
 python_version=3
 pycompile_dirs="/usr/share/cinnamon-screensaver"
diff --git a/srcpkgs/cinnamon-session/template b/srcpkgs/cinnamon-session/template
index efacd6c3522d53..6dad113168c6e1 100644
--- a/srcpkgs/cinnamon-session/template
+++ b/srcpkgs/cinnamon-session/template
@@ -1,7 +1,7 @@
 # Template file for 'cinnamon-session'
 pkgname=cinnamon-session
-version=6.4.0
-revision=2
+version=5.8.1
+revision=1
 build_style=meson
 build_helper="gir"
 hostmakedepends="pkg-config gettext-devel dbus-glib-devel glib-devel intltool
@@ -15,4 +15,4 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon-session"
 distfiles="https://github.com/linuxmint/cinnamon-session/archive/${version}.tar.gz"
-checksum=464075d920df360b5ad94f72395a09b5fbf8b14f0190406ec76055a17659e243
+checksum=bf8a4b622900c3b9c3d917bcacc1bbaed74aa07c69270f6fc53783a65b4687eb
diff --git a/srcpkgs/cinnamon-settings-daemon/template b/srcpkgs/cinnamon-settings-daemon/template
index 542aeaa00363c6..e1a57b6c278141 100644
--- a/srcpkgs/cinnamon-settings-daemon/template
+++ b/srcpkgs/cinnamon-settings-daemon/template
@@ -1,20 +1,20 @@
 # Template file for 'cinnamon-settings-daemon'
 pkgname=cinnamon-settings-daemon
-version=6.4.2
-revision=2
+version=5.8.1
+revision=1
 build_style=meson
 build_helper="gir"
 hostmakedepends="dbus-glib-devel gettext-devel glib-devel intltool pkg-config"
 makedepends="cinnamon-desktop-devel elogind-devel ibus-devel json-glib-devel
  libSM-devel libcanberra-devel libgnomekbd-devel libgudev-devel libnotify-devel
- nss-devel polkit-devel pulseaudio-devel upower-devel librsvg-devel"
+ nss-devel polkit-devel pulseaudio-devel upower-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Cinnamon Settings Daemon"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon-settings-daemon"
 distfiles="https://github.com/linuxmint/cinnamon-settings-daemon/archive/${version}.tar.gz"
-checksum=15e15d7e87d9c51271c0b042ed4177efa12622cf51bf1f2fa68e374757735512
+checksum=8b8a80b24755061128e45a064dc8320ce94b7f9bc9e13fd66fc5fae07e9de3a4
 
 cinnamon-settings-daemon-devel_package() {
 	short_desc+=" - development files"
diff --git a/srcpkgs/cinnamon-translations/template b/srcpkgs/cinnamon-translations/template
index 9cc599923b1cb4..794d42bb0dcd8f 100644
--- a/srcpkgs/cinnamon-translations/template
+++ b/srcpkgs/cinnamon-translations/template
@@ -1,6 +1,6 @@
 # Template file for 'cinnamon-translations'
 pkgname=cinnamon-translations
-version=6.4.1
+version=5.8.2
 revision=1
 build_style=gnu-makefile
 hostmakedepends="gettext"
@@ -9,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon-translations/"
 distfiles="https://github.com/linuxmint/cinnamon-translations/archive/${version}/cinnamon-translations-${version}.tar.gz"
-checksum=ef2b9e78a4d9bdb0e4374e8d387405f2de16471526dc36aa9b32f9718fa586e3
+checksum=3c4454696bd5d57d96dbbde10232c72b575d6e6e5364c657836967aa783ab0c8
 
 do_install() {
 	vmkdir usr
diff --git a/srcpkgs/cinnamon/template b/srcpkgs/cinnamon/template
index f1ae3d8ed6e5b6..d4184be444372c 100644
--- a/srcpkgs/cinnamon/template
+++ b/srcpkgs/cinnamon/template
@@ -1,32 +1,31 @@
 # Template file for 'cinnamon'
 pkgname=cinnamon
-version=6.4.2
-revision=3
+version=5.8.4
+revision=2
 build_style=meson
 build_helper="gir"
 hostmakedepends="pkg-config gettext gettext-devel glib-devel intltool xmlto
- gtk-doc python3-libsass"
+ gtk-doc"
 makedepends="cjs-devel clutter-gtk-devel cinnamon-menus-devel gstreamer1-devel
  muffin-devel libgnomekbd-devel polkit-devel libcanberra-devel gtk+3-devel
  startup-notification-devel pulseaudio-devel dbus-glib-devel xapps-devel
- NetworkManager-devel libcroco-devel cinnamon-desktop-devel librsvg-devel
- gcr-devel"
+ NetworkManager-devel libcroco-devel cinnamon-desktop-devel"
 depends="accountsservice libcaribou cinnamon-settings-daemon>=${version%.*}
  cinnamon-session>=${version%.*} muffin>=${version%.*} gsound
  cinnamon-control-center>=${version%.*} cinnamon-screensaver>=${version%.*}
- cinnamon-translations>=${version%.*} nemo>=${version%.*} gnome-themes-extra
- gnome-themes-standard-metacity gnome-backgrounds network-manager-applet
- polkit-gnome upower libkeybinder3 python3-dbus python3-gobject
- python3-pam python3-pexpect python3-Pillow python3-inotify python3-tinycss2
- python3-pytz python3-distro python3-requests libtimezonemap libsoup
- xdg-desktop-portal-xapp gettext"
+ cinnamon-translations>=${version%.*} nemo>=${version%.*}
+ gnome-themes-standard gnome-themes-standard-metacity gnome-backgrounds
+ network-manager-applet polkit-gnome upower>=0.99.7 libkeybinder3 python3-dbus
+ python3-gobject python3-pam python3-pexpect python3-Pillow python3-inotify
+ python3-tinycss python3-pytz python3-distro python3-requests libtimezonemap
+ libsoup"
 short_desc="GNOME3 fork of Linux Mint with GNOME2 aspect"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cinnamon"
 changelog="https://raw.githubusercontent.com/linuxmint/cinnamon/${version}/debian/changelog"
 distfiles="https://github.com/linuxmint/cinnamon/archive/${version}.tar.gz"
-checksum=56e2c5f2449f3fc6b0f378f2da98efdfe7a721b84e3c001fb16a14d85b399a97
+checksum=df80f8dad174b56fd0dc652f7af45f1638d73fedd5345af0617efe2b23edbc3c
 
 python_version=3
 pycompile_dirs="
diff --git a/srcpkgs/cjs/patches/fb480aae4eff422c3acd275c0108e970eafcdcb9.patch b/srcpkgs/cjs/patches/fb480aae4eff422c3acd275c0108e970eafcdcb9.patch
new file mode 100644
index 00000000000000..3c1c7e0599f476
--- /dev/null
+++ b/srcpkgs/cjs/patches/fb480aae4eff422c3acd275c0108e970eafcdcb9.patch
@@ -0,0 +1,46 @@
+From fb480aae4eff422c3acd275c0108e970eafcdcb9 Mon Sep 17 00:00:00 2001
+From: Dominik Opyd <dominik.opyd@gmail.com>
+Date: Wed, 8 Mar 2023 15:13:56 +0100
+Subject: [PATCH] fix(build, tests): move `have_gtk4` to the appropriate place
+
+---
+ installed-tests/js/meson.build | 10 +++++++---
+ meson.build                    |  4 ----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/installed-tests/js/meson.build b/installed-tests/js/meson.build
+index 62a935d1..877d18df 100644
+--- a/installed-tests/js/meson.build
++++ b/installed-tests/js/meson.build
+@@ -203,9 +203,13 @@ endif
+ # during build should be run using dbus-run-session
+ 
+ dbus_tests = ['GDBus']
+-if have_gtk4 and not get_option('skip_gtk_tests')
+-    # FIXME: find out why GTK4 tries to acquire a message bus
+-    dbus_tests += 'Gtk4'
++if not get_option('skip_gtk_tests')
++    have_gtk4 = dependency('gtk4', required: false).found()
++
++    if have_gtk4 
++        # FIXME: find out why GTK4 tries to acquire a message bus
++        dbus_tests += 'Gtk4'
++    endif
+ endif
+ 
+     bus_config = files('../../test/test-bus.conf')
+diff --git a/meson.build b/meson.build
+index 7bde6204..2bb38fa5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -679,10 +679,6 @@ endif
+ 
+ ### Tests and test setups ######################################################
+ 
+-if not get_option('skip_gtk_tests')
+-    have_gtk4 = dependency('gtk4', required: false).found()
+-endif
+-
+ subdir('installed-tests')
+ 
+ # Note: The test program in test/ needs to be ported
diff --git a/srcpkgs/cjs/template b/srcpkgs/cjs/template
index f9bf7ed8de3dad..319bae6b2b1302 100644
--- a/srcpkgs/cjs/template
+++ b/srcpkgs/cjs/template
@@ -1,19 +1,19 @@
 # Template file for 'cjs'
 pkgname=cjs
-version=6.4.0
-revision=2
+version=5.8.0
+revision=1
 build_style=meson
 build_helper="gir"
 configure_args="-Dprofiler=disabled -Dinstalled_tests=false"
 hostmakedepends="pkg-config glib-devel dbus xvfb-run gtk+3"
-makedepends="readline-devel mozjs115-devel"
+makedepends="readline-devel mozjs102-devel"
 depends="gtk+3"
 short_desc="Javascript for Cinnamon"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://github.com/linuxmint/cjs"
 distfiles="https://github.com/linuxmint/cjs/archive/refs/tags/${version}.tar.gz"
-checksum=55d730fdb331a9778a0d569e45c968ac68c8f218876e5d2d475cb5af21b6935a
+checksum=04e7c10a0a4d88ba446e6fb4f4788f732984e0318d775c646634a8619dfff7d2
 make_check_pre="xvfb-run"
 
 pre_configure() {
diff --git a/srcpkgs/clearine/template b/srcpkgs/clearine/template
index 629124d9e0633a..3652abb888a14f 100644
--- a/srcpkgs/clearine/template
+++ b/srcpkgs/clearine/template
@@ -1,7 +1,7 @@
 # Template file for 'clearine'
 pkgname=clearine
 version=0.7
-revision=9
+revision=8
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-gobject gtk+3 python3-cairo"
diff --git a/srcpkgs/cmakelang/template b/srcpkgs/cmakelang/template
index 936f72e358a3c0..f3888244216889 100644
--- a/srcpkgs/cmakelang/template
+++ b/srcpkgs/cmakelang/template
@@ -1,7 +1,7 @@
 # Template file for 'cmakelang'
 pkgname=cmakelang
 version=0.6.13
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-six"
diff --git a/srcpkgs/coccigrep/template b/srcpkgs/coccigrep/template
index 6dbe65444ef421..b651a489c68da0 100644
--- a/srcpkgs/coccigrep/template
+++ b/srcpkgs/coccigrep/template
@@ -1,7 +1,7 @@
 # Template file for 'coccigrep'
 pkgname=coccigrep
 version=1.20
-revision=6
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="coccinelle python3-Pygments"
diff --git a/srcpkgs/collectd/template b/srcpkgs/collectd/template
index 68115ac7edc94e..1b0b1d192ce8cd 100644
--- a/srcpkgs/collectd/template
+++ b/srcpkgs/collectd/template
@@ -1,7 +1,7 @@
 # Template file for 'collectd'
 pkgname=collectd
 version=5.12.0
-revision=13
+revision=12
 build_style=gnu-configure
 configure_args="$(vopt_enable rrdtool rrdtool) $(vopt_enable perl perl)
  $(vopt_enable notify notify_desktop) --with-libiptc --enable-virt
diff --git a/srcpkgs/compizconfig-python/template b/srcpkgs/compizconfig-python/template
index 32f9ec703770f1..9f790d0d663b72 100644
--- a/srcpkgs/compizconfig-python/template
+++ b/srcpkgs/compizconfig-python/template
@@ -1,7 +1,7 @@
 # Template file for 'compizconfig-python'
 pkgname=compizconfig-python
 version=0.8.18
-revision=8
+revision=7
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake libtool pkg-config glib-devel gettext-devel
diff --git a/srcpkgs/configshell-fb/template b/srcpkgs/configshell-fb/template
index 60204d519c0019..f198b1c1ceb1a9 100644
--- a/srcpkgs/configshell-fb/template
+++ b/srcpkgs/configshell-fb/template
@@ -1,7 +1,7 @@
 # Template file for 'configshell-fb'
 pkgname=configshell-fb
 version=1.1.29
-revision=5
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-six python3-urwid python3-parsing"
diff --git a/srcpkgs/console-setup/template b/srcpkgs/console-setup/template
index 70101503437cb9..d0f38678f41633 100644
--- a/srcpkgs/console-setup/template
+++ b/srcpkgs/console-setup/template
@@ -1,6 +1,6 @@
 # Template file for 'console-setup'
 pkgname=console-setup
-version=1.233
+version=1.232
 revision=1
 hostmakedepends="perl"
 depends="kbd ckbcomp"
@@ -9,7 +9,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-or-later"
 homepage="https://packages.debian.org/sid/console-setup"
 distfiles="${DEBIAN_SITE}/main/c/console-setup/console-setup_${version}.tar.xz"
-checksum=a53bb455ea02a964d246052c1b18809299d8f13ca6cda07dc2c8b15f498da5c6
+checksum=5eed5aef9ae3aee0bb0d3e6815d788c6ac003c5beee39536ab2c1e53d0cd8f7c
 conf_files="/etc/console-setup/console-setup
  /etc/console-setup/keyboard"
 
diff --git a/srcpkgs/cookiecutter/template b/srcpkgs/cookiecutter/template
index 441e4479553421..d6afe121113457 100644
--- a/srcpkgs/cookiecutter/template
+++ b/srcpkgs/cookiecutter/template
@@ -1,7 +1,7 @@
 # Template file for 'cookiecutter'
 pkgname=cookiecutter
 version=2.6.0
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-Arrow python3-Jinja2 python3-binaryornot python3-click
diff --git a/srcpkgs/coursera-dl/template b/srcpkgs/coursera-dl/template
index bfce84ede1f827..d84bb642f6de0d 100644
--- a/srcpkgs/coursera-dl/template
+++ b/srcpkgs/coursera-dl/template
@@ -1,7 +1,7 @@
 # Template file for 'coursera-dl'
 pkgname=coursera-dl
 version=0.11.5
-revision=7
+revision=6
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-attrs python3-setuptools python3-pyasn1 python3-ConfigArgParse
diff --git a/srcpkgs/cozy/template b/srcpkgs/cozy/template
index 56c4f11d12f6d1..73b171ff953cb9 100644
--- a/srcpkgs/cozy/template
+++ b/srcpkgs/cozy/template
@@ -1,14 +1,12 @@
 # Template file for 'cozy'
 pkgname=cozy
 version=1.3.0
-revision=2
+revision=1
 build_style=meson
 hostmakedepends="pkg-config glib-devel python3 python3-distro python3-peewee
  python3-mutagen python3-gobject-devel gettext desktop-file-utils
  gtk+3-devel"
-# FIXME: libgladeui3 added only to resolve ordering for Python rebuilds
-makedepends="libadwaita-devel glib-devel python3-gobject-devel libhandy1-devel
- granite-devel libgladeui3"
+makedepends="libadwaita-devel glib-devel python3-gobject-devel libhandy1-devel granite-devel"
 depends="python3-peewee gst-libav gst-plugins-good1 gst1-python3
  python3-mutagen python3-distro python3-apsw python3-packaging python3-pytz
  python3-requests python3-gobject libhandy1 granite libdazzle"
diff --git a/srcpkgs/cppman/template b/srcpkgs/cppman/template
index 524733390c853d..65402c167c389b 100644
--- a/srcpkgs/cppman/template
+++ b/srcpkgs/cppman/template
@@ -1,7 +1,7 @@
 # Template file for 'cppman'
 pkgname=cppman
 version=0.5.6
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-BeautifulSoup4 python3-html5lib python3-lxml"
diff --git a/srcpkgs/cpuset/template b/srcpkgs/cpuset/template
index 7bdb2d8b63bf9c..8bb7fb9b6b4502 100644
--- a/srcpkgs/cpuset/template
+++ b/srcpkgs/cpuset/template
@@ -1,7 +1,7 @@
 # Template file for 'cpuset'
 pkgname=cpuset
 version=1.6.2
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 short_desc="Wrapper to make kernel cpusets facilities easier to use"
diff --git a/srcpkgs/criu/template b/srcpkgs/criu/template
index 4da03cc94d54d9..ebe79c5ce0d793 100644
--- a/srcpkgs/criu/template
+++ b/srcpkgs/criu/template
@@ -1,7 +1,7 @@
 # Template file for 'criu'
 pkgname=criu
 version=3.18
-revision=3
+revision=2
 # i686 unsupported upstream: https://criu.org/32bit_tasks_C/R#Compatible_applications
 # ppc64 big endian not supported upstream
 archs="x86_64* aarch64* ppc64le* armv6l* armv7l*"
diff --git a/srcpkgs/cropgui/template b/srcpkgs/cropgui/template
index c90b5790eb80d3..62f225ee15c46b 100644
--- a/srcpkgs/cropgui/template
+++ b/srcpkgs/cropgui/template
@@ -1,7 +1,7 @@
 # Template file for 'cropgui'
 pkgname=cropgui
 version=0.9
-revision=2
+revision=1
 hostmakedepends="which python3-setuptools"
 depends="python3-Pillow python3-gobject libjpeg-turbo-tools ImageMagick exiftool gtk+3"
 short_desc="Gtk frontend for lossless cropping of jpeg images"
diff --git a/srcpkgs/cross-arm-none-eabi-gdb/template b/srcpkgs/cross-arm-none-eabi-gdb/template
index 65da639ef08cdf..0d4b70e59bd29d 100644
--- a/srcpkgs/cross-arm-none-eabi-gdb/template
+++ b/srcpkgs/cross-arm-none-eabi-gdb/template
@@ -1,17 +1,16 @@
 # Template file for 'cross-arm-none-eabi-gdb'
 pkgname=cross-arm-none-eabi-gdb
-version=15.2
-revision=1
+version=13.2
+revision=2
 build_style=gnu-configure
-configure_args="--target=arm-none-eabi --disable-werror --disable-nls
- --with-system-readline --with-system-gdbinit=/etc/gdb/gdbinit --with-system-zlib
- --without-isl $(vopt_with guile) $(vopt_if python --with-python=/usr/bin/python3)"
-hostmakedepends="pkg-config texinfo $(vopt_if python python3-devel)
- $(vopt_if guile guile)"
+configure_args="--target=arm-none-eabi --disable-werror --disable-nls --with-system-readline
+ --with-system-gdbinit=/etc/gdb/gdbinit --with-system-zlib --without-isl
+ $(vopt_with guile) $(vopt_if python --with-python=/usr/bin/python3)"
+hostmakedepends="pkg-config texinfo $(vopt_if python python3-devel) $(vopt_if guile guile)"
 # mpfr is necessary to emulate target floating point behavior
 # babeltrace is necessary for Common Trace Format support
-makedepends="expat-devel ncurses-devel readline-devel zlib-devel
- gmp-devel babeltrace-devel mpfr-devel
+makedepends="expat-devel ncurses-devel readline-devel zlib-devel gmp-devel
+ babeltrace-devel mpfr-devel
  $(vopt_if guile guile-devel) $(vopt_if python 'gettext-devel python3-devel')"
 depends="gdb-common"
 short_desc="GNU Debugger for ARM"
@@ -19,7 +18,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/gdb"
 distfiles="${GNU_SITE}/gdb/gdb-${version}.tar.xz"
-checksum=83350ccd35b5b5a0cba6b334c41294ea968158c573940904f00b92f76345314d
+checksum=fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a
 make_check=no  # See gdb/template.
 
 if [ "${CROSS_BUILD}" ]; then
diff --git a/srcpkgs/csound/template b/srcpkgs/csound/template
index 0b6e8b49da1cf9..199782284f5be8 100644
--- a/srcpkgs/csound/template
+++ b/srcpkgs/csound/template
@@ -1,7 +1,7 @@
 # Template file for 'csound'
 pkgname=csound
 version=6.18.1
-revision=4
+revision=3
 build_style=cmake
 configure_args="
  -DLUA_MODULE_INSTALL_DIR=${XBPS_CROSS_BASE}/usr/lib/lua/5.1
diff --git a/srcpkgs/ctop/template b/srcpkgs/ctop/template
index 051daa0116f20a..28566c53adcb2d 100644
--- a/srcpkgs/ctop/template
+++ b/srcpkgs/ctop/template
@@ -1,7 +1,7 @@
 # Template file for 'ctop'
 pkgname=ctop
 version=1.0.0
-revision=9
+revision=8
 build_style=python3-module
 pycompile_module="cgroup_top.py"
 hostmakedepends="python3-setuptools"
diff --git a/srcpkgs/curl/patches/fix-content-encoding.patch b/srcpkgs/curl/patches/fix-content-encoding.patch
new file mode 100644
index 00000000000000..f64546b6e082fe
--- /dev/null
+++ b/srcpkgs/curl/patches/fix-content-encoding.patch
@@ -0,0 +1,26 @@
+From 878bc429f26c27294787dc59d7b53345d9edc5aa Mon Sep 17 00:00:00 2001
+From: Jesus Malo Poyatos <jmalopoy@opentext.com>
+Date: Thu, 7 Nov 2024 14:00:53 +0100
+Subject: [PATCH] setopt: fix CURLOPT_HTTP_CONTENT_DECODING
+
+Regression from 30da1f5974d34841b30c4f (shipped in 8.11.0)
+
+Fixes #15511
+Closes #15510
+---
+ lib/setopt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/setopt.c b/lib/setopt.c
+index 4f0697212739ef..ba80644bc73279 100644
+--- a/lib/setopt.c
++++ b/lib/setopt.c
+@@ -1146,7 +1146,7 @@ static CURLcode setopt_long(struct Curl_easy *data, CURLoption option,
+     /*
+      * raw data passed to the application when content encoding is used
+      */
+-    data->set.http_ce_skip = enabled;
++    data->set.http_ce_skip = !enabled; /* reversed */
+     break;
+ 
+ #if !defined(CURL_DISABLE_FTP) || defined(USE_SSH)
diff --git a/srcpkgs/curl/patches/fix-netrc.patch b/srcpkgs/curl/patches/fix-netrc.patch
new file mode 100644
index 00000000000000..39ecce44dde0cb
--- /dev/null
+++ b/srcpkgs/curl/patches/fix-netrc.patch
@@ -0,0 +1,214 @@
+From d8010d956f09069d1d6b474abdee5864569e6920 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel@haxx.se>
+Date: Thu, 7 Nov 2024 08:52:38 +0100
+Subject: [PATCH] duphandle: also init netrc
+
+The netrc init was only done in the Curl_open, meaning that a duplicated
+handle would not get inited properly.
+
+Added test 2309 to verify. It does netrc auth with a duplicated handle.
+
+Regression from 3b43a05
+
+Reported-by: tranzystorekk on github
+Fixes #15496
+Closes #15...
+---
+ lib/easy.c                 |  1 +
+ tests/data/Makefile.am     |  2 +-
+ tests/data/test2309        | 63 ++++++++++++++++++++++++++++++++++++
+ tests/libtest/Makefile.inc |  5 ++-
+ tests/libtest/lib2309.c    | 66 ++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 135 insertions(+), 2 deletions(-)
+ create mode 100644 tests/data/test2309
+ create mode 100644 tests/libtest/lib2309.c
+
+diff --git a/lib/easy.c b/lib/easy.c
+index d16fa8c07afec0..ac8fab34220d9b 100644
+--- a/lib/easy.c
++++ b/lib/easy.c
+@@ -940,6 +940,7 @@ CURL *curl_easy_duphandle(CURL *d)
+     goto fail;
+ 
+   Curl_dyn_init(&outcurl->state.headerb, CURL_MAX_HTTP_HEADER);
++  Curl_netrc_init(&outcurl->state.netrc);
+ 
+   /* the connection pool is setup on demand */
+   outcurl->state.lastconnect_id = -1;
+diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
+index 02bf2ae25bfd49..ea5221c00fd419 100644
+--- a/tests/data/Makefile.am
++++ b/tests/data/Makefile.am
+@@ -255,7 +255,7 @@ test2100 \
+ test2200 test2201 test2202 test2203 test2204 test2205 \
+ \
+ test2300 test2301 test2302 test2303 test2304 test2305 test2306 test2307 \
+-test2308 \
++test2308 test2309 \
+ \
+ test2400 test2401 test2402 test2403 test2404 test2405 test2406 \
+ \
+diff --git a/tests/data/test2309 b/tests/data/test2309
+new file mode 100644
+index 00000000000000..a7ab8ed83b4945
+--- /dev/null
++++ b/tests/data/test2309
+@@ -0,0 +1,63 @@
++<testcase>
++<info>
++<keywords>
++netrc
++HTTP
++</keywords>
++</info>
++#
++# Server-side
++<reply>
++<data crlf="yes" nocheck="yes">
++HTTP/1.1 200 OK
++Date: Tue, 09 Nov 2010 14:49:00 GMT
++Server: test-server/fake
++Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
++ETag: "21025-dc7-39462498"
++Accept-Ranges: bytes
++Content-Length: 6
++Connection: close
++Content-Type: text/html
++Funny-head: yesyes
++
++-foo-
++</data>
++</reply>
++
++#
++# Client-side
++<client>
++<server>
++http
++</server>
++
++# Reproducing issue 15496
++<name>
++HTTP with .netrc using duped easy handle
++</name>
++<tool>
++lib%TESTNUMBER
++</tool>
++<command>
++http://github.com %LOGDIR/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/
++</command>
++<file name="%LOGDIR/netrc%TESTNUMBER" >
++
++machine github.com
++
++login daniel
++password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1
++</file>
++</client>
++
++<verify>
++<protocol>
++GET http://github.com/ HTTP/1.1
++Host: github.com
++Authorization: Basic %b64[daniel:$y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1]b64%
++Accept: */*
++Proxy-Connection: Keep-Alive
++
++</protocol>
++</verify>
++</testcase>
+diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc
+index 339a00fc4ed41e..8f58fd64229d5c 100644
+--- a/tests/libtest/Makefile.inc
++++ b/tests/libtest/Makefile.inc
+@@ -77,7 +77,7 @@ LIBTESTPROGS = libauthretry libntlmconnect libprereq                     \
+  lib1945 lib1946 lib1947 lib1948 lib1955 lib1956 lib1957 lib1958 lib1959 \
+  lib1960 lib1964 \
+  lib1970 lib1971 lib1972 lib1973 lib1974 lib1975 \
+- lib2301 lib2302 lib2304 lib2305 lib2306         lib2308 \
++ lib2301 lib2302 lib2304 lib2305 lib2306         lib2308 lib2309 \
+  lib2402 lib2404 lib2405 \
+  lib2502 \
+  lib3010 lib3025 lib3026 lib3027 \
+@@ -683,6 +683,9 @@ lib2306_LDADD = $(TESTUTIL_LIBS)
+ lib2308_SOURCES = lib2308.c $(SUPPORTFILES)
+ lib2308_LDADD = $(TESTUTIL_LIBS)
+ 
++lib2309_SOURCES = lib2309.c $(SUPPORTFILES)
++lib2309_LDADD = $(TESTUTIL_LIBS)
++
+ lib2402_SOURCES = lib2402.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+ lib2402_LDADD = $(TESTUTIL_LIBS)
+ 
+diff --git a/tests/libtest/lib2309.c b/tests/libtest/lib2309.c
+new file mode 100644
+index 00000000000000..009ff92817ab8c
+--- /dev/null
++++ b/tests/libtest/lib2309.c
+@@ -0,0 +1,66 @@
++/***************************************************************************
++ *                                  _   _ ____  _
++ *  Project                     ___| | | |  _ \| |
++ *                             / __| | | | |_) | |
++ *                            | (__| |_| |  _ <| |___
++ *                             \___|\___/|_| \_\_____|
++ *
++ * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
++ *
++ * This software is licensed as described in the file COPYING, which
++ * you should have received as part of this distribution. The terms
++ * are also available at https://curl.se/docs/copyright.html.
++ *
++ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
++ * copies of the Software, and permit persons to whom the Software is
++ * furnished to do so, under the terms of the COPYING file.
++ *
++ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
++ * KIND, either express or implied.
++ *
++ * SPDX-License-Identifier: curl
++ *
++ ***************************************************************************/
++
++#include "test.h"
++#include "testtrace.h"
++
++#include <curl/curl.h>
++
++static size_t cb_curl(char *buffer, size_t size, size_t nmemb, void *userp)
++{
++  (void)buffer;
++  (void)size;
++  (void)nmemb;
++  (void)userp;
++  return CURL_WRITEFUNC_ERROR;
++}
++
++CURLcode test(char *URL)
++{
++  CURL *curl;
++  CURL *curldupe;
++  CURLcode res = CURLE_OK;
++
++  global_init(CURL_GLOBAL_ALL);
++  curl = curl_easy_init();
++  if(curl) {
++    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cb_curl);
++    curl_easy_setopt(curl, CURLOPT_URL, URL);
++    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
++    curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg3);
++    curl_easy_setopt(curl, CURLOPT_NETRC, (long)CURL_NETRC_REQUIRED);
++    curl_easy_setopt(curl, CURLOPT_NETRC_FILE, libtest_arg2);
++
++    curldupe = curl_easy_duphandle(curl);
++    if(curldupe) {
++      res = curl_easy_perform(curldupe);
++      printf("Returned %d, should be %d.\n", res, CURLE_WRITE_ERROR);
++      fflush(stdout);
++      curl_easy_cleanup(curldupe);
++    }
++    curl_easy_cleanup(curl);
++  }
++  curl_global_cleanup();
++  return CURLE_OK;
++}
diff --git a/srcpkgs/curl/template b/srcpkgs/curl/template
index a6253fd2d9191b..30a17c5eb9930b 100644
--- a/srcpkgs/curl/template
+++ b/srcpkgs/curl/template
@@ -1,7 +1,7 @@
 # Template file for 'curl'
 pkgname=curl
-version=8.11.1
-revision=2
+version=8.11.0
+revision=3
 build_style=gnu-configure
 configure_args="ac_cv_sizeof_off_t=8 --enable-threaded-resolver --enable-ipv6
  --with-random=/dev/urandom
@@ -30,7 +30,7 @@ license="MIT"
 homepage="https://curl.se"
 changelog="https://curl.se/changes.html"
 distfiles="https://curl.se/download/curl-${version}.tar.gz"
-checksum=a889ac9dbba3644271bd9d1302b5c22a088893719b72be3487bc3d401e5c4e80
+checksum=264537d90e58d2b09dddc50944baf3c38e7089151c8986715e2aaeaaf2b8118f
 build_options="gnutls gssapi idn ldap psl rtmp ssh ssl zstd"
 build_options_default="idn psl ssh ssl zstd"
 vopt_conflict ssl gnutls
diff --git a/srcpkgs/curseradio/template b/srcpkgs/curseradio/template
index 911d56f3a00216..d1e87c73399d41 100644
--- a/srcpkgs/curseradio/template
+++ b/srcpkgs/curseradio/template
@@ -1,7 +1,7 @@
 # Template file for 'curseradio'
 pkgname=curseradio
 version=0.0.20171017
-revision=9
+revision=8
 _commit=1bd4bd0faeec675e0647bac9a100b526cba19f8d
 build_style=python3-module
 pycompile_module="curseradio"
diff --git a/srcpkgs/cutter/template b/srcpkgs/cutter/template
index fdc3d7db29ea42..ad842ce190294f 100644
--- a/srcpkgs/cutter/template
+++ b/srcpkgs/cutter/template
@@ -1,7 +1,7 @@
 # Template file for 'cutter'
 pkgname=cutter
 version=2.3.4
-revision=3
+revision=2
 build_style=cmake
 configure_args="-DCUTTER_EXTRA_PLUGIN_DIRS=/usr/lib/rizin/cutter/plugins
  -DCUTTER_ENABLE_PYTHON=ON -DCUTTER_ENABLE_PYTHON_BINDINGS=OFF
diff --git a/srcpkgs/d-feet/template b/srcpkgs/d-feet/template
index 17211af6d0443b..37e65367988b41 100644
--- a/srcpkgs/d-feet/template
+++ b/srcpkgs/d-feet/template
@@ -1,7 +1,7 @@
 # Template file for 'd-feet'
 pkgname=d-feet
 version=0.3.16
-revision=5
+revision=4
 build_style=meson
 hostmakedepends="pkg-config gettext itstool python3-pycodestyle"
 makedepends="gtk+3-devel gobject-introspection"
diff --git a/srcpkgs/deluge/template b/srcpkgs/deluge/template
index 7c464732902b8c..0c5c0b111553bd 100644
--- a/srcpkgs/deluge/template
+++ b/srcpkgs/deluge/template
@@ -1,7 +1,7 @@
 # Template file for 'deluge'
 pkgname=deluge
 version=2.1.1
-revision=3
+revision=2
 build_style=python3-module
 # TODO package python3-slimit to minify javascript
 hostmakedepends="intltool python3-setuptools python3-wheel"
diff --git a/srcpkgs/devedeng/template b/srcpkgs/devedeng/template
index 5ec41d20554074..3aff048055456b 100644
--- a/srcpkgs/devedeng/template
+++ b/srcpkgs/devedeng/template
@@ -1,7 +1,7 @@
 # Template file for 'devedeng'
 pkgname=devedeng
 version=4.17.0
-revision=4
+revision=3
 build_style=python3-module
 hostmakedepends="gettext python3-setuptools"
 depends="cdrtools desktop-file-utils dvdauthor ffmpeg gtk+3
diff --git a/srcpkgs/diffoscope/template b/srcpkgs/diffoscope/template
index a1c0475b7f0dbf..e9eb6999478153 100644
--- a/srcpkgs/diffoscope/template
+++ b/srcpkgs/diffoscope/template
@@ -1,7 +1,7 @@
 # Template file for 'diffoscope'
 pkgname=diffoscope
 version=260
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-magic python3-libarchive-c python3-progressbar
diff --git a/srcpkgs/discord/template b/srcpkgs/discord/template
index 7fd0f091e85073..ff6f67c3b13325 100644
--- a/srcpkgs/discord/template
+++ b/srcpkgs/discord/template
@@ -1,6 +1,6 @@
 # Template file for 'discord'
 pkgname=discord
-version=0.0.77
+version=0.0.76
 revision=1
 archs="x86_64"
 depends="alsa-lib dbus-glib gtk+3 libnotify nss libXtst libcxx libatomic
@@ -10,7 +10,7 @@ maintainer="Ryan Conwell <ryanconwell@protonmail.com>"
 license="custom:Proprietary"
 homepage="https://discord.com"
 distfiles="https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"
-checksum=326ea477006c20e3a453570d81fc78119abfc5e64fc146f691e281918bf9da14
+checksum=cf96f2579e9b6d740ad28e901fd7267aa76383dff8bdb468866138620286354c
 repository=nonfree
 restricted=yes
 nopie=yes
diff --git a/srcpkgs/distcc/template b/srcpkgs/distcc/template
index 3122b3c83206e1..f1685d9ac0ff2a 100644
--- a/srcpkgs/distcc/template
+++ b/srcpkgs/distcc/template
@@ -1,7 +1,7 @@
 # Template file for 'distcc'
 pkgname=distcc
 version=3.4
-revision=3
+revision=2
 build_style=gnu-configure
 configure_args="--disable-Werror"
 conf_files="
diff --git a/srcpkgs/docker-cli/template b/srcpkgs/docker-cli/template
index 10fe40551e185f..d727e81f632c09 100644
--- a/srcpkgs/docker-cli/template
+++ b/srcpkgs/docker-cli/template
@@ -1,7 +1,7 @@
 # Template file for 'docker-cli'
 # should be kept in sync with moby
 pkgname=docker-cli
-version=27.4.0
+version=27.3.1
 revision=1
 build_style=go
 go_package="github.com/docker/cli/cmd/docker"
@@ -16,7 +16,7 @@ maintainer="Andrea Brancaleoni <abc@pompel.me>"
 license="Apache-2.0"
 homepage="https://www.docker.com"
 distfiles="https://github.com/docker/cli/archive/v${version}.tar.gz"
-checksum=50140bb5466b4a479dd1a1867cecb05a5536379d0da171c994a6be1334eeae70
+checksum=df7d44387166d90954e290dfbe0a278649bf71d0e89933615bdc0757580b68e4
 system_groups="docker"
 
 pre_build() {
diff --git a/srcpkgs/downloader-cli/template b/srcpkgs/downloader-cli/template
index eba586c0494a9a..d2d48437a6e2e3 100644
--- a/srcpkgs/downloader-cli/template
+++ b/srcpkgs/downloader-cli/template
@@ -1,7 +1,7 @@
 # Template file for 'downloader-cli'
 pkgname=downloader-cli
 version=0.3.4
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-urllib3 python3-downloader-cli"
diff --git a/srcpkgs/dtrx/template b/srcpkgs/dtrx/template
index 78bb492442bf4f..f7299e4174270d 100644
--- a/srcpkgs/dtrx/template
+++ b/srcpkgs/dtrx/template
@@ -1,7 +1,7 @@
 # Template file for 'dtrx'
 pkgname=dtrx
 version=8.5.3
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
diff --git a/srcpkgs/duckdb/template b/srcpkgs/duckdb/template
index 93999411b92024..b72ae8fe58453c 100644
--- a/srcpkgs/duckdb/template
+++ b/srcpkgs/duckdb/template
@@ -1,7 +1,7 @@
 # Template file for 'duckdb'
 pkgname=duckdb
 version=1.1.3
-revision=2
+revision=1
 archs="x86_64* aarch64*" # 32-bit FTBFS
 build_style=cmake
 build_helper="python3"
diff --git a/srcpkgs/duplicity/template b/srcpkgs/duplicity/template
index 1097fcac974fbc..0136439e1e0c8b 100644
--- a/srcpkgs/duplicity/template
+++ b/srcpkgs/duplicity/template
@@ -1,6 +1,6 @@
 # Template file for 'duplicity'
 pkgname=duplicity
-version=3.0.3.1
+version=2.2.3
 revision=1
 build_style=python3-module
 hostmakedepends="gettext python3-setuptools_scm"
@@ -14,7 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://duplicity.gitlab.io"
 changelog="https://gitlab.com/duplicity/duplicity/-/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/d/duplicity/duplicity-${version}.tar.gz"
-checksum=33b5e5f28384ee51dd750f926273903604606bfc08a0c4a5c738064dc5c99c2e
+checksum=4ad43f93601b1a41fb5f642bdda1706a1fb75f8ef1d6d482dd7f23107eaee87d
 
 duplicity-doc_package() {
 	short_desc+=" - documentation"
diff --git a/srcpkgs/eduvpn-common/template b/srcpkgs/eduvpn-common/template
index 1ec33f0fc22331..43ae352e4b8a79 100644
--- a/srcpkgs/eduvpn-common/template
+++ b/srcpkgs/eduvpn-common/template
@@ -1,7 +1,7 @@
 # Template file for 'eduvpn-common'
 pkgname=eduvpn-common
 version=2.1.0
-revision=3
+revision=2
 build_style=go
 go_import_path=github.com/eduvpn/eduvpn-common
 hostmakedepends="python3-setuptools python3-wheel"
diff --git a/srcpkgs/edx-dl/template b/srcpkgs/edx-dl/template
index 50f3338aa60efb..a2221e54b798a2 100644
--- a/srcpkgs/edx-dl/template
+++ b/srcpkgs/edx-dl/template
@@ -1,7 +1,7 @@
 # Template file for 'edx-dl'
 pkgname=edx-dl
 version=0.1.13
-revision=6
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-BeautifulSoup4 python3-html5lib python3-setuptools
diff --git a/srcpkgs/electrum/template b/srcpkgs/electrum/template
index 8f11be9033fea1..58c07e3b45283e 100644
--- a/srcpkgs/electrum/template
+++ b/srcpkgs/electrum/template
@@ -1,7 +1,7 @@
 # Template file for 'electrum'
 pkgname=electrum
 version=4.5.8
-revision=2
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-pyqt6-devel-tools"
 depends="python3-aiohttp python3-aiohttp_socks python3-aiorpcx
diff --git a/srcpkgs/eog-plugins/template b/srcpkgs/eog-plugins/template
index 3c4f801f00f8fb..317b24e4e623b8 100644
--- a/srcpkgs/eog-plugins/template
+++ b/srcpkgs/eog-plugins/template
@@ -1,7 +1,7 @@
 # Template file for 'eog-plugins'
 pkgname=eog-plugins
 version=44.0
-revision=2
+revision=1
 build_style=meson
 pycompile_dirs="usr/lib/eog/plugins"
 hostmakedepends="glib-devel pkg-config gettext"
diff --git a/srcpkgs/eolie/template b/srcpkgs/eolie/template
index 662150a2a110dd..3ea105b1295ada 100644
--- a/srcpkgs/eolie/template
+++ b/srcpkgs/eolie/template
@@ -1,7 +1,7 @@
 # Template file for 'eolie'
 pkgname=eolie
 version=0.9.101
-revision=3
+revision=2
 _eolie_hash=bb4aad19272cc636bd17f2f6602127fe
 _po=d5aac9503b4af24e3df89f531305cf9a70e26549
 build_style=meson
diff --git a/srcpkgs/epy/template b/srcpkgs/epy/template
index 15ed2f1775c243..3eb1b98ff8dc4b 100644
--- a/srcpkgs/epy/template
+++ b/srcpkgs/epy/template
@@ -1,7 +1,7 @@
 # Template file for 'epy'
 pkgname=epy
 version=2023.6.11
-revision=3
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
 depends="python3"
diff --git a/srcpkgs/ergo/template b/srcpkgs/ergo/template
index e55f059e42239e..6da23dff14d04d 100644
--- a/srcpkgs/ergo/template
+++ b/srcpkgs/ergo/template
@@ -6,7 +6,7 @@ build_style=go
 go_import_path="github.com/ergochat/ergo"
 go_ldflags="-X main.version=$version"
 short_desc="Modern IRC server with integrated bouncer features and services"
-maintainer="Lydia Sobot <chilledfrogs@disroot.org>"
+maintainer="Allen Sobot <chilledfrogs@disroot.org>"
 license="MIT"
 homepage="https://ergo.chat/"
 changelog="https://raw.githubusercontent.com/ergochat/ergo/master/CHANGELOG.md"
diff --git a/srcpkgs/esptool/template b/srcpkgs/esptool/template
index 66d32ee9a2f0c8..558dd2584aa96d 100644
--- a/srcpkgs/esptool/template
+++ b/srcpkgs/esptool/template
@@ -1,7 +1,7 @@
 # Template file for 'esptool'
 pkgname=esptool
 version=4.5.1
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-bitstring python3-cryptography python3-ecdsa python3-pyserial
diff --git a/srcpkgs/etcetera/template b/srcpkgs/etcetera/template
index e33bba939c3e8f..786aebc8af17be 100644
--- a/srcpkgs/etcetera/template
+++ b/srcpkgs/etcetera/template
@@ -1,7 +1,7 @@
 # Template file for 'etcetera'
 pkgname=etcetera
 version=1.0
-revision=6
+revision=5
 pycompile_dirs="usr/lib/etcetera"
 depends="python3"
 short_desc="Config file management with a touch of wisdom"
diff --git a/srcpkgs/etesync-dav/template b/srcpkgs/etesync-dav/template
index c455d9ddacba3e..3b165869aeb00f 100644
--- a/srcpkgs/etesync-dav/template
+++ b/srcpkgs/etesync-dav/template
@@ -1,7 +1,7 @@
 # Template file for 'etesync-dav'
 pkgname=etesync-dav
 version=0.32.1
-revision=4
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-etesync python3-etebase radicale2 python3-Flask python3-Flask-WTF"
diff --git a/srcpkgs/evemu/template b/srcpkgs/evemu/template
index 6bea4fbf7d0256..318860f92bd329 100644
--- a/srcpkgs/evemu/template
+++ b/srcpkgs/evemu/template
@@ -1,7 +1,7 @@
 # Template file for 'evemu'
 pkgname=evemu
 version=2.7.0
-revision=5
+revision=4
 build_style=gnu-configure
 hostmakedepends="pkg-config python3 asciidoc xmlto"
 makedepends="libevdev-devel"
diff --git a/srcpkgs/extension-manager/patches/f3768fb0227c714d7ed0613a28142613aa4a9c6b.patch b/srcpkgs/extension-manager/patches/f3768fb0227c714d7ed0613a28142613aa4a9c6b.patch
new file mode 100644
index 00000000000000..b32f8ab5e22fe1
--- /dev/null
+++ b/srcpkgs/extension-manager/patches/f3768fb0227c714d7ed0613a28142613aa4a9c6b.patch
@@ -0,0 +1,53 @@
+From f3768fb0227c714d7ed0613a28142613aa4a9c6b Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoyuan@gmail.com>
+Date: Mon, 29 Apr 2024 13:40:41 -0400
+Subject: [PATCH] backtrace: Define static functions only if `WITH_BACKTRACE`
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The static functions are internal to file exm-backtrace.c and are only
+used to facilitate backtrace collection.  In build configurations with
+backtraces disabled ('meson setup -Dbacktrace=false'),
+exm_backtrace_print() will not call the static functions, so they are
+unused and thus need not be defined.
+
+Previously, due to how the preprocessor macros were arranged, the static
+variables in this file would not be defined when backtraces are
+disabled; if any static functions use them, then builds with backtraces
+disabled would fail due to a compiler error like:
+
+    ../extension-manager-0.5.1/src/exm-backtrace.c: In function ‘exm_backtrace_full_cb’:
+    ../extension-manager-0.5.1/src/exm-backtrace.c:58:9: error: ‘frames_omitted_count’ undeclared (first use in this function)
+       58 |         frames_omitted_count++;
+          |
+
+This commit fixes such errors when backtraces are disabled.
+
+Fixes: dcc312e (Make libbacktrace an optional dependency, 2023-06-03)
+Fixes: d63d301 (backtrace: Collate 'null' messages, 2024-04-01)
+Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
+---
+ src/exm-backtrace.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/exm-backtrace.c b/src/exm-backtrace.c
+index b6c3ae35..e7a449a8 100644
+--- a/src/exm-backtrace.c
++++ b/src/exm-backtrace.c
+@@ -33,7 +33,6 @@
+ #if WITH_BACKTRACE
+ static struct backtrace_state *state = NULL;
+ static int frames_omitted_count = 0;
+-#endif
+ 
+ static void
+ exm_backtrace_error_cb (void       *data,
+@@ -71,6 +70,7 @@ exm_backtrace_full_cb (GString    *string_builder,
+ 
+     return 0;
+ }
++#endif
+ 
+ void
+ exm_backtrace_init (char *filename)
diff --git a/srcpkgs/extension-manager/template b/srcpkgs/extension-manager/template
index 59b938d8e4ac60..23cbc0fd7a96ab 100644
--- a/srcpkgs/extension-manager/template
+++ b/srcpkgs/extension-manager/template
@@ -1,19 +1,19 @@
 # Template file for 'extension-manager'
 pkgname=extension-manager
-version=0.6.0
+version=0.5.1
 revision=1
 build_style=meson
 configure_args="-Dbacktrace=false"
 hostmakedepends="pkg-config gettext blueprint-compiler desktop-file-utils
- glib-devel gtk4-update-icon-cache"
-makedepends="libadwaita-devel libsoup3-devel"
+ glib-devel gtk-update-icon-cache"
+makedepends="libadwaita-devel text-engine-devel"
 short_desc="Utility for browsing and installing GNOME Shell Extensions"
 maintainer="chrysos349 <chrysostom349@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/mjakeman/extension-manager"
 changelog="https://github.com/mjakeman/extension-manager/releases"
 distfiles="https://github.com/mjakeman/extension-manager/archive/v${version}.tar.gz"
-checksum=7f9798d86e5e4f7213b618e8a69a2f6a943381dde8d37132bc497f5a9a848554
+checksum=b4cd95cbf45a3d046858fb44e78f3e3147a24279e77bfbbe8a422920f20a7b3b
 
 pre_build() {
 	if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/eyeD3/template b/srcpkgs/eyeD3/template
index 0815e9122ad9b6..469383a78e2240 100644
--- a/srcpkgs/eyeD3/template
+++ b/srcpkgs/eyeD3/template
@@ -1,7 +1,7 @@
 # Template file for 'eyeD3'
 pkgname=eyeD3
 version=0.9.6
-revision=4
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-pylast python3-setuptools python3-deprecation python3-filetype"
diff --git a/srcpkgs/eza/template b/srcpkgs/eza/template
index 6d89b3ab841191..4b9d80f278dcbd 100644
--- a/srcpkgs/eza/template
+++ b/srcpkgs/eza/template
@@ -1,7 +1,7 @@
 # Template file for 'eza'
 pkgname=eza
-version=0.20.12
-revision=2
+version=0.20.11
+revision=1
 build_style=cargo
 hostmakedepends="pkg-config"
 makedepends="libgit2-1.8-devel"
@@ -12,8 +12,8 @@ homepage="https://eza.rocks"
 changelog="https://raw.githubusercontent.com/eza-community/eza/main/CHANGELOG.md"
 distfiles="https://github.com/eza-community/eza/archive/refs/tags/v${version}.tar.gz
  https://github.com/eza-community/eza/releases/download/v${version}/man-${version}.tar.gz"
-checksum="c40edf02e662f6bba4997a3d497a30561c3d2de9a329f9869761acf8b7f69562
- 0395bf06eedcdef958ef4132c2fc60be18ba60eb275b10010c5bf1e7af6a3949"
+checksum="1a3ec9fb87c61e2369b46945ff1fafb7cbb5e6cb4693bb59003f4b628a93a04c
+ 325f28fb858618632a7a4737e08d2f03f645d2674133fe7b347fea873621de80"
 
 skip_extraction="man-${version}.tar.gz"
 
diff --git a/srcpkgs/fail2ban/template b/srcpkgs/fail2ban/template
index 82db4745a2f5d7..578193b73a8519 100644
--- a/srcpkgs/fail2ban/template
+++ b/srcpkgs/fail2ban/template
@@ -1,7 +1,7 @@
 # Template file for 'fail2ban'
 pkgname=fail2ban
-version=1.1.0
-revision=1
+version=1.0.2
+revision=4
 build_style=python3-module
 hostmakedepends="pkg-config python3-setuptools"
 depends="python3-pyasynchat"
@@ -11,7 +11,7 @@ license="GPL-2.0-only"
 homepage="https://www.fail2ban.org/"
 changelog="https://raw.githubusercontent.com/fail2ban/fail2ban/master/ChangeLog"
 distfiles="https://github.com/fail2ban/fail2ban/archive/${version}.tar.gz"
-checksum=474fcc25afdaf929c74329d1e4d24420caabeea1ef2e041a267ce19269570bae
+checksum=ae8b0b41f27a7be12d40488789d6c258029b23a01168e3c0d347ee80b325ac23
 conf_files="
  /etc/fail2ban/fail2ban.conf
  /etc/fail2ban/jail.conf
@@ -19,6 +19,10 @@ conf_files="
  /etc/fail2ban/filter.d/*.conf"
 make_dirs="/var/lib/fail2ban 0700 root root"
 
+pre_build() {
+	./fail2ban-2to3
+}
+
 post_install() {
 	vman man/jail.conf.5
 	rm -rf ${DESTDIR}/${py3_sitelib}/fail2ban/tests
diff --git a/srcpkgs/fava/template b/srcpkgs/fava/template
index 7f9708f656401f..c07e969a6dcac7 100644
--- a/srcpkgs/fava/template
+++ b/srcpkgs/fava/template
@@ -1,7 +1,7 @@
 # Template file for 'fava'
 pkgname=fava
 version=1.27.3
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools_scm python3-wheel python3-Babel"
 depends="python3-Babel python3-Cheroot python3-Flask-Babel python3-Flask
diff --git a/srcpkgs/fenrir/template b/srcpkgs/fenrir/template
index 78cf7be05e3853..b99bbbb973aeca 100644
--- a/srcpkgs/fenrir/template
+++ b/srcpkgs/fenrir/template
@@ -1,7 +1,7 @@
 # Template file for 'fenrir'
 pkgname=fenrir
 version=1.9.8
-revision=3
+revision=2
 build_style=python3-module
 hostmakedepends="python3 python3-setuptools"
 depends="python3-evdev python3-daemonize python3-dbus python3-pyudev
diff --git a/srcpkgs/fetchmail/template b/srcpkgs/fetchmail/template
index fe8c69f4eaf573..8888f0bcb749ab 100644
--- a/srcpkgs/fetchmail/template
+++ b/srcpkgs/fetchmail/template
@@ -1,7 +1,7 @@
 # Template file for 'fetchmail'
 pkgname=fetchmail
 version=6.4.30
-revision=5
+revision=4
 build_style=gnu-configure
 configure_args="--with-ssl=${XBPS_CROSS_BASE}/usr"
 hostmakedepends="python3 pkg-config"
diff --git a/srcpkgs/fftw/patches/clock-gettime.patch b/srcpkgs/fftw/patches/clock-gettime.patch
deleted file mode 100644
index 2fd37c837a930a..00000000000000
--- a/srcpkgs/fftw/patches/clock-gettime.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 8fdc7b71354fbbbbc68fa8b2b810610ee41e052f Mon Sep 17 00:00:00 2001
-From: Frank Hartmann <frank.hartmann@dreamchip.de>
-Date: Fri, 5 Jan 2018 21:27:23 +0100
-Subject: [PATCH 1/2] linux: avoid using CLOCK_SGI_CYCLE
-
-The call clock_gettime(CLOCK_SGI_CYCLE, &t) from function getticks() fails with EINVAL.
-See : http://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/time.h#L62 - "The driver implementing this got removed. The clock ID is kept as a place holder. Do not reuse!"
----
- kernel/cycle.h | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/cycle.h b/kernel/cycle.h
-index fe3dd50d6..21d206e35 100644
---- a/kernel/cycle.h
-+++ b/kernel/cycle.h
-@@ -437,8 +437,18 @@ INLINE_ELAPSED(__inline)
- #define HAVE_TICK_COUNTER
- #endif
- /*----------------------------------------------------------------*/
--/* SGI/Irix */
--#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) && !defined(HAVE_TICK_COUNTER) && !defined(__ANDROID__)
-+/* SGI/Irix/Linux but not android */
-+#if !defined(__ANDROID__)
-+#if defined(HAVE_CLOCK_GETTIME) && !defined(HAVE_TICK_COUNTER)
-+#if defined(CLOCK_MONOTONIC)
-+#define METHOD CLOCK_MONOTONIC
-+#elif defined(CLOCK_REALTIME)
-+#define METHOD CLOCK_REALTIME
-+#elif defined(CLOCK_SGI_CYCLE)
-+#define METHOD CLOCK_SGI_CYCLE
-+#endif
-+#endif
-+
- typedef struct timespec ticks;
- 
- static inline ticks getticks(void)
-
-From c68b27dedad182b0b222502d98cc9795787c2607 Mon Sep 17 00:00:00 2001
-From: Frank Hartmann <frank.hartmann@dreamchip.de>
-Date: Sun, 14 Jan 2018 16:52:30 +0100
-Subject: [PATCH 2/2] linux: avoid using CLOCK_SGI_CYCLE, use METHOD
-
----
- kernel/cycle.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/kernel/cycle.h b/kernel/cycle.h
-index 21d206e35..777d1cda5 100644
---- a/kernel/cycle.h
-+++ b/kernel/cycle.h
-@@ -438,8 +438,8 @@ INLINE_ELAPSED(__inline)
- #endif
- /*----------------------------------------------------------------*/
- /* SGI/Irix/Linux but not android */
--#if !defined(__ANDROID__)
--#if defined(HAVE_CLOCK_GETTIME) && !defined(HAVE_TICK_COUNTER)
-+#if !defined(__ANDROID__) && !defined(HAVE_TICK_COUNTER)
-+#if defined(HAVE_CLOCK_GETTIME)
- #if defined(CLOCK_MONOTONIC)
- #define METHOD CLOCK_MONOTONIC
- #elif defined(CLOCK_REALTIME)
-@@ -454,7 +454,7 @@ typedef struct timespec ticks;
- static inline ticks getticks(void)
- {
-      struct timespec t;
--     clock_gettime(CLOCK_SGI_CYCLE, &t);
-+     clock_gettime(METHOD, &t);
-      return t;
- }
- 
diff --git a/srcpkgs/fftw/template b/srcpkgs/fftw/template
index 5314c877db8146..24354bb396296c 100644
--- a/srcpkgs/fftw/template
+++ b/srcpkgs/fftw/template
@@ -1,7 +1,7 @@
 # Template file for 'fftw'
 pkgname=fftw
 version=3.3.10
-revision=3
+revision=2
 hostmakedepends="libtool automake cmake-bootstrap"
 makedepends="libgomp-devel"
 short_desc="Library for computing the discrete Fourier transform (DFT)"
diff --git a/srcpkgs/fierce/template b/srcpkgs/fierce/template
index ca3dc48a4968e0..17ae6e20ac916e 100644
--- a/srcpkgs/fierce/template
+++ b/srcpkgs/fierce/template
@@ -1,7 +1,7 @@
 # Template file for 'fierce'
 pkgname=fierce
 version=1.6.0
-revision=2
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
 depends="python3-dnspython"
diff --git a/srcpkgs/fifengine/template b/srcpkgs/fifengine/template
index fc9a6f6b528720..826a1ef87524bf 100644
--- a/srcpkgs/fifengine/template
+++ b/srcpkgs/fifengine/template
@@ -1,7 +1,7 @@
 # Template file for 'fifengine'
 pkgname=fifengine
 version=0.4.2
-revision=15
+revision=14
 build_style=cmake
 hostmakedepends="swig python3 python3-setuptools"
 makedepends="SDL2-devel SDL2_image-devel SDL2_ttf-devel boost-devel
diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template
index 42f11793bf3e90..da04ad2de51080 100644
--- a/srcpkgs/firefox/template
+++ b/srcpkgs/firefox/template
@@ -3,15 +3,15 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n".
 #
 pkgname=firefox
-version=133.0.3
-revision=2
+version=133.0
+revision=1
 build_helper="rust"
 short_desc="Mozilla Firefox web browser"
 maintainer="Duncaen <duncaen@voidlinux.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.mozilla.org/firefox/"
 distfiles="${MOZILLA_SITE}/firefox/releases/${version/beta/b}/source/firefox-${version/beta/b}.source.tar.xz"
-checksum=f134a5420200bb03ab460f9d2867507c0edb222ce73faf4064cdbea02a0aca1b
+checksum=492b2c9a3b6d215e38ce490624e8b2b9473419accdeaddb24ba00bc6adc3cc60
 
 lib32disabled=yes
 _llvmver=19
diff --git a/srcpkgs/flake8/template b/srcpkgs/flake8/template
index 5a69f175c87a0a..3708cf9574ca7a 100644
--- a/srcpkgs/flake8/template
+++ b/srcpkgs/flake8/template
@@ -1,7 +1,7 @@
 # Template file for 'flake8'
 pkgname=flake8
 version=7.0.0
-revision=2
+revision=1
 build_style=python3-pep517
 make_check_target="tests/unit"
 make_check_args="--ignore=tests/unit/plugins/pycodestyle_test.py
diff --git a/srcpkgs/flannel/template b/srcpkgs/flannel/template
index f1cf858e4d6160..659835de6d4d7f 100644
--- a/srcpkgs/flannel/template
+++ b/srcpkgs/flannel/template
@@ -1,6 +1,6 @@
 # Template file for 'flannel'
 pkgname=flannel
-version=0.26.2
+version=0.26.1
 revision=1
 build_style=go
 go_mod_mode=off
@@ -11,7 +11,7 @@ maintainer="Andrea Brancaleoni <abc@pompel.me>"
 license="Apache-2.0"
 homepage="https://github.com/flannel-io/flannel"
 distfiles="https://github.com/flannel-io/flannel/archive/v${version}.tar.gz"
-checksum=20465366cb75907033864fad849513e0810c00313d6d63afde0554e6199db8d4
+checksum=31a8fbd17dabf47d8f07ceb7f98bb512347dd47a57af7051a02b8fda2e5bee46
 
 post_install() {
 	vsv flannel
diff --git a/srcpkgs/flinks/template b/srcpkgs/flinks/template
index f44feaa9985187..fdf7d097075d91 100644
--- a/srcpkgs/flinks/template
+++ b/srcpkgs/flinks/template
@@ -1,7 +1,7 @@
 # Template file for 'flinks'
 pkgname=flinks
 version=0.5.0
-revision=5
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="lynx python3"
diff --git a/srcpkgs/fnott/template b/srcpkgs/fnott/template
index ca26d2b86bf549..ccd07fd0d71260 100644
--- a/srcpkgs/fnott/template
+++ b/srcpkgs/fnott/template
@@ -1,7 +1,7 @@
 # Template file for 'fnott'
 pkgname=fnott
-version=1.7.0
-revision=2
+version=1.6.0
+revision=1
 build_style=meson
 hostmakedepends="pkg-config scdoc wayland-devel"
 makedepends="fcft-devel tllist wayland-devel wayland-protocols"
@@ -11,7 +11,7 @@ license="MIT"
 homepage="https://codeberg.org/dnkl/fnott/"
 changelog="https://codeberg.org/dnkl/fnott/raw/branch/master/CHANGELOG.md"
 distfiles="https://codeberg.org/dnkl/fnott/archive/${version}.tar.gz"
-checksum=40013d64423332a53aa943b7d9366f25e8cdd3313345f7a74b53c5d33eb49c80
+checksum=fc8a0a9b75995a10afeaf3a670fb30986b21a4f48bd67a7018802de10debc83f
 
 post_install() {
 	vlicense LICENSE
diff --git a/srcpkgs/font-sarasa-gothic/template b/srcpkgs/font-sarasa-gothic/template
index aa4a77f97151a5..b49b35b78c90cc 100644
--- a/srcpkgs/font-sarasa-gothic/template
+++ b/srcpkgs/font-sarasa-gothic/template
@@ -1,6 +1,6 @@
 # Template file for 'font-sarasa-gothic'
 pkgname=font-sarasa-gothic
-version=1.0.25
+version=1.0.24
 revision=1
 depends="font-util"
 short_desc="CJK programming font based on Iosevka and Source Han Sans"
@@ -8,7 +8,7 @@ maintainer="B. Wilson <x@wilsonb.com>"
 license="OFL-1.1"
 homepage="https://github.com/be5invis/Sarasa-Gothic"
 distfiles="https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/Sarasa-TTC-${version}.7z"
-checksum=e30e4baa237bac413b25360bec97ae504c640e391eb8ef98b2721f3479a4703f
+checksum=0eafa69236cfeba81aebbcebe5b8efaf89bb6b942c6f958b68ae95937068053b
 font_dirs="/usr/share/fonts/TTF"
 
 do_install() {
diff --git a/srcpkgs/fontforge/patches/l10n.patch b/srcpkgs/fontforge/patches/l10n.patch
deleted file mode 100644
index 402ac3a21ca41e..00000000000000
--- a/srcpkgs/fontforge/patches/l10n.patch
+++ /dev/null
@@ -1,8803 +0,0 @@
-From 642d8a3db6d4bc0e70b429622fdf01ecb09c4c10 Mon Sep 17 00:00:00 2001
-From: skef <6175836+skef@users.noreply.github.com>
-Date: Sun, 31 Dec 2023 02:17:59 -0800
-Subject: [PATCH] Update po files from Croudin sources after fixing problems
-
----
- po/ca.po    |   17 +-
- po/de.po    |   25 +-
- po/el.po    |    4 +-
- po/en_GB.po |    8 +-
- po/es.po    |   76 +++-
- po/fr.po    |   93 ++--
- po/hr.po    |  156 ++++++-
- po/it.po    |   12 +-
- po/ja.po    |  217 +++++++--
- po/ka_GE.po | 1231 +++++++++++++++++++++++++++++++++++++++++++--------
- po/ko.po    |   43 +-
- po/ml.po    |    4 +-
- po/pl.po    |   67 ++-
- po/pt.po    |    4 +-
- po/ru.po    |    4 +-
- po/tr_TR.po |    4 +-
- po/uk.po    |   41 +-
- po/vi.po    |  428 +-----------------
- po/zh_CN.po | 1021 +++++++++++++++++++++++++++++++++++-------
- po/zh_TW.po |   24 +-
- 20 files changed, 2485 insertions(+), 994 deletions(-)
-
-diff --git a/po/ca.po b/po/ca.po
-index e2349b6ef5..d25f08928f 100644
---- a/po/ca.po
-+++ b/po/ca.po
-@@ -15,8 +15,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: Catalan\n"
- "Language: ca_ES\n"
-@@ -11573,8 +11573,8 @@ msgid "SnapToInt"
- msgstr "Edita amb enters"
- 
- msgid ""
--"So if you type \"A\" here the first selected glyph would be named \"A.suffix"
--"\".\n"
-+"So if you type \"A\" here the first selected glyph would be named \"A."
-+"suffix\".\n"
- "The second \"B.suffix\", and so on."
- msgstr ""
- "Si aquí poseu «A», el primer glif seleccionat s'anomenarà «A.sufix».\n"
-@@ -12345,7 +12345,6 @@ msgstr "Thaana"
- msgid "Thai"
- msgstr "Tai"
- 
--#, c-format
- msgid ""
- "The %1$s in the search dialog contains a reference to %2$.20hs which does "
- "not exist in the new font.\n"
-@@ -16406,16 +16405,16 @@ msgstr ""
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d ∆x_adv="
--"%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
-+"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d "
-+"∆x_adv=%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- msgstr ""
- "«%s» a %s no conté una consulta de posicionament per parelles ∆x=%d ∆y=%d "
- "∆x_adv=%d ∆y_adv=%d a %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv="
--"%d\n"
-+"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d "
-+"∆y_adv=%d\n"
- msgstr ""
- "«%s» a %s no conté una consulta de posicionament ∆x=%d ∆y=%d ∆x_adv=%d "
- "∆y_adv=%d\n"
-diff --git a/po/de.po b/po/de.po
-index 41430ffaed..8b1a248f88 100644
---- a/po/de.po
-+++ b/po/de.po
-@@ -18,8 +18,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: German\n"
- "Language: de_DE\n"
-@@ -228,8 +228,8 @@ msgid ""
- "!!!!! Bad Base Coord format (%d) for '%c%c%c%c' in '%c%c%c%c' script in "
- "'BASE' table\n"
- msgstr ""
--"!!!!! Ungültiges Format der Koordinaten des Grundzeichens (%d) für '%c%c%c"
--"%c' im Schriftsystem '%c%c%c%c' in der 'BASE' Tabelle\n"
-+"!!!!! Ungültiges Format der Koordinaten des Grundzeichens (%d) für "
-+"'%c%c%c%c' im Schriftsystem '%c%c%c%c' in der 'BASE' Tabelle\n"
- 
- #, c-format
- msgid ""
-@@ -14770,8 +14770,8 @@ msgid "SnapToInt"
- msgstr "Auf ganze Zahlen einrasten"
- 
- msgid ""
--"So if you type \"A\" here the first selected glyph would be named \"A.suffix"
--"\".\n"
-+"So if you type \"A\" here the first selected glyph would be named \"A."
-+"suffix\".\n"
- "The second \"B.suffix\", and so on."
- msgstr ""
- "Wenn du hier „A“ eingibst, dann bekommt die erste ausgewählte Glyphe den "
-@@ -15763,7 +15763,6 @@ msgstr ""
- "nicht denen in %4$.30s (unterschiedliche Anzahl oder unterschiedliche "
- "Kriterien für Überlappungen)"
- 
--#, c-format
- msgid ""
- "The %1$s in the search dialog contains a reference to %2$.20hs which does "
- "not exist in the new font.\n"
-@@ -16909,8 +16908,8 @@ msgstr ""
- #, c-format
- msgid ""
- "The width, height, depth or italic correction of %s is too big. Tfm files "
--"may not contain values bigger than 16 times the em-size of the font. Width="
--"%g, height=%g, depth=%g, italic correction=%g"
-+"may not contain values bigger than 16 times the em-size of the font. "
-+"Width=%g, height=%g, depth=%g, italic correction=%g"
- msgstr ""
- "Die Dickte, Höhe, Tiefe oder Kursiv-Korrektur %s sind zu groß. Tfm-Dateien "
- "können nicht Werte größer als 16 mal die Geviertgröße enthalten. Dickte=%g, "
-@@ -21512,16 +21511,16 @@ msgstr ""
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d ∆x_adv="
--"%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
-+"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d "
-+"∆x_adv=%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- msgstr ""
- "„%s” in %s enthielt keine Nachschlagetabelle der paarweisen Positionierung "
- "∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv="
--"%d\n"
-+"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d "
-+"∆y_adv=%d\n"
- msgstr ""
- "„%s” in %s enthielt keine Nachschlagetabelle der Positionierung ∆x=%d ∆y=%d "
- "∆x_adv=%d ∆y_adv=%d\n"
-diff --git a/po/el.po b/po/el.po
-index d942c68c6d..226afbe82c 100644
---- a/po/el.po
-+++ b/po/el.po
-@@ -12,8 +12,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: Greek\n"
- "Language: el_GR\n"
-diff --git a/po/en_GB.po b/po/en_GB.po
-index 9bd2d62bb6..40ec187cc7 100644
---- a/po/en_GB.po
-+++ b/po/en_GB.po
-@@ -12,8 +12,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: English, United Kingdom\n"
- "Language: en_GB\n"
-@@ -133,6 +133,9 @@ msgstr ""
- " Use of GDEF rather than lcar/prop\n"
- "If both this and Apple are set, both formats are generated"
- 
-+msgid "Arabic"
-+msgstr "Arabic"
-+
- msgid "Are you sure you don't want to use the cidmap I found?"
- msgstr "Are you sure you do not want to use the cidmap I found?"
- 
-@@ -726,7 +729,6 @@ msgstr "Spiros did not converge"
- msgid "Template Color"
- msgstr "Template Colour"
- 
--#, c-format
- msgid ""
- "The %1$s in the search dialog contains a reference to %2$.20hs which does "
- "not exist in the new font.\n"
-diff --git a/po/es.po b/po/es.po
-index 424b0177b6..31603cd120 100644
---- a/po/es.po
-+++ b/po/es.po
-@@ -15,8 +15,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: Spanish\n"
- "Language: es_ES\n"
-@@ -453,6 +453,9 @@ msgstr "Argumento"
- msgid "Arabic"
- msgstr "Árabe"
- 
-+msgid "Arabic Supplement"
-+msgstr "Árabe, suplemento"
-+
- msgid "Arakanese"
- msgstr "Arakanés"
- 
-@@ -1223,6 +1226,9 @@ msgstr ""
- "Verificar si una substitución, una clase de interletraje, etc. utiliza un "
- "nombre de glifo que no existe en la fuente"
- 
-+msgid "Cherokee"
-+msgstr "Cheroqui"
-+
- msgid "Chinese (Hong Kong)"
- msgstr "Chino (Hong Kong) zh_CN"
- 
-@@ -1283,6 +1289,9 @@ msgstr "Co_piar margen izquierdo"
- msgid "Com_binations"
- msgstr "Com_binaciones"
- 
-+msgid "Combining Diacritical Marks"
-+msgstr "Marcas diacríticas combinables"
-+
- msgid "Comment"
- msgstr "Comentario"
- 
-@@ -1459,6 +1468,9 @@ msgstr "Cor_tar"
- msgid "Cubic"
- msgstr "Cúbico"
- 
-+msgid "Cuneiform"
-+msgstr "Cuneiforme"
-+
- msgid "Current"
- msgstr "Actual"
- 
-@@ -2538,6 +2550,9 @@ msgstr "Gallego"
- msgid "Gaudeamus Ligature!"
- msgstr "¡Alabemos la ligadura!"
- 
-+msgid "General Punctuation"
-+msgstr "Puntuación general"
-+
- msgid "Generate Mac _Family..."
- msgstr "Generar _familia para Mac..."
- 
-@@ -3517,6 +3532,9 @@ msgstr "Diseños maestros"
- msgid "Mathematical Greek"
- msgstr "Griego para matemáticas"
- 
-+msgid "Mayan Numerals"
-+msgstr "Cifras mayas"
-+
- msgid "Measure distance, angle between points"
- msgstr "Medir distancia, ángulo entre puntos"
- 
-@@ -4099,6 +4117,9 @@ msgstr "Abrir referencia"
- msgid "Open failed"
- msgstr "Error al abrir"
- 
-+msgid "Optical Character Recognition"
-+msgstr "Reconocimiento óptico de caracteres"
-+
- msgid "Options"
- msgstr "Opciones"
- 
-@@ -4668,6 +4689,9 @@ msgstr "Ajustar a la horizo_ntal/vertical"
- msgid "Sa_me Glyph As"
- msgstr "Igual carácter que(_M)"
- 
-+msgid "Samaritan"
-+msgstr "Samaritano"
-+
- msgid "Same as PostScript Names"
- msgstr "Igual que los nombres de PostScript"
- 
-@@ -5117,6 +5141,9 @@ msgstr "Espacia_r regiones..."
- msgid "Space:"
- msgstr "Espaciado:"
- 
-+msgid "Spacing Modifier Letters"
-+msgstr "Letras modificadoras con espaciado"
-+
- msgid "Spanish"
- msgstr "Español"
- 
-@@ -5239,6 +5266,33 @@ msgstr "Trazado..."
- msgid "Style Set 1"
- msgstr "Estilo 1"
- 
-+msgid "Style Set 10"
-+msgstr "Conjunto estilístico 10"
-+
-+msgid "Style Set 11"
-+msgstr "Conjunto estilístico 11"
-+
-+msgid "Style Set 12"
-+msgstr "Conjunto estilístico 12"
-+
-+msgid "Style Set 13"
-+msgstr "Conjunto estilístico 13"
-+
-+msgid "Style Set 14"
-+msgstr "Conjunto estilístico 14"
-+
-+msgid "Style Set 15"
-+msgstr "Conjunto estilístico 15"
-+
-+msgid "Style Set 16"
-+msgstr "Conjunto estilístico 16"
-+
-+msgid "Style Set 17"
-+msgstr "Conjunto estilístico 17"
-+
-+msgid "Style Set 18"
-+msgstr "Conjunto estilístico 18"
-+
- msgid "Style Set 2"
- msgstr "Estilo 2"
- 
-@@ -5251,6 +5305,18 @@ msgstr "Estilo 4"
- msgid "Style Set 5"
- msgstr "Estilo 5"
- 
-+msgid "Style Set 6"
-+msgstr "Conjunto estilístico 6"
-+
-+msgid "Style Set 7"
-+msgstr "Conjunto estilístico 7"
-+
-+msgid "Style Set 8"
-+msgstr "Conjunto estilístico 8"
-+
-+msgid "Style Set 9"
-+msgstr "Conjunto estilístico 9"
-+
- msgid "Style _ID:"
- msgstr "Estilo _ID:"
- 
-@@ -5269,6 +5335,9 @@ msgstr "Sundanese (romano)"
- msgid "Superscript"
- msgstr "Supraíndice"
- 
-+msgid "Superscripts and Subscripts"
-+msgstr "Superíndices y subíndices"
-+
- msgid "Swadaya Aramaic"
- msgstr "Arameo swadaya"
- 
-@@ -5309,6 +5378,9 @@ msgstr "La etiqueta debe constar de 4 caracteres"
- msgid "Tag too long"
- msgstr "Etiqueta demasiado larga"
- 
-+msgid "Tags"
-+msgstr "Etiquetas"
-+
- msgid "Tahitian"
- msgstr "Tahitiano"
- 
-diff --git a/po/fr.po b/po/fr.po
-index 26e446b380..d4b2b7eb05 100644
---- a/po/fr.po
-+++ b/po/fr.po
-@@ -14,8 +14,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: French\n"
- "Language: fr_FR\n"
-@@ -291,7 +291,7 @@ msgstr "chaîne %1$.30s pour %2$.30s"
- #. GT: $4 is the changed flag ('*' for the changed items)
- #, c-format
- msgid "%1$.80s at %2$d from %3$.90s%4$s"
--msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
-+msgstr "%1$.80s à %2$d de %3$.90s%4$s"
- 
- #. GT: This is the title for a window showing a bitmap character
- #. GT: It will look something like:
-@@ -302,7 +302,7 @@ msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
- #. GT: $4 is the font name
- #, c-format
- msgid "%1$.80s at %2$d size %3$d from %4$.80s"
--msgstr "%1$.80s (%2$d) taille %3$d de %4$.80hs"
-+msgstr "%1$.80s (%2$d) taille %3$d de %4$.80s"
- 
- #, c-format
- msgid "%1$s from lookup subtable %2$.50s"
-@@ -3131,16 +3131,16 @@ msgstr "Glyphe de ligature incorrect. GID %d ne peut être moins que %d\n"
- 
- #, c-format
- msgid ""
--"Bad lookup table: format=2 (%d/%d), first=%d last=%d total glyphs in font="
--"%d\n"
-+"Bad lookup table: format=2 (%d/%d), first=%d last=%d total glyphs in "
-+"font=%d\n"
- msgstr ""
- "Format de table de lookup incorrect: format=2 (%d/%d), premier=%d dernier=%d "
- "total de glyphes dans la fonte=%d\n"
- 
- #, c-format
- msgid ""
--"Bad lookup table: format=4 (%d/%d), first=%d last=%d total glyphs in font="
--"%d\n"
-+"Bad lookup table: format=4 (%d/%d), first=%d last=%d total glyphs in "
-+"font=%d\n"
- msgstr ""
- "Format de table de lookup incorrect: format=4 (%d/%d), premier=%d dernier=%d "
- "total de glyphes dans la fonte=%d\n"
-@@ -7433,7 +7433,7 @@ msgid ""
- "Reverting the file will lose those changes.\n"
- "Is that what you want?"
- msgstr ""
--"La fonte %1$.40s dans le fichier %2$.40hs a été modifiée.\n"
-+"La fonte %1$.40s dans le fichier %2$.40s a été modifiée.\n"
- "Revenir vous fera perdre toutes les modifications.\n"
- "Voulez vous vraiment revenir ?"
- 
-@@ -17879,8 +17879,8 @@ msgid "SnapToInt"
- msgstr "Magnétisme aux entiers"
- 
- msgid ""
--"So if you type \"A\" here the first selected glyph would be named \"A.suffix"
--"\".\n"
-+"So if you type \"A\" here the first selected glyph would be named \"A."
-+"suffix\".\n"
- "The second \"B.suffix\", and so on."
- msgstr ""
- "Donc, si vous tapiez \"A\" ici, le premier glyphe sélectionné serait nommé "
-@@ -19075,7 +19075,6 @@ msgstr ""
- "pas à ceux de %4$.30s (nombre différent ou critères de recouvrement "
- "différents)"
- 
--#, c-format
- msgid ""
- "The %1$s in the search dialog contains a reference to %2$.20hs which does "
- "not exist in the new font.\n"
-@@ -19925,7 +19924,7 @@ msgid ""
- "The fonts %1$.30s and %2$.30s have a different number of glyphs or different "
- "encodings"
- msgstr ""
--"Les fontes %1$.30s et %2$.30hs n'ont pas le même nombre de glyphes ou des "
-+"Les fontes %1$.30s et %2$.30s n'ont pas le même nombre de glyphes ou des "
- "codages différents"
- 
- #, c-format
-@@ -19933,7 +19932,7 @@ msgid ""
- "The fonts %1$.30s and %2$.30s use different types of splines (one quadratic, "
- "one cubic)"
- msgstr ""
--"Les fontes %1$.30s et %2$.30hs utilisent des courbes de Bézier d'ordres "
-+"Les fontes %1$.30s et %2$.30s utilisent des courbes de Bézier d'ordres "
- "différents (quadratique et cubique)"
- 
- msgid "The generated font won't work with ATM"
-@@ -19968,8 +19967,8 @@ msgid ""
- "The glyph %1$.30s in font %2$.30s has a different hint mask on its contours "
- "than in %3$.30s"
- msgstr ""
--"Le glyphe %1$.30s dans la police %2$.30hs a un masque de hints différent que "
--"dans %3$.30hs"
-+"Le glyphe %1$.30s dans la police %2$.30s a un masque de hints différent que "
-+"dans %3$.30s"
- 
- #, c-format
- msgid ""
-@@ -19984,8 +19983,8 @@ msgid ""
- "The glyph %1$.30s in font %2$.30s has a different number of references than "
- "in %3$.30s"
- msgstr ""
--"Le glyphe %1$.30s de la fonte %2$.30hs a un nombre de références différent "
--"dans %3$.30hs"
-+"Le glyphe %1$.30s de la fonte %2$.30s a un nombre de références différent "
-+"dans %3$.30s"
- 
- #, c-format
- msgid ""
-@@ -20295,8 +20294,8 @@ msgid ""
- "Enlarge this to make the autohinter more tolerable to small deviations from "
- "straight lines when detecting stem edges."
- msgstr ""
--"La différence de pente maximale qui permet encore de considérer deux points"
--"\"parallèle\".\n"
-+"La différence de pente maximale qui permet encore de considérer deux "
-+"points\"parallèle\".\n"
- "Augmenter pour rendre la auto-hinter plus tolérant aux petits écarts entre\n"
- "des lignes droites lors de la détection des bords du fut ou de la traverse."
- 
-@@ -20457,7 +20456,7 @@ msgstr ""
- #, c-format
- msgid "The outlines of glyph %2$.30s were not found in the font %1$.60s"
- msgstr ""
--"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60hs"
-+"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60s"
- 
- msgid "The paths that make up this glyph intersect one another"
- msgstr "Les chemins qui composent ce glyphe se coupent les uns les autres"
-@@ -20805,12 +20804,12 @@ msgstr "La largeur de la ligne utilisée pour dessiner les points sélectionnés
- #, c-format
- msgid ""
- "The width, height, depth or italic correction of %s is too big. Tfm files "
--"may not contain values bigger than 16 times the em-size of the font. Width="
--"%g, height=%g, depth=%g, italic correction=%g"
-+"may not contain values bigger than 16 times the em-size of the font. "
-+"Width=%g, height=%g, depth=%g, italic correction=%g"
- msgstr ""
- "La largeur, hauteur, profondeur ou correction italique de %s est trop "
--"grande. En TFM, on ne peut pas dépasser 16 fois le EM de la fonte.Largeur="
--"%g, hauteur=%g, profondeur=%g, correction italique=%g"
-+"grande. En TFM, on ne peut pas dépasser 16 fois le EM de la fonte."
-+"Largeur=%g, hauteur=%g, profondeur=%g, correction italique=%g"
- 
- msgid "The x coord of the selected point is near the specified value"
- msgstr "La'abscisse du point sélectionné est proche de la valeur de consigne"
-@@ -21042,7 +21041,7 @@ msgstr "Il y a déjà une sous-table avec ce nom, changez de nom SVP"
- 
- #, c-format
- msgid "There is already an anchor point named %1$.40s in %2$.40s."
--msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40hs."
-+msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40s."
- 
- msgid "There is another glyph in the font with this name"
- msgstr "Il y a un autre glyphe dans la fonte avec ce nom"
-@@ -21076,8 +21075,8 @@ msgstr "Il n'y a pas de glyphe %s dans cette fonte,"
- 
- msgid "There may be at most one reference with the use-my-metrics bit set"
- msgstr ""
--"Il ne doit pas y avoir plus d'une référence avec le \"use-my metrics bit set"
--"\""
-+"Il ne doit pas y avoir plus d'une référence avec le \"use-my metrics bit "
-+"set\""
- 
- #, c-format
- msgid ""
-@@ -21441,8 +21440,8 @@ msgid ""
- "been able to find is %1$.20s-%2$.20s-%4$d.\n"
- "Shall I use that or let you search?"
- msgstr ""
--"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20hs-%3$d, mais "
--"ce que j'ai trouvé de mieux c'est %1$.20hs-%2$.20hs-%4$d.\n"
-+"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20s-%3$d, mais ce "
-+"que j'ai trouvé de mieux c'est %1$.20s-%2$.20s-%4$d.\n"
- "Devrais-je utiliser cette valeur ou préférez vous chercher ?"
- 
- msgid ""
-@@ -21671,8 +21670,8 @@ msgid ""
- "FontForge\n"
- "does not support. FontForge only supports 'IK' format fonts.\n"
- msgstr ""
--"Ceci est probablement une fonte URW valide, mais elle est dans un format (% c"
--"% c) que FontForge\n"
-+"Ceci est probablement une fonte URW valide, mais elle est dans un format "
-+"(% c% c) que FontForge\n"
- "ne supporte pas. FontForge ne prend en charge que les fontes de format "
- "'IK'.\n"
- 
-@@ -21770,7 +21769,7 @@ msgid ""
- "with a 0 offset for this combination. Would you like to alter this kerning "
- "class entry (or create a kerning pair for just these two glyphs)?"
- msgstr ""
--"Cette paire de crénage (%.20s et %.20hs) est dans une classe de crénage\n"
-+"Cette paire de crénage (%.20s et %.20s) est dans une classe de crénage\n"
- "avec un déplacement de 0 pour cette combinaison. Voulez-vous modifier cette "
- "partie\n"
- "de la classe de crénage (ou créer une nouvelle paire rien que pour ces 2 "
-@@ -21864,8 +21863,8 @@ msgstr ""
- #, c-format
- msgid "This name was previously used to identify mark class/set #%d."
- msgstr ""
--"Ce nom a précédemment été utilisé pour identifier la classe/jeu de signes #"
--"%d."
-+"Ce nom a précédemment été utilisé pour identifier la classe/jeu de signes "
-+"#%d."
- 
- #, c-format
- msgid "This namelist contains at least one non-ASCII glyph name, namely: %s"
-@@ -23657,8 +23656,8 @@ msgid ""
- "and %s@0x%02x)\n"
- " Only one will be used here.\n"
- msgstr ""
--"Attention: Le codage %d (0x%x) correspond à au moins deux emplacements (%s@0x"
--"%02x et %s@0x%02x)\n"
-+"Attention: Le codage %d (0x%x) correspond à au moins deux emplacements "
-+"(%s@0x%02x et %s@0x%02x)\n"
- " Un seul sera utilisé ici.\n"
- 
- msgid "Warning: Font Bucket version 4 treated as 0.\n"
-@@ -24161,8 +24160,8 @@ msgstr ""
- 
- msgid "When serifs are removed (as first two in \"m\"), replace with:"
- msgstr ""
--"Lors de la suppression des empattements (comme les deux premières dans \"m"
--"\"), remplacer avec:"
-+"Lors de la suppression des empattements (comme les deux premières dans "
-+"\"m\"), remplacer avec:"
- 
- msgid ""
- "When the hint's position is changed\n"
-@@ -24551,8 +24550,8 @@ msgid ""
- "referred to.\n"
- "It will not be copied."
- msgstr ""
--"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
--"Mais %1$hs n'existe pas dans cette fonte, et FontForge ne trouve pas le "
-+"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
-+"Mais %1$s n'existe pas dans cette fonte, et FontForge ne trouve pas le "
- "glyphe auquel il se référait.\n"
- "Le glyphe ne sera pas copié."
- 
-@@ -24562,8 +24561,8 @@ msgid ""
- "But %1$s does not exist in this font.\n"
- "Would you like to copy the original splines (or delete the reference)?"
- msgstr ""
--"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
--"Mais %1$hs n'existe pas dans cette fonte.\n"
-+"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
-+"Mais %1$s n'existe pas dans cette fonte.\n"
- "Voulez vous copier le contour d'origine (ou supprimer la référence)?"
- 
- msgid ""
-@@ -26385,16 +26384,16 @@ msgstr ""
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d ∆x_adv="
--"%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
-+"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d "
-+"∆x_adv=%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- msgstr ""
- "\"%s\" dans %s ne contenait pas de lookup de positionnement par paire ∆x=%d "
- "∆y=%d ∆x_adv=%d ∆y_adv=%d à %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv="
--"%d\n"
-+"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d "
-+"∆y_adv=%d\n"
- msgstr ""
- "\"%s\" dans %s ne contenait pas de lookup de positionnement ∆x=%d ∆y=%d "
- "∆x_adv=%d ∆y_adv=%d\n"
-diff --git a/po/hr.po b/po/hr.po
-index d261d4ca76..c10a697102 100644
---- a/po/hr.po
-+++ b/po/hr.po
-@@ -11,16 +11,16 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: Croatian\n"
- "Language: hr_HR\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
--"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
--"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
- "X-Crowdin-Project: fontforge\n"
- "X-Crowdin-Project-ID: 368599\n"
- "X-Crowdin-Language: hr\n"
-@@ -237,8 +237,8 @@ msgid ""
- "!!!!! Bad Base Coord format (%d) for '%c%c%c%c' in '%c%c%c%c' script in "
- "'BASE' table\n"
- msgstr ""
--"!!!!! Neispravni format koordinata osnove (%d) za '%c%c%c%c' u pismu '%c%c%c"
--"%c' u 'BASE' tablici\n"
-+"!!!!! Neispravni format koordinata osnove (%d) za '%c%c%c%c' u pismu "
-+"'%c%c%c%c' u 'BASE' tablici\n"
- 
- #, c-format
- msgid ""
-@@ -695,6 +695,15 @@ msgstr "300 Svijetli"
- msgid "32x8 cell window"
- msgstr "Prozor: 32 × 8 polja"
- 
-+msgid "3D Buttons"
-+msgstr "3D gumbovi"
-+
-+msgid "3D Dark Edge Color"
-+msgstr "3D tamna boja ruba"
-+
-+msgid "3D Light Edge Color"
-+msgstr "3D svijetla boja ruba"
-+
- msgid "4"
- msgstr "4"
- 
-@@ -1484,6 +1493,9 @@ msgstr ""
- msgid "Adding points at Extrema..."
- msgstr "Dodavanje točaka ektrema …"
- 
-+msgid "Adding points of inflection..."
-+msgstr "Dodavanje točkaka infleksije …"
-+
- msgid "Additional arguments for autotrace program:"
- msgstr "Dodatni argumenti za program za automatsko precrtavanje:"
- 
-@@ -2065,6 +2077,9 @@ msgstr ""
- "NAPOMENA: 'WinDescent' je POZITIVNI broj, a odnosi se na sve\n"
- "što se nalazi ispod osnovne pismovne linije."
- 
-+msgid "Appea_rance Editor..."
-+msgstr "U_ređivač prikaza …"
-+
- msgid "Append a FONTLOG entry"
- msgstr "Dodaj FONTLOG zapis"
- 
-@@ -2244,6 +2259,9 @@ msgstr "Arapsko, prošireno A"
- msgid "Arabic Extended-B"
- msgstr "Arapsko, prošireno B"
- 
-+msgid "Arabic Extended-C"
-+msgstr "Arapsko prošireno-C"
-+
- msgid "Arabic Mathematical Alphabetic Symbols"
- msgstr "Arapski matematički alfanumerički simboli"
- 
-@@ -2373,6 +2391,9 @@ msgstr ""
- "Uzlazni i silazni potezi moraju imati pozitivne vrijednosti, a njihov zbroj "
- "manji od 16384"
- 
-+msgid "Ascent/Descent Color"
-+msgstr "Boja uzlaznog/silaznog poteza"
-+
- msgid "Ask"
- msgstr "Pitaj"
- 
-@@ -3291,16 +3312,16 @@ msgstr "Neispravni grafem ligature. ID-oznaka grafema %d ne manja od %d\n"
- 
- #, c-format
- msgid ""
--"Bad lookup table: format=2 (%d/%d), first=%d last=%d total glyphs in font="
--"%d\n"
-+"Bad lookup table: format=2 (%d/%d), first=%d last=%d total glyphs in "
-+"font=%d\n"
- msgstr ""
- "Neispravna tablica definicija: format=2 (%d/%d), prvi=%d zadnji=%d ukupno "
- "grafema u fontu=%d\n"
- 
- #, c-format
- msgid ""
--"Bad lookup table: format=4 (%d/%d), first=%d last=%d total glyphs in font="
--"%d\n"
-+"Bad lookup table: format=4 (%d/%d), first=%d last=%d total glyphs in "
-+"font=%d\n"
- msgstr ""
- "Neispravna tablica definicija: format=4 (%d/%d), prvi=%d zadnji=%d ukupno "
- "grafema u fontu=%d\n"
-@@ -3797,6 +3818,9 @@ msgstr "Debeli"
- msgid "Bold Italic"
- msgstr "Debeli Kurziv"
- 
-+msgid "Bold font used in the Tile Path dialog"
-+msgstr "Podebljani font za dijalog staza pločica"
-+
- msgid "Bone"
- msgstr "Kosturni"
- 
-@@ -4111,6 +4135,9 @@ msgstr "KJK sjedinjeni ideogrami, proširenje F"
- msgid "CJK Unified Ideographs Extension G"
- msgstr "KJK sjedinjeni ideogrami, proširenje G"
- 
-+msgid "CJK Unified Ideographs Extension H"
-+msgstr "KJK sjedinjeni ideogrami, proširenje H"
-+
- msgid "CS Clarendon"
- msgstr "4.1 – Clarendon"
- 
-@@ -5166,12 +5193,24 @@ msgstr "Boja etiketa grafema kad etiketa nedostaje"
- msgid "Color of the active entry in the main section of a matrix edit"
- msgstr "Boja za aktivne zapise u glavnom odjeljku matrice"
- 
-+msgid "Color of the ascent and descent lines"
-+msgstr "Boja za crte veličina uzlaznih i silaznih poteza"
-+
- msgid "Color of the font used to display glyph information in the fontview"
- msgstr "Boja fonta za prikaz informacija o grafemu u prikazu fonta"
- 
- msgid "Color of the line between label and glyph"
- msgstr "Boja linije između etikete i grafema"
- 
-+msgid "Color of the x=0 and y=0 lines"
-+msgstr "Boja x=0 i y=0 linija"
-+
-+msgid "Color used for (some) glyph names in Show ATT dialog"
-+msgstr "Boja za (neka) imena grafema u dijalogu Prikaži ATT"
-+
-+msgid "Color used for currently selected entry in Show ATT dialog"
-+msgstr "Boja za trenutačno odabrani unos u dijalogu Prikaži ATT"
-+
- msgid "Color used to draw the advance width line of a glyph"
- msgstr "Boja za crtanje linije, koja označuje širinu stošca"
- 
-@@ -5208,6 +5247,18 @@ msgstr "Boja za onačavanje odabranih grafema"
- msgid "Color:"
- msgstr "Boja:"
- 
-+msgid "Colors of lines and fills in outline window"
-+msgstr "Boje linija i ispuna u prozoru kontura"
-+
-+msgid "Colors related to CFF/PostScript hints"
-+msgstr "Boje CFF/PostScript kontrola"
-+
-+msgid "Colors, etc of points in glyph outline window"
-+msgstr "Boje itd. točaka u prozoru kontura grafema"
-+
-+msgid "Colors, etc. related to tool use in outline window"
-+msgstr "Boje itd. koje se odnose na korištenje alata u prozoru kontura"
-+
- msgid "Color|Background"
- msgstr "Stražnja boja"
- 
-@@ -5984,6 +6035,9 @@ msgstr "Ćirilica prošireno-B"
- msgid "Cyrillic Extended-C"
- msgstr "Ćirilica prošireno-C"
- 
-+msgid "Cyrillic Extended-D"
-+msgstr "Ćirilica prošireno-D"
-+
- msgid "Cyrillic Supplement"
- msgstr "Ćirilica, dopuna"
- 
-@@ -6121,6 +6175,9 @@ msgstr "Zadana debljina crte iznad i za nadcrte"
- msgid "Default:"
- msgstr "Zadano:"
- 
-+msgid "DefaultFont"
-+msgstr "Standardni font"
-+
- msgid "Define \"Almost Horizontal\""
- msgstr "Definiraj „Zamalo vodoravno”"
- 
-@@ -6262,6 +6319,9 @@ msgstr "Devanagari"
- msgid "Devanagari Extended"
- msgstr "Devanagari prošireno"
- 
-+msgid "Devanagari Extended-A"
-+msgstr "Devanagari prošireno-A"
-+
- msgid "Devanagari2"
- msgstr "Devanagari2"
- 
-@@ -8098,6 +8158,9 @@ msgstr "Font promijenjen"
- msgid "Font file has bad glyph count field. maxp says: %d sizeof(loca)=>%d"
- msgstr "Font sadrži neipravno polje brojanja. 'maxp' kaže: %d sizeof(loca)=>%d"
- 
-+msgid "Font for Mac Features in Preferences dialog"
-+msgstr "Font za Mac funkcije u dijalogu potavki"
-+
- #, c-format
- msgid "Font to compare with %.20s"
- msgstr "Uspoređivanje fonta s %.20s"
-@@ -8106,6 +8169,9 @@ msgstr "Uspoređivanje fonta s %.20s"
- msgid "Font to merge into %.20s"
- msgstr "Font za sjedinjavanje u %.20s"
- 
-+msgid "Font used in the Glyph Info dialog"
-+msgstr "Korišteni font u dijalogu informacija o grafemu"
-+
- msgid "Font used to draw titles of a matrix edit"
- msgstr "Font za naslove matrice"
- 
-@@ -8909,6 +8975,9 @@ msgstr "Granični okvir grafema uži od"
- msgid "Glyph BB Right Of"
- msgstr "Granični okvir grafema širi od"
- 
-+msgid "Glyph Color"
-+msgstr "Boja grafema"
-+
- msgid "Glyph Composition/Decomposition"
- msgstr "Sastavljanje/Rastavljanje grafema"
- 
-@@ -10225,6 +10294,9 @@ msgstr "Zanemari spojne dijakritičke znakove"
- msgid "Ignore Ligatures"
- msgstr "Zanemari ligature"
- 
-+msgid "Ignore invalid substitutions"
-+msgstr "Zanemari nevažeće zamjene"
-+
- msgid "Ignore this problem in the future"
- msgstr "Ubuduće zanemari ovaj problem"
- 
-@@ -10309,6 +10381,9 @@ msgstr "Uvezi tablicu definicija"
- msgid "Import Parameters"
- msgstr "Uvezi parametre"
- 
-+msgid "Import feature file"
-+msgstr "Uvezi datoteku funkcija"
-+
- msgid "Imports a lookup (and all its subtables) from another font."
- msgstr "Uvozi tablicu definicija (i sve pod-tablice) iz jednog drugog fonta."
- 
-@@ -12737,6 +12812,9 @@ msgstr "Matematički operatori"
- msgid "Mathematical centerline"
- msgstr "Matematička srednja linija"
- 
-+msgid "Mathematical text layout"
-+msgstr "Raspored matematičkog teksta"
-+
- msgid "Matrix Edit"
- msgstr "Matrica za uređivanje"
- 
-@@ -14332,6 +14410,9 @@ msgstr "Normalni bezserifni"
- msgid "Normal Text Color:"
- msgstr "Boja za obični tekst:"
- 
-+msgid "Normal font used in the Tile Path dialog"
-+msgstr "Normalni font za dijalog staza pločica"
-+
- msgid "Normal/Boxed"
- msgstr "Normalno/Kutijasto"
- 
-@@ -15216,15 +15297,24 @@ msgstr "Konturni fontovi"
- msgid "Outline Glyphs\n"
- msgstr "Konturni grafemi\n"
- 
-+msgid "Outline Hints"
-+msgstr "Kontrole kontura"
-+
- msgid "Outline Inner Border"
- msgstr "Unutarnji obrub konture"
- 
-+msgid "Outline Lines/Fills"
-+msgstr "Linije/Ispune konture"
-+
- msgid "Outline Outer Border"
- msgstr "Vanjski obrub konture"
- 
- msgid "Outline Points"
- msgstr "Točke konture"
- 
-+msgid "Outline Tools"
-+msgstr "Alati za konture"
-+
- msgid "Outline View"
- msgstr "Prikaz konture"
- 
-@@ -15399,6 +15489,12 @@ msgstr "Pa_lete"
- msgid "Palestinian Aramaic"
- msgstr "Palestinski aramejski"
- 
-+msgid "Palette Background Color"
-+msgstr "Paleta boje pozadine"
-+
-+msgid "Palette Foreground Color"
-+msgstr "Paleta prednje boje"
-+
- msgid "Palettes"
- msgstr "Palete"
- 
-@@ -17247,6 +17343,9 @@ msgstr "Boja za razdvojne crte"
- msgid "Ruler Big Tick Color"
- msgstr "Boja za velike oznake ravnala"
- 
-+msgid "Ruler Font"
-+msgstr "Font ravnala"
-+
- msgid "Ruler Options"
- msgstr "Opcije ravnala"
- 
-@@ -18235,6 +18334,9 @@ msgstr "'Fuzz' visina serifa"
- msgid "Serif height:"
- msgstr "Visina serifa:"
- 
-+msgid "SerifFont"
-+msgstr "Serifni font"
-+
- msgid "SerifSlopeError"
- msgstr "Greška nagiba serifa"
- 
-@@ -18808,8 +18910,8 @@ msgid "SnapToInt"
- msgstr "Privlači na cjelobrojne vrijednosti"
- 
- msgid ""
--"So if you type \"A\" here the first selected glyph would be named \"A.suffix"
--"\".\n"
-+"So if you type \"A\" here the first selected glyph would be named \"A."
-+"suffix\".\n"
- "The second \"B.suffix\", and so on."
- msgstr ""
- "Prema tome, ako ovdje utipkaš 'A', onda će se prvi odabrani grafem\n"
-@@ -20085,6 +20187,9 @@ msgstr "Temne"
- msgid "Template Color"
- msgstr "Boja za predložak"
- 
-+msgid "Template Outline Color"
-+msgstr "Boja konture predloška"
-+
- msgid "Terminal Forms"
- msgstr "Završni oblici"
- 
-@@ -20154,7 +20259,6 @@ msgstr ""
- "'%1$s' kontrole u grafemu \"%2$.30s\" u fontu %3$.30s se ne poklapaju s "
- "onima u %4$.30s (različiti broj ili različiti kriteriji preklapanja)"
- 
--#, c-format
- msgid ""
- "The %1$s in the search dialog contains a reference to %2$.20hs which does "
- "not exist in the new font.\n"
-@@ -21344,9 +21448,9 @@ msgid ""
- "\n"
- "Would you like to add this script to one of those features?"
- msgstr ""
--"Tablica definicija %.30s je aktivan za grafem %.30s koji ima pismo '%c%c%c"
--"%c', međutim tog pisma čini se nema u niti jednoj funkciji koja primijenjuje "
--"tablicu definicija.\n"
-+"Tablica definicija %.30s je aktivan za grafem %.30s koji ima pismo "
-+"'%c%c%c%c', međutim tog pisma čini se nema u niti jednoj funkciji koja "
-+"primijenjuje tablicu definicija.\n"
- "\n"
- "Želiš li dodati ovo pismo u jednu od tih funkcija?"
- 
-@@ -21960,8 +22064,8 @@ msgstr "Širina linije koja se koristi za crtanje odabranih točaka"
- #, c-format
- msgid ""
- "The width, height, depth or italic correction of %s is too big. Tfm files "
--"may not contain values bigger than 16 times the em-size of the font. Width="
--"%g, height=%g, depth=%g, italic correction=%g"
-+"may not contain values bigger than 16 times the em-size of the font. "
-+"Width=%g, height=%g, depth=%g, italic correction=%g"
- msgstr ""
- "Širina, visina, dubina ili ispravljanje kurziva od %s su preveliki. Tfm "
- "datoteke ne smiju sadržati vrijednosti veće od 16 puta veličine četverca "
-@@ -24507,6 +24611,12 @@ msgstr "Koristi novo indijsko pismo"
- msgid "UsePlugins"
- msgstr "Koristi dodatke"
- 
-+msgid "Used for point numbers, hints, etc."
-+msgstr "Koristi se za brojeve točaka, kontrole itd."
-+
-+msgid "Used for ruler numbers and other ruler notations."
-+msgstr "Koristi se za brojeve i druge oznake ravnala."
-+
- msgid "User controls the emboldening with the next two fields"
- msgstr "Korisnik kontrolira podebljavanje pomoću sljedeća dva polja"
- 
-@@ -24874,7 +24984,6 @@ msgstr ""
- "Upozorenje: 'cvar' sadrži međupodatke n-torke.\n"
- " FontForge to ne podržava.\n"
- 
--#, c-format
- msgid "Warning: Accuracy target %lf less than minimum %lf, using %lf instead\n"
- msgstr ""
- "Upozorenje: Ciljana točnost %lf manja je od minimalne %lf, umjesto toga se "
-@@ -24893,7 +25002,6 @@ msgstr "Upozorenje: Kraj konture se nije zatvorio\n"
- msgid "Warning: Contour start did not close\n"
- msgstr "Upozorenje: Početak konture se nije zatvorio\n"
- 
--#, c-format
- msgid "Warning: Coordinate diff %lf greater than margin %lf\n"
- msgstr "Upozorenje: Razlika koordinate %lf veća je od margine %lf\n"
- 
-@@ -27962,16 +28070,16 @@ msgstr ""
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d ∆x_adv="
--"%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
-+"“%s” in %s did not contain a pairwise positioning lookup ∆x=%d ∆y=%d "
-+"∆x_adv=%d ∆y_adv=%d to %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- msgstr ""
- "„%s” u %s ne sadrži tablicu definicija pozicioniranja parova ∆x=%d ∆y=%d "
- "∆x_adv=%d ∆y_adv=%d s %s ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv=%d\n"
- 
- #, c-format
- msgid ""
--"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d ∆y_adv="
--"%d\n"
-+"“%s” in %s did not contain a positioning lookup ∆x=%d ∆y=%d ∆x_adv=%d "
-+"∆y_adv=%d\n"
- msgstr ""
- "„%s” u %s ne sadrži tablicu definicija pozicioniranja ∆x=%d ∆y=%d ∆x_adv=%d "
- "∆y_adv=%d\n"
-diff --git a/po/it.po b/po/it.po
-index e13711485c..a3136f7bdf 100644
---- a/po/it.po
-+++ b/po/it.po
-@@ -13,8 +13,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-31 08:24\n"
- "Last-Translator: \n"
- "Language-Team: Italian\n"
- "Language: it_IT\n"
-@@ -2303,7 +2303,7 @@ msgid ""
- "Reverting the file will lose those changes.\n"
- "Is that what you want?"
- msgstr ""
--"Il font %1$.40s nel file %2$.40hs è stato modificato.\n"
-+"Il font %1$.40s nel file %2$.40s è stato modificato.\n"
- "Ripristinando il file perderai tutte le modifiche.\n"
- "È quello che vuoi fare?"
- 
-@@ -5835,7 +5835,7 @@ msgid ""
- "The glyph %1$.30s has a different number of contours in font %2$.30s than in "
- "%3$.30s"
- msgstr ""
--"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30hs rispetto "
-+"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30s rispetto "
- "a %3$.30s"
- 
- #, c-format
-@@ -6235,8 +6235,8 @@ msgid ""
- "been able to find is %1$.20s-%2$.20s-%4$d.\n"
- "Shall I use that or let you search?"
- msgstr ""
--"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20hs-%3$d, ma "
--"il migliore che io abbia trovato è %1$.20hs-%2$.20hs-%4$d.\n"
-+"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20s-%3$d, ma il "
-+"migliore che io abbia trovato è %1$.20s-%2$.20s-%4$d.\n"
- "Devo usare questo valore o preferisci cercare tu stesso?"
- 
- msgid ""
-diff --git a/po/ja.po b/po/ja.po
-index ed9f5a645b..11825c73d4 100644
---- a/po/ja.po
-+++ b/po/ja.po
-@@ -15,8 +15,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 08:15\n"
- "Last-Translator: \n"
- "Language-Team: Japanese\n"
- "Language: ja_JP\n"
-@@ -388,6 +388,36 @@ msgstr "< 前(_P)"
- msgid "<Nothing>"
- msgstr "<何もしない>"
- 
-+msgid "<Unassigned Plane 10>"
-+msgstr "〈保留未使用面10〉"
-+
-+msgid "<Unassigned Plane 11>"
-+msgstr "〈保留未使用面11〉"
-+
-+msgid "<Unassigned Plane 12>"
-+msgstr "〈保留未使用面12〉"
-+
-+msgid "<Unassigned Plane 13>"
-+msgstr "〈保留未使用面13〉"
-+
-+msgid "<Unassigned Plane 4>"
-+msgstr "〈保留未使用面4〉"
-+
-+msgid "<Unassigned Plane 5>"
-+msgstr "〈保留未使用面5〉"
-+
-+msgid "<Unassigned Plane 6>"
-+msgstr "〈保留未使用面6〉"
-+
-+msgid "<Unassigned Plane 7>"
-+msgstr "〈保留未使用面7〉"
-+
-+msgid "<Unassigned Plane 8>"
-+msgstr "〈保留未使用面8〉"
-+
-+msgid "<Unassigned Plane 9>"
-+msgstr "〈保留未使用面9〉"
-+
- msgid "<Unknown direction>"
- msgstr "<方向不明>"
- 
-@@ -961,7 +991,7 @@ msgstr ""
- "わずかに拡大/縮小します."
- 
- msgid "An outline font editor"
--msgstr "アウトラインフォントエディタ"
-+msgstr "アウトラインフォントエディター"
- 
- msgid "Anchor Control"
- msgstr "アンカーの制御"
-@@ -1023,6 +1053,15 @@ msgstr ""
- "追加されます. ほとんどの場合,このフィールドを0にして\n"
- "\"[*]オフセットを指定\"にチェックを入れるべきでしょう."
- 
-+msgid "Appea_rance Editor..."
-+msgstr "外観エディター(_R)..."
-+
-+msgid "Appearance Editor"
-+msgstr "外観エディター"
-+
-+msgid "Apple"
-+msgstr "アップル社"
-+
- msgid "Apple Advanced Typography"
- msgstr "Apple 高度組版機能"
- 
-@@ -1769,16 +1808,16 @@ msgstr "合字グリフが不正です. GID %d が %d 未満ではありませ
- 
- #, c-format
- msgid ""
--"Bad lookup table: format=2 (%d/%d), first=%d last=%d total glyphs in font="
--"%d\n"
-+"Bad lookup table: format=2 (%d/%d), first=%d last=%d total glyphs in "
-+"font=%d\n"
- msgstr ""
- "フォーマット 2 (%d/%d) の照合テーブルが壊れています.最初=%d 最後=%d フォント"
- "内の全グリフ数=%d\n"
- 
- #, c-format
- msgid ""
--"Bad lookup table: format=4 (%d/%d), first=%d last=%d total glyphs in font="
--"%d\n"
-+"Bad lookup table: format=4 (%d/%d), first=%d last=%d total glyphs in "
-+"font=%d\n"
- msgstr ""
- "フォーマット 4 (%d/%d) の照合テーブルが壊れています.最初=%d 最後=%d フォント"
- "内の全グリフ数=%d\n"
-@@ -1786,8 +1825,8 @@ msgstr ""
- #, c-format
- msgid "Bad lookup table: format=6, first=%d total glyphs in font=%d\n"
- msgstr ""
--"フォーマット 6 の照合テーブルが壊れています.最初=%d フォント内の全グリフ数="
--"%d\n"
-+"フォーマット 6 の照合テーブルが壊れています.最初=%d フォント内の全グリフ数"
-+"=%d\n"
- 
- #, c-format
- msgid "Bad lookup table: format=8, first=%d cnt=%d total glyphs in font=%d\n"
-@@ -2260,6 +2299,9 @@ msgstr "(裸の) CFF CID"
- msgid "CFF version mismatch\n"
- msgstr "CFF のバージョンが合っていません\n"
- 
-+msgid "CID"
-+msgstr "CID"
-+
- msgid "CID findfont Name"
- msgstr "CID findfont名"
- 
-@@ -2554,7 +2596,10 @@ msgid "Change _Weight..."
- msgstr "ウェイトを変更(_W)..."
- 
- msgid "Change _X-Height..."
--msgstr "_Xハイトを変更..."
-+msgstr "Xハイトを変更(_X)..."
-+
-+msgid "Change whether spiro is active or not"
-+msgstr "螺旋描画モード切り替え"
- 
- msgid ""
- "Changing the left side bearing\n"
-@@ -2970,6 +3015,9 @@ msgstr "AFMで合成グリフを使用"
- msgid "Condensed"
- msgstr "コンデンス"
- 
-+msgid "Config_ure Plugins..."
-+msgstr "プラグインの設定(_U)..."
-+
- msgid "Contextual Alternates"
- msgstr "文脈依存の異体字"
- 
-@@ -3023,7 +3071,7 @@ msgstr ""
- "役に立たない場合,無意味なものとされます"
- 
- msgid "Convert By C_Map"
--msgstr "C_Mapを指定して変換"
-+msgstr "CMapを指定して変換(_M)"
- 
- msgid "Convert Design Vector Function:"
- msgstr "デザインベクトル関数を変換:"
-@@ -3790,16 +3838,16 @@ msgid "Edges near horizontal/vertical/italic"
- msgstr "水平/垂直/イタリック角に近い辺"
- 
- msgid "Edit 'cvt '..."
--msgstr "'cvt 'テーブルを編集..."
-+msgstr "'cvt' テーブルを編集..."
- 
- msgid "Edit 'fpgm'..."
--msgstr "'fpgm'テーブルを編集..."
-+msgstr "'fpgm' テーブルを編集..."
- 
- msgid "Edit 'maxp'..."
--msgstr "'maxp'テーブルを編集..."
-+msgstr "'maxp' テーブルを編集..."
- 
- msgid "Edit 'prep'..."
--msgstr "'prep'テーブルを編集..."
-+msgstr "'prep' テーブルを編集..."
- 
- msgid "Edit Chaining Position"
- msgstr "文脈連鎖依存の位置指定を編集"
-@@ -4359,7 +4407,7 @@ msgid "Fixing up References"
- msgstr "リソースの修復中"
- 
- msgid "Fl_attenByCMap"
--msgstr "指定したCM_apで単一化"
-+msgstr "指定したCMapで単一化(_A)"
- 
- msgid "Flared"
- msgstr "フレア"
-@@ -4379,6 +4427,9 @@ msgstr "フラマン語(ベルギーのオランダ語)"
- msgid "Flex Hints"
- msgstr "Flexヒント"
- 
-+msgid "Flip"
-+msgstr "反転"
-+
- msgid "Flip Horizontally"
- msgstr "水平方向に反転"
- 
-@@ -4494,10 +4545,19 @@ msgid ""
- "OpenType, cid-keyed, multi-master, cff, SVG and BitMap (bdf, FON, NFNT) "
- "fonts."
- msgstr ""
--"FontForge はアウトラインおよびビットマップフォントのフォントエディタです。"
--"フォントの作成、編集、変換を行うことができます。 PostScript, TrueType, "
--"OpenType, Cid-keyed, multi-master, cff, SVG, BitMap (bdf, FON, NFNT) フォント"
--"を扱えます。"
-+"FontForge は、アウトラインフォントおよびビットマップフォントの作成、編集、変"
-+"換を行うことができるフォントエディターです。扱える形式は PostScript、"
-+"TrueType、OpenType、CID-Keyed、Multiple Master、CFF、SVG、ビットマップ (BDF、"
-+"FON、NFNT) などです。"
-+
-+msgid ""
-+"FontForge is free Open Source Software written to run on various computer "
-+"operating systems. You can use FontForge Graphically or as a command-line "
-+"tool."
-+msgstr ""
-+"FontForge は、さまざまなコンピュータのオペレーティングシステム上で動作するよ"
-+"うに書かれた無料のオープンソースソフトウェアです。FontForge は GUI を用いて、"
-+"またはコマンドラインツールとして使用できます。"
- 
- msgid ""
- "FontForge loads large images into the background of each glyph\n"
-@@ -5380,6 +5440,9 @@ msgstr "ISO 10646-1 (Unicode, 基本多言語面)"
- msgid "ISO 10646-1 (Unicode, Full)"
- msgstr "ISO 10646-1 (Unicode, 完全)"
- 
-+msgid "ISO 10646:1993"
-+msgstr "ISO 10646:1993"
-+
- msgid "ISO 8859-1  (Latin1)"
- msgstr "ISO 8859-1  (ラテン1/西欧)"
- 
-@@ -6842,6 +6905,9 @@ msgstr "マジャン語"
- msgid "Make Background"
- msgstr "背景として使用"
- 
-+msgid "Make Foreground"
-+msgstr "前面として使用"
-+
- msgid "Make Namelist"
- msgstr "名前リストを作成"
- 
-@@ -7141,6 +7207,9 @@ msgstr "MFの背景をクリア"
- msgid "MfShowErr"
- msgstr "MFエラーを表示"
- 
-+msgid "MicroSoft"
-+msgstr "マイクロソフト社"
-+
- msgid "Min"
- msgstr "最小"
- 
-@@ -7898,8 +7967,8 @@ msgstr ""
- #, c-format
- msgid "Nonsensical class assigned to a glyph-- class=%d is too big. Glyph=%d\n"
- msgstr ""
--"無意味なクラスがグリフに割り当てられています―クラス=%dは大きすぎます. グリフ="
--"%d\n"
-+"無意味なクラスがグリフに割り当てられています―クラス=%dは大きすぎます. グリフ"
-+"=%d\n"
- 
- msgid "Normal"
- msgstr "通常"
-@@ -8095,6 +8164,9 @@ msgstr "O/3次元的"
- msgid "OEM Charset"
- msgstr "OEM 文字セット"
- 
-+msgid "OK"
-+msgstr "OK"
-+
- msgid "OS2Version|Automatic"
- msgstr "自動"
- 
-@@ -8128,6 +8200,12 @@ msgstr "OSS/ベネチアン"
- msgid "OT _Glyph Class:"
- msgstr "OTFグリフクラス(_G):"
- 
-+msgid "O_ff"
-+msgstr "オフ(_F)"
-+
-+msgid "O_n"
-+msgstr "オン(_N)"
-+
- msgid "O_pen Paths"
- msgstr "開いたパス(_P)"
- 
-@@ -8370,6 +8448,9 @@ msgstr "フォントを開く"
- msgid "Open Reference"
- msgstr "参照情報を開く"
- 
-+msgid "Open _Web Page"
-+msgstr "Webページへ(_W)"
-+
- msgid "OpenType"
- msgstr "OpenTypeの仕様"
- 
-@@ -8940,6 +9021,9 @@ msgstr "\"軸の種類\"フィールドを設定してください"
- msgid "Please specify a new supplement for %.20s-%.20s"
- msgstr "%.20s-%.20sの補遺番号を指定し直してください."
- 
-+msgid "Plugin Configuration"
-+msgstr "プラグインの設定"
-+
- msgid "Poin_ts too close"
- msgstr "近すぎる点(_T)"
- 
-@@ -9260,6 +9344,9 @@ msgstr "無変換"
- msgid "Re_move"
- msgstr "削除(_M)"
- 
-+msgid "Re_vert List"
-+msgstr "リストを反転(_V)"
-+
- msgid "Reached end of file when reading composite glyph\n"
- msgstr "合成グリフの読み込み中にファイルの終端に到達しました\n"
- 
-@@ -9633,6 +9720,9 @@ msgstr "ルーマニア語(モルドバ)"
- msgid "Romany"
- msgstr "ロマーニー語"
- 
-+msgid "Rotate"
-+msgstr "回転"
-+
- msgid "Rotate 180°"
- msgstr "180°回転"
- 
-@@ -10232,6 +10322,9 @@ msgstr "常に2番目を選択(_T)"
- msgid "Second glyph of %s"
- msgstr "%sの2つめのグリフ"
- 
-+msgid "SeekCharacter"
-+msgstr "検索文字"
-+
- msgid "Segment Separator"
- msgstr "セグメント区切り"
- 
-@@ -10575,7 +10668,7 @@ msgid "Size of comb delimiters in non-display styles"
- msgstr "非ディスプレイ数式の comb の区切り文字"
- 
- msgid "Skew"
--msgstr "傾き"
-+msgstr "傾斜"
- 
- msgid "Skew Angle"
- msgstr "傾き角"
-@@ -11456,7 +11549,6 @@ msgstr ""
- "フォント%3$.30sのグリフ\"%2$.30s\"に含まれるヒント%1$sは,%4$.30sに含まれるも"
- "のと一致しません(個数または重なり合い方の特徴が異なります)"
- 
--#, c-format
- msgid ""
- "The %1$s in the search dialog contains a reference to %2$.20hs which does "
- "not exist in the new font.\n"
-@@ -12403,8 +12495,8 @@ msgid ""
- "This font contains a \"UniqueId\" variable, but the correct name for it is\n"
- "\t\"UniqueID\" (postscript is case concious)\n"
- msgstr ""
--"このフォントには \"UniqueId\" という名の変数がありますが, 正しくは\t"
--"\"UniqueID\" です (PostScriptでは大文字と小文字は区別されます)\n"
-+"このフォントには \"UniqueId\" という名の変数がありますが, 正しくは"
-+"\t\"UniqueID\" です (PostScriptでは大文字と小文字は区別されます)\n"
- 
- msgid ""
- "This font contains at least one translucent layer, but type3 does not "
-@@ -13308,6 +13400,15 @@ msgstr "辞書 %d に不正な値が含まれています\n"
- msgid "Unicase"
- msgstr "大小文字混在形"
- 
-+msgid "Unicode"
-+msgstr "Unicode"
-+
-+msgid "Unicode 1.0"
-+msgstr "Unicode 1.0"
-+
-+msgid "Unicode 1.1"
-+msgstr "Unicode 1.1"
-+
- msgid "Unicode 2.0+, BMP only"
- msgstr "Unicode 2.0 以降, BMP のみ"
- 
-@@ -14129,7 +14230,7 @@ msgid "X11 bitmap only sfnt (otb)"
- msgstr "X11 ビットマップのみの sfnt (otb)"
- 
- msgid "XHeight:"
--msgstr "xハイト:"
-+msgstr "Xハイト:"
- 
- msgid "XUID-Base"
- msgstr "XUIDの基底"
-@@ -14395,32 +14496,38 @@ msgstr "拡大(_I)"
- msgid "Zulu"
- msgstr "ズールー語"
- 
-+msgid "_128 pixel outline"
-+msgstr "マスの大きさ: 128ピクセル(_1)"
-+
- msgid "_16x4 cell window"
--msgstr "_16×4マス表示"
-+msgstr "16×4マス表示(_1)"
- 
- msgid "_24 pixel outline"
--msgstr "_24 ピクセル アウトライン"
-+msgstr "マスの大きさ: 24ピクセル(_2)"
- 
- msgid "_36 pixel outline"
--msgstr "_36 ピクセル アウトライン"
-+msgstr "マスの大きさ: 36ピクセル(_3)"
-+
-+msgid "_3D Rotate"
-+msgstr "3D 回転"
- 
- msgid "_48 pixel outline"
--msgstr "_48 ピクセル アウトライン"
-+msgstr "マスの大きさ: 48ピクセル(_4)"
- 
- msgid "_72 pixel outline"
--msgstr "_72 ピクセル アウトライン"
-+msgstr "マスの大きさ: 72ピクセル(_7)"
- 
- msgid "_8x2  cell window"
--msgstr " _8×2マス表示"
-+msgstr "8×2マス表示(_8)"
- 
- msgid "_96 pixel outline"
--msgstr "_96 ピクセル アウトライン"
-+msgstr "マスの大きさ: 96ピクセル(_9)"
- 
- msgid "_AA"
- msgstr "階調表示(_A)"
- 
- msgid "_About..."
--msgstr "…について(_A)..."
-+msgstr "このソフトウェアについて(_A)..."
- 
- msgid "_Accept inexact"
- msgstr "不正確な一致を許容(_A)"
-@@ -14479,6 +14586,9 @@ msgstr "周辺も(_A)"
- msgid "_Ascent:"
- msgstr "高さ(_A):"
- 
-+msgid "_Ask"
-+msgstr "尋ねる(_A)"
-+
- msgid "_Aspect"
- msgstr "様相(_A)"
- 
-@@ -14521,7 +14631,7 @@ msgid "_Both"
- msgstr "両方(_B)"
- 
- msgid "_Bottom"
--msgstr "最後(_B)"
-+msgstr "末尾へ(_B)"
- 
- msgid "_Bottom:"
- msgstr "下限(_B):"
-@@ -14535,6 +14645,9 @@ msgstr "アクセントつきグリフを構築(_B)"
- msgid "_Build Syllables"
- msgstr "音節を構築する(_B)"
- 
-+msgid "_CID"
-+msgstr "CID(_C)"
-+
- msgid "_Cancel"
- msgstr "キャンセル(_C)"
- 
-@@ -14568,6 +14681,9 @@ msgstr "定義済みのグリフのみ表示(_C)"
- msgid "_Condense/Extend..."
- msgstr "幅(_C)..."
- 
-+msgid "_Configure"
-+msgstr "設定(_C)"
-+
- msgid "_Contrast"
- msgstr "コントラスト(_C)"
- 
-@@ -14578,7 +14694,7 @@ msgid "_Control Points near horizontal/vertical"
- msgstr "水平/垂直に近い制御点(_C)"
- 
- msgid "_Convert to CID"
--msgstr "_CIDに変換"
-+msgstr "CIDに変換(_C)"
- 
- msgid "_Copies:"
- msgstr "部数(_C):"
-@@ -14614,6 +14730,9 @@ msgstr "グリフの切り離し(_D)"
- msgid "_Diagonal Hints"
- msgstr "斜めのヒント(_D)"
- 
-+msgid "_Disable"
-+msgstr "無効化(_D)"
-+
- msgid "_Display Compositions..."
- msgstr "組合せを表示(_D)..."
- 
-@@ -14659,6 +14778,9 @@ msgstr "EMの大きさ(_E):"
- msgid "_Embeddable"
- msgstr "埋め込み可能(_E)"
- 
-+msgid "_Enable"
-+msgstr "有効化(_E)"
-+
- msgid "_Enabled"
- msgstr "有効(_E)"
- 
-@@ -14683,6 +14805,9 @@ msgstr "極大点を表示(_E)"
- msgid "_FDEF"
- msgstr "_FDEF:"
- 
-+msgid "_FF"
-+msgstr "FF(_F)"
-+
- msgid "_Family Name:"
- msgstr "ファミリー名(_F):"
- 
-@@ -14870,6 +14995,9 @@ msgstr "合字(_L)"
- msgid "_Lining"
- msgstr "線描き(_L)"
- 
-+msgid "_Load"
-+msgstr "読み込み(_L)"
-+
- msgid "_Load Encoding..."
- msgstr "エンコーディングを読み込み(_L)..."
- 
-@@ -14907,6 +15035,9 @@ msgstr "組合せを修正(_M)..."
- msgid "_Mono"
- msgstr "白黒(_M)"
- 
-+msgid "_More Info"
-+msgstr "詳細情報(_M)"
-+
- msgid "_More hints than:"
- msgstr "ヒントの個数の上限(_M):"
- 
-@@ -14958,6 +15089,9 @@ msgstr "なし(_N)"
- msgid "_Normal"
- msgstr "通常(_N)"
- 
-+msgid "_OK"
-+msgstr "OK(_O)"
-+
- msgid "_OS/2 Version"
- msgstr "_OS/2バージョン"
- 
-@@ -15030,6 +15164,9 @@ msgstr "プリンタ(_P):"
- msgid "_Proportion"
- msgstr "幅の比率(_P)"
- 
-+msgid "_Python"
-+msgstr "Python(_P)"
-+
- msgid "_Quit"
- msgstr "終了(_Q)"
- 
-@@ -15184,7 +15321,7 @@ msgid "_Tools"
- msgstr "ツール(_T)"
- 
- msgid "_Top"
--msgstr "最初(_T)"
-+msgstr "先頭へ(_T)"
- 
- msgid "_Top:"
- msgstr "上限(_T):"
-@@ -15202,7 +15339,7 @@ msgid "_Transformations"
- msgstr "変形(_T)"
- 
- msgid "_TrueType Instructions"
--msgstr "_TrueType命令"
-+msgstr "TrueType命令(_T)"
- 
- msgid "_Twilight Pnt Cnt:"
- msgstr "トワイライトポイントの個数(_T):"
-@@ -15289,7 +15426,7 @@ msgid "_X-Ascent"
- msgstr "_xの高さ"
- 
- msgid "_X-Height"
--msgstr "_Xハイト"
-+msgstr "Xハイト(_X)"
- 
- msgid "_Yes"
- msgstr "はい(_Y)"
-diff --git a/po/ka_GE.po b/po/ka_GE.po
-index c55108f08c..ee1e9749d6 100644
---- a/po/ka_GE.po
-+++ b/po/ka_GE.po
-@@ -8,8 +8,8 @@ msgid ""
- msgstr ""
- "Project-Id-Version: fontforge\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-12-31 02:48+0000\n"
--"PO-Revision-Date: 2022-12-31 02:46\n"
-+"POT-Creation-Date: 2023-12-30 03:08-0800\n"
-+"PO-Revision-Date: 2023-12-30 11:56\n"
- "Last-Translator: \n"
- "Language-Team: Georgian\n"
- "Language: ka_GE\n"
-@@ -23,6 +23,13 @@ msgstr ""
- "X-Crowdin-File: FontForge.pot\n"
- "X-Crowdin-File-ID: 2\n"
- 
-+msgid ""
-+"\n"
-+"Layers:"
-+msgstr ""
-+"\n"
-+"შრეები:"
-+
- #, c-format
- msgid "  Ignoring '%c%c%c%c'\n"
- msgstr "  უგულებელყოფილია „%c%c%c%c“\n"
-@@ -39,14 +46,28 @@ msgstr " ზომის დამატებით შეიქმნება
- 
- #. GT: This continues a multi-line error message, hence the leading space
- msgid " Bad kerning class table, ignored\n"
--msgstr " წანაცვლების კლასის გაუმართავი ცხრილი, უგულებელყოფილია\n"
-+msgstr " შემოკვეცის კლასის უმართებულო ცხრილი, უგულებელყოფილია\n"
- 
- msgid " Bad ligature table, ignored\n"
- msgstr " გადაბმების გაუმართავი ცხრილი, უგულებელყოფილია\n"
- 
- #. GT: This continues a multi-line error message, hence the leading space
- msgid " Bad pairwise kerning table, ignored\n"
--msgstr " წანაცვლებული წყვილების გაუმართავი ცხრილი, უგულებელყოფილია\n"
-+msgstr " შემოკვეცილი წყვილების უმართებულო ცხრილი, უგულებელყოფილია\n"
-+
-+#, c-format
-+msgid " Curvature: %g"
-+msgstr " სიმრუდე: %g"
-+
-+#, c-format
-+msgid " Curvature: %g  Radius: %g"
-+msgstr " სიმრუდე: %g  რადიუსი: %g"
-+
-+msgid " Next CP"
-+msgstr " შემდ. მოსაჭიდი"
-+
-+msgid " Prev CP"
-+msgstr " წინა მოსაჭიდი"
- 
- msgid " Removing a size will delete it."
- msgstr " ზომის მოცილების შედეგად წაიშლება."
-@@ -60,8 +81,8 @@ msgid ""
- "%.100s is not in a known format (or uses features of that format fontforge "
- "does not support, or is so badly corrupted as to be unreadable)"
- msgstr ""
--"%.100s უცნობი სახისაა (ან იმ სახის თვისებებს შეიცავს, რომელთაც FontForge ვერ "
--"აღიქვამს, ანდაც ისეა დაზიანებული, რომ ვერ იკითხება)"
-+"%.100s უცნობი სახისაა (ან იმ სახის თვისებებს იყენებს, რომელთაც FontForge ვერ "
-+"აღიქვამს, ანდა ისეა დაზიანებული, რომ ვერ იკითხება)"
- 
- #. GT: This is the title for a window showing an outline character
- #. GT: It will look something like:
-@@ -72,7 +93,18 @@ msgstr ""
- #. GT: $4 is the changed flag ('*' for the changed items)
- #, c-format
- msgid "%1$.80s at %2$d from %3$.90s%4$s"
--msgstr "%1$.80s უჯრაში %2$d, შრიფტიდან %3$.90s%4$s"
-+msgstr "%1$.80s უჯრაში %2$d შრიფტიდან %3$.90s%4$s"
-+
-+#. GT: This is the title for a window showing a bitmap character
-+#. GT: It will look something like:
-+#. GT:  exclam at 33 size 12 from Arial
-+#. GT: $1 is the name of the glyph
-+#. GT: $2 is the glyph's encoding
-+#. GT: $3 is the pixel size of the bitmap font
-+#. GT: $4 is the font name
-+#, c-format
-+msgid "%1$.80s at %2$d size %3$d from %4$.80s"
-+msgstr "%1$.80s უჯრაში %2$d ზომით%3$d შრიფტიდან %4$.80s"
- 
- #. GT: The user is trying to open a font file which contains multiple fonts and
- #. GT: has asked for a font which is not in that file.
-@@ -88,6 +120,16 @@ msgstr ""
- "%s\n"
- "განაგრძობთ მაინც?"
- 
-+#. GT: There are various broad classes of lookups here and the first string
-+#. GT: describes those: "Contextual Positioning", Contextual Substitution", etc.
-+#. GT: Each of those may be formatted in 3 different ways: by (or perhaps using
-+#. GT: would be a better word) glyphs, classes or coverage tables.
-+#. GT: So this might look like:
-+#. GT:  Contextual Positioning by classes
-+#, c-format
-+msgid "%s by %s"
-+msgstr "%s %sს მიხედვით"
-+
- #. GT: This string is used to generate a name for each OpenType lookup.
- #. GT: The %s will be filled with the user friendly name of the feature used to invoke the lookup
- #. GT: The second %s (if present) is the script
-@@ -103,7 +145,7 @@ msgstr "%s ფაილს არ შეიცავს %.100s"
- 
- #, c-format
- msgid "%s kerning class %d"
--msgstr "%s წანაცვლების კლასი %d"
-+msgstr "%s შემოკვეცის კლასი %d"
- 
- #. GT: This string is used to generate a name for an OpenType lookup subtable.
- #. GT:  %s is the lookup name
-@@ -120,7 +162,7 @@ msgid "'%s' is not the name of a currently known plugin"
- msgstr "„%s“ არ ემთხვევა ამჟამად ცნობილი მოდულების სახელებს"
- 
- msgid "'kern' Horizontal Kerning Table"
--msgstr "'kern' თარაზული წანაცვლების ცხრილი"
-+msgstr "'kern' ცხრილი თარაზული შემოკვეცისთვის"
- 
- msgid "(Adobe now considers XUID/UniqueID unnecessary)"
- msgstr "(Adobe მიიჩნევს, რომ XUID/UniqueID აღარაა აუცილებელი)"
-@@ -225,6 +267,12 @@ msgstr "ჭდე უნდა იყოს 4 ASCII სიმბოლოთი"
- msgid "AMS Names"
- msgstr "AMS სახელები"
- 
-+msgid "A_dd Extrema"
-+msgstr "წვერ_ოს დამატება"
-+
-+msgid "Active Hints"
-+msgstr "მოქმედი მიმთ."
-+
- msgid "Active Layer Color"
- msgstr "მოქმედი შრის ფერი"
- 
-@@ -241,12 +289,18 @@ msgstr "მოქმედი ხელსაწყოს ფერი"
- msgid "Add"
- msgstr "დამატება"
- 
-+msgid "Add All Extrema"
-+msgstr "ყველა წვეროს დამატება"
-+
- msgid "Add Encoding Name..."
- msgstr "დაშიფვრის სახელის დამატება..."
- 
- msgid "Add Encoding Slots..."
- msgstr "დასაშიფრი ადგილების დამატება..."
- 
-+msgid "Add Good Extrema"
-+msgstr "მართებული წვეროს დამატება"
-+
- msgid "Add Language to Script..."
- msgstr "ენის დამატება დამწერლობისთვის..."
- 
-@@ -266,10 +320,10 @@ msgid "Add a curve point"
- msgstr "მრუდის წერტილის დამატება"
- 
- msgid "Add a curve point always either horizontal or vertical"
--msgstr "მრუდის წერტილის დამატება მხოლოდ თარაზულად, ან შვეულად"
-+msgstr "მრუდის წერტილი მხოლოდ თარაზულად ან შვეულად"
- 
- msgid "Add a left \"tangent\" point"
--msgstr "მარცხენა „მხების“ წერტილის დამატება"
-+msgstr "მარცხნივ მიმართული „მხების“ წერტილის დამატება"
- 
- msgid "Add a new layer"
- msgstr "ახალი შრის დამატება"
-@@ -278,7 +332,7 @@ msgid "Add a point, then drag out its control points"
- msgstr "წერტილის დამატება, გადაადგილება და მართვა"
- 
- msgid "Add a right \"tangent\" point"
--msgstr "მარჯვენა „მხების“ წერტილის დამატება"
-+msgstr "მარჯვნივ მიმართული „მხების“ წერტილის დამატება"
- 
- msgid "Add a subtable to which lookup?"
- msgstr "რომეცლ ცნობარს დაემატოს ქვეცხრილი?"
-@@ -287,7 +341,10 @@ msgid "Add a tangent point"
- msgstr "მხების წერტილის დამატება"
- 
- msgid "Adding points at Extrema..."
--msgstr "ემატება კიდურა წერტილები..."
-+msgstr "კიდურა წერტილების დამატება..."
-+
-+msgid "Additional arguments for autotrace program:"
-+msgstr "დამატებითი არგუმენტები თვითგამომხაზველი პროგრამისთვის:"
- 
- #. GT: "Adjust" here means Device Table based pixel adjustments, an OpenType
- #. GT: concept which allows small corrections for small pixel sizes where
-@@ -343,8 +400,8 @@ msgid ""
- "After rotating or skewing a glyph you should probably apply Element->Add "
- "Extrema"
- msgstr ""
--"ასონიშნის მობრუნების ან გადახრის შემდგომ, სასურველია გამოიყენოთ „შემადგენელი "
--"→ კიდურა წერტილის დამატება“"
-+"ასონიშნის მობრუნების ან გადახრის შემდგომ სასურველია გამოიყენოთ „შემადგენელი "
-+"→ წვეროს წერტილის დამატება“"
- 
- msgid "Ahead Classes"
- msgstr "მომდევნო კლასები"
-@@ -352,6 +409,9 @@ msgstr "მომდევნო კლასები"
- msgid "Ahom"
- msgstr "აჰომი"
- 
-+msgid "Align Points"
-+msgstr "წერტილების სწორება"
-+
- msgid "All Files"
- msgstr "ყველანაირი ფაილი"
- 
-@@ -364,8 +424,11 @@ msgstr "ყველა ასონიშანი"
- msgid "Allow _curve smoothing"
- msgstr "_მრუდის დაგლუვების საშუალება"
- 
-+msgid "Allow _removal of extrema"
-+msgstr "წვეროს მო_ცილების ნებართვა"
-+
- msgid "Allows you to select optional behavior when generating the font"
--msgstr "დამატებითი მოქმედების მითითების საშუალება, შრიფტის შედგენისას"
-+msgstr "დამატებითი მოქმედების მითითების საშუალება შრიფტის დამზადებისას"
- 
- msgid "Almost Horizontal/Vertical Curves"
- msgstr "თითქმის თარ./შვეულ. მრუდები"
-@@ -596,6 +659,15 @@ msgstr "ისრები"
- msgid "Arrows & Sup Arrows A/B & Misc Arrows"
- msgstr "ისრები, დანართი A/B და სხვადასხვა ნიშნები"
- 
-+msgid "As CFF fonts"
-+msgstr "როგორც CFF-შრიფტები"
-+
-+msgid "Ascent/Descent Color"
-+msgstr "ზედატანის/ქვედატანის ფერი"
-+
-+msgid "Ask the user for autotrace arguments each time autotrace is invoked"
-+msgstr "არგუმენტების მითითების მოთხოვნა გამოხაზვის ყოველი წამოწყებისას"
-+
- msgid "At most 31 glyphs may be specified in an insert list"
- msgstr "არაუმეტეს 31 ასონიშანი შეიძლება მიეთითოს ჩასამატებელ სიაში"
- 
-@@ -607,13 +679,13 @@ msgid "Auto Width"
- msgstr "სიგანის თვითგანსაზღვრა"
- 
- msgid "AutoHint"
--msgstr "თვითმინიშნება"
-+msgstr "თვითმიმთითებელი"
- 
- msgid "AutoHint changed glyphs before generating a font"
--msgstr "თვითმინიშნებით შესწორებულია ასონიშნები შრიფტის შედგენამდე"
-+msgstr "თვითმიმთითებლით შესწორებულია ასონიშნები შრიფტის დამზადებამდე"
- 
- msgid "AutoKernDialog"
--msgstr "თვითწანაცვლების სარკმელი"
-+msgstr "თვითშემოკვეცის სარკმელი"
- 
- msgid "AutoLBearingSync"
- msgstr "მარცხენა საბჯენის თვითშეწყობა"
-@@ -629,7 +701,16 @@ msgid "Auto_Instr"
- msgstr "თვითმი_თითება"
- 
- msgid "Autokern new entries"
--msgstr "ახლადშეყვანილის თვითწანაცვლება"
-+msgstr "ახლად შეტანილის თვითშემოკვეცა"
-+
-+msgid "AutotraceArgs"
-+msgstr "გამომხაზველის არგუმენტები"
-+
-+msgid "AutotraceAsk"
-+msgstr "მოთხოვნა გამოხაზვისას"
-+
-+msgid "Autotracing..."
-+msgstr "თვითგამოხაზვა..."
- 
- msgid "Axerbaijani (Arabic)"
- msgstr "აზერბაიჯანული (არაბული)"
-@@ -647,6 +728,9 @@ msgstr "აზერი (ლათინური)"
- msgid "BBearing:"
- msgstr "ქვედა საბჯენი:"
- 
-+msgid "BMP"
-+msgstr "BMP"
-+
- #. GT: Background, make it short
- msgid "Back"
- msgstr "უკანა"
-@@ -655,7 +739,7 @@ msgid "Back Classes"
- msgstr "წინა კლასები"
- 
- msgid "Bad Apple Kern Class\n"
--msgstr "Apple-ის გაუმართავი წანაცვლების კლასი\n"
-+msgstr "Apple-ის უმართებულო კლასი შემოკვეცისთვის\n"
- 
- msgid "Bad Class"
- msgstr "გაუმართავი კლასი"
-@@ -705,6 +789,9 @@ msgstr "გაუმართავი არეები"
- msgid "Bad Version"
- msgstr "არამართებული ვერსია"
- 
-+msgid "Bad WOFF header, a field which must be 0 is not."
-+msgstr "უმართებულო WOFF-თავსართი, ველის მნიშვნელობა უნდა ყოფილიყო 0."
-+
- msgid "Bad Weight"
- msgstr "არამართებული სისქე"
- 
-@@ -712,7 +799,7 @@ msgid "Bad class name"
- msgstr "კლასის გაუმართავი სახელი"
- 
- msgid "Bad default baseline"
--msgstr "გაუმართავი საყრდენი ხაზი"
-+msgstr "გაუმართავი ძირითადი ხაზი"
- 
- msgid "Bad encoding file format"
- msgstr "გაუმართავი შიფრის მქონე ფაილი"
-@@ -733,7 +820,7 @@ msgstr "გაუმართავი გამოსახულება: %.1
- 
- #, c-format
- msgid "Bad kern pair: glyphs %d & %d should have been < %d\n"
--msgstr "გაუმართავი წანაცვლების წყვილი: ასონიშნები %d და %d უნდა იყოს < %d\n"
-+msgstr "შემოკვეცის უმართებულო წყვილი: ასონიშნები %d და %d უნდა იყოს < %d\n"
- 
- msgid "Bad language tag"
- msgstr "არამართებული ენის ჭდე"
-@@ -757,6 +844,9 @@ msgstr "არასწორი რიცხვი, Infinity ან NaN: %s\n"
- msgid "Bad rule"
- msgstr "გაუმართავი წესი"
- 
-+msgid "Bad signature in WOFF header."
-+msgstr "უმართებულო ხელმოწერა WOFF-თავსართში."
-+
- #. GT: The words "true" and "false" should be left untranslated. We are restricted
- #. GT: here by what PostScript understands, and it only understands the English
- #. GT: words. You may, of course, change it to something like ("true" (vrai) ou "false" (faux))
-@@ -785,10 +875,10 @@ msgid "Base Ligatures"
- msgstr "ძირითადი გადაბმები"
- 
- msgid "Baseline"
--msgstr "საყრდენი ხაზი"
-+msgstr "ძირითადი ხაზი"
- 
- msgid "Baseline used for Latin, Greek, Cyrillic text."
--msgstr "საყრდენი ხაზი ლათინურის, ბერძნულისა და კირილიცისთვის."
-+msgstr "ძირითადი ხაზი ლათინურის, ბერძნულისა და კირილიცისთვის."
- 
- msgid "Basic Latin"
- msgstr "ძირითადი ლათინური"
-@@ -820,6 +910,9 @@ msgstr "რასტრული გადიდება..."
- msgid "Bitmap _Magnification..."
- msgstr "რასტრული გა_დიდება..."
- 
-+msgid "Bits/Pixel:"
-+msgstr "ბიტი/პიქსელზე:"
-+
- msgid "Bold font used in the Find/Replace window"
- msgstr "მუქი შრიფტი გამოიყენება პოვნა/ძიების ფანჯარაში"
- 
-@@ -925,17 +1018,48 @@ msgstr ""
- msgid "Can't Find Glyph"
- msgstr "ვერ მოინახა ასონიშანი"
- 
-+msgid "Can't create temporary directory"
-+msgstr "ვერ შეიქმნა დროებითი საქაღალდე"
-+
-+msgid "Can't find autotrace"
-+msgstr "ვერ მოიძებნა გამომხაზველი"
-+
-+msgid ""
-+"Can't find autotrace program (set AUTOTRACE environment variable) or "
-+"download from:\n"
-+"  http://sf.net/projects/autotrace/"
-+msgstr ""
-+"ვერ მოიძებნა თვითგამომხაზველი (გამართეთ გარემოს ცვლადი AUTOTRACE) ან "
-+"ჩამოტვირთეთ აქედან:\n"
-+"  http://sf.net/projects/autotrace/"
-+
-+msgid "Can't find mf"
-+msgstr "ვერ მოიძებნა mf (metafont)"
-+
-+msgid ""
-+"Can't find mf program -- metafont (set MF environment variable) or download "
-+"from:\n"
-+"  http://www.tug.org/\n"
-+"  http://www.ctan.org/\n"
-+"It's part of the TeX distribution"
-+msgstr ""
-+"ვერ მოინახა mf-პროგრამა -- metafont (გამართეთ გარემოს ცვლადი MF) ან "
-+"ჩამოტვირთეთ აქედან:\n"
-+"  http://www.tug.org/\n"
-+"  http://www.ctan.org/\n"
-+"TeX-ის შემადგენელი ნაწილია"
-+
- msgid "Can't find the file"
- msgstr "ვერ მოიძებნა ფაილი"
- 
- msgid "Can't insert 'cvt'"
--msgstr "ვერ ჩაისმება 'cvt'"
-+msgstr "ვერ ჩაისმება „cvt“"
- 
- msgid "Can't insert 'fpgm'"
--msgstr "ვერ ჩაისმება 'fpgm'"
-+msgstr "ვერ ჩაისმება „fpgm“"
- 
- msgid "Can't insert 'prep'"
--msgstr "ვერ ჩაისმება 'prep'"
-+msgstr "ვერ ჩაისმება „prep“"
- 
- #, c-format
- msgid "Can't open %s"
-@@ -951,6 +1075,9 @@ msgstr "ვერ იხსნება დროებითი ფაილი
- msgid "Can't open temporary file for truetype output.\n"
- msgstr "ვერ იხსნება დროებითი ფაილი Truetype-გამოტანისთვის.\n"
- 
-+msgid "Can't run mf"
-+msgstr "ვერ გაეშვა mf (metafont)"
-+
- msgid "Cancel"
- msgstr "გაუქმება"
- 
-@@ -1341,9 +1468,15 @@ msgstr "ყველაფრის გასუფთავება"
- msgid "Clear Device Table"
- msgstr "მოწყობილობის ცხრილის გასუფთავება"
- 
-+msgid "Clear Instructions"
-+msgstr "მითითებების გასუფთავება"
-+
- msgid "Clear Special Data"
- msgstr "საგანგებო მონაცემების წაშლა"
- 
-+msgid "Clear _Background"
-+msgstr "_ფონის გასუფთავება"
-+
- msgid ""
- "Click on a range to select characters in that range.\n"
- "Double click on a range to see characters that should be\n"
-@@ -1356,11 +1489,14 @@ msgstr ""
- msgid "Co_py LBearing"
- msgstr "მარცხენა საბჯენის ას_ლი"
- 
-+msgid "Color of the ascent and descent lines"
-+msgstr "ზედატანისა და ქვედატანის ხაზების ფერი"
-+
- msgid "Color used to draw the advance width line of a glyph"
- msgstr "ასონიშნის გაფართოებული სიგანის აღმნიშვნელი ფერი"
- 
- msgid "Color used to draw the kerning line"
--msgstr "წანაცვლების ხაზის აღმნიშვნელი ფერი"
-+msgstr "შემოკვეცის ზოლის აღმნიშვნელი ფერი"
- 
- msgid "Color used to draw the left side bearing"
- msgstr "მარცხენა საბჯენის ფერი"
-@@ -1389,6 +1525,9 @@ msgstr "დასართავი განმასხვავებელ
- msgid "Combining Diacritical Marks for Symbols"
- msgstr "დასართავი განმასხვავებელი ნიშნები პირობითი ნიშნებისთვის"
- 
-+msgid "Comment"
-+msgstr "შენიშვნა"
-+
- msgid "Common Indic Number Forms"
- msgstr "გავრცელებული ინდური რიცხვითი ჩანაწერები"
- 
-@@ -1401,12 +1540,31 @@ msgstr "შემჭირდოებული გახსნისას"
- msgid "Compacted"
- msgstr "შემჭიდროებული"
- 
-+msgid "Compare Layers"
-+msgstr "შრეების შედარება"
-+
-+msgid "Compare Layers..."
-+msgstr "შრეების შედარება..."
-+
- msgid "Compare _Outlines"
- msgstr "_მოხაზულობის შედარება"
- 
-+msgid "Compare two layers"
-+msgstr "ორი შრის შედარება"
-+
- msgid "Complex"
- msgstr "რთული"
- 
-+msgid "Component"
-+msgstr "შემადგენელი"
-+
-+#, c-format
-+msgid "Component %d %.30s (%d,%d)"
-+msgstr "შემადგენელი %d %.30s (%d,%d)"
-+
-+msgid "Components"
-+msgstr "შემადგენლები"
-+
- msgid "Config_ure Plugins..."
- msgstr "მოდულების გამარ_თვა..."
- 
-@@ -1434,6 +1592,9 @@ msgstr "შრეების ასლი"
- msgid "Copy RBearin_g"
- msgstr "მარჯვენა სა_ბჯენის ასლი"
- 
-+msgid "Copy _Fg To Bg"
-+msgstr "ასლი ფ_ონზე"
-+
- msgid "Copy _VWidth"
- msgstr "_შვეული სიგანის ასლი"
- 
-@@ -1447,7 +1608,7 @@ msgid "Copy_right:"
- msgstr "საავ_ტორო უფლება:"
- 
- msgid "Copyright"
--msgstr "საავტორო უფლება"
-+msgstr "საკუთრების უფლება"
- 
- msgid ""
- "Copyright text (in the Names pane) must be entirely ASCII. So, use (c) "
-@@ -1457,7 +1618,11 @@ msgstr ""
- "გამოიყენეთ (c) და არა – ©."
- 
- msgid "Corner"
--msgstr "კუთხე"
-+msgstr "კუთხოვანი"
-+
-+#, c-format
-+msgid "Could not create plugin directory '%s'\n"
-+msgstr "ვერ შეიქმნა მოდულის საქაღალდე: „%s“\n"
- 
- msgid "Could not figure out a lookup type"
- msgstr "ვერ დადგინდა ცნობარის სახეობა"
-@@ -1478,7 +1643,7 @@ msgid "Could not open temporary file."
- msgstr "ვერ გაიხსნა დროებითი ფაილი."
- 
- msgid "Could not read (or perhaps find) mf output file"
--msgstr "ვერ იკითხება (ან უფრო იძებნება) mf-გამოტანის ფაილი"
-+msgstr "ვერ იკითხება (ანდა ვერ იძებნება) mf-გამოტანის ფაილი"
- 
- msgid "Couldn't Load"
- msgstr "ვერ ჩაიტვირთა"
-@@ -1518,6 +1683,9 @@ msgstr "ვერ გაიხსნა ფაილი %.200s"
- msgid "Couldn't open font"
- msgstr "ვერ გაიხსნა შრიფტი"
- 
-+msgid "Cr_eate"
-+msgstr "შე_ქმნა"
-+
- msgid "Cre_ate Named Glyphs..."
- msgstr "სახელიანი ასონიშნების შ_ექმნა..."
- 
-@@ -1527,6 +1695,12 @@ msgstr "მცირე მთავრულის შექმნა"
- msgid "Create Subscript/Superscript"
- msgstr "ხაზზედა/ხაზქვედა ნიშნის შექმნა"
- 
-+msgid "Create directory"
-+msgstr "საქაღალდის შექმნა"
-+
-+msgid "Create directory..."
-+msgstr "საქაღალდის შექმნა..."
-+
- msgid "Create small caps variants for symbols as well as letters"
- msgstr "მცირე მთავრულის შექმნა სიმბოლოებისა და ასოებისთვის"
- 
-@@ -1547,6 +1721,19 @@ msgstr ""
- "ჯერჯერობით, FontForge-ში მხარდაჭერილია მხოლოდ ბიტური (და არა ბაიტური) სახის "
- "type3-გამოტანა"
- 
-+#, c-format
-+msgid "Curvature: %g"
-+msgstr "სიმრუდე: %g"
-+
-+msgid "Curvature: -0.00000000"
-+msgstr "სიმრუდე: -0.00000000"
-+
-+msgid "Curvature: ?"
-+msgstr "სიმრუდე: ?"
-+
-+msgid "Curve"
-+msgstr "მრუდი"
-+
- msgid "Curve Type"
- msgstr "მრუდის სახეობა"
- 
-@@ -1589,8 +1776,11 @@ msgstr "თარიღები"
- msgid "De_activate Spiro"
- msgstr "ხვეულის გა_უქმება"
- 
-+msgid "Decompressed length did not match expected length for table"
-+msgstr "შეუკუმშავი სიგრძე შეუსაბამოა ცხრილისთვის მოსალოდნელ სიგრძესთან"
-+
- msgid "Default Baseline"
--msgstr "საყრდენი ხაზი ნაგულისხმევად"
-+msgstr "ნაგულისხმევი ძირითადი ხაზი"
- 
- msgid "Define Groups"
- msgstr "ჯგუფების განსაზღვრა"
-@@ -1649,11 +1839,14 @@ msgstr "საქაღალდეები თავში"
- msgid "Directories Separate"
- msgstr "საქაღალდეები გამოყოფილად"
- 
-+msgid "Directory name?"
-+msgstr "საქაღალდის სახელი?"
-+
- msgid "Directory|_New"
- msgstr "_ახალი"
- 
- msgid "Discarding a duplicate kerning pair."
--msgstr "ცილდება ერთნაირი წანაცვლებული წყვილები."
-+msgstr "ცილდება ერთნაირი შემოკვეცილი წყვილები."
- 
- msgid "Display"
- msgstr "ჩვენება"
-@@ -1696,6 +1889,12 @@ msgid ""
- msgstr ""
- "გამოაჩენს ყველა მონიშნულ სიმბოლოს, თითოეულს ცალკე გვერდზე, მეტად დიდი ზომით"
- 
-+msgid "Dist"
-+msgstr "სიშორე"
-+
-+msgid "Distance"
-+msgstr "დაშორება"
-+
- msgid "Dives Akuru"
- msgstr "დივეჰი აკურუ"
- 
-@@ -1711,7 +1910,7 @@ msgstr ""
- "(თუ კი, რომლები)"
- 
- msgid "Doesn't look like a valid pdf file, couldn't find xref section"
--msgstr "არ ჰგავს მართებულ PDF-ფაილს, ვერ მოინახა xref-განყოფილება"
-+msgstr "არ ჰგავს მართებულ PDF-ფაილს, ვერ მოინახა xref-არე"
- 
- msgid "Dogra"
- msgstr "დოგრი"
-@@ -1731,6 +1930,9 @@ msgstr "სახელი მეორდება"
- msgid "Duployan"
- msgstr "დუპლოი"
- 
-+msgid "EPS"
-+msgstr "EPS"
-+
- msgid "E_lement"
- msgstr "შ_ემადგენელი"
- 
-@@ -1788,7 +1990,7 @@ msgid "Egyptian Hieroglyphs"
- msgstr "ეგვიპტური იეროგლიფები"
- 
- msgid "Ellipse"
--msgstr "ოვალი"
-+msgstr "კვერცხისებრი"
- 
- msgid "Enclosed Alphanumeric Supplement"
- msgstr "შემოსაზღვრული ასოციფრული დანართი"
-@@ -1854,12 +2056,33 @@ msgstr "აკლია „{“ განსაზღვრისას %d ხ
- msgid "Expor_t..."
- msgstr "გა_ტანა..."
- 
-+msgid "Export"
-+msgstr "გამოტანა"
-+
-+msgid "Export Options"
-+msgstr "გამოტანის პარამეტრები"
-+
-+msgid "ExportClipboard"
-+msgstr "გამოტანის ასლის აღება"
-+
- msgid "Extended"
- msgstr "გაფართოებული"
- 
- msgid "Extended Collection"
- msgstr "გაფართოებული კრებული"
- 
-+#. GT: Extra Space, see below for a full comment
-+#. GT: Extra Space
-+msgid "Extra Sp:"
-+msgstr "დამატ. სივრცე:"
-+
-+msgid ""
-+"Extra arguments for configuring the autotrace program\n"
-+"(either autotrace or potrace)"
-+msgstr ""
-+"დამატებითი არგუმენტები გამომხაზველი პროგრამის გასამართად\n"
-+"(გამოდგება ორივესთვის, Autotrace და Potrace)"
-+
- msgid ""
- "Extra white space to be added after each\n"
- "sub/superscript."
-@@ -1871,12 +2094,16 @@ msgstr "ამოკრეფა PDF-ფაილიდან"
- msgid "F_ind / Replace..."
- msgstr "_პოვნა / ჩანაცვლება..."
- 
-+#. GT: Foreground, make it short
-+msgid "F_ore"
-+msgstr "_წინა"
-+
- msgid "Failed to generate postscript font"
--msgstr "ვერ შეიქმნა PostScript-შრიფტი"
-+msgstr "ვერ დამზადდა PostScript-შრიფტი"
- 
- #, c-format
- msgid "Failed to generate postscript in file %s"
--msgstr "ვერ შეიქმნა PostScript-შრიფტი ფაილში %s"
-+msgstr "ვერ დამზადდა PostScript-შრიფტი ფაილში %s"
- 
- #, c-format
- msgid "Failed to open %s for output"
-@@ -1913,12 +2140,17 @@ msgstr "თვისების ჭდეები მოცილდება"
- msgid "File Exists"
- msgstr "ფაილი არსებობს"
- 
-+msgid ""
-+"File length as specified in the WOFF header does not match the actual file "
-+"length."
-+msgstr "ფაილის სიგრძე მითითებული WOFF-თავსართში არ ემთხვევა არსებულ სიგრძეს."
-+
- #, c-format
- msgid "File, %s, exists. Replace it?"
- msgstr "ფაილი %s უკვე არსებობს. ჩანაცვლდეს?"
- 
- msgid "Filled Ellipse"
--msgstr "სავსე ოვალი"
-+msgstr "სავსე კვერცხისებრი"
- 
- msgid "Filter"
- msgstr "გამორჩევა"
-@@ -1964,22 +2196,22 @@ msgid "Flip"
- msgstr "გადაკეცვა"
- 
- msgid "Flip Horizontally"
--msgstr "თარაზულად შებრუნება"
-+msgstr "თარაზულად გადაკეცვა"
- 
- msgid "Flip Vertically"
--msgstr "შვეულად შებრუნება"
-+msgstr "შვეულად გადაკეცვა"
- 
- msgid "Flip _Horizontally"
--msgstr "თარა_ზულად შებრუნება"
-+msgstr "თარა_ზულად გადაკეცვა"
- 
- msgid "Flip _Vertically"
--msgstr "შ_ვეულად შებრუნება"
-+msgstr "შ_ვეულად გადაკეცვა"
- 
- msgid "Flip the selection"
--msgstr "მონიშნულის სარკისებრი შებრუნება"
-+msgstr "მონიშნულის გადაკეცვა"
- 
- msgid "Flip..."
--msgstr "შებრუნება..."
-+msgstr "გადაკეცვა..."
- 
- msgid "Fo_ntname:"
- msgstr "შრი_ფტის სახელი:"
-@@ -1990,7 +2222,7 @@ msgid ""
- "Do you want to save it?"
- msgstr ""
- "შრიფტი %1$.40s შეცვლილია ფაილში %2$.40s.\n"
--"გსურთ შეინახოს?"
-+"გსურთ შენახვა?"
- 
- #, c-format
- msgid ""
-@@ -2041,6 +2273,21 @@ msgstr ""
- "სისტემებზე გასაშვებად. FontForge შეგიძლიათ გამოიყენოთ როგორც გამოსახულებითი "
- "სახით, აგრეთვე ბრძანებათა ველის მეშვეობით."
- 
-+#, c-format
-+msgid "FontForge supports at most %d layers"
-+msgstr "FontForge-ში მხარდაჭერილია არაუმეტეს %d შრე"
-+
-+msgid ""
-+"FontForge supports two different helper applications to do autotracing\n"
-+" autotrace and potrace\n"
-+"If your system only has one it will use that one, if you have both\n"
-+"use this option to tell FontForge which to pick."
-+msgstr ""
-+"FontForge-თან თავსებადია თვითგამოხაზვის ორი სხვადასხვა დამხმარე პროგრამა\n"
-+" Autotrace და Potrace.\n"
-+"თუ სისტემაში მხოლოდ ერთია, მას გამოიყენებს, თუ ორივეა,\n"
-+"ამ პარამეტრის მეშვეობით მიუთითეთ FontForge-ს, რომელი არჩიოს."
-+
- msgid ""
- "FontForge was unable to load libspiro, spiros are not available for use."
- msgstr ""
-@@ -2060,7 +2307,7 @@ msgstr ""
- "უდიდესი მნიშვნელობები, თითოეული ნიშნის საბჯენებისთვის."
- 
- msgid "FontForge will guess kerning classes for selected glyphs"
--msgstr "FontForge ივარაუდებს წანაცვლების კლასს შერჩეული ასონიშნებისთვის"
-+msgstr "FontForge ივარაუდებს შემოკვეცის კლასს შერჩეული ასონიშნებისთვის"
- 
- msgid ""
- "FontForge will look at the glyphs selected in the font view\n"
-@@ -2069,7 +2316,7 @@ msgid ""
- msgstr ""
- "FontForge გადახედავს ასონიშნებს შრიფტის ხედით\n"
- "და შეეცდება იპოვოს მსგავსი ასონიშნები, რომელთა\n"
--"მონაცემებითაც მიხედვითაც შექმნის წანაცვლების კლასებს."
-+"მონაცემების მიხედვითაც შექმნის შემოკვეცის კლასებს."
- 
- msgid "FontLog Save Failed"
- msgstr "FontLog ვერ შეინახა"
-@@ -2087,10 +2334,19 @@ msgstr "ასონიშნების იძულებით გადა
- msgid "Fore"
- msgstr "წინა"
- 
-+msgid "Forget _to All"
-+msgstr "ყველას და_ვიწყება"
-+
-+msgid "Format:"
-+msgstr "სახეობა:"
-+
- #. GT: This does not mean the program, but freehand drawing
- msgid "Freehand"
- msgstr "თავისუფალი"
- 
-+msgid "Friendly Name"
-+msgstr "იოლი სახელი"
-+
- msgid "From the _other class"
- msgstr "ს_ხვა კლასიდან"
- 
-@@ -2109,6 +2365,9 @@ msgstr "75"
- msgid "Gasp|_Version"
- msgstr "ვე_რსია"
- 
-+msgid "General"
-+msgstr "ძირითადი"
-+
- msgid "General Punctuation"
- msgstr "ძირითადი სასვენი ნიშნები"
- 
-@@ -2116,28 +2375,28 @@ msgid "General/Supplemental Punctuation"
- msgstr "ძირითადი/დამატებითი სასვენი ნიშნები"
- 
- msgid "Generate"
--msgstr "შედგენა"
-+msgstr "დამზადება"
- 
- msgid "Generate Fonts"
--msgstr "შრიფტების შედგენა"
-+msgstr "შრიფტების დამზადება"
- 
- msgid "Generate Mac Family"
--msgstr "შედგენა Mac-კრებულის"
-+msgstr "Mac-კრებულის დამზადება"
- 
- msgid "Generate Mac _Family..."
--msgstr "შედგენა Mac-კ_რებულის..."
-+msgstr "Mac-კ_რებულის დამზადება..."
- 
- msgid "Generate TTC"
--msgstr "შეიქმნას TTC"
-+msgstr "დამზადდეს TTC"
- 
- msgid "Generate TTC..."
--msgstr "შეიქმნას TTC..."
-+msgstr "დამზადდეს TTC..."
- 
- msgid "Generating PostScript Font"
--msgstr "იქმნება PostScript-შრიფტი"
-+msgstr "მზადდება PostScript-შრიფტი"
- 
- msgid "Generating bitmap font"
--msgstr "იქმნება ბიტური შრიფტი"
-+msgstr "მზადდება ბიტური შრიფტი"
- 
- msgid "Generic"
- msgstr "მთავარი"
-@@ -2169,6 +2428,19 @@ msgstr "გლაგოლიცური"
- msgid "Glagolitic Supplement"
- msgstr "გლაგოლიცური დანართი"
- 
-+msgid "Glif"
-+msgstr "Glif"
-+
-+msgid "Glyph Info"
-+msgstr "ასონიშნის შესახებ"
-+
-+#, c-format
-+msgid "Glyph Info for %.40s"
-+msgstr "%.40s ასონიშნის შესახებ"
-+
-+msgid "Glyph Info..."
-+msgstr "ასონიშნის შესახებ..."
-+
- msgid "Glyph Insertion"
- msgstr "ასონიშნის ჩამატება"
- 
-@@ -2182,7 +2454,7 @@ msgid "Glyph Set by Selection"
- msgstr "ასონიშნების კრებული მონიშვნით"
- 
- msgid "Glyph _Info..."
--msgstr "ასო_ნიშნის შესახებ..."
-+msgstr "ასო_ნიშნის მონაცემები..."
- 
- msgid "Glyph in two classes"
- msgstr "ასონიშანი ორ კლასშია"
-@@ -2208,6 +2480,11 @@ msgstr ""
- "ასონიშნის სახელში არსებული სიმბოლოები მხოლოდ ASCII-არეს უნდა ეკუთვნოდეს,\n"
- "თუმცა სახელთა ამ სიაში, ზოგიერთი შეიცავს სიმბოლოებს, რომლებიც სცდება ამ არეს."
- 
-+#, c-format
-+msgid "Glyph, %s, has no hints. FontForge will not produce many instructions."
-+msgstr ""
-+"ასონიშანი %s მიმთითებლების გარეშეა. FontForge ვერ დაამუშავებს ბევრ მითითებას."
-+
- msgid "GlyphName|New"
- msgstr "ახალი"
- 
-@@ -2272,6 +2549,9 @@ msgstr "ჯგუფის სახელი:"
- msgid "Groups"
- msgstr "ჯგუფები"
- 
-+msgid "Guess"
-+msgstr "სავარაუდო"
-+
- #. GT: Guide layer, make it short
- msgid "Guide"
- msgstr "მიმმართველი"
-@@ -2301,7 +2581,7 @@ msgid "HVCurve"
- msgstr "თარ./შვეულ. მრუდი"
- 
- msgid "H_ints"
--msgstr "_მიმნიშნებლები"
-+msgstr "_მიმთითებლები"
- 
- msgid "Hangul Jamo"
- msgstr "ჰანგილ-ჯამო"
-@@ -2315,9 +2595,15 @@ msgstr "ჰანგილ-ჯამო გაფართოებული-B"
- msgid "Hanunoo"
- msgstr "ჰანუნო"
- 
-+msgid "Harmoni_ze"
-+msgstr "შე_ხამება"
-+
- msgid "Harmonizing..."
- msgstr "შეეხამება..."
- 
-+msgid "Has _Vertical Metrics"
-+msgstr "_შვეული აზომვებით"
-+
- msgid "Hebrew"
- msgstr "ებრაული"
- 
-@@ -2325,7 +2611,7 @@ msgid "Height"
- msgstr "სიმაღლე"
- 
- msgid "Height/Kern Data"
--msgstr "სიმაღლის/წანაცვლების მონაცემები"
-+msgstr "სიმაღლის/შემოკვეცის მონაცემები"
- 
- msgid "Hidden"
- msgstr "დამალული"
-@@ -2333,6 +2619,9 @@ msgstr "დამალული"
- msgid "Hide when _Moving"
- msgstr "დამალვა მ_ოძრაობისას"
- 
-+msgid "Hint Mask"
-+msgstr "მიმთ. ნიღაბი"
-+
- msgid "Hiragana"
- msgstr "ჰირაგანა"
- 
-@@ -2362,16 +2651,16 @@ msgid "Horizontal"
- msgstr "თარაზული"
- 
- msgid "Horizontal Baselines"
--msgstr "თარაზული საყრდენები"
-+msgstr "ძირითადი თარაზული ხაზები"
- 
- msgid "Horizontal Kerning"
--msgstr "თარაზული წანაცვლება"
-+msgstr "თარაზული შემოკვეცა"
- 
- #, c-format
- msgid "Horizontal: %d baseline"
- msgid_plural "Horizontal: %d baselines"
--msgstr[0] "თარაზული: %d საყრდენი"
--msgstr[1] "თარაზული: %d საყრდენი"
-+msgstr[0] "თარაზული: %d ძირითადი ხაზი"
-+msgstr[1] "თარაზული: %d ძირითადი ხაზი"
- 
- msgid "How many unencoded glyph slots do you wish to add?"
- msgstr "რამდენი დაუშიფრავი ასონიშნის ადგილის დამატება გსურთ?"
-@@ -2381,8 +2670,8 @@ msgid ""
- "I miscalculated the size of subtable %s, this means the kerning output is "
- "wrong."
- msgstr ""
--"შეცდომა, %s ქვეცხრილის ზომის გამოთვლისას, რაც ნიშნავს, რომ წანაცვლების "
--"გამოტანა არამართებულია."
-+"შეცდომა %s ქვეცხრილის ზომის გამოთვლისას, რაც ნიშნავს, რომ შემოკვეცის "
-+"გამოტანა უმართებულოა."
- 
- msgid ""
- "I'm sorry this file is too complex for me to understand (or is erroneous, or "
-@@ -2454,10 +2743,10 @@ msgid ""
- "in the font, and specify how to position glyphs in this\n"
- "script relative to all active baselines"
- msgstr ""
--"თუ ზემოთ მოცემული საყრდენებიდან რომელიმე მაინც მოქმედია,\n"
-+"თუ ზემოთ მოცემული ძირითადი ხაზებიდან რომელიმე მაინც მოქმედია,\n"
- "უნდა მიუთითოთ ნაგულისხმევი თითოეული დამწერლობისთვის\n"
- "ამ შრიფტში და ისიც, თუ როგორ განთავსდება ასონიშნები ყველა\n"
--"მოქმედი საყრდენი ხაზების მიმართ"
-+"მოქმედი ძირითადი ხაზის მიმართ"
- 
- msgid ""
- "If the old-style 'kern' table contains unencoded glyphs\n"
-@@ -2466,9 +2755,9 @@ msgid ""
- "problematic glyphs from the old-style 'kern' table."
- msgstr ""
- "თუ ძველი სახის „kern“ ცხრილი შეიცავს დაუშიფრავ ასონიშნებს\n"
--"(ან ასოებს BMP-ადგილების მიღმა), ბევრი პროგრამა Windows-ში\n"
--"საერთოდ არ გამოიყენებს წანაცვლებას. ამის მითითებით კი გამოირიცხება\n"
--"ამგვარი ასონიშნებს ძველებური „kern“ ცხრილიდან."
-+"(ან ასოებს BMP-სივრცის გარეთ), ბევრი პროგრამა Windows-ში\n"
-+"საერთოდ არ გამოიყენებს შემოკვეცას. ამის მითითებით კი გამოირიცხება\n"
-+"ამგვარი ასონიშნები ძველებური „kern“ ცხრილიდან."
- 
- msgid ""
- "If the start point of a contour is not an extremum, find a new start point "
-@@ -2499,7 +2788,7 @@ msgid ""
- "If you leave this field blank FontForge will use a default based on\n"
- "either the version string above, or one in the 'name' table."
- msgstr ""
--"თუ ცარიელს დატოვებთ, FontForge თავად შეავსებს ან ვერსიი, ან „სახელის“ "
-+"თუ ცარიელს დატოვებთ, FontForge თავად შეავსებს ან ვერსიის, ან „სახელის“ "
- "ცხრილის მიხედვით."
- 
- msgid "Ignore Ligatures"
-@@ -2509,8 +2798,8 @@ msgid ""
- "In the 'kern' table, a subtable's length does not match the number of "
- "kerning pairs."
- msgstr ""
--"„kern“ ცხრილში, ქვეცხრილების სიგრძე არ ემთხვევა წანაცვლებული წყვილების "
--"რაოდენობას."
-+"შემოკვეცის „kern“ ცხრილში, ქვეცხრილების სიგრძე არ ემთხვევა შემოკვეცილი "
-+"წყვილების რაოდენობას."
- 
- msgid ""
- "In the saved font, force all glyph names to match those in the specified "
-@@ -2537,7 +2826,7 @@ msgid "Increment RBearing By:"
- msgstr "მარჯვენა საბჯენს დაემატოს:"
- 
- msgid "Indic (& Tibetan) hanging baseline"
--msgstr "ინდური (და ტიბეტური) კიდული საყრდენით"
-+msgstr "ინდური (და ტიბეტური) ძირითადი კიდული ხაზით"
- 
- msgid "Insert Before Current Glyph"
- msgstr "მიმდინარე ასონიშნის შემდგომ ჩამატება"
-@@ -2560,9 +2849,26 @@ msgstr "ტექსტის მოხაზულობის ჩამატ
- msgid "Insert random text in the specified script"
- msgstr "ცალკეული დამწერლობის შემთხვევითი ტექსტის ჩამატება"
- 
-+msgid "Instructions out of date"
-+msgstr "მითითებები ვადაგასულია"
-+
- msgid "Interface"
- msgstr "გარსი"
- 
-+msgid "InterpolateCPsOnMotion"
-+msgstr "ჩამატება მოსაჭიდის მოძრაობისას"
-+
-+#. GT: See the long comment at "Property|New"
-+#. GT: The msgstr should contain a translation of "None", ignore "Interpretation|"
-+#. GT: In french this could be "Aucun" or "Aucune" depending on the gender
-+#. GT:  of "Interpretation"
-+msgid "Interpretation|None"
-+msgstr "არა"
-+
-+#, c-format
-+msgid "Invalid compressed table length for '%c%c%c%c'."
-+msgstr "უმართებული სიგრძე შეკუმშული ცხრილისთვის „%c%c%c%c“."
-+
- msgid "Invalid guideline.\n"
- msgstr "გაუმართავი მიმმართველი ხაზი.\n"
- 
-@@ -2575,7 +2881,13 @@ msgid "Invalid or unsupported version (0x%x) for 'kern' table"
- msgstr "არასწორი ან მხარდაუჭერელი ვერსია (0x%x) „kern“ ცხრილისთვის"
- 
- msgid "Is this horizontal or vertical kerning data?"
--msgstr "ეს თარაზული წანაცვლების მონაცემია თუ შვეულის?"
-+msgstr "ეს თარაზული შემოკვეცის მონაცემია თუ შვეულისა?"
-+
-+msgid "Italic Angle"
-+msgstr "დახრის კუთხე"
-+
-+msgid "Italic Angle:"
-+msgstr "დახრის კუთხე:"
- 
- msgid "KOI8-R (Cyrillic)"
- msgstr "KOI8-R (კირილიცა)"
-@@ -2611,61 +2923,61 @@ msgid "Ker_n By Classes..."
- msgstr "წანა_ცვლება კლასებით..."
- 
- msgid "Kern"
--msgstr "წანაცვლება"
-+msgstr "შემოკვეცა"
- 
- msgid "Kern Adjusts"
--msgstr "წანაცვლების დაყენება"
-+msgstr "შემოკვეცის მორგება"
- 
- msgid "Kern By Classes"
--msgstr "წანაცვლება კლასებით"
-+msgstr "შემოკვეცა კლასებით"
- 
- msgid "Kern Line Color"
--msgstr "წანაცვლების ხაზის ფერი"
-+msgstr "შემოკვეცის ზოლის ფერი"
- 
- msgid "Kern Pair Closeup"
--msgstr "წანაცვლებული წყვილის გადახედვა"
-+msgstr "შემოკვეცის წყვილის დათვალიერება"
- 
- msgid "Kern Pair Closeup..."
--msgstr "წანაცვლებული წყვილის გადახედვა..."
-+msgstr "შემოკვეცის წყვილის შეთვალიერება..."
- 
- msgid "Kern Pairs"
- msgstr "Წანაცვლებული წყვილები"
- 
- msgid "Kern Values:"
--msgstr "წანაცვლების მნიშვნელობები:"
-+msgstr "შემოკვეცის მნიშვნ.:"
- 
- msgid "Kern:"
--msgstr "წანაცვლება:"
-+msgstr "შემოკვეცა:"
- 
- msgid "KernClass|_New Lookup..."
- msgstr "_ახალი ცნობარი..."
- 
- msgid "Kerning & such"
--msgstr "წანაცვლება და სხვა დანარჩენი"
-+msgstr "შემოკვეცა და სხვა"
- 
- msgid "Kerning Class"
--msgstr "წანაცვლების კლასი"
-+msgstr "შემოკვეცის კლასი"
- 
- #, c-format
- msgid "Kerning Metrics For %.50s"
--msgstr "წანაცვლების აზომვები – %.50s"
-+msgstr "შემოკვეცის აზომვები – %.50s"
- 
- #. GT: The %s is the name of the lookup subtable containing this kerning class
- #, c-format
- msgid "Kerning by Classes: %s"
--msgstr "წანაცვლება კლასებით: %s"
-+msgstr "შემოკვეცა კლასებით: %s"
- 
- msgid "Kerning direction"
--msgstr "წანაცვლების მიმართულება"
-+msgstr "შემოკვეცის მიმართულება"
- 
- msgid ""
- "Kerning may be specified either by classes of glyphs\n"
- "or by pairwise combinations of individual glyphs.\n"
- "Which do you want for this subtable?"
- msgstr ""
--"წანაცვლები მითითება შეიძლება ან ასონიშნების კლასებით,\n"
--"ან ცალკეული ასონიშნების შეწყვილებით.\n"
--"რომელი გსურთ ამ ქვეცხრილისთვის?"
-+"შემოკვეცის მითითება შეიძლება ან ასონიშნების კლასებით,\n"
-+"ანდა ცალკეული ასონიშნების შეწყვილებით.\n"
-+"რომელს აირჩევთ ამ ქვეცხრილისთვის?"
- 
- msgid "Khmer"
- msgstr "ქმერული"
-@@ -2781,7 +3093,13 @@ msgid "Layer"
- msgstr "შრე"
- 
- msgid "Layer Info..."
--msgstr "შრის შესახებ..."
-+msgstr "შრის მონაცემები..."
-+
-+msgid "Layer Name"
-+msgstr "შრის სახელი"
-+
-+msgid "Layers"
-+msgstr "შრეები"
- 
- msgid "Left Side Bearing"
- msgstr "მარცხენა საბჯენი"
-@@ -2875,6 +3193,9 @@ msgstr "იტვირთება ფონტი წყაროდან %.1
- msgid "Loading..."
- msgstr "იტვირთება..."
- 
-+msgid "Location"
-+msgstr "მდებარეობა"
-+
- msgid "Lookup Name:"
- msgstr "ცნობარის სახელი:"
- 
-@@ -2981,7 +3302,7 @@ msgid ""
- "It may not be set in conjunction with the Apple checkbox.\n"
- "This may confuse other applications though."
- msgstr ""
--"ბევრ პროგრამაში ჯერ კიდევ მხარდაუჭერელია „GPOS“ წანაცვლება.\n"
-+"ბევრ პროგრამაში ჯერ კიდევ მხარდაუჭერელია „GPOS“ შემოკვეცა.\n"
- "თუ გსურთ დაურთოთ ორივე, „GPOS“ და ძველი სახის „kern“\n"
- "ცხრილები, მიუთითეთ ამ უჯრის მონიშვნით.\n"
- "ჯობია, არ მოინიშნოს Apple-ის უჯრასთან ერთად.\n"
-@@ -3000,7 +3321,7 @@ msgid "Mass Glyph _Rename..."
- msgstr "ასონიშნების ერთბაშად გადარ_ქმევა..."
- 
- msgid "Math Kern"
--msgstr "მათემატიკური წანაცვლება"
-+msgstr "მათემატიკური შემოკვეცა"
- 
- msgid "Mathematical Alphanumeric Symbols"
- msgstr "მათემატიკური ასოციფრული ნიშნები"
-@@ -3018,7 +3339,7 @@ msgid "Max Bearing"
- msgstr "საბჯენი არაუმეტეს"
- 
- msgid "Measure distance, angle between points"
--msgstr "წერტილებს შორის დაშორების, კუთხის გაზომვა"
-+msgstr "წერტილთა დაშორების, კუთხის გაზომვა"
- 
- msgid "Mende Kikakui"
- msgstr "მენდე"
-@@ -3029,11 +3350,36 @@ msgstr "მენიუს ზოლი"
- msgid "Menu Name"
- msgstr "მენიუს სახელი"
- 
-+msgid "Merge"
-+msgstr "გაერთიანება"
-+
-+msgid "Merge Fonts"
-+msgstr "შრიფტების გაერთიანება"
-+
-+msgid "Merge Results"
-+msgstr "შედეგების გაერთიანება"
-+
-+msgid "Merge into selection"
-+msgstr "გაერთიანება მონიშნულში"
-+
-+msgid "Merge to Line"
-+msgstr "გაერთიანება ხაზით"
-+
-+msgid ""
-+"Merges two selected (and compatible) lookups into one,\n"
-+"or merges two selected subtables of a lookup into one"
-+msgstr ""
-+"გააერთიანებს ორ შერჩეულ (და თავსებად) ცნობარს,\n"
-+"ან გააერთიანებს ცნობარის ორ შერჩეულ ქვეცხრილს"
-+
-+msgid "MetaFont exited with an error"
-+msgstr "MetaFont დაიხურა შეცდომით"
-+
- msgid "Metrics"
- msgstr "აზომვები"
- 
- msgid "Metrics Baseline Color"
--msgstr "აზომვების საყრდენი ხაზის ფერი"
-+msgstr "აზომვების ძირითადი ხაზის ფერი"
- 
- #, c-format
- msgid "Metrics For %.50s"
-@@ -3157,17 +3503,29 @@ msgstr "მიანმარული გაფართოებული-B"
- msgid "NKo"
- msgstr "ნკო"
- 
-+msgid "N_ever Interpolate"
-+msgstr "ა_რასდროს ჩაემატოს"
-+
- msgid "N_umber Points"
- msgstr "წერტილების გადა_ნომვრა"
- 
- msgid "Name"
- msgstr "სახელი"
- 
-+msgid "Name Contour"
-+msgstr "მოხაზულობის სახელი"
-+
- msgid "Name For Human_s:"
- msgstr "ად_ვილად წასაკითხი:"
- 
-+msgid "Name Point"
-+msgstr "წერტილის სახელი"
-+
-+msgid "Name Point..."
-+msgstr "წერტილის სახელი..."
-+
- msgid "Name this guideline or cancel to create it without a name"
--msgstr "დაარქვით რამე მიმმართველ ხაზს ან გააუქმეთ უსახელოდ შექმნისთვის"
-+msgstr "დაარქვით რამე ან გააუქმეთ უსახელოდ დატოვებისთვის"
- 
- msgid ""
- "Name used for Vendor ID field in\n"
-@@ -3175,7 +3533,7 @@ msgid ""
- "Must be no more than 4 characters"
- msgstr ""
- "სახელი მწარმოებლის ID-ველისთვის\n"
--"ttf-შრიფტის (OS/2-ცხრილი) შესადგენად.\n"
-+"ttf-შრიფტის (OS/2-ცხრილი) დასამზადებლად.\n"
- "არ უნდა აღემატებოდეს 4 სიმბოლოს"
- 
- msgid "Name:"
-@@ -3242,6 +3600,31 @@ msgstr "_აზომვების ახალი ფანჯარა"
- msgid "NewCharset"
- msgstr "ასოთა ახალი ნაკრები"
- 
-+msgid "Next CP Angle"
-+msgstr "შემდ. მოსაჭიდის დახრილობა"
-+
-+msgid "Next CP Color"
-+msgstr "შემდეგი მოსაჭიდის ფერი"
-+
-+msgid "Next CP Dist"
-+msgstr "შემდ. მოსაჭიდის სიშორე"
-+
-+msgid "Next CP X"
-+msgstr "შემდ. მოსაჭიდი X"
-+
-+msgid "Next CP Y"
-+msgstr "შემდ. მოსაჭიდი Y"
-+
-+msgid "Next CP:"
-+msgstr "შემდ. მოსაჭიდი:"
-+
-+#, c-format
-+msgid "Next CP: (%f,%f)"
-+msgstr "შემდ. მოსაჭიდი: (%f,%f)"
-+
-+msgid "Next On Contour"
-+msgstr "ნახაზზე შემდეგ"
-+
- msgid "Next _Defined Glyph"
- msgstr "მომდევნო _განსაზღვრული ასონიშანი"
- 
-@@ -3255,6 +3638,9 @@ msgstr "არ მოიძებნა (გამოსადეგი) ცხ
- msgid "No Bitmap Fonts"
- msgstr "ცხრილური შრიფტები არაა"
- 
-+msgid "No Curvature"
-+msgstr "სიმრუდის გარეშე"
-+
- msgid "No Glyph"
- msgstr "ასონიშანი არაა"
- 
-@@ -3264,8 +3650,14 @@ msgstr "გამეორებული ასონიშნები არ
- msgid "No Groups"
- msgstr "ჯგუფები არაა"
- 
-+msgid "No Instructions"
-+msgstr "მითითებები არაა"
-+
-+msgid "No Intersections"
-+msgstr "არა თანაკვეთები"
-+
- msgid "No Kern Pairs"
--msgstr "არაა წანაცვლებული წყვილები"
-+msgstr "არაა შემოკვეცილი წყვილები"
- 
- msgid "No Lookup Type Selected"
- msgstr "არაა შერჩეული ცნობარის სახეობა"
-@@ -3294,9 +3686,15 @@ msgstr "შვეული აზომვების გარეშე"
- msgid "No _to All"
- msgstr "არა ყ_ველას"
- 
-+msgid "No components"
-+msgstr "არაა შემადგენლები"
-+
-+msgid "No curvature info"
-+msgstr "სიმრუდის შესახებ უცნობია"
-+
- #, c-format
- msgid "No kerning pairs found in %.200s"
--msgstr "წანაცვლებულ წყვილებს არ შეიცავს %.200s"
-+msgstr "შემოკვეცილ წყვილებს არ შეიცავს %.200s"
- 
- msgid "No languages"
- msgstr "ენები არაა"
-@@ -3336,6 +3734,13 @@ msgstr ""
- msgid "Normal font used in the Find/Replace window"
- msgstr "ჩვეულებრივი შრიფტი გამოიყენება პოვნა/ძიების ფანჯარაში"
- 
-+msgid ""
-+"Normally simplify will not remove points at the extrema of curves\n"
-+"(both PostScript and TrueType suggest you retain these points)"
-+msgstr ""
-+"როგორც წესი, გამარტივებით არ იშლება მრუდის კიდურა წერტილები\n"
-+"(ორივე, PostScript და TrueType გთავაზობთ მათი შენარჩუნების საშუალებას)"
-+
- msgid "Not Guides"
- msgstr "მიმმართველის გარეშე"
- 
-@@ -3352,10 +3757,10 @@ msgid ""
- "pairs (eg, they have a Unicode value of -1) To avoid this, go to Generate, "
- "Options, and check the \"Windows-compatible 'kern'\" option."
- msgstr ""
--"შენიშვნა: Windows-ზე ბევრი პროგრამა შეიძლება წააწყდეს სიძნელეს შრიფტის "
--"წანაცვლებული წყვილების გამოყენებისას, ვინაიდან მისი წანაცვლებული ასონიშნების "
--"წყვილების %d ვერ აისახება BMP-უნიკოდის წანაცვლების წყვილებზე (მაგ. მათ "
--"ექნებათ უნიკოდის მნიშვნელობად -1) ამის ასარიდებლად, აირჩიეთ „შედგენა“, "
-+"შენიშვნა: Windows-ზე ბევრი პროგრამა შეიძლება წააწყდეს სიძნელეს ამ შრიფტის "
-+"წყვილების შემოკვეცისას, ვინაიდან %d მისი ასონიშნების შემოკვეცილი წყვილებით "
-+"ვერ აისახება BMP-უნიკოდის შემოკვეცილ წყვილებზე (ანუ მათ ექნებათ უნიკოდის "
-+"მნიშვნელობად -1) ამის ასარიდებლად გადადით მენიუში, აირჩიეთ „დამზადება“, "
- "„პარამეტრები“ და მონიშნეთ „Windows-სთან თავსებადი „kern“."
- 
- msgid "Nothing Loaded"
-@@ -3367,6 +3772,9 @@ msgstr "არაფერია შერჩეული"
- msgid "Nothing on stack to print\n"
- msgstr "არაფერია მითითებული ამოსაბეჭდად\n"
- 
-+msgid "Nothing to trace"
-+msgstr "არაფერია გამოსახაზი"
-+
- msgid "Number Forms"
- msgstr "რიცხვითი ჩანაწერები"
- 
-@@ -3389,12 +3797,21 @@ msgstr "OS/2 → ასოთა ნაკრებები"
- msgid "OS/2 and Windows specific metrics table"
- msgstr "OS/2 და Windows-ის შესაბამისი აზომვების ცხრილი"
- 
-+msgid "OTF 'CFF '"
-+msgstr "OTF 'CFF '"
-+
- msgid "O_ff"
- msgstr "გამო_რთ."
- 
- msgid "O_n"
- msgstr "ჩ_ართ."
- 
-+msgid "Offset"
-+msgstr "წანაცვლება"
-+
-+msgid "Offset %"
-+msgstr "წანაცვლება %"
-+
- msgid "Ofm Save Failed"
- msgstr "Ofm ვერ შეინახა"
- 
-@@ -3456,7 +3873,7 @@ msgid "Only upper case"
- msgstr "მხოლოდ მთავრული"
- 
- msgid "Open AutoKern dialog for new kerning subtables"
--msgstr "თვითწანაცვლების არის გახსნა ახალი ქვეცხრილებისთვის"
-+msgstr "თვითშემოკვეცის სარკმლის გახსნა ახალი ქვეცხრილებისთვის"
- 
- msgid "Open Font"
- msgstr "შრიფტის გახსნა"
-@@ -3470,6 +3887,9 @@ msgstr "_ვებგვერდის გახსნა"
- msgid "OpenType"
- msgstr "OpenType"
- 
-+msgid "OpenType (CFF)"
-+msgstr "OpenType (CFF)"
-+
- msgid "OpenTypeFeature|New"
- msgstr "ახალი"
- 
-@@ -3539,6 +3959,9 @@ msgstr "გამოიტანოს TFM და ENC"
- msgid "Output error"
- msgstr "გამოტანის შეცდომა"
- 
-+msgid "Oval"
-+msgstr "კვერცხისებრი"
-+
- msgid "PDF"
- msgstr "PDF"
- 
-@@ -3551,6 +3974,9 @@ msgstr "ასონიშნის PS-სახელი"
- msgid "PS Names"
- msgstr "PS-სახელი"
- 
-+msgid "PS Private"
-+msgstr "PS-კერძო"
-+
- msgid "PSPrivateDictKey|New"
- msgstr "ახალი"
- 
-@@ -3570,10 +3996,10 @@ msgid "Pahawh Hmong"
- msgstr "ფაჰაუ-მონი"
- 
- msgid "Pair Position (kerning)"
--msgstr "წყვილთა ურთიერთგანლაგება (წანაცვლება)"
-+msgstr "წყვილთა ურთიერთგანლაგება (შემოკვეცა)"
- 
- msgid "Pairwise Positioning (kerning)"
--msgstr "წყვილთა ურთიერთგანლაგება (წანაცვლება)"
-+msgstr "წყვილთა ურთიერთგანლაგება (შემოკვეცა)"
- 
- msgid "PanoseWeight|Any"
- msgstr "ნებისმიერი"
-@@ -3626,6 +4052,12 @@ msgstr "გვერდის არჩევა"
- msgid "Pixel Sizes:"
- msgstr "პიქსელის ზომები:"
- 
-+msgid "Pixel size:"
-+msgstr "პიქსელის ზომა:"
-+
-+msgid "Pixel size?"
-+msgstr "პიქსელის ზომა?"
-+
- msgid "Please choose File/Generate Fonts to save to other formats."
- msgstr "გთხოვთ, იხილოთ ფაილი/შრიფტების წარმოქმნა, სხვა სახით შენახვისთვის."
- 
-@@ -3639,6 +4071,9 @@ msgstr "დაარქვით სახელი %d დაშიფვრა
- msgid "Please name this encoding"
- msgstr "დაარქვით დაშიფვრას სახელი"
- 
-+msgid "Please name this point"
-+msgstr "დაარქვით რამე წერტილს"
-+
- msgid "Please specify a bitmap magnification factor."
- msgstr "გთხოვთ, მიუთითოთ რასტრული გადიდების მამრავლი."
- 
-@@ -3689,18 +4124,49 @@ msgstr "მრავალკუთხედი ან ვარსკვლა
- msgid "Pr_eferences..."
- msgstr "_პარამეტრები..."
- 
-+msgid "PreferPotrace"
-+msgstr "უპირატესია Potrace"
-+
- msgid "Preferences"
- msgstr "პარამეტრები"
- 
- msgid "Preferred Family"
- msgstr "უპირატესი კრებული"
- 
-+msgid "Prefs_App|FontForge recognizes BROWSER, MF and AUTOTRACE."
-+msgstr "Prefs_App|FontForge-ს შეუძლია ამოიცნოს BROWSER, MF და AUTOTRACE."
-+
- msgid "Preserve the names of the GPOS/GSUB lookups and subtables"
- msgstr "GPOS/GSUB-ცნობარებისა და ქვეცხრილების სახელების შენარჩუნება"
- 
-+msgid "Prev CP Angle"
-+msgstr "წინა მოსაჭიდის დახრილობა"
-+
-+msgid "Prev CP Color"
-+msgstr "წინა მოსაჭიდის ფერი"
-+
-+msgid "Prev CP Dist"
-+msgstr "წინა მოსაჭიდის სიშორე"
-+
-+msgid "Prev CP X"
-+msgstr "წინა მოსაჭიდი X"
-+
-+msgid "Prev CP Y"
-+msgstr "წინა მოსაჭიდი Y"
-+
-+msgid "Prev CP:"
-+msgstr "წინა მოსაჭიდი:"
-+
-+#, c-format
-+msgid "Prev CP: (%f,%f)"
-+msgstr "წინა მოსაჭიდი: (%f,%f)"
-+
- msgid "Prev Defined Gl_yph"
- msgstr "წინა განსაზღვრული ას_ონიშანი"
- 
-+msgid "Prev On Contour"
-+msgstr "ნახაზზე წინ"
-+
- msgid "Previe_w"
- msgstr "შეთვა_ლიერება"
- 
-@@ -3722,9 +4188,18 @@ msgstr "ამოსაბეჭდი დოკუმენტი"
- msgid "Printing Font"
- msgstr "შრიფტი იბეჭდება"
- 
-+#. GT: "Private" is a keyword (sort of) in PostScript. Perhaps it
-+#. GT: should remain untranslated?
-+msgid "Private Dictionary"
-+msgstr "კერძო ლექსიკონი"
-+
- msgid "Private Use Area"
- msgstr "კერძო გამოყენების არე"
- 
-+#, c-format
-+msgid "Problem decompressing '%c%c%c%c' table."
-+msgstr "ხარვეზი შეკუმშული „%c%c%c%c“ ცხრილის გახსნისას."
-+
- #. GT: I am told that the use of "|" to provide contextual information in a
- #. GT: gettext string is non-standard. However it is documented in section
- #. GT: 10.2.6 of http://www.gnu.org/software/gettext/manual/html_mono/gettext.html
-@@ -3744,9 +4219,21 @@ msgstr "კერძო გამოყენების არე"
- msgid "Property|New..."
- msgstr "ახალი..."
- 
-+msgid ""
-+"Put CFF fonts into the ttc rather than TTF.\n"
-+" These seem to work on the mac and linux\n"
-+" but are documented not to work on Windows."
-+msgstr ""
-+"განათავსებს CFF-შრიფტებს TTC-ფაილში ნაცვლად TTF-ფაილისა.\n"
-+" სავარაუდოდ, იმუშავებს Mac-სა და Linux-სისტემებში,\n"
-+" მაგრამ დადასტურებულია, რომ არ გამოდგება Windows-ისთვის."
-+
- msgid "RBearing:"
- msgstr "მარჯვენა საბჯენი:"
- 
-+msgid "Re_move"
-+msgstr "მო_ცილება"
-+
- msgid "Re_vert List"
- msgstr "სიის ა_ღდგენა"
- 
-@@ -3756,23 +4243,32 @@ msgstr "ბიტური გამოსახულების ახლი
- msgid "Recen_t"
- msgstr "_ბოლოდროინდელი"
- 
-+msgid "Recover old edit"
-+msgstr "წინათ ჩასწორებულის აღდგენა"
-+
- msgid "Rectangle"
- msgstr "მართკუთხედი"
- 
- msgid "Rectangle or Ellipse"
--msgstr "მართკუთხედი ან ოვალი"
-+msgstr "მართკუთხა ან კვერცხისებრი"
- 
- msgid "Refresh File List"
- msgstr "ფაილების სიის განახლება"
- 
- msgid "Regenerate _Bitmap Glyphs..."
--msgstr "ახლიდან შეიქმნას _ბიტური ასონიშნები..."
-+msgstr "ახლიდან დამზადდეს _ბიტური ასონიშნები..."
-+
-+msgid "Remo_ve Undoes"
-+msgstr "დასაბრუნებლების მო_ცილება"
-+
-+msgid "Remo_ve Undoes..."
-+msgstr "დასაბრუნებლების მო_ცილება..."
- 
- msgid "Remove All Kern _Pairs"
--msgstr "ყველა წანაცვლებული წ_ყვილის მოცილება"
-+msgstr "შემოკვეცის ყველა წ_ყვილის მოცილება"
- 
- msgid "Remove All VKern Pairs"
--msgstr "ყველა შვეულად წანაცვლებული წ_ყვილის მოცილება"
-+msgstr "შვეულად შემოკვეცის ყველა წ_ყვილის მოცილება"
- 
- msgid "Remove Bitmap Glyphs..."
- msgstr "ბიტური ასონიშნების მოცილება..."
-@@ -3784,7 +4280,7 @@ msgid "Remove Encoding"
- msgstr "დაშიფვრის მოცილება"
- 
- msgid "Remove Kern _Pairs"
--msgstr "წანაცვლებული წ_ყვილის მოცილება"
-+msgstr "შემოკვეცის წ_ყვილის მოცილება"
- 
- msgid "Remove Language from Script..."
- msgstr "ენის მოცილება დამწერლობიდან..."
-@@ -3802,11 +4298,14 @@ msgid "Remove This Glyph"
- msgstr "ამ ასონიშნის მოცილება"
- 
- msgid "Remove VKern Pairs"
--msgstr "შვეულად წანაცვლებული წყვილის მოცილება"
-+msgstr "შვეული შემოკვეცის წყვილების მოცილება"
- 
- msgid "Remove _Unused Slots"
- msgstr "გამოუ_ყენებელი ადგილების მოცილება"
- 
-+msgid "Removing instructions cannot be UNDONE!"
-+msgstr "მითითებების მოცილება ᲨᲔᲣᲥᲪᲔᲕᲐᲓᲘᲐ!"
-+
- msgid "Removing overlaps..."
- msgstr "ცილდება გადაფარვები..."
- 
-@@ -3860,6 +4359,12 @@ msgstr "დაბრუნება საწყისზე"
- msgid "Revert To _Backup"
- msgstr "აღდგენა მა_რქაფიდან"
- 
-+msgid "Review Hints"
-+msgstr "მიმთითებლების შეთვალიერება"
-+
-+msgid "RevisionsToRetain"
-+msgstr "შესანახი ვერსიები"
-+
- msgid "Right Side Bearing"
- msgstr "მარჯვენა საბჯენი"
- 
-@@ -3876,24 +4381,24 @@ msgid "Rotate"
- msgstr "მობრუნება"
- 
- msgid "Rotate 180°"
--msgstr "შებრუნება 180°"
-+msgstr "მობრუნება 180°"
- 
- msgid "Rotate 3D Around..."
- msgstr "სივრცული მობრუნება..."
- 
- #. GT: "CW" means Counter-Clockwise
- msgid "Rotate 90° CCW"
--msgstr "შებრუნება 90° საათის საწ."
-+msgstr "მობრუნება 90° საათ. საწ."
- 
- #. GT: "CW" means Clockwise
- msgid "Rotate 90° CW"
--msgstr "შებრუნება 90° საათის მიმართ."
-+msgstr "მობრუნება 90° საათ. მიმართ."
- 
- msgid "Rotate _180°"
--msgstr "შებრუნება _180°"
-+msgstr "მობრუნება _180°"
- 
- msgid "Rotate _90° CCW"
--msgstr "შებრუნება _90° საათის საწ."
-+msgstr "მობრუნება _90° საათ. საწ."
- 
- msgid "Rotate by Ruler..."
- msgstr "მოტრიალება სახაზავით..."
-@@ -3908,7 +4413,7 @@ msgid "Rotate..."
- msgstr "მობრუნება..."
- 
- msgid "Rotate:"
--msgstr "შებრუნება:"
-+msgstr "მობრუნება:"
- 
- msgid "Round To _Int"
- msgstr "დამრგვალება მთე_ლამდე"
-@@ -3925,6 +4430,9 @@ msgstr "სახაზავის პარამეტრები"
- msgid "Runic"
- msgstr "რუნული"
- 
-+msgid "SVG"
-+msgstr "SVG"
-+
- msgid "S_ave Feature File..."
- msgstr "თვისებების ფაილად შენა_ხვა..."
- 
-@@ -4026,8 +4534,8 @@ msgid ""
- "Script '%c%c%c%c' claims baseline '%c%c%c%c' as its default, but that "
- "baseline is not currently active."
- msgstr ""
--"დამწერლობა „%c%c%c%c“ მიუთითებს, რომ ნაგულისხმევი საყრდენია „%c%c%c%c“, "
--"თუმცა ეს ხაზი არაა ამჟამად მოქმედი."
-+"დამწერლობა „%c%c%c%c“ მიუთითებს, რომ ნაგულისხმევი ძირითადი ხაზია „%c%c%c%c“, "
-+"მაგრამ ეს ხაზი არაა ამჟამად მოქმედი."
- 
- msgid "Script File"
- msgstr "სკრიპტის ფაილი"
-@@ -4149,6 +4657,9 @@ msgstr ""
- msgid "Select the class containing the named glyph"
- msgstr "დასახელებული ასონიშნის შემცველი კლასის მონიშვნა"
- 
-+msgid "Selected CP Color"
-+msgstr "შერჩეული მოსაჭიდის ფერი"
-+
- msgid "Selected Glyphs"
- msgstr "შერჩეული ასონიშნები"
- 
-@@ -4176,6 +4687,15 @@ msgstr "ორივე საბჯენის მითითება..."
- msgid "Set Both Side Bearings..."
- msgstr "ორივე მხარეს საბჯენის მითითება..."
- 
-+msgid "Set From N_ame"
-+msgstr "მითითება სა_ხელიდან"
-+
-+msgid "Set From Selection"
-+msgstr "მითითება მონიშნულიდან"
-+
-+msgid "Set From Val_ue"
-+msgstr "მითითება მ_ნიშვნელობიდან"
-+
- msgid "Set LBearing To:"
- msgstr "მარცხენა საბჯენად მიეთითოს:"
- 
-@@ -4212,15 +4732,6 @@ msgstr "სი_განის მითითება..."
- msgid "Set as Default"
- msgstr "ნაგულისხმევად მითითება"
- 
--msgid ""
--"Set the minimum and maximum values by which\n"
--"the glyphs in this script extend below and\n"
--"above the baseline when modified by a feature."
--msgstr ""
--"იმ უკიდურესი მნიშვნელობების მითითება,\n"
--"რომლითაც ამ დამწერ&