# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{11..13} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_PEP517=setuptools PYTHON_REQ_USE="sqlite" inherit distutils-r1 DESCRIPTION="A framework for managing and maintaining multi-language Git pre-commit hooks" HOMEPAGE="https://pre-commit.com/" SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" LICENSE="MIT" SLOT="0" KEYWORDS="amd64 arm arm64 x86" RDEPEND="dev-vcs/git $(python_gen_cond_dep ' >=dev-python/cfgv-2.0.0[${PYTHON_USEDEP}] >=dev-python/identify-1.0.0[${PYTHON_USEDEP}] >=dev-python/nodeenv-0.11.1[${PYTHON_USEDEP}] >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] >=dev-python/virtualenv-20.10.0[${PYTHON_USEDEP}] ')" # coreutils requirement: see Bug #885559 BDEPEND="test? ( $(python_gen_cond_dep ' dev-python/pytest-env[${PYTHON_USEDEP}] dev-python/re-assert[${PYTHON_USEDEP}] ') sys-apps/coreutils[-multicall] )" PATCHES=( "${FILESDIR}"/${PN}-3.1.1-tests_git_file_transport.patch ) DOCS=( CHANGELOG.md CONTRIBUTING.md README.md ) EPYTEST_DESELECT=( # All of these require a boatload of dependencies (e.g. Conda, Go, R and more) in order to run # and while some of them do include "skip if not found" logic, most of them do not. tests/languages/ tests/repository_test.py # These three consistently fail with # Calling "git rev-parse" fails with "fatal: not a git repository (or any of the parent directories): .git". # including with the sandbox disabled. tests/main_test.py::test_all_cmds tests/main_test.py::test_hook_stage_migration tests/main_test.py::test_try_repo # These two fail if pre-commit is already installed (Bug #894502) tests/commands/install_uninstall_test.py::test_environment_not_sourced tests/commands/install_uninstall_test.py::test_installed_from_venv ) distutils_enable_tests pytest