summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/yadm/yadm-3.2.2.ebuild')
-rw-r--r--app-admin/yadm/yadm-3.2.2.ebuild92
1 files changed, 92 insertions, 0 deletions
diff --git a/app-admin/yadm/yadm-3.2.2.ebuild b/app-admin/yadm/yadm-3.2.2.ebuild
new file mode 100644
index 000000000000..154ee7556273
--- /dev/null
+++ b/app-admin/yadm/yadm-3.2.2.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit bash-completion-r1 python-any-r1
+
+DESCRIPTION="Git based tool for managing dotfiles"
+HOMEPAGE="https://github.com/TheLocehiliosan/yadm"
+SRC_URI="
+ https://github.com/TheLocehiliosan/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-crypt/gnupg
+ app-shells/bash
+ dev-vcs/git
+"
+
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ dev-tcltk/expect
+ )
+"
+
+DOCS=( CHANGES README.md ${PN}.md )
+
+python_check_deps() {
+ python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_compile() {
+ emake "${PN}.md"
+}
+
+src_test() {
+ # prevent system config having influence on tests
+ local -x GIT_CONFIG_NOSYSTEM=1
+
+ # prevent git branch warning, it confuses tests
+ local -x GIT_CONFIG_GLOBAL="${HOME}/.gitconfig"
+ git config --global init.defaultBranch master || die "setting default branch name failed"
+
+ # un-hardcode path to tmp, otherwise encryption tests fail
+ sed -e "/^cache_dir/s@/tmp@${T}@" -i pytest.ini || die "cannot patch cache dir"
+
+ local EPYTEST_DESELECT=(
+ test/test_alt.py # requires envtpl, not packaged
+ test/test_compat_jinja.py # ditto
+ test/test_unit_template_j2.py # ditto
+ test/test_syntax.py # needs new yamllint, not packaged yet
+ test/test_upgrade.py::test_upgrade # needs old version of yadm
+ test/test_compat_alt.py # tests obsolete features, broken
+ test/test_unit_template_esh.py # requires esh, not packaged
+ test/test_encryption.py::test_symmetric_encrypt[clean-encrypt_exists-bad_phrase] # hangs in sandbox
+ test/test_encryption.py::test_symmetric_encrypt[overwrite-encrypt_exists-bad_phrase] # ditto
+ )
+
+ epytest
+}
+
+src_install() {
+ einstalldocs
+
+ dobin "${PN}"
+ doman "${PN}.1"
+
+ dobashcomp completion/bash/yadm
+
+ insinto /usr/share/zsh/site-functions
+ doins completion/zsh/_${PN}
+
+ insinto /usr/share/fish/vendor_completions.d
+ doins completion/fish/${PN}.fish
+}