summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/yadm/Manifest1
-rw-r--r--app-admin/yadm/yadm-3.2.1.ebuild90
2 files changed, 91 insertions, 0 deletions
diff --git a/app-admin/yadm/Manifest b/app-admin/yadm/Manifest
index 6478b98da09f..6b45b72e1cb1 100644
--- a/app-admin/yadm/Manifest
+++ b/app-admin/yadm/Manifest
@@ -1,2 +1,3 @@
DIST yadm-2.4.0.tar.gz 96877 BLAKE2B 462a5816e106c4502007ff34ab338904e14a9851ebcfc7ff79a32a8b11fbbe3e0b7e6538ed6b489ab67e2205c84b2250749e3091c77fa663886dc9792078a576 SHA512 43e16a9502f9dd9f6c6dba3bb5403bb048244a406d44cb42a96a43e62bf7342efd5f302304dbedede61423546787fc929f378d68da9031207e70239ec4e265ce
DIST yadm-3.1.1.tar.gz 106890 BLAKE2B c85bfdaf15da8e88aea8e1b41af5396111fe95922f38c9709d09d76b6cb515d4aff99f0caaa225baf36bc408f6efe7f53e7b2febd45c78acf2b5f3c897b87290 SHA512 6be40ff6b1130be93649bb533d63ddc2dad626bb3022392863b600b31eef2529df443a9eb24915979bef2d1ea4ef04124668723ffb0ce0f86727f481a3997c74
+DIST yadm-3.2.1.tar.gz 109838 BLAKE2B 4e0b829ca6f74c1300b78831d64fd95250bcea7779cca672707751e38129a7e618e8a69b2f3862ac6e87cb086de09380e4e624d54c4672c125d16ea8cc3ea11c SHA512 8ce9bc66a33fc3841e47293e002b834fac5760dc771ede37adfc47a9e911ddade23c0ef5379cf8f00cf9b24853abbc1263198b8439ca4e8a3acd5787fbd935cb
diff --git a/app-admin/yadm/yadm-3.2.1.ebuild b/app-admin/yadm/yadm-3.2.1.ebuild
new file mode 100644
index 000000000000..4da1c8793b18
--- /dev/null
+++ b/app-admin/yadm/yadm-3.2.1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit bash-completion-r1 python-any-r1 python-utils-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-shells/bash
+ app-crypt/gnupg
+ 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
+}