commit:     0f596644abe6b6c415b0b01f93bab141c88282c6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed May  3 05:45:17 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May  3 05:59:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f596644

app-backup/backintime: add 1.3.3

Now with tests!

Closes: https://bugs.gentoo.org/905627
Closes: https://bugs.gentoo.org/896500
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-backup/backintime/Manifest                |   1 +
 app-backup/backintime/backintime-1.3.3.ebuild | 103 ++++++++++++++++++++++++++
 app-backup/backintime/backintime-9999.ebuild  |  69 +++++++++++------
 3 files changed, 152 insertions(+), 21 deletions(-)

diff --git a/app-backup/backintime/Manifest b/app-backup/backintime/Manifest
index 4a40070f52fb..cdaa0118f8de 100644
--- a/app-backup/backintime/Manifest
+++ b/app-backup/backintime/Manifest
@@ -1 +1,2 @@
 DIST backintime-1.3.2.tar.gz 714459 BLAKE2B 
cc53bd5391155705016248511e30cdfa7bc25f0a7cb170dfeeffda397e8be1b22f8e335063289d8c192f94c469430655064899ac8059f22f3b7582e3af87d373
 SHA512 
19f756d03cc7533e02bb5172ae3f8c167206bf5e8d60c0f3af1f647e01297a4eeb7889bbb5b58e46636bc31392ee436249b276ddbfa41697a0538c542fa26cb8
+DIST backintime-1.3.3.tar.gz 751422 BLAKE2B 
5c6723d1b190c5331b8453d4cf2b14e00a4bb64777d73e3b2a1405be51ebc5418f749fca654032154f1cec2389efcd41e52c571c1f9f1f982bbd0adcb0b7dd59
 SHA512 
f91157133166869665c8d7475c870cd5418135e17f5e7c8ae5788eb8cd3be39e8ea3d7652aa5945f64d9906b6baed0ed3ee16eb46b81a088210459333efe9372

diff --git a/app-backup/backintime/backintime-1.3.3.ebuild 
b/app-backup/backintime/backintime-1.3.3.ebuild
new file mode 100644
index 000000000000..f5d3483dd04a
--- /dev/null
+++ b/app-backup/backintime/backintime-1.3.3.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit python-single-r1 xdg
+
+DESCRIPTION="Backup system inspired by TimeVault and FlyBack"
+HOMEPAGE="https://backintime.readthedocs.io/en/latest/ 
https://github.com/bit-team/backintime/";
+
+if [[ ${PV} == 9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/bit-team/backintime/";
+       inherit git-r3
+else
+       
SRC_URI="https://github.com/bit-team/${PN}/releases/download/v${PV}/${P}.tar.gz";
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="examples qt5 test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+       ${PYTHON_DEPS}
+       $(python_gen_cond_dep '
+               dev-python/dbus-python[${PYTHON_USEDEP}]
+               dev-python/keyring[${PYTHON_USEDEP}]
+       ')
+"
+RDEPEND="
+       ${DEPEND}
+       net-misc/openssh
+       net-misc/rsync[xattr,acl]
+       qt5? ( dev-python/PyQt5[gui,widgets] )
+"
+BDEPEND="
+       sys-devel/gettext
+       test? (
+               $(python_gen_cond_dep '
+                       dev-python/pyfakefs[${PYTHON_USEDEP}]
+               ')
+       )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-1.2.1-no-compress-docs-examples.patch" )
+
+src_prepare() {
+       default
+
+       # Looks at host system too much, so too flaky
+       rm common/test/test_tools.py || die
+       # Fails with dbus/udev issue (likely sandbox)
+       rm common/test/test_snapshots.py || die
+}
+
+src_configure() {
+       pushd common > /dev/null || die
+       # Not autotools
+       ./configure --python3 --no-fuse-group || die
+       popd > /dev/null || die
+
+       if use qt5 ; then
+               pushd qt > /dev/null || die
+               ./configure --python3 || die
+               popd > /dev/null || die
+       fi
+}
+
+src_compile() {
+       emake -C common
+
+       if use qt5 ; then
+               emake -C qt
+       fi
+}
+
+src_test() {
+       # pytest should work but it can't find the backintime binary, so
+       # use the unittest-based runner instead.
+       # 
https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#how-to-contribute-to-back-in-time
+       emake -C common test-v
+}
+
+src_install() {
+       emake -C common DESTDIR="${D}" install
+
+       if use qt5 ; then
+               emake -C qt DESTDIR="${D}" install
+       fi
+
+       einstalldocs
+
+       if use examples ; then
+               docinto examples
+               dodoc common/{config-example-local,config-example-ssh}
+       fi
+
+       python_optimize "${D}"
+}

diff --git a/app-backup/backintime/backintime-9999.ebuild 
b/app-backup/backintime/backintime-9999.ebuild
index a95837877012..f5d3483dd04a 100644
--- a/app-backup/backintime/backintime-9999.ebuild
+++ b/app-backup/backintime/backintime-9999.ebuild
@@ -3,32 +3,60 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-single-r1 git-r3 xdg
+PYTHON_COMPAT=( python3_{10..11} )
+inherit python-single-r1 xdg
 
 DESCRIPTION="Backup system inspired by TimeVault and FlyBack"
 HOMEPAGE="https://backintime.readthedocs.io/en/latest/ 
https://github.com/bit-team/backintime/";
-EGIT_REPO_URI="https://github.com/bit-team/backintime/";
+
+if [[ ${PV} == 9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/bit-team/backintime/";
+       inherit git-r3
+else
+       
SRC_URI="https://github.com/bit-team/${PN}/releases/download/v${PV}/${P}.tar.gz";
+       KEYWORDS="~amd64 ~x86"
+fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="examples qt5"
+IUSE="examples qt5 test"
+RESTRICT="!test? ( test )"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
-DEPEND="${PYTHON_DEPS}
+DEPEND="
+       ${PYTHON_DEPS}
        $(python_gen_cond_dep '
                dev-python/dbus-python[${PYTHON_USEDEP}]
                dev-python/keyring[${PYTHON_USEDEP}]
-       ')"
-RDEPEND="${DEPEND}
+       ')
+"
+RDEPEND="
+       ${DEPEND}
        net-misc/openssh
        net-misc/rsync[xattr,acl]
-       qt5? ( dev-python/PyQt5[gui,widgets] )"
-BDEPEND="sys-devel/gettext"
+       qt5? ( dev-python/PyQt5[gui,widgets] )
+"
+BDEPEND="
+       sys-devel/gettext
+       test? (
+               $(python_gen_cond_dep '
+                       dev-python/pyfakefs[${PYTHON_USEDEP}]
+               ')
+       )
+"
 
 PATCHES=( "${FILESDIR}/${PN}-1.2.1-no-compress-docs-examples.patch" )
 
+src_prepare() {
+       default
+
+       # Looks at host system too much, so too flaky
+       rm common/test/test_tools.py || die
+       # Fails with dbus/udev issue (likely sandbox)
+       rm common/test/test_snapshots.py || die
+}
+
 src_configure() {
        pushd common > /dev/null || die
        # Not autotools
@@ -43,26 +71,25 @@ src_configure() {
 }
 
 src_compile() {
-       pushd common > /dev/null || die
-       emake
-       popd > /dev/null || die
+       emake -C common
 
        if use qt5 ; then
-               pushd qt > /dev/null || die
-               emake
-               popd > /dev/null || die
+               emake -C qt
        fi
 }
 
+src_test() {
+       # pytest should work but it can't find the backintime binary, so
+       # use the unittest-based runner instead.
+       # 
https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#how-to-contribute-to-back-in-time
+       emake -C common test-v
+}
+
 src_install() {
-       pushd common > /dev/null || die
-       emake DESTDIR="${D}" install
-       popd > /dev/null || die
+       emake -C common DESTDIR="${D}" install
 
        if use qt5 ; then
-               pushd qt > /dev/null || die
-               emake DESTDIR="${D}" install
-               popd > /dev/null || die
+               emake -C qt DESTDIR="${D}" install
        fi
 
        einstalldocs

Reply via email to