git: 65de4bf2abed - main - security/py-nitrokey: New port: Python SDK for Nitrokey devices

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Tue, 26 Aug 2025 19:16:14 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=65de4bf2abedbe161f7986951931f28298b3b2bc

commit 65de4bf2abedbe161f7986951931f28298b3b2bc
Author:     Thibault Payet <monwarez@mailoo.org>
AuthorDate: 2025-08-26 19:13:40 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-08-26 19:13:40 +0000

    security/py-nitrokey: New port: Python SDK for Nitrokey devices
    
    The Nitrokey Python SDK can be used to use and configure Nitrokey devices.
    
    The SDK supports these devices and features:
     * Nitrokey 3
       - device and bootloader management (nitrokey.nk3)
       - admin app (nitrokey.trussed.admin_app)
       - provisioner app (nitrokey.trussed.provisioner_app)
       - secrets app (nitrokey.nk3.secrets_app)
     * Nitrokey Passkey
       - device and bootloader management (nitrokey.nkpk)
       - admin app (nitrokey.trussed.admin_app)
       - provisioner app (nitrokey.trussed.provisioner_app)
    
    https://github.com/Nitrokey/nitrokey-sdk-py/
    https://pypi.org/project/nitrokey/
    
    PR:     288823
---
 security/Makefile              |  1 +
 security/py-nitrokey/Makefile  | 31 +++++++++++++++++++++++++++++++
 security/py-nitrokey/distinfo  |  3 +++
 security/py-nitrokey/pkg-descr | 12 ++++++++++++
 4 files changed, 47 insertions(+)

diff --git a/security/Makefile b/security/Makefile
index bc6e280e9315..e7f3d95c9556 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -995,6 +995,7 @@
     SUBDIR += py-netbox-secrets
     SUBDIR += py-nethsm
     SUBDIR += py-netmiko
+    SUBDIR += py-nitrokey
     SUBDIR += py-noiseprotocol
     SUBDIR += py-notus-scanner
     SUBDIR += py-ntlm-auth
diff --git a/security/py-nitrokey/Makefile b/security/py-nitrokey/Makefile
new file mode 100644
index 000000000000..4fbcdf8adcd3
--- /dev/null
+++ b/security/py-nitrokey/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	nitrokey
+DISTVERSION=	0.3.2
+CATEGORIES=	security devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	monwarez@mailoo.org
+COMMENT=	Python SDK for Nitrokey devices
+WWW=		https://pypi.org/project/nitrokey/
+
+LICENSE=	MIT
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}fido2>=1.1.2,<3:security/py-fido2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyusb>=0:devel/py-pyusb@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}semver>=0:devel/py-semver@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tlv8>=0:converters/py-tlv8@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}poetry>=0:devel/py-poetry@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}fido2>=1.1.2,<3:security/py-fido2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyusb>=0:devel/py-pyusb@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyserial>=0:comms/py-pyserial@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}semver>=0:devel/py-semver@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tlv8>=0:converters/py-tlv8@${PY_FLAVOR}
+
+USES=		python shebangfix
+USE_PYTHON=	autoplist concurrent cryptography pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/security/py-nitrokey/distinfo b/security/py-nitrokey/distinfo
new file mode 100644
index 000000000000..34aa25a24d7b
--- /dev/null
+++ b/security/py-nitrokey/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1754636999
+SHA256 (nitrokey-0.3.2.tar.gz) = 240828ac0d95f961e0aadc24f1f10f8ddc28a20ed0df193ddda2922749b11e44
+SIZE (nitrokey-0.3.2.tar.gz) = 117590
diff --git a/security/py-nitrokey/pkg-descr b/security/py-nitrokey/pkg-descr
new file mode 100644
index 000000000000..5be79c063208
--- /dev/null
+++ b/security/py-nitrokey/pkg-descr
@@ -0,0 +1,12 @@
+The Nitrokey Python SDK can be used to use and configure Nitrokey devices.
+
+The SDK supports these devices and features:
+ * Nitrokey 3
+   - device and bootloader management (nitrokey.nk3)
+   - admin app (nitrokey.trussed.admin_app)
+   - provisioner app (nitrokey.trussed.provisioner_app)
+   - secrets app (nitrokey.nk3.secrets_app)
+ * Nitrokey Passkey
+   - device and bootloader management (nitrokey.nkpk)
+   - admin app (nitrokey.trussed.admin_app)
+   - provisioner app (nitrokey.trussed.provisioner_app)