commit:     9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Wed Jun 26 01:54:01 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 26 09:03:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9575f2cb

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 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/gcovr/gcovr-7.2-r1.ebuild | 260 +++++++++++++++++++++++++++++++++++++
 1 file changed, 260 insertions(+)

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
+}

Reply via email to