68 lines
1.5 KiB
Bash
68 lines
1.5 KiB
Bash
# Copyright 1999-2024 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
PYTHON_COMPAT=( python3_{10..12} )
|
|
DISTUTILS_USE_PEP517=pdm-backend
|
|
|
|
inherit distutils-r1 shell-completion
|
|
|
|
DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints."
|
|
HOMEPAGE="
|
|
https://typer.tiangolo.com/
|
|
https://github.com/tiangolo/typer
|
|
https://pypi.org/project/typer/
|
|
"
|
|
SRC_URI="https://github.com/tiangolo/${PN}/archive/${PV}/${P}.gh.tar.gz"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~arm64"
|
|
|
|
IUSE="+rich shell-detection test"
|
|
|
|
BDEPEND="
|
|
test? (
|
|
$(python_gen_cond_dep 'dev-python/coverage[${PYTHON_USEDEP}]')
|
|
)
|
|
"
|
|
RDEPEND="
|
|
$(python_gen_cond_dep '
|
|
dev-python/click[${PYTHON_USEDEP}]
|
|
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
|
rich? ( dev-python/rich[${PYTHON_USEDEP}] )
|
|
shell-detection? ( dev-python/shellingham[${PYTHON_USEDEP}] )
|
|
')
|
|
"
|
|
|
|
COMPLETIONSDIR="${WORKDIR}/comp"
|
|
|
|
distutils_enable_tests pytest
|
|
|
|
src_test() {
|
|
export TERMINAL_WIDTH=3000
|
|
export _TYPER_FORCE_DISABLE_TERMINAL=1
|
|
|
|
distutils-r1_src_test "${@}"
|
|
}
|
|
|
|
src_compile() {
|
|
distutils-r1_src_compile "${@}"
|
|
|
|
mkdir "${COMPLETIONSDIR}"
|
|
|
|
export _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
|
|
python -m typer --show-completion bash > "${COMPLETIONSDIR}/${PN}"
|
|
python -m typer --show-completion zsh > "${COMPLETIONSDIR}/_${PN}"
|
|
python -m typer --show-completion fish > "${COMPLETIONSDIR}/${PN}.fish"
|
|
}
|
|
|
|
src_install() {
|
|
distutils-r1_src_install "${@}"
|
|
|
|
dobashcomp "${COMPLETIONSDIR}/${PN}"
|
|
dozshcomp "${COMPLETIONSDIR}/_${PN}"
|
|
dofishcomp "${COMPLETIONSDIR}/${PN}.fish"
|
|
}
|