git: 729a079b4b99 - main - sysutils/duplicity: Update to 3.2.2

From: Nuno Teixeira <eduardo_at_FreeBSD.org>
Date: Mon, 19 Oct 2026 19:55:02 UTC
The branch main has been updated by eduardo:

URL: https://cgit.FreeBSD.org/ports/commit/?id=729a079b4b9916641562f1532ad77deae604895c

commit 729a079b4b9916641562f1532ad77deae604895c
Author:     Nuno Teixeira <eduardo@FreeBSD.org>
AuthorDate: 2026-10-19 18:53:51 +0000
Commit:     Nuno Teixeira <eduardo@FreeBSD.org>
CommitDate: 2026-10-19 19:34:57 +0000

    sysutils/duplicity: Update to 3.2.2
    
    - Fetch from GitLab: 3.2.2 is not on PyPI yet and the tarball
      includes the test suite
    - Enable tests
    - Drop bogus OPTIONS_GROUP for GPG
    
    ChangeLog:      https://gitlab.com/duplicity/duplicity/-/blob/rel.3.2.2/CHANGELOG.md
    MFH:            2026Q4
---
 sysutils/duplicity/Makefile                   | 25 +++++++++++++++----------
 sysutils/duplicity/distinfo                   |  6 +++---
 sysutils/duplicity/files/patch-pyproject.toml | 15 +++++++++------
 sysutils/duplicity/files/patch-setup.py       | 25 +++++++++++++++++++++++++
 4 files changed, 52 insertions(+), 19 deletions(-)

diff --git a/sysutils/duplicity/Makefile b/sysutils/duplicity/Makefile
index a5bbbb51b30b..36425d20bb42 100644
--- a/sysutils/duplicity/Makefile
+++ b/sysutils/duplicity/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	duplicity
-DISTVERSION=	3.2.1
+DISTVERSION=	3.2.2
 CATEGORIES=	sysutils
-MASTER_SITES=	PYPI
 
 MAINTAINER=	eduardo@FreeBSD.org
 COMMENT=	Backup tool that uses librsync and GnuPG
@@ -15,25 +14,31 @@ BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
 LIB_DEPENDS=	librsync.so:net/librsync
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}fasteners>=0:devel/py-fasteners@${PY_FLAVOR} \
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}fasteners>=0.19:devel/py-fasteners@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}httplib2>0:www/py-httplib2@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}paramiko>=0:security/py-paramiko@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}paramiko>0:security/py-paramiko@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pysocks>0:net/py-pysocks@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pycodestyle>0:devel/py-pycodestyle@${PY_FLAVOR} \
+		gtar:archivers/gtar
 
 USES=		cpe gettext-tools localbase python shebangfix
 CPE_VENDOR=	${PORTNAME}_project
+USE_GITLAB=	yes
+GL_TAGNAME=	rel.${DISTVERSION}
 USE_LDCONFIG=	yes
-USE_PYTHON=	autoplist noflavors pep517
+USE_PYTHON=	autoplist noflavors pep517 pytest
 
-SHEBANG_FILES=	duplicity/__main__.py
+# TestCode only runs upstream linters (black, pylint, pycodestyle)
+PYTEST_IGNORED_TESTS=	TestCode
 
-PORTDOCS=	AUTHORS.md README-REPO.md README.md
+SHEBANG_FILES=	duplicity/__main__.py testing/overrides/bin/*
+
+PORTDOCS=	AUTHORS.md CHANGELOG.md README-LOG.md README.md
 
 OPTIONS_DEFINE=		B2 DOCS DROPBOX FTP FTPS S3
 OPTIONS_DEFAULT=	B2 DROPBOX GNUPG2 S3
-OPTIONS_GROUP=		GPG
 OPTIONS_SINGLE=		GPG
 OPTIONS_SINGLE_GPG=	GNUPG GNUPG2
 
@@ -46,7 +51,7 @@ GNUPG_DESC=	Use GnuPG 1
 GNUPG2_DESC=	Use GnuPG 2
 S3_DESC=	Amazon S3 backend
 
-B2_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}b2sdk>=0.1.8:devel/py-b2sdk@${PY_FLAVOR}
+B2_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}b2sdk>0:devel/py-b2sdk@${PY_FLAVOR}
 DROPBOX_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dropbox>0:www/py-dropbox@${PY_FLAVOR}
 FTP_RUN_DEPENDS=	ncftp>=3.2.2:ftp/ncftp3
 FTPS_RUN_DEPENDS=	lftp>=3.7.15:ftp/lftp
diff --git a/sysutils/duplicity/distinfo b/sysutils/duplicity/distinfo
index 6bf78a18374e..90b09c430195 100644
--- a/sysutils/duplicity/distinfo
+++ b/sysutils/duplicity/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1790617864
-SHA256 (duplicity-3.2.1.tar.gz) = 4284e3d8f0082a85d3dcfa634901532a1087463df7a33ead417670c0d63b9ef5
-SIZE (duplicity-3.2.1.tar.gz) = 1740226
+TIMESTAMP = 1792352225
+SHA256 (duplicity-rel.3.2.2.tar.bz2) = 6dfec866532001460635b18d3c56f76bef9bface00e26ba2ba4a2e1613279b42
+SIZE (duplicity-rel.3.2.2.tar.bz2) = 1069512
diff --git a/sysutils/duplicity/files/patch-pyproject.toml b/sysutils/duplicity/files/patch-pyproject.toml
index f574c7732682..763e5ae3dc5c 100644
--- a/sysutils/duplicity/files/patch-pyproject.toml
+++ b/sysutils/duplicity/files/patch-pyproject.toml
@@ -1,6 +1,6 @@
---- pyproject.toml.orig	2026-08-27 11:55:49 UTC
+--- pyproject.toml.orig	2026-10-14 18:02:11 UTC
 +++ pyproject.toml
-@@ -33,8 +33,8 @@ requires = [
+@@ -34,8 +34,8 @@ requires = [
  [build-system]
  requires = [
      "build>=1.1",
@@ -11,7 +11,7 @@
      "setuptools-gettext>=0.1.18",
      "wheel>=0.42.0",
  ]
-@@ -64,20 +64,6 @@ compiler = "msgfmt"
+@@ -65,23 +65,6 @@ compiler = "msgfmt"
  ]
  [tool.setuptools-gettext]
  compiler = "msgfmt"
@@ -29,6 +29,9 @@
 -    "README-SNAP.md",
 -    "README-TESTING.md",
 -]
- "share/man/man1" =  [
-     "man/duplicity.1",
- ]
+-"share/man/man1" =  [
+-    "man/duplicity.1",
+-]
+ 
+ #==============================================================================
+ 
diff --git a/sysutils/duplicity/files/patch-setup.py b/sysutils/duplicity/files/patch-setup.py
new file mode 100644
index 000000000000..4afa56aa713c
--- /dev/null
+++ b/sysutils/duplicity/files/patch-setup.py
@@ -0,0 +1,25 @@
+--- setup.py.orig	2026-10-19 18:32:48 UTC
++++ setup.py
+@@ -112,22 +112,6 @@ def get_data_files():
+                 "man/duplicity.1",
+             ],
+         ),
+-        (
+-            f"share/doc/duplicity-{Version}",
+-            [
+-                "CHANGELOG.md",
+-                "AUTHORS.md",
+-                "COPYING",
+-                "README.md",
+-                "README-ARCH.md",
+-                "README-INSTALL.md",
+-                "README-LOG.md",
+-                "README-RELEASE.md",
+-                "README-REPO.md",
+-                "README-SNAP.md",
+-                "README-TESTING.md",
+-            ],
+-        ),
+     ]
+ 
+     # short circuit fot READTHEDOCS