app-backup/duplicity: add 3.2.0.1

Also, actually set BDEPEND, and add missing setuptools-gettext+gettext
deps.

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2026-08-16 03:36:52 +01:00
parent 67924cbf9b
commit 596a09772c
4 changed files with 143 additions and 9 deletions

View File

@@ -1,3 +1,4 @@
DIST duplicity-rel.3.0.7.tar.bz2 991966 BLAKE2B b0f2b2fafaeb5318631df025ec0e963d2f258704479e484476d273a133189b7435b0ee8a987b6fc6eec7d0a312cc411bbf932c0b294f8e8460caa2c0feb587f1 SHA512 8dc7213197caad1e493d3a2eb34e569cd0eadfa01b7fca8e62e9cc0c2ff79d6c5c1a10805a3d298f224172e4e78e2c02b0ce1d96ff4ec3bb58d5529deb3fb8d2
DIST duplicity-rel.3.1.0.tar.bz2 996110 BLAKE2B 7944d06186b5116487ae72073b45fa02ef0fdb6970f890e7dca23534571d15dc9ea6a0dec2c554d9bdeadce52231dbe52d5468cbb5d6fb67c3c420c9e7e10f49 SHA512 88e4a5e5074a4a69c67ed67279d4a91d6dadd0b890054ad14c722a8e9613d76e175e25b4cddc112487e2a8c14b0732bbb24cc0dfbd1010bbcfe749d459c0a2b8
DIST duplicity-rel.3.2.0.1.tar.bz2 1043352 BLAKE2B 563329aeb213b21e36d68789c6f68ace5332726d361d65186045b8b57aa2166dffa4b938280f8079f11bc09a8e497826064d324f8ca927f5aacf222ac39ef265 SHA512 c26715217f902efbd9cefb1802f4e7c2ff683c59053f0a2b3f092307808a6841fc9eba8a16c6d9228e1dd2aa5c3b1679284fbfae68b06c165f712ba554373f79
DIST duplicity-rel.3.2.0.tar.bz2 1030582 BLAKE2B e8ab7b5944cf25724cafff108664a1dfe60c5188e2a8c35367ff29c3ea60483259040950f0e2550d6396c8de28ad43f7afbaf9278f8d5612af1804821d87a174 SHA512 0ce5f0cfee7b97b4c01610e43cc506edc6af7351b7d8fceb5d54fc01aa0b330dc0023c5dc1494e75f41f7af2cc4f5286ea376ddfe55c59a7e85ebe10803949a5

View File

@@ -0,0 +1,87 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
inherit distutils-r1
DESCRIPTION="Secure backup system using GnuPG to encrypt data"
HOMEPAGE="https://duplicity.gitlab.io/"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://gitlab.com/duplicity/duplicity.git/"
inherit git-r3
else
SRC_URI="https://gitlab.com/duplicity/duplicity/-/archive/rel.${PV}/${PN}-rel.${PV}.tar.bz2"
S="${WORKDIR}"/${PN}-rel.${PV}
KEYWORDS="~amd64 ~arm64 ~x86 ~x64-macos"
fi
LICENSE="GPL-3"
SLOT="0"
IUSE="s3 test"
DEPEND="
app-alternatives/gpg
net-libs/librsync:=
dev-python/fasteners[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
dev-python/python-gnupg[${PYTHON_USEDEP}]
"
RDEPEND="
${DEPEND}
dev-python/paramiko[${PYTHON_USEDEP}]
s3? ( dev-python/boto3[${PYTHON_USEDEP}] )
"
BDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/setuptools-gettext[${PYTHON_USEDEP}]
dev-python/setuptools-scm[${PYTHON_USEDEP}]
sys-devel/gettext
test? (
|| ( app-arch/par2cmdline app-arch/par2cmdline-turbo )
)
"
EPYTEST_DESELECT=(
# boto3
testing/unit/test_cli_main.py::CommandlineTest::test_intermixed_args
)
PATCHES=(
"${FILESDIR}"/${PN}-3.2.0.1-fix-docs-cmd.patch
"${FILESDIR}"/${PN}-3.0.5-dont-repeat-standard-paths.patch
)
EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
# Linting tests (black, pylint, etc); not relevant for us
rm testing/test_code.py || die
distutils-r1_python_prepare_all
}
python_test() {
# The default portage tempdir is too long for AF_UNIX sockets
local -x TMPDIR DOCKER_GNUPGHOME
TMPDIR="$(mktemp -d --tmpdir=/tmp ${PF}-XXX || die)"
# testing/__init__.py doesn't respect GNUPGHOME
DOCKER_GNUPGHOME="${TMPDIR}/gnupg"
cp -ar "${S}"/testing/gnupg "${DOCKER_GNUPGHOME}"/ || die
epytest
}
pkg_postinst() {
# TODO: optfeature
elog "Duplicity has many optional dependencies to support various backends."
elog "Currently it's up to you to install them as necessary."
}

View File

@@ -26,26 +26,27 @@ LICENSE="GPL-3"
SLOT="0"
IUSE="s3 test"
COMMON_DEPEND="
DEPEND="
app-alternatives/gpg
net-libs/librsync:=
dev-python/fasteners[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
dev-python/python-gnupg[${PYTHON_USEDEP}]
"
DEPEND="
${COMMON_DEPEND}
RDEPEND="
${DEPEND}
dev-python/paramiko[${PYTHON_USEDEP}]
s3? ( dev-python/boto3[${PYTHON_USEDEP}] )
"
BDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/setuptools-gettext[${PYTHON_USEDEP}]
dev-python/setuptools-scm[${PYTHON_USEDEP}]
sys-devel/gettext
test? (
|| ( app-arch/par2cmdline app-arch/par2cmdline-turbo )
)
"
RDEPEND="
${COMMON_DEPEND}
dev-python/paramiko[${PYTHON_USEDEP}]
s3? ( dev-python/boto3[${PYTHON_USEDEP}] )
"
EPYTEST_DESELECT=(
# boto3
@@ -53,7 +54,7 @@ EPYTEST_DESELECT=(
)
PATCHES=(
"${FILESDIR}"/${PN}-3.2.0-fix-docs-cmd.patch
"${FILESDIR}"/${PN}-3.2.0.1-fix-docs-cmd.patch
"${FILESDIR}"/${PN}-3.0.5-dont-repeat-standard-paths.patch
)
@@ -80,6 +81,7 @@ python_test() {
}
pkg_postinst() {
# TODO: optfeature
elog "Duplicity has many optional dependencies to support various backends."
elog "Currently it's up to you to install them as necessary."
}

View File

@@ -0,0 +1,44 @@
The ebuild will install these instead, respecting ${PF}.
--- a/setup.py
+++ b/setup.py
@@ -111,18 +111,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
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -65,19 +65,6 @@ include = [
[tool.setuptools-gettext]
compiler = "msgfmt"
[tool.setuptools.data-files]
-"share/doc/duplicity" = [
- "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",
-]
"share/man/man1" = [
"man/duplicity.1",
]