diff options
Diffstat (limited to 'app-misc/jpipe/jpipe-0.2.0-r1.ebuild')
-rw-r--r-- | app-misc/jpipe/jpipe-0.2.0-r1.ebuild | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/app-misc/jpipe/jpipe-0.2.0-r1.ebuild b/app-misc/jpipe/jpipe-0.2.0-r1.ebuild new file mode 100644 index 000000000000..df98fabb80f0 --- /dev/null +++ b/app-misc/jpipe/jpipe-0.2.0-r1.ebuild @@ -0,0 +1,113 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GO_OPTIONAL=1 +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_USE_PEP517=setuptools + +inherit go-module distutils-r1 pypi + +DESCRIPTION="Command line interface to JMESPath" +HOMEPAGE="https://github.com/pipebus/jpipe https://github.com/jmespath/jp/pull/30 http://jmespath.org" +SRC_URI+=" + !python? ( https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz ) +" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT+=" test" +IUSE="jpp-symlink jp-symlink python test" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" +BDEPEND="${DISTUTILS_DEPS} + !python? ( + app-arch/unzip + >=dev-lang/go-1.12 + ) + python? ( + ${PYTHON_DEPS} + dev-python/setuptools[${PYTHON_USEDEP}] + ) +" +RDEPEND=" + jpp-symlink? ( !app-misc/jp[jpp(-)] ) + jp-symlink? ( !app-misc/jp[jp(+)] ) + python? ( + ${PYTHON_DEPS} + dev-python/jmespath[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_unpack() { + if use python; then + default + else + go-module_src_unpack + fi +} + +src_prepare() { + default + if use python; then + distutils-r1_src_prepare + fi +} + +python_prepare_all() { + if ! use jpp-symlink; then + sed -e '/"jpp = jpipe/d' -i setup.py || die + fi + if ! use jp-symlink; then + sed -e '/"jp = jpipe/d' -i setup.py || die + fi + sed -e 's:entry_points()\["console_scripts"\]:entry_points().select(group="console_scripts"):' \ + -i lib/python/jpipe/cmd/main.py || die + distutils-r1_python_prepare_all +} + +src_configure() { + if use python; then + distutils-r1_src_configure + else + default + fi +} + +src_compile() { + if use python; then + distutils-r1_src_compile + else + go build -mod=readonly -o ./jpipe-jp ./lib/go/cmd/jp/main.go || die + go build -mod=readonly -o ./jpipe-jpp ./lib/go/cmd/jpp/main.go || die + go build -mod=readonly -o ./jpipe ./lib/go/cmd/jpipe/main.go || die + fi +} + +src_test() { + use python && distutils-r1_src_test +} + +python_test() { + "${PYTHON}" test/test_jp.py || die "jp tests failed for ${EPYTHON}" + "${PYTHON}" test/test_jpp.py || die "jpp tests failed for ${EPYTHON}" +} + +src_install() { + if use python; then + distutils-r1_src_install + else + dobin jpipe jpipe-jp jpipe-jpp + if use jpp-symlink; then + dosym jpipe-jpp /usr/bin/jpp + fi + if use jp-symlink; then + dosym jpipe-jp /usr/bin/jp + fi + fi + dodoc README.md +} |