commit:     10d78d29f4ee94ab8271bf9bf1e61c47db6dfddc
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  5 13:44:22 2024 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Tue Nov  5 13:45:11 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10d78d29

app-backup/borgmatic: add 1.9.0

Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>

 app-backup/borgmatic/Manifest                      |  1 +
 app-backup/borgmatic/borgmatic-1.9.0.ebuild        | 82 ++++++++++++++++++++++
 .../files/borgmatic-1.9.0-build-backend.patch      | 18 +++++
 .../files/borgmatic-1.9.0-no_test_coverage.patch   | 18 +++++
 4 files changed, 119 insertions(+)

diff --git a/app-backup/borgmatic/Manifest b/app-backup/borgmatic/Manifest
index 8a4b3d251bdc..57e590f82422 100644
--- a/app-backup/borgmatic/Manifest
+++ b/app-backup/borgmatic/Manifest
@@ -1 +1,2 @@
 DIST borgmatic-1.8.14.tar.gz 623966 BLAKE2B 
fd52bc5be4f63e1207a0bedcf654af075082d31af76ddc65ea30a3259f1ec093c826612e114fd9f9fa46668f80eed3b2b6a88262fbb9e4db49c36ba31efa70c5
 SHA512 
74daecbf02f957b21121dff073c2e114c87b1afdf6b3408b8fc2bf465102425cca60e4bdc8bc8d0e2d0a9c20b1f514eb7c9a2e136e71cb61969e07a38841235a
+DIST borgmatic-1.9.0.tar.gz 636235 BLAKE2B 
ff71f8c811ca185926369402de5f2b1bd750135fcc66d54744056292994b781fba501945cf5dc39cc727d2c8f2ef360e79b4f2ba7a868f29bf0304722cae9649
 SHA512 
767b11451377d9ab046fe36272d523f1ec7c72fe162cc3eef09583f4e9a6e0d4bae09bb446b746a47e73fb4afdac1d0206b75b93a9fb2859987909f17aa87c43

diff --git a/app-backup/borgmatic/borgmatic-1.9.0.ebuild 
b/app-backup/borgmatic/borgmatic-1.9.0.ebuild
new file mode 100644
index 000000000000..31258a4ea937
--- /dev/null
+++ b/app-backup/borgmatic/borgmatic-1.9.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 systemd pypi
+
+DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
+HOMEPAGE="
+       https://torsion.org/borgmatic/
+       https://projects.torsion.org/borgmatic-collective/borgmatic
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
+IUSE="apprise"
+
+# borg is called as an external tool, hence no pythonic stuff
+RDEPEND="app-backup/borgbackup
+       $(python_gen_cond_dep '
+               <dev-python/colorama-0.5[${PYTHON_USEDEP}]
+               dev-python/jsonschema[${PYTHON_USEDEP}]
+               dev-python/packaging[${PYTHON_USEDEP}]
+               dev-python/requests[${PYTHON_USEDEP}]
+               dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+       ')
+       apprise? ( $(python_gen_cond_dep '
+               dev-python/apprise[${PYTHON_USEDEP}]
+       ') )"
+BDEPEND="
+       test? (
+               $(python_gen_cond_dep '
+                       dev-python/apprise[${PYTHON_USEDEP}]
+                       >=dev-python/flexmock-0.10.10[${PYTHON_USEDEP}]
+               ')
+       )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.7.14-systemd_service_bin_path.patch
+       "${FILESDIR}"/${P}-no_test_coverage.patch
+       "${FILESDIR}"/${P}-build-backend.patch
+)
+
+# A fragile test whose only purpose is to make sure the NEWS file
+# has been updated for the current version.
+EPYTEST_DESELECT=(
+       
tests/integration/commands/test_borgmatic.py::test_borgmatic_version_matches_news_version
+)
+
+distutils_enable_tests pytest
+
+src_install() {
+       distutils-r1_src_install
+       systemd_dounit sample/systemd/borgmatic.{service,timer}
+       keepdir /etc/borgmatic
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               elog "To generate a sample configuration file, run:"
+               elog "    ${PN} config generate"
+               elog
+               elog "Systemd users wishing to periodically run ${PN} can use 
the provided timer and service units."
+       else
+               local oldver
+               for oldver in ${REPLACING_VERSIONS}; do
+                       if ver_test "${oldver}" -lt 1.9.0; then
+                               ewarn "Please be warned that ${PN}-1.9.0 has 
introduced several breaking changes."
+                               ewarn "For details, please see"
+                               ewarn
+                               ewarn " 
https://github.com/borgmatic-collective/borgmatic/releases/tag/1.9.0";
+                               ewarn
+                               break
+                       fi
+               done
+       fi
+}

diff --git a/app-backup/borgmatic/files/borgmatic-1.9.0-build-backend.patch 
b/app-backup/borgmatic/files/borgmatic-1.9.0-build-backend.patch
new file mode 100644
index 000000000000..982d0d58e950
--- /dev/null
+++ b/app-backup/borgmatic/files/borgmatic-1.9.0-build-backend.patch
@@ -0,0 +1,18 @@
+uncomment build backend
+
+diff --git a/pyproject.toml b/pyproject.toml
+index c3338c9c..6197d3df 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -38,7 +38,7 @@ Homepage = "https://torsion.org/borgmatic";
+ [build-system]
+ requires = ["setuptools>=61.0"]
+ # allow looking for conf in setup.{cfg,py}
+-#build-backend = "setuptools.build_meta"
++build-backend = "setuptools.build_meta"
+ 
+ [tool.setuptools.packages.find]
+ include = ["borgmatic*"]
+-- 
+2.45.2
+

diff --git a/app-backup/borgmatic/files/borgmatic-1.9.0-no_test_coverage.patch 
b/app-backup/borgmatic/files/borgmatic-1.9.0-no_test_coverage.patch
new file mode 100644
index 000000000000..1c69a1e83c3a
--- /dev/null
+++ b/app-backup/borgmatic/files/borgmatic-1.9.0-no_test_coverage.patch
@@ -0,0 +1,18 @@
+no test coverage
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 6197d3df..713554e9 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -50,7 +50,7 @@ skip-string-normalization = true
+ 
+ [tool.pytest.ini_options]
+ testpaths = "tests"
+-addopts = "--cov-report term-missing:skip-covered --cov=borgmatic 
--ignore=tests/end-to-end"
++addopts = "--ignore=tests/end-to-end"
+ 
+ [tool.isort]
+ profile = "black"
+-- 
+2.45.2
+

Reply via email to