app-backup/borgmatic: new package
authorMarek Szuba <marecki@gentoo.org>
Wed, 25 Mar 2020 16:26:22 +0000 (17:26 +0100)
committerMarek Szuba <marecki@gentoo.org>
Wed, 25 Mar 2020 16:54:40 +0000 (17:54 +0100)
Nominally works with python3_8 to but not all of its dependencies handle
this version in Gentoo yet.

Signed-off-by: Marek Szuba <marecki@gentoo.org>
app-backup/borgmatic/Manifest [new file with mode: 0644]
app-backup/borgmatic/borgmatic-1.5.1.ebuild [new file with mode: 0644]
app-backup/borgmatic/files/borgmatic-1.5.1-no_test_coverage.patch [new file with mode: 0644]
app-backup/borgmatic/metadata.xml [new file with mode: 0644]

diff --git a/app-backup/borgmatic/Manifest b/app-backup/borgmatic/Manifest
new file mode 100644 (file)
index 0000000..e6ae175
--- /dev/null
@@ -0,0 +1 @@
+DIST borgmatic-1.5.1.tar.gz 67401 BLAKE2B c11f4b9f9acc7d7bf4e482953968dbaabc33f1513ec8f20868518bca22ffcafee90569c06ec603be919d47d724dd4a3a904e44fbb40c2309d8cb78e9277b5cc7 SHA512 9ded9bd5d6db866d196fedee88737f3d3eef6cb0e61c5f55ac543602c4429adcb57608d7f6c798edfd6ac1ecd14aadd9a88fdf94ef1f0eab4c26a9d2a29c5e38
diff --git a/app-backup/borgmatic/borgmatic-1.5.1.ebuild b/app-backup/borgmatic/borgmatic-1.5.1.ebuild
new file mode 100644 (file)
index 0000000..754e0f0
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+DISTUTILS_USE_SETUPTOOLS="rdepend"
+inherit distutils-r1
+
+DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
+HOMEPAGE="https://torsion.org/borgmatic/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="${PYTHON_DEPS}
+       dev-python/colorama[${PYTHON_USEDEP}]
+       >=dev-python/pykwalify-1.6.0[${PYTHON_USEDEP}]
+       dev-python/requests[${PYTHON_USEDEP}]
+       <dev-python/ruamel-yaml-0.17.0"[${PYTHON_USEDEP}]
+RDEPEND="${DEPEND}
+       app-backup/borgbackup"
+BDEPEND="test? (
+               ${DEPEND}
+               dev-python/flexmock[${PYTHON_USEDEP}]
+       )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.5.1-no_test_coverage.patch
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+       distutils-r1_src_prepare
+
+       # Unlike the other two test files in integration/commands, which use the
+       # relevant modules' respective APIs, test_borgmatic.py tries to call the
+       # 'borgmatic' executable - which has not even been created by now.
+       # Seeing as the only test run from this file as of 2020-03-25 is the
+       # parsing of contents of 'borgmatic --version', just skip it for now.
+       rm -f "${S}"/tests/integration/commands/test_borgmatic.py
+}
+
+src_install() {
+       distutils-r1_src_install
+       keepdir /etc/borgmatic
+       # TODO: install systemd units (and explain them in postinst); need patching
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               elog "To generate a sample configuration file, run:"
+               elog "    generate-borgmatic-config"
+       else
+               elog "To upgrade your configuration file to the current version, run:"
+               elog "    upgrade-borgmatic-config"
+       fi
+}
diff --git a/app-backup/borgmatic/files/borgmatic-1.5.1-no_test_coverage.patch b/app-backup/borgmatic/files/borgmatic-1.5.1-no_test_coverage.patch
new file mode 100644 (file)
index 0000000..2856239
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -3,7 +3,7 @@
+ [tool:pytest]
+ testpaths = tests
+-addopts = --cov-report term-missing:skip-covered --cov=borgmatic --ignore=tests/end-to-end
++addopts = --ignore=tests/end-to-end
+ filterwarnings = 
+       ignore:Coverage disabled.*:pytest.PytestWarning
diff --git a/app-backup/borgmatic/metadata.xml b/app-backup/borgmatic/metadata.xml
new file mode 100644 (file)
index 0000000..e69f4b7
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+       <email>marecki@gentoo.org</email>
+       <name>Marek Szuba</name>
+</maintainer>
+<upstream>
+       <remote-id type="github">witten/borgmatic</remote-id>
+       <remote-id type="pypi">borgmatic</remote-id>
+</upstream>
+</pkgmetadata>