commit: 57ebf04adfc310b4e2c869b09939941e05b0847a Author: Oz Tiram <oz.tiram <AT> gmail <DOT> com> AuthorDate: Mon May 26 18:57:57 2025 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Fri Jun 20 19:45:55 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57ebf04a
dev-python/typer: new package, add 0.16.0 Signed-off-by: Oz Tiram <oz.tiram <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/39331 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/typer/Manifest | 1 + dev-python/typer/metadata.xml | 28 +++++++++++++++ dev-python/typer/typer-0.16.0.ebuild | 67 ++++++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+) diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest new file mode 100644 index 000000000000..414effc0be07 --- /dev/null +++ b/dev-python/typer/Manifest @@ -0,0 +1 @@ +DIST typer-0.16.0.tar.gz 102625 BLAKE2B 9d9974af18697bdfac6954d596537178d5bc5ee8fd2e812561f5d282d02816d945a37c2dc60b90711ff9abe8c5df5d08b08cc321854d2bf75fd3567e5d4ce3d5 SHA512 72ed9d0996ee4a96dffd866332916c705a2f5c11547248039c828b5180193e8ef9aed0789605703c9f7350f3f9d91049cec4b185dcbc1e8fb662b6dc7385f01e diff --git a/dev-python/typer/metadata.xml b/dev-python/typer/metadata.xml new file mode 100644 index 000000000000..b5bdcfff8652 --- /dev/null +++ b/dev-python/typer/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <name>Oz Tiram</name> + <email>[email protected]</email> + </maintainer> + <maintainer type="project" proxied="no"> + <name>Proxy Maintainers</name> + <email>[email protected]</email> + </maintainer> + <maintainer type="project"> + <email>[email protected]</email> + <name>Python</name> + </maintainer> + <stabilize-allarches/> + <upstream> + <remote-id type="github">fastapi/typer</remote-id> + <remote-id type="pypi">typer</remote-id> + </upstream> + <use> + <flag name="cli"> + Install "typer" entry point (conflicts with dev-lang/erlang). + Even with the flag disabled, the CLI can still be used + via "python -m typer". + </flag> + </use> +</pkgmetadata> diff --git a/dev-python/typer/typer-0.16.0.ebuild b/dev-python/typer/typer-0.16.0.ebuild new file mode 100644 index 000000000000..478a50bcc17c --- /dev/null +++ b/dev-python/typer/typer-0.16.0.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_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 + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=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 +}
