summaryrefslogtreecommitdiff
path: root/security/py-gpg
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--security/py-gpg/Makefile43
-rw-r--r--security/py-gpg/distinfo3
-rw-r--r--security/py-gpg/files/patch-configure.ac19
-rw-r--r--security/py-gpg/files/patch-pyproject.toml13
-rw-r--r--security/py-gpg/pkg-descr3
-rw-r--r--security/py-gpgme/Makefile16
-rw-r--r--security/py-gpgme/pkg-plist89
7 files changed, 81 insertions, 105 deletions
diff --git a/security/py-gpg/Makefile b/security/py-gpg/Makefile
new file mode 100644
index 000000000000..582cb579dfc2
--- /dev/null
+++ b/security/py-gpg/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= gpg
+PORTVERSION= 2.0.0
+CATEGORIES= security python
+MASTER_SITES= GNUPG/gpgmepy
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= gpgmepy-${PORTVERSION}
+
+MAINTAINER= jhale@FreeBSD.org
+COMMENT= Gpgme Python bindings
+
+LICENSE= LGPL21+
+LICENSE_FILE= ${WRKSRC}/COPYING.LESSER
+
+BUILD_DEPENDS= swig:devel/swig \
+ ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+LIB_DEPENDS= libassuan.so:security/libassuan \
+ libgpg-error.so:security/libgpg-error \
+ libgpgme.so:security/gpgme
+
+USES= gmake pkgconfig python:3.9+ tar:bzip2
+USE_PYTHON= autoplist pep517
+
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= BSD_PYTHON="${PYTHON_CMD}" \
+ BSD_PYTHON_VERSION="${PYTHON_VER}"
+TEST_TARGET= check
+
+# Link src to the project name defined in pyproject.toml to deal with Python
+# conventions. This is done in the project build system, but we're just using
+# the configure part of the autotools and letting the FreeBSD python USES do
+# the main build.
+pre-build:
+ (cd ${BUILD_WRKSRC} && ${LN} -sf src ${PORTNAME})
+
+# Avoid patching the src 'copystamp' target, which tries to copy several files
+# to their original location, causing errors. ${BUILD_WRKSRC}/copystamp just
+# has to exist for the port 'test' target to function for our purposes.
+pre-test:
+ ${TOUCH} ${BUILD_WRKSRC}/copystamp
+
+.include <bsd.port.mk>
diff --git a/security/py-gpg/distinfo b/security/py-gpg/distinfo
new file mode 100644
index 000000000000..c0e4e0940c09
--- /dev/null
+++ b/security/py-gpg/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1750492472
+SHA256 (gpgmepy-2.0.0.tar.bz2) = 07e1265648ff51da238c9af7a18b3f1dc7b0c66b4f21a72f27c74b396cd3336d
+SIZE (gpgmepy-2.0.0.tar.bz2) = 575963
diff --git a/security/py-gpg/files/patch-configure.ac b/security/py-gpg/files/patch-configure.ac
new file mode 100644
index 000000000000..d60e14dfd05d
--- /dev/null
+++ b/security/py-gpg/files/patch-configure.ac
@@ -0,0 +1,19 @@
+The configure script automatically detects all versions of Python and builds
+the bindings for each found version. This is a problem when building outside
+of a clean environment since the ports system can only build a package for one
+Python flavor at a time. The found versions of Python are overridden by
+environment variables set in the port Makefile.
+
+--- configure.ac.orig 2025-06-17 08:21:23 UTC
++++ configure.ac
+@@ -326,6 +326,10 @@ else
+ ], :, m4_if(mym4pythonver,[any],[],[python]mym4pythonver))
+ ])
+
++ # Override the automatically found Pythons with the selected version from ports.
++ PYTHONS=$BSD_PYTHON
++ PYTHON_VERSIONS=$BSD_PYTHON_VERSION
++
+ # Recover some values lost in the second attempt to find Python.
+ PYTHON="$(echo $PYTHONS | cut -d ' ' -f 1)"
+ PYTHON_VERSION="$(echo $PYTHON_VERSIONS | cut -d ' ' -f 1)"
diff --git a/security/py-gpg/files/patch-pyproject.toml b/security/py-gpg/files/patch-pyproject.toml
new file mode 100644
index 000000000000..f2a281e724c2
--- /dev/null
+++ b/security/py-gpg/files/patch-pyproject.toml
@@ -0,0 +1,13 @@
+Since we don't have a "swig" python package to look for, this breaks the
+build. Swig detection, however, is done locally by the ports system and
+the configure script.
+
+--- pyproject.toml.orig 2025-06-17 08:21:23 UTC
++++ pyproject.toml
+@@ -59,5 +59,5 @@ content-type = "text/plain"
+
+ [build-system]
+ # Minimum requirements for the build system to execute.
+-requires = ["setuptools", "swig"]
++requires = ["setuptools"]
+ build-backend = "setuptools.build_meta"
diff --git a/security/py-gpg/pkg-descr b/security/py-gpg/pkg-descr
new file mode 100644
index 000000000000..331ded45d4d4
--- /dev/null
+++ b/security/py-gpg/pkg-descr
@@ -0,0 +1,3 @@
+Python bindings for the GpgME library, offering a high-level and curated
+interface, as well as an idiomatic interface implemented as a shim,
+automatically created using SWIG, on top of the low-level interface.
diff --git a/security/py-gpgme/Makefile b/security/py-gpgme/Makefile
deleted file mode 100644
index b79f2dd23518..000000000000
--- a/security/py-gpgme/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-PORTREVISION= 0
-CATEGORIES= security python
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= jhale@FreeBSD.org
-COMMENT= Gpgme Python bindings
-
-MASTERDIR= ${.CURDIR:H:H}/security/gpgme
-PLIST= ${.CURDIR}/pkg-plist
-
-_GPGME_BINDING= python
-
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/gpg/_gpgme*.so
-
-.include "${MASTERDIR}/Makefile"
diff --git a/security/py-gpgme/pkg-plist b/security/py-gpgme/pkg-plist
deleted file mode 100644
index 8650d7182e84..000000000000
--- a/security/py-gpgme/pkg-plist
+++ /dev/null
@@ -1,89 +0,0 @@
-%%PYTHON_SITELIBDIR%%/gpg-%%VERSION%%-py%%PYTHON_VER%%.egg-info/PKG-INFO
-%%PYTHON_SITELIBDIR%%/gpg-%%VERSION%%-py%%PYTHON_VER%%.egg-info/SOURCES.txt
-%%PYTHON_SITELIBDIR%%/gpg-%%VERSION%%-py%%PYTHON_VER%%.egg-info/dependency_links.txt
-%%PYTHON_SITELIBDIR%%/gpg-%%VERSION%%-py%%PYTHON_VER%%.egg-info/top_level.txt
-%%PYTHON_SITELIBDIR%%/gpg/__init__.py
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/callbacks%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/callbacks%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/core%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/core%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/errors%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/errors%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/gpgme%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/gpgme%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/results%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/results%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/util%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/util%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/version%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/__pycache__/version%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/_gpgme%%PYTHON_TAG%%.so
-%%PYTHON_SITELIBDIR%%/gpg/callbacks.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/__init__.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/create%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/create%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/event%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/event%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/import_type%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/import_type%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/keysign%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/keysign%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/md%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/md%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/pk%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/pk%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/protocol%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/protocol%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/sigsum%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/sigsum%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/status%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/status%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/validity%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/__pycache__/validity%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/create.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/data/__init__.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/data/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/data/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/data/__pycache__/encoding%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/data/__pycache__/encoding%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/data/encoding.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/event.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/import_type.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/keylist/__init__.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/keylist/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/keylist/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/keylist/__pycache__/mode%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/keylist/__pycache__/mode%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/keylist/mode.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/keysign.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/md.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/pk.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/protocol.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/__init__.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/__pycache__/mode%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/__pycache__/mode%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/__pycache__/notation%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/__pycache__/notation%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/mode.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/sig/notation.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/sigsum.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/status.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/tofu/__init__.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/tofu/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/tofu/__pycache__/__init__%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/tofu/__pycache__/policy%%PYTHON_TAG%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/tofu/__pycache__/policy%%PYTHON_TAG%%.pyc
-%%PYTHON_SITELIBDIR%%/gpg/constants/tofu/policy.py
-%%PYTHON_SITELIBDIR%%/gpg/constants/validity.py
-%%PYTHON_SITELIBDIR%%/gpg/core.py
-%%PYTHON_SITELIBDIR%%/gpg/errors.py
-%%PYTHON_SITELIBDIR%%/gpg/gpgme.py
-%%PYTHON_SITELIBDIR%%/gpg/results.py
-%%PYTHON_SITELIBDIR%%/gpg/util.py
-%%PYTHON_SITELIBDIR%%/gpg/version.py