diff --git a/app-backup/borgmatic/Manifest b/app-backup/borgmatic/Manifest index fa369f6e8fde..66a474261d54 100644 --- a/app-backup/borgmatic/Manifest +++ b/app-backup/borgmatic/Manifest @@ -1,2 +1,3 @@ DIST borgmatic-2.0.7.tar.gz 684455 BLAKE2B 13822c36e65ba3d1ec117673177698a7ccc4bb916ffbe251312c038003a7e09cca0725e614c2e406e3bbbf36e5368c6d1760ac8248451edb4b3186b8a81b20fb SHA512 9bac248f2db4c9fdaa7d8b465af2b3b392280a2b5655f34138058a6f6ac3f7a48b8266bde3c54f71f165243f85088c88da63a3fc3145dc2c83f4ec24b4b2c6ce DIST borgmatic-2.0.8.gh.tar.gz 857794 BLAKE2B 42291719384d81b01ee62049947072453d3bac09c35f12a29e41396083b840f8f8e7d9f0ca5f46148e0ddef9be5980fa173d04c2f3d0b9aaa4e18f693d51b115 SHA512 f1e290dcee88c9827d3c03be7ae876bc319180d845f828f68b95d15d10e215ce6c352ae47ac088200643eeaedc12433b731093188015da2464700daf78c256e9 +DIST borgmatic-2.0.9.gh.tar.gz 858925 BLAKE2B bdfc6a43944de45e673e62b7595000f549c5e5fc41a163dc908648d04c15e3388f97f18292d5092450c23ffb9ec9853b652b239eee614ecb179c3714cfb2753d SHA512 ac275a1b5b55d1f93809d5393ba1ca74d1b4411f4d1df1739af45b9f576269d373d292e470a614ef7ffa53eb70e1fc00dc3004b577c7a83f82079da5dee9c684 diff --git a/app-backup/borgmatic/borgmatic-2.0.9.ebuild b/app-backup/borgmatic/borgmatic-2.0.9.ebuild new file mode 100644 index 000000000000..21f251610251 --- /dev/null +++ b/app-backup/borgmatic/borgmatic-2.0.9.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 eapi9-ver systemd + +DESCRIPTION="Automatically create, prune and verify backups with borgbackup" +HOMEPAGE=" + https://torsion.org/borgmatic/ + https://projects.torsion.org/borgmatic-collective/borgmatic +" +# tests are not present in pypi archive since version 2.0.8 +SRC_URI=" + https://github.com/borgmatic-collective/borgmatic/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +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/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? ( + ${RDEPEND} + $(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}"/${PN}-1.9.3-no_test_coverage.patch +) + +EPYTEST_DESELECT=( + # A fragile test whose only purpose is to make sure the NEWS file + # has been updated for the current version. + tests/integration/commands/test_borgmatic.py::test_borgmatic_version_matches_news_version + + # data_source tests were ommited in the pypi archive, they are present in + # git archive, but they fail in py3.14. + # See https://projects.torsion.org/borgmatic-collective/borgmatic/issues/1149 + tests/unit/hooks/data_source/test_dump.py::test_convert_glob_patterns_to_borg_pattern_makes_multipart_regular_expression +) + +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." + elif ver_replacing -lt 2.0.0; then + ewarn "Please be warned that ${PN}-2.0.0 has introduced several breaking changes." + ewarn "For details, please see" + ewarn + ewarn " https://github.com/borgmatic-collective/borgmatic/releases/tag/2.0.0" + ewarn + fi +}