git: 53a685aecc6c - main - security/py-python-jose: Add py-python-jose 3.4.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Wed, 09 Apr 2025 17:49:28 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=53a685aecc6cb3329031dcb6c7aef684ee09ca7a

commit 53a685aecc6cb3329031dcb6c7aef684ee09ca7a
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-04-09 17:41:39 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-04-09 17:41:39 +0000

    security/py-python-jose: Add py-python-jose 3.4.0
    
    python-jose provides a JOSE implementation in Python.
    
    The JavaScript Object Signing and Encryption (JOSE) technologies - JSON Web
    Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and JSON Web
    Algorithms (JWA) - collectively can be used to encrypt and/or sign content using
    a variety of algorithms. While the full set of permutations is extremely large,
    and might be daunting to some, it is expected that most applications will only
    use a small set of algorithms to meet their needs.
---
 MOVED                                         |  1 -
 security/Makefile                             |  1 +
 security/py-python-jose/Makefile              | 34 +++++++++++++++++++++++++++
 security/py-python-jose/distinfo              |  3 +++
 security/py-python-jose/files/patch-setup.cfg | 11 +++++++++
 security/py-python-jose/pkg-descr             |  8 +++++++
 6 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/MOVED b/MOVED
index c8480c69d339..2f5c9b3eb8b1 100644
--- a/MOVED
+++ b/MOVED
@@ -4246,7 +4246,6 @@ finance/odoo14||2025-03-31|Has expired: Depends on expired converters/wkhtmltopd
 net/nsscache||2025-03-31|Has expired: Depends on expired devel/py-pytest-runner
 security/caldera4||2025-03-31|Has expired: Upgrade to a newer caldera version. 4.2.0 is vulnerable to remote code execution
 net/opensips31||2025-03-31|Has expired: Deprecated upstream
-security/py-python-jose||2025-03-31|Has expired: Depends on expired devel/py-pytest-runner
 textproc/rubygem-nokogumbo||2025-03-31|Has expired: Upstream has merged into textproc/rubygem-nokogiri
 net/libmediawiki||2025-03-31|Has expired: Project abandoned upstream
 net/py-tacacs_plus||2025-03-31|Has expired: Depends on expired devel/py-pytest-runner
diff --git a/security/Makefile b/security/Makefile
index fc2c29e956be..8bbedd3bcbba 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -1035,6 +1035,7 @@
     SUBDIR += py-python-cas
     SUBDIR += py-python-gnupg
     SUBDIR += py-python-gvm
+    SUBDIR += py-python-jose
     SUBDIR += py-python-nss
     SUBDIR += py-python-openid
     SUBDIR += py-python-pam
diff --git a/security/py-python-jose/Makefile b/security/py-python-jose/Makefile
new file mode 100644
index 000000000000..f28c269f2905
--- /dev/null
+++ b/security/py-python-jose/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	python-jose
+PORTVERSION=	3.4.0
+CATEGORIES=	security
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	JOSE implementation in Python
+WWW=		https://python-jose.readthedocs.io/en/latest/ \
+		https://github.com/mpdavis/python-jose
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=39.2.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0.29.0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}ecdsa>=0:security/py-ecdsa@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyasn1>=0.4.1:devel/py-pyasn1@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}rsa>=4.0<5.0:security/py-rsa@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+OPTIONS_DEFINE=	CRYPTOGRAPHY PYCRYPTODOME
+OPTIONS_DEFAULT=CRYPTOGRAPHY
+CRYPTOGRAPHY_DESC=	Use cryptography as cryptographic backend
+PYCRYPTODOME_DESC=	Use pycryptodome as cryptographic backend
+
+CRYPTOGRAPHY_USE=		PYTHON=cryptography
+PYCRYPTODOME_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.3.1<4.0.0:security/py-pycryptodome@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/security/py-python-jose/distinfo b/security/py-python-jose/distinfo
new file mode 100644
index 000000000000..e0f933b86359
--- /dev/null
+++ b/security/py-python-jose/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1741448419
+SHA256 (python-jose-3.4.0.tar.gz) = 9a9a40f418ced8ecaf7e3b28d69887ceaa76adad3bcaa6dae0d9e596fec1d680
+SIZE (python-jose-3.4.0.tar.gz) = 92145
diff --git a/security/py-python-jose/files/patch-setup.cfg b/security/py-python-jose/files/patch-setup.cfg
new file mode 100644
index 000000000000..eb428f8b29ad
--- /dev/null
+++ b/security/py-python-jose/files/patch-setup.cfg
@@ -0,0 +1,11 @@
+--- setup.cfg.orig	2025-02-14 18:05:26 UTC
++++ setup.cfg
+@@ -34,7 +34,7 @@ install_requires = 
+ install_requires = 
+ 	ecdsa != 0.15
+ 	rsa >=4.0, <5.0, !=4.4, !=4.1.1
+-	pyasn1 >=0.4.1, <0.5.0
++	pyasn1 >=0.4.1
+ 
+ [options.extras_require]
+ test = 
diff --git a/security/py-python-jose/pkg-descr b/security/py-python-jose/pkg-descr
new file mode 100644
index 000000000000..f461f81bb69c
--- /dev/null
+++ b/security/py-python-jose/pkg-descr
@@ -0,0 +1,8 @@
+python-jose provides a JOSE implementation in Python.
+
+The JavaScript Object Signing and Encryption (JOSE) technologies - JSON Web
+Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and JSON Web
+Algorithms (JWA) - collectively can be used to encrypt and/or sign content using
+a variety of algorithms. While the full set of permutations is extremely large,
+and might be daunting to some, it is expected that most applications will only
+use a small set of algorithms to meet their needs.