diff --git a/sysutils/duplicity/Makefile b/sysutils/duplicity/Makefile index 09af606902e2..991c25ecbf77 100644 --- a/sysutils/duplicity/Makefile +++ b/sysutils/duplicity/Makefile @@ -1,82 +1,67 @@ PORTNAME= duplicity -DISTVERSION= 3.0.4 -PORTREVISION= 1 +DISTVERSION= 3.0.5 CATEGORIES= sysutils MASTER_SITES= PYPI MAINTAINER= eduardo@FreeBSD.org COMMENT= Backup tool that uses librsync and GnuPG WWW= https://duplicity.gitlab.io/ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pipx>0:devel/py-pipx@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \ +BUILD_DEPENDS= ${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} \ ${PYTHON_PKGNAMEPREFIX}future>0:devel/py-future@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}paramiko>=0:security/py-paramiko@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}urllib3>=0:net/py-urllib3@${PY_FLAVOR} -TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}black>0:devel/py-black@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pytest-pycodestyle>0:devel/py-pytest-pycodestyle@${PY_FLAVOR} \ - gtar>0:archivers/gtar \ - par2cmdline>0:archivers/par2cmdline \ - pylint${PYTHON_PKGNAMESUFFIX}>0:devel/pylint@${PY_FLAVOR} USES= cpe localbase python shebangfix CPE_VENDOR= ${PORTNAME}_project USE_LDCONFIG= yes -USE_PYTHON= autoplist noflavors pep517 pytest +USE_PYTHON= autoplist noflavors pep517 -PYTEST_IGNORED_TESTS= test_code.py #https://lists.nongnu.org/archive/html/duplicity-talk/2025-02/msg00007.html +SHEBANG_FILES= duplicity/__main__.py -SHEBANG_FILES= duplicity/__main__.py testing/overrides/bin/* - -PORTDOCS= AUTHORS.md README-LOG.md README-REPO.md README-TESTING.md \ - README.md +PORTDOCS= AUTHORS.md README-LOG.md README-REPO.md README.md OPTIONS_DEFINE= B2 DOCS DROPBOX FTP FTPS GDOCS NLS S3 OPTIONS_DEFAULT= B2 DROPBOX GNUPG2 S3 OPTIONS_GROUP= GPG OPTIONS_SINGLE= GPG OPTIONS_SINGLE_GPG= GNUPG GNUPG2 B2_DESC= Backblaze B2 backend DROPBOX_DESC= Dropbox backend FTP_DESC= FTP backend FTPS_DESC= FTPS backend GDOCS_DESC= Google Docs backend GPG_DESC= GnuPG support 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} 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 GDOCS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}PyDrive2>0:www/py-pydrive2@${PY_FLAVOR} GNUPG_RUN_DEPENDS= gnupg1>=1.4.7:security/gnupg1 GNUPG2_RUN_DEPENDS= gpg2:security/gnupg NLS_USES= gettext-tools NLS_EXTRA_PATCHES_OFF= ${FILESDIR}/extra-patch-setup.py S3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} post-install: @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/duplicity/_librsync*.so post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR} -pre-test: - @${REINPLACE_CMD} -e 's,python3,${PYTHON_CMD:T},' \ - ${WRKSRC}/testing/functional/__init__.py - .include diff --git a/sysutils/duplicity/distinfo b/sysutils/duplicity/distinfo index 384513379e06..0133457969a2 100644 --- a/sysutils/duplicity/distinfo +++ b/sysutils/duplicity/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1739131412 -SHA256 (duplicity-3.0.4.tar.gz) = 5c939775e00d9f539589b4782ebe476ecb1ee061df06852fa7bee1c82b4556b6 -SIZE (duplicity-3.0.4.tar.gz) = 1925420 +TIMESTAMP = 1750447633 +SHA256 (duplicity-3.0.5.tar.gz) = 34fab6cd4e1052b0b96d7750368dbbb149a504ff34401ac8bee5c594f42f4d3b +SIZE (duplicity-3.0.5.tar.gz) = 900129 diff --git a/sysutils/duplicity/files/extra-patch-setup.py b/sysutils/duplicity/files/extra-patch-setup.py index 18af0c97b3be..c8b74e96edba 100644 --- a/sysutils/duplicity/files/extra-patch-setup.py +++ b/sysutils/duplicity/files/extra-patch-setup.py @@ -1,31 +1,31 @@ ---- setup.py.orig 2024-03-20 20:49:22 UTC +--- setup.py.orig 2025-06-19 16:01:57 UTC +++ setup.py -@@ -111,28 +111,6 @@ def get_data_files(): +@@ -131,28 +131,6 @@ def get_data_files(): if os.environ.get("READTHEDOCS") == "True": return data_files - # msgfmt the translation files - assert os.path.exists("po"), "Missing 'po' directory." - - linguas = glob.glob("po/*.po") - for lang in linguas: - lang = lang[3:-3] - try: - os.mkdir(os.path.join("po", lang)) - except os.error: - pass - subprocess.run(f"cp po/{lang}.po po/{lang}", shell=True, check=True) - subprocess.run(f"msgfmt po/{lang}.po -o po/{lang}/duplicity.mo", shell=True, check=True) - - for root, dirs, files in os.walk("po"): - for file in files: - path = os.path.join(root, file) - if path.endswith("duplicity.mo"): - lang = os.path.split(root)[-1] - data_files.append((f"share/locale/{lang}/LC_MESSAGES", [f"po/{lang}/duplicity.mo"])) - - return data_files - def cleanup(): if os.path.exists("po/LINGUAS"): diff --git a/sysutils/duplicity/files/patch-pyproject.toml b/sysutils/duplicity/files/patch-pyproject.toml index 6f351ca42fa8..f9ce006cbee9 100644 --- a/sysutils/duplicity/files/patch-pyproject.toml +++ b/sysutils/duplicity/files/patch-pyproject.toml @@ -1,11 +1,11 @@ ---- pyproject.toml.orig 2024-05-24 07:34:29 UTC +--- pyproject.toml.orig 2025-06-20 19:43:43 UTC +++ pyproject.toml -@@ -7,7 +7,7 @@ requires = [ +@@ -32,7 +32,7 @@ classifiers = [ + + [build-system] - requires = [ - "build>=1.1", -- "pip>=24.0", -+ "pip>=23.3.2", - "pipx>=1.5", - "packaging>=20.0", - "setuptools>=60.0", +-requires = ["setuptools>=68.1.0"] ++requires = ["setuptools>=63.1.0"] + build-backend = "setuptools.build_meta" + + diff --git a/sysutils/duplicity/files/patch-setup.py b/sysutils/duplicity/files/patch-setup.py index c3afeb75bc21..56c07c84217b 100644 --- a/sysutils/duplicity/files/patch-setup.py +++ b/sysutils/duplicity/files/patch-setup.py @@ -1,21 +1,21 @@ ---- setup.py.orig 2024-02-06 08:04:58 UTC +--- setup.py.orig 2025-06-19 16:01:57 UTC +++ setup.py -@@ -99,18 +99,6 @@ def get_data_files(): +@@ -113,18 +113,6 @@ def get_data_files(): "man/duplicity.1", ], ), - ( - f"share/doc/duplicity-{Version}", - [ - "CHANGELOG.md", - "AUTHORS.md", - "COPYING", - "README.md", - "README-LOG.md", - "README-REPO.md", - "README-TESTING.md", - ], - ), ] # short circuit fot READTHEDOCS