diff options
author | Eli Schwartz <eschwartz93@gmail.com> | 2024-06-25 21:54:01 -0400 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-06-26 10:03:48 +0100 |
commit | 9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9 (patch) | |
tree | c6b4e5191059d2e435ece2665677688e32cd5322 /dev-util/gcovr | |
parent | dev-python/flit: drop 3.8.0 (diff) | |
download | gentoo-9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9.tar.gz gentoo-9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9.tar.bz2 gentoo-9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9.zip |
dev-util/gcovr: fix mysterious overdependency in initial 7.2 addition
In commit 0971ed4265b98d738ce1f170e42f80e8de8a4764, gcovr 7.2 was added
to the tree. As part of this, it gained a new upstream dependency on
tomli. However, the initial addition upstream was well-behaved -- it
tried the stdlib tomllib first, and fell back to tomli, and listed its
runtime dependency as:
```
"tomli >= 1.1.0 ; python_version < '3.11'"
```
See: https://github.com/gcovr/gcovr/commit/3e5a922de91bb7e63c0801d055b6ba67a2a83bc6
Nonetheless when added to gentoo, it was added without a conditional
dep. Rectify this.
Fixes: 0971ed4265b98d738ce1f170e42f80e8de8a4764
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/gcovr')
-rw-r--r-- | dev-util/gcovr/gcovr-7.2-r1.ebuild | 260 |
1 files changed, 260 insertions, 0 deletions
diff --git a/dev-util/gcovr/gcovr-7.2-r1.ebuild b/dev-util/gcovr/gcovr-7.2-r1.ebuild new file mode 100644 index 000000000000..1d820d592f3c --- /dev/null +++ b/dev-util/gcovr/gcovr-7.2-r1.ebuild @@ -0,0 +1,260 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit toolchain-funcs distutils-r1 + +DESCRIPTION="A Python script for summarizing gcov data" +HOMEPAGE="https://github.com/gcovr/gcovr" +SRC_URI="https://github.com/gcovr/gcovr/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" + +RDEPEND=" + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/colorlog[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + test? ( + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/yaxmldiff[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local -x PATH="${TEST_DIR}/scripts:${PATH}" \ + PYTHONPATH="${TEST_DIR}/lib" + + # these tests assume gcc-8, and fail with newer gcc versions + local -a test_build_deselect=( + "add_coverages-coveralls" + "add_coverages-html" + "add_coverages-html" + "bad++char-coveralls" + "bad++char-html" + "calls-html" + "cmake_oos-coveralls" + "cmake_oos-html" + "cmake_oos_ninja-coveralls" + "cmake_oos_ninja-html" + "coexisting_object_directories-from_build_dir-cobertura" + "coexisting_object_directories-from_build_dir-html" + "coexisting_object_directories-from_build_dir-without_object_dir-cobertura" + "coexisting_object_directories-from_build_dir-without_object_dir-html" + "coexisting_object_directories-from_build_dir-without_object_dir-sonarqube" + "coexisting_object_directories-from_build_dir-without_object_dir-txt" + "coexisting_object_directories-from_build_dir-without_search_dir-cobertura" + "coexisting_object_directories-from_build_dir-without_search_dir-html" + "coexisting_object_directories-from_build_dir-without_search_dir-sonarqube" + "coexisting_object_directories-from_build_dir-without_search_dir-txt" + "coexisting_object_directories-from_root_dir-cobertura" + "coexisting_object_directories-from_root_dir-html" + "coexisting_object_directories-from_root_dir-without_object_dir-cobertura" + "coexisting_object_directories-from_root_dir-without_object_dir-html" + "coexisting_object_directories-from_root_dir-without_object_dir-sonarqube" + "coexisting_object_directories-from_root_dir-without_object_dir-txt" + "coexisting_object_directories-from_root_dir-without_search_dir-cobertura" + "coexisting_object_directories-from_root_dir-without_search_dir-html" + "coexisting_object_directories-from_root_dir-without_search_dir-sonarqube" + "coexisting_object_directories-from_root_dir-without_search_dir-txt" + "config-output-html" + "config-toml-html" + "config-toml-txt" + "decisions-html" + "decisions-json" + "decisions-neg-delta-html" + "different-function-lines-separate-coveralls" + "different-function-lines-separate-html" + "different-function-lines-use-0-coveralls" + "different-function-lines-use-0-html" + "different-function-lines-use-max-coveralls" + "different-function-lines-use-max-html" + "different-function-lines-use-min-coveralls" + "different-function-lines-use-min-html" + "dot-coveralls" + "dot-html" + "excl-branch-coveralls" + "excl-branch-html" + "excl-line-branch-coveralls" + "excl-line-branch-html" + "excl-line-coveralls" + "excl-line-custom-coveralls" + "excl-line-custom-html" + "excl-line-html" + "exclude-directories-relative-coveralls" + "exclude-directories-relative-html" + "exclude-lines-by-pattern-coveralls" + "exclude-lines-by-pattern-html" + "exclude-relative-coveralls" + "exclude-relative-from-unfiltered-tracefile-html" + "exclude-relative-html" + "exclude-throw-branches-cobertura" + "exclude-throw-branches-coveralls" + "exclude-throw-branches-html" + "exclude-throw-branches-jacoco" + "exclude-throw-branches-json" + "exclude-throw-branches-lcov" + "exclude-throw-branches-sonarqube" + "exclude-throw-branches-txt" + "filter-absolute-coveralls" + "filter-absolute-from-unfiltered-tracefile-html" + "filter-absolute-html" + "filter-relative-coveralls" + "filter-relative-from-unfiltered-tracefile-html" + "filter-relative-html" + "filter-relative-lib-coveralls" + "filter-relative-lib-from-unfiltered-tracefile-html" + "filter-relative-lib-html" + "html-css-html" + "html-default-html" + "html-encoding-cp1252-html" + "html-encoding-iso-8859-15-html" + "html-high-100-html" + "html-high-75-html" + "html-line-branch-html" + "html-medium-100-high-100-html" + "html-medium-50-html" + "html-nested-filter-html" + "html-nested-nonsort-html" + "html-nested-sort-casefold-html" + "html-nested-sort-percentage-html" + "html-nested-sort-uncovered-html" + "html-source-encoding-cp1252-html" + "html-source-encoding-utf8-html" + "html-tab-size-2-html" + "html-template-dir-html" + "html-themes-github-html" + "html-themes-html" + "html-title-html" + "linked-coveralls" + "linked-html" + "nested-coveralls" + "nested-html" + "nested2-coveralls" + "nested2-coveralls" + "nested2-html" + "nested2-html" + "nested2-use-existing-coveralls" + "nested2-use-existing-html" + "nested3-coveralls" + "no-markers-html" + "nobranch-coveralls" + "nobranch-html" + "noncode-coveralls" + "noncode-html" + "oos-coveralls" + "oos-html" + "oos2-coveralls" + "oos2-html" + "rounding-html" + "shadow-coveralls" + "shadow-html" + "shared_lib-coveralls" + "shared_lib-html" + "simple1-coveralls" + "simple1-dir-coveralls" + "simple1-dir-html" + "simple1-html" + "simple1-stdout-coveralls" + "simple1-stdout-html" + "sort-percentage-html" + "sort-uncovered-html" + "source_from_pipe-cobertura" + "source_from_pipe-coveralls" + "source_from_pipe-html" + "source_from_pipe-lcov" + "subfolder-includes-html" + "threaded-coveralls" + "threaded-html" + "update-data-coveralls" + "update-data-html" + "use-existing-coveralls" + "use-existing-html" + "wspace-coveralls" + "wspace-html" + ) + + local cc cc_ver + cc="$(tc-get-compiler-type)" + case "${cc}" in + gcc) + cc_ver="$(gcc-major-version)" + + # a bunch of tests are broken on gcc-14 + # https://bugs.gentoo.org/930680 + if [[ $(gcc-major-version) -ge 14 ]]; then + test_build_deselect+=( + "calls-json" + "decisions-neg-delta-json" + "different-function-lines-separate-lcov" + "different-function-lines-use-0-lcov" + "different-function-lines-use-max-lcov" + "different-function-lines-use-min-lcov" + "dot-lcov" + "excl-branch-lcov" + "excl-line-json" + "excl-line-lcov" + "excl-line-branch-lcov" + "excl-line-custom-lcov" + "exclude-directories-relative-lcov" + "exclude-lines-by-pattern-lcov" + "exclude-relative-lcov" + "exclude-relative-from-unfiltered-tracefile-lcov" + "filter-absolute-lcov" + "filter-absolute-from-unfiltered-tracefile-lcov" + "filter-relative-lcov" + "filter-relative-from-unfiltered-tracefile-lcov" + "filter-relative-lib-lcov" + "filter-relative-lib-from-unfiltered-tracefile-lcov" + "linked-lcov" + "nested-lcov" + "nested2-lcov" + "nested3-lcov" + "no-markers-json" + "no-markers-lcov" + "noncode-json" + "noncode-lcov" + "oos-lcov" + "oos2-lcov" + "shadow-json" + "simple1-txt" + "simple1-json" + "simple1-dir-json" + "simple1-stdout-json" + "simple1-stdout-lcov" + "threaded-lcov" + "update-data-lcov" + "wspace-lcov" + ) + fi + ;; + clang) cc_ver="$(clang-major-version)";; + # placeholder since tests need CC_REFERENCE to be string-number + *) cc_ver=1;; + esac + + readarray -t EPYTEST_DESELECT < <(printf 'gcovr/tests/test_gcovr.py::test_build[%s]\n' "${test_build_deselect[@]}") + + EPYTEST_DESELECT+=( + # tests that don't work in the ebuild environment + gcovr/tests/test_args.py::test_html_template_dir + gcovr/tests/test_args.py::test_multiple_output_formats_to_stdout + gcovr/tests/test_args.py::test_multiple_output_formats_to_stdout_1 + ) + local -x CC_REFERENCE="${cc}-${cc_ver}" + + epytest gcovr +} |