git: 3754fc5f190b - main - *: Replace USES=pycryptography* with USE_PYTHON=cryptography{,_build,_test}

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Fri, 29 Sep 2023 14:32:10 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3754fc5f190b9a31f617d662bb35fd0f96ee8088

commit 3754fc5f190b9a31f617d662bb35fd0f96ee8088
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-09-29 14:19:56 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-09-29 14:19:56 +0000

    *: Replace USES=pycryptography* with USE_PYTHON=cryptography{,_build,_test}
    
    - Introduce USE_PYTHON=cryptography{,_build,_test}
    - Switch all 96 ports from USES=pycryptography to with USE_PYTHON=cryptography{,_build,_test}
    - Remove Mk/Uses/pycryptography.mk
    
    PR:             273727
    Approved by:    tcberner (portmgr)
    Exp-run by:     antoine
---
 Mk/Uses/pycryptography.mk                  | 46 ------------------------------
 Mk/Uses/python.mk                          | 30 +++++++++++++++++++
 cad/uranium/Makefile                       |  3 +-
 comms/py-esptool/Makefile                  |  4 +--
 databases/py-mycli/Makefile                |  4 +--
 databases/py-ormar/Makefile                |  2 +-
 databases/py-sqlalchemy-utils/Makefile     |  2 +-
 devel/oci-cli/Makefile                     |  4 +--
 devel/osc/Makefile                         |  4 +--
 devel/py-adb/Makefile                      |  4 +--
 devel/py-aiortc/Makefile                   |  4 +--
 devel/py-azure-identity/Makefile           |  4 +--
 devel/py-azure-keyvault/Makefile           |  4 +--
 devel/py-azure-multiapi-storage/Makefile   |  4 +--
 devel/py-azure-storage-common/Makefile     |  4 +--
 devel/py-castellan/Makefile                |  4 +--
 devel/py-cursive/Makefile                  |  4 +--
 devel/py-moto/Makefile                     |  4 +--
 devel/py-msal/Makefile                     |  4 +--
 devel/py-oci/Makefile                      |  4 +--
 devel/py-openstacksdk/Makefile             |  4 +--
 devel/py-pip/Makefile                      |  4 +--
 devel/py-twisted/Makefile                  |  2 +-
 dns/letsdns/Makefile                       |  4 +--
 dns/py-dns-crawler/Makefile                |  4 +--
 dns/py-dns-lexicon/Makefile                |  4 +--
 dns/py-dnspython/Makefile                  |  2 +-
 finance/electrum/Makefile                  |  4 +--
 finance/py-ccxt/Makefile                   |  4 +--
 mail/py-flanker/Makefile                   |  4 +--
 misc/py-apache-beam/Makefile               |  4 +--
 misc/py-cinder/Makefile                    |  4 +--
 net-im/py-matrix-synapse/Makefile          |  4 +--
 net-mgmt/py-adal/Makefile                  |  4 +--
 net-p2p/reticulum/Makefile                 |  4 +--
 net/onionprobe/Makefile                    |  4 +--
 net/py-cepa/Makefile                       |  4 +--
 net/py-magic-wormhole/Makefile             |  4 +--
 net/py-ripe.atlas.sagan/Makefile           |  4 +--
 net/py-smbprotocol/Makefile                |  4 +--
 net/py-transip/Makefile                    |  4 +--
 net/py-urllib3/Makefile                    |  5 ++--
 net/scapy/Makefile                         |  4 +--
 news/sabnzbd/Makefile                      |  2 +-
 security/caldera/Makefile                  |  3 +-
 security/cowrie/Makefile                   |  4 +--
 security/py-SecretStorage/Makefile         |  4 +--
 security/py-acme/Makefile                  |  4 +--
 security/py-asyncssh/Makefile              |  4 +--
 security/py-authlib/Makefile               |  4 +--
 security/py-azure-keyvault-keys/Makefile   |  4 +--
 security/py-badkeys/Makefile               |  4 +--
 security/py-cert-human/Makefile            |  4 +--
 security/py-certbot/Makefile               |  4 +--
 security/py-dfvfs/Makefile                 |  4 +--
 security/py-fido2/Makefile                 |  4 +--
 security/py-josepy/Makefile                |  4 +--
 security/py-msoffcrypto-tool/Makefile      |  4 +--
 security/py-noiseprotocol/Makefile         |  4 +--
 security/py-oauthlib/Makefile              |  4 +--
 security/py-openssl/Makefile               |  4 +--
 security/py-paramiko/Makefile              |  4 +--
 security/py-pgpy/Makefile                  |  4 +--
 security/py-plaso/Makefile                 |  4 +--
 security/py-pyhanko-certvalidator/Makefile |  4 +--
 security/py-pyhanko/Makefile               |  4 +--
 security/py-pysaml2/Makefile               |  4 +--
 security/py-pysaml24/Makefile              |  4 +--
 security/py-pysaml26/Makefile              |  4 +--
 security/py-pyspnego/Makefile              |  4 +--
 security/py-python-axolotl/Makefile        |  4 +--
 security/py-requests-credssp/Makefile      |  4 +--
 security/py-securesystemslib/Makefile      |  4 +--
 security/py-service-identity/Makefile      |  4 +--
 security/py-service_identity/Makefile      |  4 +--
 security/py-social-auth-core/Makefile      |  4 +--
 security/py-sshpubkeys/Makefile            |  4 +--
 security/py-sslyze/Makefile                |  4 +--
 security/py-stem/Makefile                  |  4 +--
 security/py-trustme/Makefile               |  4 +--
 security/py-txtorcon/Makefile              |  4 +--
 security/py-webauthn/Makefile              |  4 +--
 security/py-yubikey-manager/Makefile       |  4 +--
 sysutils/datadog-integrations/Makefile     |  3 +-
 sysutils/py-ansible-core/Makefile          |  4 +--
 sysutils/py-azure-cli-core/Makefile        |  4 +--
 sysutils/py-azure-cli/Makefile             |  4 +--
 textproc/py-pdfminer.six/Makefile          |  4 +--
 www/buku/Makefile                          |  4 +--
 www/mitmproxy/Makefile                     |  4 +--
 www/py-autobahn/Makefile                   |  4 +--
 www/py-azure-storage/Makefile              |  4 +--
 www/py-flask-jwt-extended/Makefile         |  4 +--
 www/py-pyjwt/Makefile                      |  2 +-
 www/py-pyjwt1/Makefile                     |  5 ++--
 www/py-requests_ntlm/Makefile              |  4 +--
 www/py-scrapy/Makefile                     |  4 +--
 x11/xpra/Makefile                          |  4 +--
 98 files changed, 216 insertions(+), 231 deletions(-)

diff --git a/Mk/Uses/pycryptography.mk b/Mk/Uses/pycryptography.mk
deleted file mode 100644
index a7687b40a4cd..000000000000
--- a/Mk/Uses/pycryptography.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-# Handle dependency on security/py-cryptography[-legacy]
-#
-# Feature:	pycryptography
-# Usage:	USES=pycryptography
-# Valid ARGS:	<none>, build, run
-# 		<none>:   default same as build,run
-# 		build:    add BUILD_DEPENDS
-# 		run:      add RUN_DEPENDS
-# 		test:     add TEST_DEPENDS
-#
-# MAINTAINER: portmgr@FreeBSD.org
-#
-
-.if ! defined(_INCLUDE_USES_PYCRYPTOGRAPHY_MK)
-_INCLUDE_USES_PYCRYPTOGRAPHY_MK=	YES
-
-# valid arguments:
-_PYCRYPTOGRAPHY_MK_VALID_MODES=		build run test
-
-# Suffixes
-_PYCRYPTOGRAPHY_MK_SUFFIX_rust=		#
-_PYCRYPTOGRAPHY_MK_SUFFIX_legacy=	-legacy
-
-# Dependency
-_PYCRYPTOGRAPHY_MK_SUFFIX=	${_PYCRYPTOGRAPHY_MK_SUFFIX_${PYCRYPTOGRAPHY_DEFAULT}}
-_PYCRYPTOGRAPHY_MK_PKG=		${PYTHON_PKGNAMEPREFIX}cryptography${_PYCRYPTOGRAPHY_MK_SUFFIX}
-_PYCRYPTOGRAPHY_MK_PORT=	security/py-cryptography${_PYCRYPTOGRAPHY_MK_SUFFIX}
-_PYCRYPTOGRAPHY_MK_DEPENDENCY=	${_PYCRYPTOGRAPHY_MK_PKG}>0:${_PYCRYPTOGRAPHY_MK_PORT}@${PY_FLAVOR}
-
-# === parse version arguments ===
-_PYCRYPTOGRAPHY_MK_MODES=	# empty
-.  for _mode in ${_PYCRYPTOGRAPHY_MK_VALID_MODES}
-.    if ${pycryptography_ARGS:M${_mode}}
-_PYCRYPTOGRAPHY_MK_MODES+=	${_mode}
-.    endif
-.  endfor
-.  if empty(_PYCRYPTOGRAPHY_MK_MODES)
-_PYCRYPTOGRAPHY_MK_MODES=	build run
-.  endif
-
-# == add actual dependencies ===
-.  for _mode in ${_PYCRYPTOGRAPHY_MK_MODES}
-${_mode:tu}_DEPENDS+=	${_PYCRYPTOGRAPHY_MK_DEPENDENCY}
-.  endfor
-
-.endif
diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk
index 57254be9b048..b65b2150f214 100644
--- a/Mk/Uses/python.mk
+++ b/Mk/Uses/python.mk
@@ -82,6 +82,14 @@
 #			  prefix-less original name, e.g.
 #			  bin/foo-2.7 --> bin/foo.
 #
+#	cryptography_build
+#			- Depend on security/cryptography at build-time.
+#
+#	cryptography	- Depend on security/cryptography at run-time.
+#
+#	cryptography_test
+#			- Depend on security/cryptography at test-time.
+#
 #	cython		- Depend on lang/cython at build-time.
 #
 #	cython_run	- Depend on lang/cython at run-time.
@@ -317,6 +325,9 @@ _PYTHON_RELPORTDIR=		lang/python
 _VALID_PYTHON_FEATURES=	allflavors \
 			autoplist \
 			concurrent \
+			cryptography_build \
+			cryptography \
+			cryptography_test \
 			cython \
 			cython_run \
 			cython_test \
@@ -597,6 +608,25 @@ _PYTHONPKGLIST=	${WRKDIR}/.PLIST.pymodtmp
 # - it uses USE_PYTHON=distutils
 #
 
+# cryptography* support
+.  if ${PYCRYPTOGRAPHY_DEFAULT} == rust
+CRYPTOGRAPHY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cryptography>=41.0.3_1,1:security/py-cryptography@${PY_FLAVOR}
+.  else
+CRYPTOGRAPHY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cryptography-legacy>=3.4.8_1,1:security/py-cryptography-legacy@${PY_FLAVOR}
+.  endif
+
+.  if defined(_PYTHON_FEATURE_CRYPTOGRAPHY_BUILD)
+BUILD_DEPENDS+=	${CRYPTOGRAPHY_DEPENDS}
+.  endif
+
+.  if defined(_PYTHON_FEATURE_CRYPTOGRAPHY)
+RUN_DEPENDS+=	${CRYPTOGRAPHY_DEPENDS}
+.  endif
+
+.  if defined(_PYTHON_FEATURE_CRYPTOGRAPHY_TEST)
+TEST_DEPENDS+=	${CRYPTOGRAPHY_DEPENDS}
+.  endif
+
 # cython* support
 .  if defined(_PYTHON_FEATURE_CYTHON)
 BUILD_DEPENDS+=	cython-${PYTHON_VER}:lang/cython@${PY_FLAVOR}
diff --git a/cad/uranium/Makefile b/cad/uranium/Makefile
index 9be37567b1e4..3c969b96f6ce 100644
--- a/cad/uranium/Makefile
+++ b/cad/uranium/Makefile
@@ -16,8 +16,9 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}PyOpenGL>0:graphics/py-PyOpenGL@${PY_FLAVOR}
 
-USES=		cmake gettext python pycryptography:run pyqt:5
+USES=		cmake gettext python pyqt:5
 USE_PYQT=	pyqt5
+USE_PYTHON=	cryptography
 USE_GITHUB=	yes
 GH_ACCOUNT=	Ultimaker
 STRIP=
diff --git a/comms/py-esptool/Makefile b/comms/py-esptool/Makefile
index 733b7c393c0a..a67d81e16cf1 100644
--- a/comms/py-esptool/Makefile
+++ b/comms/py-esptool/Makefile
@@ -18,9 +18,9 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyserial>=3.0:comms/py-pyserial@${PY_FLAVOR}
 		${PYTHON_PKGNAMEPREFIX}reedsolo>=1.5.3,<=1.6.0:devel/py-reedsolo@${PY_FLAVOR}
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyelftools>0:devel/py-pyelftools@${PY_FLAVOR}
 
-USES=		python pycryptography:run
+USES=		python
 USE_GITHUB=	yes
-USE_PYTHON=	autoplist concurrent distutils pytest
+USE_PYTHON=	autoplist concurrent cryptography distutils pytest
 
 GH_ACCOUNT=	espressif
 NO_ARCH=	yes
diff --git a/databases/py-mycli/Makefile b/databases/py-mycli/Makefile
index 71e4bed2c33e..8aaeba14f112 100644
--- a/databases/py-mycli/Makefile
+++ b/databases/py-mycli/Makefile
@@ -23,8 +23,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cli-helpers>=2.2.1:devel/py-cli-helpers@${PY
 		${PYTHON_PKGNAMEPREFIX}sqlglot>=5.1.3:databases/py-sqlglot@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}sqlparse>=0.3.0<0.5.0:databases/py-sqlparse@${PY_FLAVOR}
 
-USES=		mysql pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		mysql python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/databases/py-ormar/Makefile b/databases/py-ormar/Makefile
index 265a05690c7b..d6d6972d416d 100644
--- a/databases/py-ormar/Makefile
+++ b/databases/py-ormar/Makefile
@@ -33,7 +33,7 @@ OPTIONS_DEFAULT=		SQLITE
 DATABASES_DESC=			Database Support
 
 CRYPTO_DESC=	Support for password encryption
-CRYPTO_USES=	 	pycryptography:run
+CRYPTO_USE=		PYTHON=cryptography
 SQLITE_USES=		sqlite
 SQLITE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiosqlite>0:databases/py-aiosqlite@${PY_FLAVOR}
 MYSQL_USES=		mysql
diff --git a/databases/py-sqlalchemy-utils/Makefile b/databases/py-sqlalchemy-utils/Makefile
index 29effda0b6d2..858758db549d 100644
--- a/databases/py-sqlalchemy-utils/Makefile
+++ b/databases/py-sqlalchemy-utils/Makefile
@@ -34,7 +34,7 @@ URL_DESC=	URL type support
 ARROW_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}arrow>=0.3.4:devel/py-arrow@${PY_FLAVOR}
 BABEL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=1.3:devel/py-babel@${PY_FLAVOR}
 COLOR_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}colour>=0.0.4:graphics/py-colour@${PY_FLAVOR}
-ENCRYPTED_USES=		pycryptography:run
+ENCRYPTED_USE=		PYTHON=cryptography
 INTERVALS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}intervals>=0.7.1:net/py-intervals@${PY_FLAVOR}
 PASSWORD_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}passlib>=1.6<2.0:security/py-passlib@${PY_FLAVOR}
 PENDULUM_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pendulum>=2.0.5:devel/py-pendulum@${PY_FLAVOR}
diff --git a/devel/oci-cli/Makefile b/devel/oci-cli/Makefile
index 9faa03107d27..90feac4d8405 100644
--- a/devel/oci-cli/Makefile
+++ b/devel/oci-cli/Makefile
@@ -29,8 +29,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}arrow>=1.0.0:devel/py-arrow@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}six>=1.15.0:devel/py-six@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}terminaltables>=3.1.0:textproc/py-terminaltables@${PY_FLAVOR}
 
-USES=		python:3.8-3.11 pycryptography:run
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python:3.8-3.11
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/osc/Makefile b/devel/osc/Makefile
index ffbdfa7cdfe8..b2c9480450b7 100644
--- a/devel/osc/Makefile
+++ b/devel/osc/Makefile
@@ -12,10 +12,10 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}urllib3>=0:net/py-urllib3@${PY_FLAVOR}
 
-USES=		cpe python pycryptography:run
+USES=		cpe python
 USE_GITHUB=	yes
 GH_ACCOUNT=	openSUSE
-USE_PYTHON=	autoplist distutils noflavors pytest
+USE_PYTHON=	autoplist cryptography distutils noflavors pytest
 NO_ARCH=	yes
 CPE_VENDOR=	suse
 CPE_PRODUCT=	opensuse_osc
diff --git a/devel/py-adb/Makefile b/devel/py-adb/Makefile
index b317508d25f5..c4babceef037 100644
--- a/devel/py-adb/Makefile
+++ b/devel/py-adb/Makefile
@@ -17,8 +17,8 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	google
 GH_PROJECT=	python-${PORTNAME}
 
-USES=		python pycryptography:run
-USE_PYTHON=	autoplist distutils pytest
+USES=		python
+USE_PYTHON=	autoplist cryptography distutils pytest
 
 NO_ARCH=	yes
 
diff --git a/devel/py-aiortc/Makefile b/devel/py-aiortc/Makefile
index 67b993ce33de..d13ab26736a8 100644
--- a/devel/py-aiortc/Makefile
+++ b/devel/py-aiortc/Makefile
@@ -23,8 +23,8 @@ RUN_DEPENDS=	${PYNUMPY} \
 		${PYTHON_PKGNAMEPREFIX}pyee>=9.0.0:devel/py-pyee@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pylibsrtp>=0.5.6:devel/py-pylibsrtp@${PY_FLAVOR}
 
-USES=		localbase python pycryptography:run
-USE_PYTHON=	autoplist concurrent distutils
+USES=		localbase python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 post-install:
 	${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}/codecs/*.so
diff --git a/devel/py-azure-identity/Makefile b/devel/py-azure-identity/Makefile
index 49dfcaef4a88..b1f463d77e6c 100644
--- a/devel/py-azure-identity/Makefile
+++ b/devel/py-azure-identity/Makefile
@@ -15,8 +15,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}azure-core>=1.0.0<2.0.0:devel/py-azure-core@
 		${PYTHON_PKGNAMEPREFIX}msal-extensions>=0.3.0:devel/py-msal-extensions@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}six>=1.12.0:devel/py-six@${PY_FLAVOR}
 
-USES=		azurepy python pycryptography:run zip
-USE_PYTHON=	autoplist concurrent distutils
+USES=		azurepy python zip
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-azure-keyvault/Makefile b/devel/py-azure-keyvault/Makefile
index 23f2baccd4db..498d5947cd58 100644
--- a/devel/py-azure-keyvault/Makefile
+++ b/devel/py-azure-keyvault/Makefile
@@ -15,8 +15,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}msrest>=0.5.0:net-mgmt/py-msrest@${PY_FLAVOR
 		${PYTHON_PKGNAMEPREFIX}azure-common>=1.1:www/py-azure-common@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>=2.18.4:www/py-requests@${PY_FLAVOR}
 
-USES=		azurepy python pycryptography:run zip
-USE_PYTHON=	autoplist concurrent distutils
+USES=		azurepy python zip
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-azure-multiapi-storage/Makefile b/devel/py-azure-multiapi-storage/Makefile
index 697bdb3c9d19..8c1558804a87 100644
--- a/devel/py-azure-multiapi-storage/Makefile
+++ b/devel/py-azure-multiapi-storage/Makefile
@@ -16,8 +16,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}azure-common>=0:www/py-azure-common@${PY_FLA
 		${PYTHON_PKGNAMEPREFIX}azure-core>=1.10.0<2.0.0:devel/py-azure-core@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}msrest>=0.6.18:net-mgmt/py-msrest@${PY_FLAVOR}
 
-USES=		azurepy python pycryptography:run
-USE_PYTHON=	autoplist concurrent distutils
+USES=		azurepy python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-azure-storage-common/Makefile b/devel/py-azure-storage-common/Makefile
index d58d629261ee..82251a209dc9 100644
--- a/devel/py-azure-storage-common/Makefile
+++ b/devel/py-azure-storage-common/Makefile
@@ -14,8 +14,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}azure-common>=1.1.5:www/py-azure-common@${PY
 		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dateutil>=0:devel/py-dateutil@${PY_FLAVOR}
 
-USES=		azurepy python pycryptography:run
-USE_PYTHON=	autoplist concurrent distutils
+USES=		azurepy python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-castellan/Makefile b/devel/py-castellan/Makefile
index 2e13dd9ecb3c..e2fa96fb3be4 100644
--- a/devel/py-castellan/Makefile
+++ b/devel/py-castellan/Makefile
@@ -23,8 +23,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}keystoneauth1>=3.4.0:devel/py-keystoneauth1@
 		${PYTHON_PKGNAMEPREFIX}requests>=2.18.0:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}stevedore>=1.20.0:devel/py-stevedore@${PY_FLAVOR}
 
-USES=		pycryptography:run python shebangfix
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python shebangfix
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-cursive/Makefile b/devel/py-cursive/Makefile
index 4faedb84a5bb..d7fb2f523f61 100644
--- a/devel/py-cursive/Makefile
+++ b/devel/py-cursive/Makefile
@@ -19,8 +19,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}castellan>=0.4.0:devel/py-castellan@${PY_FLA
 		${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.16.0:devel/py-oslo.utils@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pbr>=1.6:devel/py-pbr@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-moto/Makefile b/devel/py-moto/Makefile
index f58245b8efce..2805c7fcb9fc 100644
--- a/devel/py-moto/Makefile
+++ b/devel/py-moto/Makefile
@@ -37,8 +37,8 @@ TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aws-xray-sdk>=0.93:devel/py-aws-xray-sdk@${
 		${PYTHON_PKGNAMEPREFIX}sshpubkeys>=3.1.0:security/py-sshpubkeys@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}yaml>=5.1:devel/py-yaml@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent pep517 pytest
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography pep517 pytest
 
 NO_ARCH=	yes
 
diff --git a/devel/py-msal/Makefile b/devel/py-msal/Makefile
index d4788638a841..f0c694766e5d 100644
--- a/devel/py-msal/Makefile
+++ b/devel/py-msal/Makefile
@@ -14,8 +14,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}requests>=2.0.0<3:www/py-requests@${PY_FLAVO
 		${PYTHON_PKGNAMEPREFIX}pyjwt>=1.0.0<3:www/py-pyjwt@${PY_FLAVOR}
 
 # cryptography>=0.6<43,1
-USES=		python pycryptography:run
-USE_PYTHON=	autoplist distutils
+USES=		python
+USE_PYTHON=	autoplist cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-oci/Makefile b/devel/py-oci/Makefile
index 084859c71cfc..0f150703f5d0 100644
--- a/devel/py-oci/Makefile
+++ b/devel/py-oci/Makefile
@@ -23,8 +23,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}openssl>=17.5.0:security/py-openssl@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pytz>=2016.10:devel/py-pytz@${PY_FLAVOR}
 
-USES=		python:3.8-3.11 pycryptography:run
-USE_PYTHON=	autoplist distutils
+USES=		python:3.8-3.11
+USE_PYTHON=	autoplist cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-openstacksdk/Makefile b/devel/py-openstacksdk/Makefile
index 34286bc6518d..5dd87213c597 100644
--- a/devel/py-openstacksdk/Makefile
+++ b/devel/py-openstacksdk/Makefile
@@ -26,8 +26,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}appdirs>=1.3.0:devel/py-appdirs@${PY_FLAVOR}
 		${PYTHON_PKGNAMEPREFIX}yaml>=3.13:devel/py-yaml@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requestsexceptions>=1.2.0:devel/py-requestsexceptions@${PY_FLAVOR}
 
-USES=		pycryptography:run python shebangfix
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python shebangfix
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/devel/py-pip/Makefile b/devel/py-pip/Makefile
index 7932bb50d942..157c6f667f58 100644
--- a/devel/py-pip/Makefile
+++ b/devel/py-pip/Makefile
@@ -32,9 +32,9 @@ TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}freezegun>=0:devel/py-freezegun@${PY_FLAVOR
 		git:devel/git \
 		svn:devel/subversion
 
-USES=		cpe python pycryptography:test shebangfix
+USES=		cpe python shebangfix
 CPE_VENDOR=	pypa
-USE_PYTHON=	autoplist concurrent distutils pytest
+USE_PYTHON=	autoplist concurrent cryptography_test distutils pytest
 
 MAKE_ENV=	PYTHONPATH=${WRKSRC}/src/
 NO_ARCH=	yes
diff --git a/devel/py-twisted/Makefile b/devel/py-twisted/Makefile
index df1d19a8aa72..201d05d62ca0 100644
--- a/devel/py-twisted/Makefile
+++ b/devel/py-twisted/Makefile
@@ -38,7 +38,7 @@ OPTIONS_DEFAULT=CONCH HTTP2 SERIAL TLS
 CONCH_DESC=	Conch secure shell SSH
 SERIAL_DESC=	Serial port extension
 
-CONCH_USES=		pycryptography:run
+CONCH_USE=		PYTHON=cryptography
 CONCH_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}appdirs>=1.4.0:devel/py-appdirs@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}bcrypt>=3.1.3:security/py-bcrypt@${PY_FLAVOR}
 HTTP2_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}h2>=3.0<5.0:www/py-h2@${PY_FLAVOR} \
diff --git a/dns/letsdns/Makefile b/dns/letsdns/Makefile
index a47361730442..1976a39bb224 100644
--- a/dns/letsdns/Makefile
+++ b/dns/letsdns/Makefile
@@ -14,9 +14,9 @@ BUILD_DEPENDS=	${PY_SETUPTOOLS} \
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dnspython>0:dns/py-dnspython@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
 
-USES=		python pycryptography:run
+USES=		python
 USE_GITHUB=	yes
 GH_ACCOUNT=	LetsDNS
-USE_PYTHON=	autoplist pep517
+USE_PYTHON=	autoplist cryptography pep517
 
 .include <bsd.port.mk>
diff --git a/dns/py-dns-crawler/Makefile b/dns/py-dns-crawler/Makefile
index e9f846c9f2da..fb90714d7016 100644
--- a/dns/py-dns-crawler/Makefile
+++ b/dns/py-dns-crawler/Makefile
@@ -30,8 +30,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}asn1crypto>=1.3.0:devel/py-asn1crypto@${PY_F
 		${PYTHON_PKGNAMEPREFIX}requests-toolbelt>=0.9.1:www/py-requests-toolbelt@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}rq>=1.2.2:devel/py-rq@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/dns/py-dns-lexicon/Makefile b/dns/py-dns-lexicon/Makefile
index a8e3c3ac2c9e..085795827b60 100644
--- a/dns/py-dns-lexicon/Makefile
+++ b/dns/py-dns-lexicon/Makefile
@@ -19,8 +19,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4:www/py-beautifulsoup@${PY_F
 		${PYTHON_PKGNAMEPREFIX}requests>=2:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}tldextract>=2:dns/py-tldextract@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent pep517
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography pep517
 
 NO_ARCH=	yes
 
diff --git a/dns/py-dnspython/Makefile b/dns/py-dnspython/Makefile
index 096756f0f0d0..3c1874b32fea 100644
--- a/dns/py-dnspython/Makefile
+++ b/dns/py-dnspython/Makefile
@@ -31,7 +31,7 @@ DOQ_DESC=		DNS over QUIC Support
 IDNA_DESC=		Internationalizede Domain Names in Application Support
 TRIO_DESC=		TRIO Support
 
-DNSSEC_USES=		pycryptography:run
+DNSSEC_USE=		PYTHON=cryptography
 DOH_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}h2>=4.0.0:www/py-h2@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}httpx>=0.24.1:www/py-httpx@${PY_FLAVOR}
 DOQ_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aioquic>0:www/py-aioquic@${PY_FLAVOR}
diff --git a/finance/electrum/Makefile b/finance/electrum/Makefile
index c65807e9027b..8050cdc0a10b 100644
--- a/finance/electrum/Makefile
+++ b/finance/electrum/Makefile
@@ -30,8 +30,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiohttp-socks>=0.3:net/py-aiohttp-socks@${PY
 		${PYTHON_PKGNAMEPREFIX}secp256k1>0:math/py-secp256k1@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>=3.7.9:databases/py-sqlite3@${PY_FLAVOR}
 
-USES=		cpe python pycryptography:run shebangfix
-USE_PYTHON=	autoplist concurrent distutils
+USES=		cpe python shebangfix
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 PYDISTUTILS_PKGNAME=	Electrum
 
diff --git a/finance/py-ccxt/Makefile b/finance/py-ccxt/Makefile
index 681c2ccffa52..b374ee987da5 100644
--- a/finance/py-ccxt/Makefile
+++ b/finance/py-ccxt/Makefile
@@ -18,8 +18,8 @@ RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}aiohttp>=3.8:www/py-aiohttp@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}yarl>=1.7.2:www/py-yarl@${PY_FLAVOR}
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR}
 
-USES=		python pycryptography:build,run
-USE_PYTHON=	distutils autoplist pytest # 3 errors during tests, see https://github.com/ccxt/ccxt/issues/16661
+USES=		python
+USE_PYTHON=	distutils autoplist cryptography cryptography_build pytest # 3 errors during tests, see https://github.com/ccxt/ccxt/issues/16661
 
 NO_ARCH=	yes
 
diff --git a/mail/py-flanker/Makefile b/mail/py-flanker/Makefile
index 7a0b0a515fde..ea53af039187 100644
--- a/mail/py-flanker/Makefile
+++ b/mail/py-flanker/Makefile
@@ -20,8 +20,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}attrs>=0:devel/py-attrs@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}tld>=0:dns/py-tld@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}webob>=0.9.8:www/py-webob@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/misc/py-apache-beam/Makefile b/misc/py-apache-beam/Makefile
index f292eb6daab1..2e64d9476b51 100644
--- a/misc/py-apache-beam/Makefile
+++ b/misc/py-apache-beam/Makefile
@@ -51,8 +51,8 @@ TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}freezegun>=0.3.12:devel/py-freezegun@${PY_F
 		${PYTHON_PKGNAMEPREFIX}yaml>=3.12:devel/py-yaml@${PY_FLAVOR}
 		# testcontainers[mysql]>=3.0.3 is also required
 
-USES=		python pycryptography:test zip
-USE_PYTHON=	distutils cython concurrent autoplist pytest # 5 tests fail, depending on pyarrow, MySqlContainer, threadpoolctl
+USES=		python zip
+USE_PYTHON=	autoplist concurrent cryptography_test cython distutils pytest # 5 tests fail, depending on pyarrow, MySqlContainer, threadpoolctl
 
 post-install:
 	# strip binaries
diff --git a/misc/py-cinder/Makefile b/misc/py-cinder/Makefile
index 21501d925972..b2131032fd42 100644
--- a/misc/py-cinder/Makefile
+++ b/misc/py-cinder/Makefile
@@ -74,8 +74,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}tooz>=1.58.0:devel/py-tooz@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}webob>=1.7.1:www/py-webob@${PY_FLAVOR}
 
-USES=		cpe pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		cpe python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 USE_RC_SUBR=	cinder-api cinder-scheduler cinder-volume
diff --git a/net-im/py-matrix-synapse/Makefile b/net-im/py-matrix-synapse/Makefile
index 1acde14ffab9..0eca94989444 100644
--- a/net-im/py-matrix-synapse/Makefile
+++ b/net-im/py-matrix-synapse/Makefile
@@ -53,8 +53,8 @@ TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}virtualenv>=15.0:devel/py-virtualenv@${PY_F
 		${PYTHON_PKGNAMEPREFIX}authlib>=0.15.1:security/py-authlib@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}idna>=2.5:dns/py-idna@${PY_FLAVOR}
 
-USES=		python pycryptography:run cargo
-USE_PYTHON=	autoplist distutils
+USES=		cargo python
+USE_PYTHON=	autoplist cryptography distutils
 USE_RC_SUBR=	synapse
 WRKSRC=		${WRKDIR}/${PORTNAME:S/-/_/}-${DISTVERSION}
 CARGO_CONFIGURE=	yes
diff --git a/net-mgmt/py-adal/Makefile b/net-mgmt/py-adal/Makefile
index 863e5c7ee1f5..8acad15ba7f7 100644
--- a/net-mgmt/py-adal/Makefile
+++ b/net-mgmt/py-adal/Makefile
@@ -15,8 +15,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyjwt>=1.0.0<3:www/py-pyjwt@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dateutil>=2.1.0<3:devel/py-dateutil@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>=2.0.0<3:www/py-requests@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/net-p2p/reticulum/Makefile b/net-p2p/reticulum/Makefile
index 94a508b34777..fed2ae1da5b9 100644
--- a/net-p2p/reticulum/Makefile
+++ b/net-p2p/reticulum/Makefile
@@ -13,8 +13,8 @@ LICENSE=	MIT
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}netifaces>=0:net/py-netifaces@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pyserial>0:comms/py-pyserial@${PY_FLAVOR}
 
-USES=		python pycryptography:run
-USE_PYTHON=	distutils
+USES=		python
+USE_PYTHON=	cryptography distutils
 USE_RC_SUBR=	reticulum
 GROUPS=		_reticulum
 USERS=		_reticulum
diff --git a/net/onionprobe/Makefile b/net/onionprobe/Makefile
index 7924cdd99348..6c064b8223d4 100644
--- a/net/onionprobe/Makefile
+++ b/net/onionprobe/Makefile
@@ -20,8 +20,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}prometheus-client>=0:net-mgmt/py-prometheus-
 		${PYTHON_PKGNAMEPREFIX}yaml>=0:devel/py-yaml@${PY_FLAVOR} \
 		tor:security/tor
 
-USES=		python pycryptography:run shebangfix
-USE_PYTHON=	autoplist distutils
+USES=		python shebangfix
+USE_PYTHON=	autoplist cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/net/py-cepa/Makefile b/net/py-cepa/Makefile
index 34cfd1b8b776..0ba3bd2f4123 100644
--- a/net/py-cepa/Makefile
+++ b/net/py-cepa/Makefile
@@ -20,8 +20,8 @@ TEST_DEPENDS=	tor:security/tor \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}tox>0:devel/py-tox@${PY_FLAVOR}
 
-USES=		python pycryptography:run shebangfix
-USE_PYTHON=	distutils autoplist concurrent
+USES=		python shebangfix
+USE_PYTHON=	autoplist concurrent cryptography distutils
 NO_ARCH=	yes
 
 SHEBANG_FILES=		*.py
diff --git a/net/py-magic-wormhole/Makefile b/net/py-magic-wormhole/Makefile
index 59d93f5a8233..56a3830fbeb7 100644
--- a/net/py-magic-wormhole/Makefile
+++ b/net/py-magic-wormhole/Makefile
@@ -23,8 +23,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}attrs>=19.2.0:devel/py-attrs@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}twisted>=17.5.0:devel/py-twisted@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}txtorcon>=18.0.2:security/py-txtorcon@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist distutils
+USES=		python
+USE_PYTHON=	autoplist cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/net/py-ripe.atlas.sagan/Makefile b/net/py-ripe.atlas.sagan/Makefile
index 456eb763acac..440aca508bb6 100644
--- a/net/py-ripe.atlas.sagan/Makefile
+++ b/net/py-ripe.atlas.sagan/Makefile
@@ -14,8 +14,8 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR}
 
-USES=		python pycryptography:run
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 NO_ARCH=	yes
 
 .include <bsd.port.mk>
diff --git a/net/py-smbprotocol/Makefile b/net/py-smbprotocol/Makefile
index 91875326c465..0c6142815273 100644
--- a/net/py-smbprotocol/Makefile
+++ b/net/py-smbprotocol/Makefile
@@ -13,8 +13,8 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyspnego>=0:security/py-pyspnego@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/net/py-transip/Makefile b/net/py-transip/Makefile
index df416e0d8cee..0097216ad9e0 100644
--- a/net/py-transip/Makefile
+++ b/net/py-transip/Makefile
@@ -14,8 +14,8 @@ LICENSE=	MIT
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}suds>=0:net/py-suds@${PY_FLAVOR}
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/net/py-urllib3/Makefile b/net/py-urllib3/Makefile
index e4cb36bc83c4..d9747e375e6c 100644
--- a/net/py-urllib3/Makefile
+++ b/net/py-urllib3/Makefile
@@ -23,7 +23,7 @@ TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}flaky>=3.6.1:devel/py-flaky@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}trustme>=0.6.0:security/py-trustme@${PY_FLAVOR}
 
 USES=		cpe python
-USE_PYTHON=	autoplist concurrent distutils pytest
+USE_PYTHON=	autoplist concurrent cryptography_test distutils pytest
 
 CPE_VENDOR=	python
 
@@ -43,7 +43,6 @@ SOCKS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pysocks>=1.5.6<2.0:net/py-pysocks@${PY
 SSL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}idna>=2.0.0:dns/py-idna@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}openssl>=0.14:security/py-openssl@${PY_FLAVOR}
-SSL_USES=		pycryptography:run,test
-SSL_USES_OFF=		pycryptography:test
+SSL_USE=		PYTHON=cryptography
 
 .include <bsd.port.mk>
diff --git a/net/scapy/Makefile b/net/scapy/Makefile
index 90839a4b8b0e..6a6384989b5e 100644
--- a/net/scapy/Makefile
+++ b/net/scapy/Makefile
@@ -15,8 +15,8 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}libdnet>0:net/py-libdnet@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pypcap>0:net/py-pypcap@${PY_FLAVOR}
 
-USES=		cpe python pycryptography:run
-USE_PYTHON=	autoplist concurrent distutils
+USES=		cpe python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/news/sabnzbd/Makefile b/news/sabnzbd/Makefile
index 1b7cbeb9e167..dc741d582ffd 100644
--- a/news/sabnzbd/Makefile
+++ b/news/sabnzbd/Makefile
@@ -57,7 +57,7 @@ DBUS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dbus>=0:devel/py-dbus@${PY_FLAVOR}
 NOTIFY2_IMPLIES=	DBUS
 NOTIFY2_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}notify2>=0:devel/py-notify2@${PY_FLAVOR}
 PYGOBJECT_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gobject3>=3.10.2:devel/py-gobject3@${PY_FLAVOR}
-SSL_USES=		pycryptography:run
+SSL_USE=		PYTHON=cryptography
 
 post-patch:
 	@${REINPLACE_CMD} -e "s:%%DATADIR%%:'${DATADIR}':g" \
diff --git a/security/caldera/Makefile b/security/caldera/Makefile
index ebeb0e5406f7..c95ebd13caef 100644
--- a/security/caldera/Makefile
+++ b/security/caldera/Makefile
@@ -65,7 +65,8 @@ GH_TUPLE=	mitre:access:0e67776:access/plugins/access \
 		mitre:stockpile:960f9ad:stockpile/plugins/stockpile \
 		mitre:training:b058b67:training/plugins/training
 
-USES=		dos2unix go:run python pycryptography:run
+USES=		dos2unix go:run python
+USE_PYTHON=	cryptography
 
 NO_ARCH=	yes
 NO_BUILD=	yes
diff --git a/security/cowrie/Makefile b/security/cowrie/Makefile
index b2999fcf3c47..98b772c8e646 100644
--- a/security/cowrie/Makefile
+++ b/security/cowrie/Makefile
@@ -27,10 +27,10 @@ RUN_DEPENDS=	bash:shells/bash \
 		${PYTHON_PKGNAMEPREFIX}tftpy>0:ftp/py-tftpy@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}twisted>0:devel/py-twisted@${PY_FLAVOR}
 
-USES=		python pycryptography:run shebangfix
+USES=		python shebangfix
 SHEBANG_FILES=	bin/cowrie
 USE_GITHUB=	yes
-USE_PYTHON=	distutils noflavors autoplist
+USE_PYTHON=	autoplist cryptography noflavors distutils
 
 CONFLICTS_INSTALL=	py*-asciinema # bin/asciinema
 
diff --git a/security/py-SecretStorage/Makefile b/security/py-SecretStorage/Makefile
index f5207dd77520..89fdb5e69b55 100644
--- a/security/py-SecretStorage/Makefile
+++ b/security/py-SecretStorage/Makefile
@@ -14,8 +14,8 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dbus>=0.84.0:devel/py-dbus@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}jeepney>=0.6:devel/py-jeepney@${PY_FLAVOR}
 
-USES=		python pycryptography:run
-USE_PYTHON=	autoplist distutils
+USES=		python
+USE_PYTHON=	autoplist cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/security/py-acme/Makefile b/security/py-acme/Makefile
index 4e58946841df..32e5b2405c85 100644
--- a/security/py-acme/Makefile
+++ b/security/py-acme/Makefile
@@ -18,8 +18,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}josepy>=1.13.0:security/py-josepy@${PY_FLAVO
 		${PYTHON_PKGNAMEPREFIX}pytz>=2019.3,1:devel/py-pytz@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>=2.20.0:www/py-requests@${PY_FLAVOR}
 
-USES=		python pycryptography:run
-USE_PYTHON=	autoplist distutils pytest
+USES=		python
+USE_PYTHON=	autoplist cryptography distutils pytest
 
 NO_ARCH=	yes
 
diff --git a/security/py-asyncssh/Makefile b/security/py-asyncssh/Makefile
index b7ed5541ee8b..ff1f2de3df73 100644
--- a/security/py-asyncssh/Makefile
+++ b/security/py-asyncssh/Makefile
@@ -13,8 +13,8 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.6:devel/py-typing-extensions@${PY_FLAVOR}
 
-USES=		cpe pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils unittest
+USES=		cpe python
+USE_PYTHON=	autoplist concurrent cryptography distutils unittest
 
 NO_ARCH=	yes
 
diff --git a/security/py-authlib/Makefile b/security/py-authlib/Makefile
index 17b49394e301..a086c4cb20ab 100644
--- a/security/py-authlib/Makefile
+++ b/security/py-authlib/Makefile
@@ -13,8 +13,8 @@ WWW=		https://authlib.org/ \
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-USES=		pycryptography:run python
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/security/py-azure-keyvault-keys/Makefile b/security/py-azure-keyvault-keys/Makefile
index a7fa08281cd9..04fdb2950852 100644
--- a/security/py-azure-keyvault-keys/Makefile
+++ b/security/py-azure-keyvault-keys/Makefile
@@ -16,8 +16,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}azure-common>=1.1<2:www/py-azure-common@${PY
 		${PYTHON_PKGNAMEPREFIX}isodate>=0.6.1:devel/py-isodate@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.1:devel/py-typing-extensions@${PY_FLAVOR}
 
-USES=		pycryptography:run python zip
-USE_PYTHON=	autoplist concurrent distutils
+USES=		python zip
+USE_PYTHON=	autoplist concurrent cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/security/py-badkeys/Makefile b/security/py-badkeys/Makefile
index 159729f4ebcc..7a22539de28b 100644
--- a/security/py-badkeys/Makefile
+++ b/security/py-badkeys/Makefile
@@ -14,8 +14,8 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gmpy2>0:math/py-gmpy2@${PY_FLAVOR}
 
-USES=		python pycryptography:run
-USE_PYTHON=	autoplist distutils
+USES=		python
+USE_PYTHON=	autoplist cryptography distutils
 
 NO_ARCH=	yes
 
diff --git a/security/py-cert-human/Makefile b/security/py-cert-human/Makefile
index 19f04e468f49..a6f9e87d3cc8 100644
--- a/security/py-cert-human/Makefile
+++ b/security/py-cert-human/Makefile
@@ -16,8 +16,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}idna>=2.0.0:dns/py-idna@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}openssl>=0.14:security/py-openssl@${PY_FLAVOR} \
*** 699 LINES SKIPPED ***