From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (unknown [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1812315802E for ; Wed, 26 Jun 2024 09:05:43 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EDF792BC0E6; Wed, 26 Jun 2024 09:05:37 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 675302BC0E5 for ; Wed, 26 Jun 2024 09:05:37 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5B225340C15 for ; Wed, 26 Jun 2024 09:05:36 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 923E71D53 for ; Wed, 26 Jun 2024 09:05:34 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1719392628.9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/gcovr/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-util/gcovr/gcovr-7.2-r1.ebuild X-VCS-Directories: dev-util/gcovr/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9 X-VCS-Branch: master Date: Wed, 26 Jun 2024 09:05:34 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 90dbcb72-95fb-4067-a154-7dd62eaf46f4 X-Archives-Hash: 11bc812d0a6d256c486d8c7cd698d05e commit: 9575f2cbee6d2200076feb48f12cf5f0ea8ba2b9 Author: Eli Schwartz gmail com> AuthorDate: Wed Jun 26 01:54:01 2024 +0000 Commit: Sam James gentoo 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 gmail.com> Signed-off-by: Sam James 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 +}