diff options
author | Petr Vaněk <arkamar@gentoo.org> | 2024-07-03 16:40:40 +0200 |
---|---|---|
committer | Petr Vaněk <arkamar@gentoo.org> | 2024-07-03 16:47:12 +0200 |
commit | 77d6f53f807e6dc56c885c9829a5a6a3612127d6 (patch) | |
tree | e1bbcfa8ea944bd47a80754cf09e838fab320588 /app-backup | |
parent | media-video/vlc: add 3.0.21, modern C fix (diff) | |
download | gentoo-77d6f53f807e6dc56c885c9829a5a6a3612127d6.tar.gz gentoo-77d6f53f807e6dc56c885c9829a5a6a3612127d6.tar.bz2 gentoo-77d6f53f807e6dc56c885c9829a5a6a3612127d6.zip |
app-backup/borgmatic: add 1.8.12, enable py3.13
Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
Diffstat (limited to 'app-backup')
-rw-r--r-- | app-backup/borgmatic/Manifest | 1 | ||||
-rw-r--r-- | app-backup/borgmatic/borgmatic-1.8.12.ebuild | 81 | ||||
-rw-r--r-- | app-backup/borgmatic/files/borgmatic-1.8.12-datetime-utc.patch | 20 |
3 files changed, 102 insertions, 0 deletions
diff --git a/app-backup/borgmatic/Manifest b/app-backup/borgmatic/Manifest index 4e03e8260e60..a4e887164116 100644 --- a/app-backup/borgmatic/Manifest +++ b/app-backup/borgmatic/Manifest @@ -1,4 +1,5 @@ DIST borgmatic-1.8.10.tar.gz 599453 BLAKE2B 1ae994d452d29139d23940500d7c9f01e7fc1ddbd36254bf0c36d7f56064ccba7fb8434741dd0114d42271eb241098a12f8a07b83046447ae2225f7cd2ab12ae SHA512 10f5d962f6d25ef42ba4d076e238e1986dcfcd9832b3eea08560f367524824fdb0f80f42962ea6a471d711c6a0e293669b85abdc160475c20eed851ce7ad7f42 DIST borgmatic-1.8.11.tar.gz 600265 BLAKE2B 04c5e419de892e636e644185681c3e9ce0ca2dd9b62a043dfdabd38a32ca2f101f6a845fd1ebc68a025625066ea9c53aff9ab1e831a2aeaa566bccb7ec4827c7 SHA512 da19a341713302378409c0e90395a0e5ac4759b1ef593fe53a50113a0c90f130af060d38f49dae80018b8d8605da87415b841fedfc2d2778eee4a690aa5cc311 +DIST borgmatic-1.8.12.tar.gz 602369 BLAKE2B 79589e1510be9065d70b48ac5b8ce83a8d82776040cfe0ec833e7c9cbc33e4d285a2292870e2237902900ebb03204c6aafd702a2729b8860aec234429ec00921 SHA512 9cb91a4e7047da4effff69dfaea2358bd0d0897197d306775a3e9e260a2da6cc183c7675e02885fcd3d853c185171372371638b482b3e8b2f1bfcbcb2a14e4b7 DIST borgmatic-1.8.8.tar.gz 589575 BLAKE2B 09a3ca616bd1cf5fcc6c773d8066357d764b44230d691b7afa90bb1fdbce3aa3bfaac509e921adaa9086ba60310b24d1f2ba186849853c8f04e2a85c4b0ec94f SHA512 3984f6e34f8aed5c57df22799e60724903bfcec833e5c3215ad731977b7d376f36129fabd489c166f945d7103f272bcc132a9ea49010552001794b57f27fb5d5 DIST borgmatic-1.8.9.tar.gz 592715 BLAKE2B 3586404985b8cc0d5575f570ba6679c406e95b83453a7c2414872049067b1736010b9f8498fa92e91d281b1cdf75882bc09e40d6d9e443bff33c399ee1392ff9 SHA512 05386f6321d78e304030ebb78c495aee53a1b6f17241f101e73a097aa4208ac641d6105b1e8161cf714b2eab7c34fe682e082e9e997dc4ac6a6a4207253e8421 diff --git a/app-backup/borgmatic/borgmatic-1.8.12.ebuild b/app-backup/borgmatic/borgmatic-1.8.12.ebuild new file mode 100644 index 000000000000..cac1b9a834e8 --- /dev/null +++ b/app-backup/borgmatic/borgmatic-1.8.12.ebuild @@ -0,0 +1,81 @@ +# 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/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv" +IUSE="apprise" + +REQUIRED_USE="test? ( 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/flexmock-0.10.10[${PYTHON_USEDEP}] + ') + )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.13-no_test_coverage.patch + "${FILESDIR}"/${PN}-1.7.14-systemd_service_bin_path.patch + # fix for py3.10 + "${FILESDIR}"/${PN}-1.8.12-datetime-utc.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" + else + local oldver + for oldver in ${REPLACING_VERSIONS}; do + if ver_test "${oldver}" -lt 1.8.0; then + ewarn "Please be warned that ${PN}-1.8.0 has introduced several breaking changes." + ewarn "For details, please see" + ewarn + ewarn " https://github.com/borgmatic-collective/borgmatic/releases/tag/1.8.0" + ewarn + break + fi + done + fi + elog + elog "Systemd users wishing to periodically run ${PN} can use the provided timer and service units." +} diff --git a/app-backup/borgmatic/files/borgmatic-1.8.12-datetime-utc.patch b/app-backup/borgmatic/files/borgmatic-1.8.12-datetime-utc.patch new file mode 100644 index 000000000000..4a3505976f90 --- /dev/null +++ b/app-backup/borgmatic/files/borgmatic-1.8.12-datetime-utc.patch @@ -0,0 +1,20 @@ +From f5a1dd31c8e5807e52196ecfd337c22e0f197bf5 Mon Sep 17 00:00:00 2001 +From: Dan Helfman <witten@torsion.org> +Date: Sun, 23 Jun 2024 18:28:41 -0700 +Subject: [PATCH] Fix PagerDuty hook traceback with Python < 3.10 (#886). + +https://github.com/borgmatic-collective/borgmatic/commit/f5a1dd31c8e5807e52196ecfd337c22e0f197bf5 + +diff --git a/borgmatic/hooks/pagerduty.py b/borgmatic/hooks/pagerduty.py +index 6ec1a6ef..e9e34da0 100644 +--- a/borgmatic/hooks/pagerduty.py ++++ b/borgmatic/hooks/pagerduty.py +@@ -40,7 +40,7 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev + return + + hostname = platform.node() +- local_timestamp = datetime.datetime.now(datetime.UTC).astimezone().isoformat() ++ local_timestamp = datetime.datetime.now(datetime.timezone.utc).astimezone().isoformat() + payload = json.dumps( + { + 'routing_key': hook_config['integration_key'], |