diff --git a/archivers/py-borgbackup/Makefile b/archivers/py-borgbackup/Makefile index 701d312b6ce6..2f35b72ee38f 100644 --- a/archivers/py-borgbackup/Makefile +++ b/archivers/py-borgbackup/Makefile @@ -1,88 +1,90 @@ PORTNAME= borgbackup -DISTVERSION= 1.4.1 -PORTREVISION= 2 +DISTVERSION= 1.4.2 CATEGORIES= archivers python MASTER_SITES= https://github.com/borgbackup/borg/releases/download/${DISTVERSION}/ \ PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= mandree@FreeBSD.org COMMENT= Deduplicating backup program WWW= https://pypi.org/project/borgbackup/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE # note that borgbackup pins the msgpack version range per patchlevel version! -_BB_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=1.0.3<1.1.2_99:devel/py-msgpack@${PY_FLAVOR} +_BB_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=1.0.3<1.1.3:devel/py-msgpack@${PY_FLAVOR} BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pkgconfig>=0:devel/py-pkgconfig@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=1.7:devel/py-setuptools-scm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \ ${_BB_DEPENDS} LIB_DEPENDS= liblz4.so:archivers/liblz4 \ libzstd.so:archivers/zstd \ libxxhash.so:devel/xxhash RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=19.0:devel/py-packaging@${PY_FLAVOR} \ ${_BB_DEPENDS} TEST_DEPENDS= ${RUN_DEPENDS} \ - ${PYTHON_PKGNAMEPREFIX}tox>3.2:devel/py-tox@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tox>=4.19:devel/py-tox@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=0:devel/py-virtualenv@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} \ fakeroot:security/fakeroot USES= pkgconfig python ssl -USE_PYTHON= autoplist distutils +USE_PYTHON= autoplist cython3 distutils MAKE_ENV= BORG_OPENSSL_PREFIX=${OPENSSLBASE} OPTIONS_DEFINE= FUSE OPTIONS_DEFAULT= FUSE FUSE_DESC= Support to mount locally borg backup files FUSE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}llfuse>0:filesystems/py-llfuse@${PY_FLAVOR} .include .if (${OPSYS} == FreeBSD) && ${OSVERSION} < 1400033 # why 1400033? # 1. check for the OLDEST (last in list) history entry on the file, when it was added: # git -C /usr/src hist lib/libc/posix1e/acl_extended_file_np.c # 2. check for the version you have obtained what __FreeBSD_version was # and increment by one. This is inaccurate for the interim between file addition # and __FreeBSD_version bump back then, but those versions were no releases and # should no longer be in the field. EXTRA_PATCHES += ${FILESDIR}/extrapatch-setup.py post-patch: ${CP} ${FILESDIR}/acl_extended_file_np.c ${WRKSRC}/src/borg/platform/ .endif _BORGHOME=${WRKDIR}/testhome _BORGENV=-i BORG_PASSPHRASE=secret123 PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} HOME=${_BORGHOME} post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/man1/ ${INSTALL_MAN} ${WRKSRC}/docs/man/* ${STAGEDIR}${PREFIX}/share/man/man1/ ${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/borg/ -name "*.so" \ -exec ${STRIP_CMD} {} \; @${ECHO_MSG} "----> running borg smoke tests" ${MKDIR} ${_BORGHOME} ${SETENV} PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} ${STAGEDIR}${PREFIX}/bin/borg -V ${RM} -r ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg init --encryption=repokey ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg key export ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg create ${WRKDIR}/borgrepo::test1 ${WRKSRC} ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg create ${WRKDIR}/borgrepo::test2 ${WRKSRC} ${STAGEDIR} ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --verify-data ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg info ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg prune --keep-last 1 ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --verify-data ${WRKDIR}/borgrepo ${ECHO_CMD} YES \ | ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --repair ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg compact --progress ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --verify-data ${WRKDIR}/borgrepo ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg extract --dry-run --progress ${WRKDIR}/borgrepo::test2 ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg export-tar ${WRKDIR}/borgrepo::test2 - >/dev/null ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg list ${WRKDIR}/borgrepo # long output - ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg list ${WRKDIR}/borgrepo::test2 | ${GREP} -v ^d ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg info ${WRKDIR}/borgrepo do-test: - cd ${WRKSRC} && ${SETENV} ${_BORGENV} ${TEST_ENV} tox-${PYTHON_VER} -e ${PY_FLAVOR} -vv +# work around https://github.com/tox-dev/tox/issues/3602 + ${RM} ${WRKSRC}/setup.cfg +# the PATH dance works around a strange "pkg-config" file not found error. + cd ${WRKSRC} && ${SETENV} ${_BORGENV} PATH=${PATH}:${LOCALBASE}/bin tox-${PYTHON_VER} -e ${PY_FLAVOR} -vv .include diff --git a/archivers/py-borgbackup/distinfo b/archivers/py-borgbackup/distinfo index e51614a71566..a8096cff4dcb 100644 --- a/archivers/py-borgbackup/distinfo +++ b/archivers/py-borgbackup/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1745270367 -SHA256 (borgbackup-1.4.1.tar.gz) = b8fbf8f1c19d900b6b32a5a1dc131c5d8665a7c7eea409e9095209100b903839 -SIZE (borgbackup-1.4.1.tar.gz) = 3817197 +TIMESTAMP = 1762805872 +SHA256 (borgbackup-1.4.2.tar.gz) = 8923f5e953205d81138d1d7276c8a1c864215e230994d620c397635568ed376f +SIZE (borgbackup-1.4.2.tar.gz) = 3932875 diff --git a/archivers/py-borgbackup/files/patch-msgpack b/archivers/py-borgbackup/files/patch-msgpack deleted file mode 100644 index 509fce82fdb8..000000000000 --- a/archivers/py-borgbackup/files/patch-msgpack +++ /dev/null @@ -1,25 +0,0 @@ -Obtained from: https://github.com/borgbackup/borg/commit/862f19aab9780b91424bb7f9319d915751d0024f - https://github.com/borgbackup/borg/commit/e7d8fba1df8409f5aa71faa16f97935aea802171 - ---- pyproject.toml.orig 2025-04-18 19:16:24 UTC -+++ pyproject.toml -@@ -35,7 +35,7 @@ dependencies = [ - # Please note: - # using any other msgpack version is not supported by borg development and - # any feedback related to issues caused by this will be ignored. -- "msgpack >=1.0.3, <=1.1.0", -+ "msgpack >=1.0.3, <=1.1.2", - "packaging", - ] - ---- src/borg/helpers/msgpack.py.orig 2025-04-18 19:16:24 UTC -+++ src/borg/helpers/msgpack.py -@@ -137,7 +137,7 @@ def is_supported_msgpack(): - def is_supported_msgpack(): - # DO NOT CHANGE OR REMOVE! See also requirements and comments in pyproject.toml. - import msgpack -- return (1, 0, 3) <= msgpack.version <= (1, 1, 0) and \ -+ return (1, 0, 3) <= msgpack.version <= (1, 1, 2) and \ - msgpack.version not in [] # < add bad releases here to deny list - - diff --git a/archivers/py-borgbackup/files/patch-pyproject.toml b/archivers/py-borgbackup/files/patch-pyproject.toml new file mode 100644 index 000000000000..4fa47884b424 --- /dev/null +++ b/archivers/py-borgbackup/files/patch-pyproject.toml @@ -0,0 +1,31 @@ +This file shall be removed once we install a new enough setuptools as our default version. + +--- pyproject.toml.orig 2025-10-31 18:16:12 UTC ++++ pyproject.toml +@@ -12,6 +12,7 @@ classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", + "Intended Audience :: System Administrators", ++ "License :: OSI Approved :: BSD License", + "Operating System :: POSIX :: BSD :: FreeBSD", + "Operating System :: POSIX :: BSD :: OpenBSD", + "Operating System :: POSIX :: BSD :: NetBSD", +@@ -28,8 +29,7 @@ classifiers = [ + "Topic :: Security :: Cryptography", + "Topic :: System :: Archiving :: Backup", + ] +-license = "BSD-3-Clause" +-license-files = ["LICENSE", "AUTHORS"] ++license = {text="BSD"} + dependencies = [ + # We are rather picky about msgpack versions, because a good working msgpack is + # very important for Borg, see: https://github.com/borgbackup/borg/issues/3753 +@@ -73,7 +73,7 @@ where = ["src"] + "*" = ["*.c", "*.h", "*.pyx"] + + [build-system] +-requires = ["setuptools>=78.1.1", "setuptools_scm>=8", "wheel", "pkgconfig", "Cython>=3.0.3"] ++requires = ["setuptools>=64", "setuptools_scm>=8", "wheel", "pkgconfig", "Cython>=3.0.3"] + build-backend = "setuptools.build_meta" + + [tool.setuptools_scm] diff --git a/archivers/py-borgbackup/files/patch-requirements.d_development.txt b/archivers/py-borgbackup/files/patch-requirements.d_development.txt new file mode 100644 index 000000000000..c348f6c9e86c --- /dev/null +++ b/archivers/py-borgbackup/files/patch-requirements.d_development.txt @@ -0,0 +1,10 @@ +This file shall be removed once we install a new enough setuptools as our default version. + +--- requirements.d/development.txt.orig 2025-10-31 18:16:12 UTC ++++ requirements.d/development.txt +@@ -1,4 +1,4 @@ +-setuptools>=78.1.1 ++setuptools>=64 + setuptools_scm>=8 + pip + virtualenv