diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest index 414effc0be07e..63e507a0dfdb6 100644 --- a/dev-python/typer/Manifest +++ b/dev-python/typer/Manifest @@ -1 +1,2 @@ DIST typer-0.16.0.tar.gz 102625 BLAKE2B 9d9974af18697bdfac6954d596537178d5bc5ee8fd2e812561f5d282d02816d945a37c2dc60b90711ff9abe8c5df5d08b08cc321854d2bf75fd3567e5d4ce3d5 SHA512 72ed9d0996ee4a96dffd866332916c705a2f5c11547248039c828b5180193e8ef9aed0789605703c9f7350f3f9d91049cec4b185dcbc1e8fb662b6dc7385f01e +DIST typer-0.16.1.tar.gz 102836 BLAKE2B bc08cff5c2f0e8dbbcde171f136e89b4992d891b6cefe345a1126b76f12bf0dec3242a584dd5345f827d7d9847de09204826950a2f2f4ae247fba43988a8f30e SHA512 3867a82ea480d81733111088622a7946b771666ee46b0def5eb7e928b71444a16dcb37a54fb6c52872ec83254c27eb7d7e23ff15462d4e27e3933971c96dd608 diff --git a/dev-python/typer/typer-0.16.1.ebuild b/dev-python/typer/typer-0.16.1.ebuild new file mode 100644 index 0000000000000..02982d4bf52a7 --- /dev/null +++ b/dev-python/typer/typer-0.16.1.ebuild @@ -0,0 +1,67 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 shell-completion pypi + +DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints" +HOMEPAGE=" + https://typer.tiangolo.com/ + https://github.com/fastapi/typer/ + https://pypi.org/project/typer/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="cli" + +RDEPEND=" + >=dev-python/click-8.0.0[${PYTHON_USEDEP}] + >=dev-python/rich-10.11.0[${PYTHON_USEDEP}] + >=dev-python/shellingham-1.3.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}] + cli? ( !dev-lang/erlang ) +" +BDEPEND=" + test? ( + dev-python/coverage[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + if ! use cli; then + sed -i -e '/typer\.cli/d' pyproject.toml || die + fi +} + +python_test() { + # See scripts/tests.sh + local -x TERMINAL_WIDTH=3000 + local -x _TYPER_FORCE_DISABLE_TERMINAL=1 + local -x _TYPER_RUN_INSTALL_COMPLETION_TESTS=1 + + epytest +} + +python_install() { + if use cli && [[ ! ${COMPLETIONS_INSTALLED} ]]; then + local -x _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1 + newbashcomp - typer < <(typer --show-completion bash || die) + newzshcomp - typer < <(typer --show-completion zsh || die) + newfishcomp - typer < <(typer --show-completion fish || die) + COMPLETIONS_INSTALLED=1 + fi + + distutils-r1_python_install +}