head	1.11;
access;
symbols
	pkgsrc-2026Q1:1.11.0.2
	pkgsrc-2026Q1-base:1.11
	pkgsrc-2025Q4:1.8.0.2
	pkgsrc-2025Q4-base:1.8
	pkgsrc-2025Q3:1.7.0.2
	pkgsrc-2025Q3-base:1.7
	pkgsrc-2025Q2:1.6.0.4
	pkgsrc-2025Q2-base:1.6
	pkgsrc-2025Q1:1.6.0.2
	pkgsrc-2025Q1-base:1.6
	pkgsrc-2024Q4:1.5.0.14
	pkgsrc-2024Q4-base:1.5
	pkgsrc-2024Q3:1.5.0.12
	pkgsrc-2024Q3-base:1.5
	pkgsrc-2024Q2:1.5.0.10
	pkgsrc-2024Q2-base:1.5
	pkgsrc-2024Q1:1.5.0.8
	pkgsrc-2024Q1-base:1.5
	pkgsrc-2023Q4:1.5.0.6
	pkgsrc-2023Q4-base:1.5
	pkgsrc-2023Q3:1.5.0.4
	pkgsrc-2023Q3-base:1.5
	pkgsrc-2023Q2:1.5.0.2
	pkgsrc-2023Q2-base:1.5
	pkgsrc-2023Q1:1.4.0.8
	pkgsrc-2023Q1-base:1.4
	pkgsrc-2022Q4:1.4.0.6
	pkgsrc-2022Q4-base:1.4
	pkgsrc-2022Q3:1.4.0.4
	pkgsrc-2022Q3-base:1.4
	pkgsrc-2022Q2:1.4.0.2
	pkgsrc-2022Q2-base:1.4
	pkgsrc-2022Q1:1.3.0.2
	pkgsrc-2022Q1-base:1.3
	pkgsrc-2021Q4:1.1.0.22
	pkgsrc-2021Q4-base:1.1
	pkgsrc-2021Q3:1.1.0.20
	pkgsrc-2021Q3-base:1.1
	pkgsrc-2021Q2:1.1.0.18
	pkgsrc-2021Q2-base:1.1
	pkgsrc-2021Q1:1.1.0.16
	pkgsrc-2021Q1-base:1.1
	pkgsrc-2020Q4:1.1.0.14
	pkgsrc-2020Q4-base:1.1
	pkgsrc-2020Q3:1.1.0.12
	pkgsrc-2020Q3-base:1.1
	pkgsrc-2020Q2:1.1.0.10
	pkgsrc-2020Q2-base:1.1
	pkgsrc-2020Q1:1.1.0.6
	pkgsrc-2020Q1-base:1.1
	pkgsrc-2019Q4:1.1.0.8
	pkgsrc-2019Q4-base:1.1
	pkgsrc-2019Q3:1.1.0.4
	pkgsrc-2019Q3-base:1.1
	pkgsrc-2019Q2:1.1.0.2
	pkgsrc-2019Q2-base:1.1;
locks; strict;
comment	@# @;


1.11
date	2026.01.14.19.03.29;	author adam;	state Exp;
branches;
next	1.10;
commitid	5Eqh12eLrg1vroqG;

1.10
date	2026.01.11.12.25.20;	author adam;	state Exp;
branches;
next	1.9;
commitid	uEU3rqwp1dJSkYpG;

1.9
date	2025.12.26.16.08.04;	author adam;	state Exp;
branches;
next	1.8;
commitid	21Jw5b2v3m8a5WnG;

1.8
date	2025.10.09.07.57.32;	author wiz;	state Exp;
branches;
next	1.7;
commitid	t4nMY0Dt3rBjSRdG;

1.7
date	2025.07.05.11.44.10;	author wiz;	state Exp;
branches;
next	1.6;
commitid	B2KLCDAZOmgedy1G;

1.6
date	2025.02.12.13.08.06;	author adam;	state Exp;
branches;
next	1.5;
commitid	1Sa8ZSwRAlJ8hbJF;

1.5
date	2023.05.02.17.16.26;	author wiz;	state Exp;
branches;
next	1.4;
commitid	rK8vBdyAaXHQBpnE;

1.4
date	2022.04.19.12.03.11;	author tnn;	state Exp;
branches;
next	1.3;
commitid	n0U8G5sBmVKz1OAD;

1.3
date	2022.01.05.15.41.04;	author wiz;	state Exp;
branches;
next	1.2;
commitid	FQ77UruBIUsgzsnD;

1.2
date	2022.01.04.20.53.07;	author wiz;	state Exp;
branches;
next	1.1;
commitid	CYyhdK9qtoffkmnD;

1.1
date	2019.06.11.11.34.39;	author markd;	state Exp;
branches;
next	;
commitid	nU1JGjCP0udhoLqB;


desc
@@


1.11
log
@py-gcovr: updated to 8.6

8.6

Breaking changes:

Drop support for Python 3.9.

New features and notable changes:

Add support for Python 3.14.

Bug fixes and small improvements:

To avoid merge errors, add the line number to the name of the unknown function.
If intermediate files are kept, rename the gcov files before processing them to log the
final filename.
Use the first line after a function definition and not the first line which is hit.
@
text
@# $NetBSD: Makefile,v 1.10 2026/01/11 12:25:20 adam Exp $

DISTNAME=	gcovr-8.6
PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
CATEGORIES=	devel python
MASTER_SITES=	${MASTER_SITE_PYPI:=g/gcovr/}

MAINTAINER=	pkgsrc-users@@NetBSD.org
HOMEPAGE=	https://github.com/gcovr/gcovr
COMMENT=	Generate GCC code coverage reports
LICENSE=	modified-bsd

TOOL_DEPENDS+=	${PYPKGPREFIX}-hatch-fancy-pypi-readme>=25.1.0:../../devel/py-hatch-fancy-pypi-readme
TOOL_DEPENDS+=	${PYPKGPREFIX}-hatch-vcs>=0.5.0:../../devel/py-hatch-vcs
TOOL_DEPENDS+=	${PYPKGPREFIX}-hatchling>=1.27.0:../../devel/py-hatchling
DEPENDS+=	${PYPKGPREFIX}-colorlog-[0-9]*:../../devel/py-colorlog
DEPENDS+=	${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2
DEPENDS+=	${PYPKGPREFIX}-lxml-[0-9]*:../../textproc/py-lxml
DEPENDS+=	${PYPKGPREFIX}-pygments>=2.13.0:../../textproc/py-pygments
TEST_DEPENDS+=	${PYPKGPREFIX}-test-timeout>0:../../devel/py-test-timeout

USE_LANGUAGES=	# none

PYTHON_VERSIONS_INCOMPATIBLE=	310

post-install:
	cd ${DESTDIR}${PREFIX}/bin && \
	${MV} gcovr gcovr-${PYVERSSUFFIX} || ${TRUE}

.include "../../lang/python/wheel.mk"
.include "../../mk/bsd.pkg.mk"
@


1.10
log
@py-gcovr: updated to 8.5

8.5
Breaking changes:

The option --lcov-test-name doesn't accept values with spaces anymore.
The option --lcov-format-1.x is deprecated and mapped to --lcov-format-version=1.x.
Changes to HTML templates:
The file overview table in the default theme now uses a grid layout.
The function lists table in both themes are changed to a grid layout.
Add a common template folder where the common templates for the themes are stored.
It contains the function content and source page navigation templates.
Restructure the the summary and move some data to the footer.
Add sorting by clicking on the headers of the file overview table and the function table.
Add common stylesheet for all themes.
Add navigation links to source details.
Add buttons to toggle line background color in source details view.
Add a document overview with all active lines in source details view.
Added --html-static-report and remove argument from --html-single-page.
New features and notable changes:

Due to added support for LLVM source based code coverage format some configuration file
keys got changed. The old gcov named options are still supported but they also affect the
LLVM toolchain.

gcov-exclude-directory is changed to exclude-directory.
keep-gcov-files is changed to keep-intermediate-files.
delete-gcov-files is changed to delete-input-files.
Bug fixes and small improvements:

Fix coveralls report if there are several coverage elements per line.
Fix not excluded conditions if branches are excluded by comments.
Fix reported excluded branches in LCOV report.
Fix exclusion filter --gcov-exclude.
Add --json-trace-data-source to include the trace data source in the JSON report
independent from --verbose.
Remove generated gcov files on error and catch additional gcov error message.
Change default HTML theme excluded line color.
Move theme colors to a separate CSS file so they can be overridden with a simple
--html-template-dir directory with only the style.colors.css file
Fix regular expression for detecting a version mismatch between gcc and gcov.
Improve logging messages for GCOV execution errors to not print information twice and add trace
messages for gcov execution.
Fix handling of lines after function specialization.
Improve performance by changing logging messages (level and lazy interpolation).
Fix text report for covered decisions.
Fix runtime problem introduced with 8.4.
Fix wrong entries in data source attribute of JSON report.
Fix nested HTML report without coverage data.
Add warning if coverage data is empty.
Add warning if function lines are missing in external generated GCOV files.
Extend support for zipped reports. If last suffix is .xz then LZMA is used to compress the report.
Fix function exclusion in report generation.
Do not ignore lines without functions, e.g. from inlined code.
Ignore all whitespaces instead of only spaces for detection of noncode lines.
Add support for temporary merging line coverage objects without modifying the data model.
Change internal behavior of --exclude-function-lines to exclude the line of function definition
instead of removing it completely.
Ensure that all functions have a line coverage element in LCOV report.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2025/12/26 16:08:04 adam Exp $
d3 1
a3 1
DISTNAME=	gcovr-8.5
@


1.9
log
@py-gcovr: updated to 8.4

8.4

Breaking changes:

Improve data model to have several coverage information per line.
Option --merge-mode-conditions is removed.
Property function_name for a line in JSON report is now always set.
JSON report can now have several entries per line also with legacy text parser.
Cobertura and HTML report now contain function coverage also for older GCC versions.
Add excluded metrics to HTML report. The total numbers in the report contain now also
the excluded elements.
New features and notable changes:

Add support for Markdown output format.
Add filename and line number in warning logs.
Add option --markdown-file-link to link files in Markdown report.
Abort on version mismatch between gcc/gcov instead of trying all working directories.
Clean up temporary files generated by gcov tool when exception occurs.
Add branch information to Coveralls report.
Add support to define --exclude-lines-by-pattern and --exclude-branches-by-pattern
more than once.
Add --sonarqube-metric to define which metric is used as branch metric in report.
Add --sonarqube-pretty to pretty print the report.
If the value for -j is 0, the number of CPUs is used. If it is negative the it means "all but N CPUs".
Add --warn-excluded-lines-with-hits to print a warning if a line which is excluded by comments has a hit counter != 0.
Add comment to exclude branches without hit in addition to exclude all.
Bug fixes and small improvements:

Fix warning Deprecated config key None used, please use 'txt-metric=branch' instead.
if txt-metric="branch" is used in config file.

Add excluded property for conditions and calls to the JSON report.

Remove the fixed width of the HTML details which leads to text overflows.

Fix duplicate constructors, destructors and wrong const overload functions in Cobertura report.

Fix JaCoCo report to follow the DTD.

Do not use option --calls as exclusion filter.

Add support for reading gcov JSON data without source files.

Add back references to the data model to get source location in error messages.

Fix deprecation warning in standalone application.

Improvements of development environment

Add optional dependencies for development.
Add pre-commit hook to ensure quality checks.
All line endings, except for the git internal files, are preserved.
Update the reference data to the newest pygments version and extend the tests with clang-17,
clang-18 and clang-19.

Fix error when merging conditions (and branches) for the same line if they are reported different
across GCOV data files.

Improve branch details view if there are branches for several functions on same line.

Do not add files without functions and lines from gcov JSON files to data model.

Improve error message if regex pattern is wrong.

The error message now contains the option name.
Align option names if it can be used multiple times. The key used for storing the option is always
written in singular and the option always has a singular version, except the options
--gcov-ignore-errors and --gcov-ignore-parse-errors.
Fix wrong handling of functions with specialization.

Fix errors in Clover XML report.

Remove optional attributes where information is not available:
loc contained the highest line number with coverage information instead of lines of the file.
ncloc contained the number of reportable lines instead of the lines of the file without comments.
statements and coveredstatements contain now the correct value instead of 0.
Add highlighting for exclusion markers in HTML report file details.

Make <title> of HTML reports more informative. The title of a file's source listing page now includes the file path.

Documentation:

Fix formatting of verbatim text included from external files.
Internal changes:

Refactor internal data model:
Add merge functionality to coverage objects instead of an own file.
Move data serialization and deserialization from JSON report to coverage classes.
Update Windows runner to windows-2022 and windows-2025.
Add trusted publishing.
Restructure the line coverage data model and change the sort order in the reports.
Improve creation of docker image and fix build warnings.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2025/10/09 07:57:32 wiz Exp $
d3 1
a3 1
DISTNAME=	gcovr-8.4
d13 3
a15 3
TOOL_DEPENDS+=	${PYPKGPREFIX}-hatch-fancy-pypi-readme>=24.1.0:../../devel/py-hatch-fancy-pypi-readme
TOOL_DEPENDS+=	${PYPKGPREFIX}-hatch-vcs>=0.4.0:../../devel/py-hatch-vcs
TOOL_DEPENDS+=	${PYPKGPREFIX}-hatchling>=1.26.3:../../devel/py-hatchling
@


1.8
log
@*: remove reference to (removed) Python 3.9
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2025/07/05 11:44:10 wiz Exp $
d3 1
a3 1
DISTNAME=	gcovr-8.3
d15 1
a15 1
TOOL_DEPENDS+=	${PYPKGPREFIX}-hatchling>=1.26.1:../../devel/py-hatchling
@


1.7
log
@*: some more recursive Python restrictions on Python 3.11+

Reported in SmartOS bulk build
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2025/02/12 13:08:06 adam Exp $
d24 1
a24 1
PYTHON_VERSIONS_INCOMPATIBLE=	39 310
@


1.6
log
@py-gcovr: updated to 8.3

8.3

Known bugs:

Breaking changes:

Replace setup.py with hatchling. To install from source at least version 21.3 of pip is needed.
Drop support for Python 3.8.

New features and notable changes:

Add condition coverage to text summary report.
Add --include to search files in search paths which should be added to report.
Add option to generate LCOV format produced by version 1.x of LCOV tool.
Extend logging for data merge errors with info about the data sources.
Add condition coverage merge mode option --merge-mode-conditions
Add --gcov-suspicious-hits-threshold to configure the value for detecting suspicious hits in GCOV files.
Renamed JSON element destination_blockno to destination_block_id.
Add --html-block-ids to show the block ids of the lines and branches in HTML report.

Bug fixes and small improvements:

Fixed an error handling bug throwing a TypeError exception on a gcov merge assertion failure
instead of reporting the error and (if requested by the user) continuing execution.
Check format version of external generated gcov JSON files.
Fix crash on Windows when trying to fix the case of the files.
Fix LCOV report. Excluded lines where added with a count of 0.
Fix line exclusion not clearing all child coverage data.
Fix summary stats in JaCoCo report.
Fix path issue when reading/writing Coveralls report.
Fix issue with negative counters in GCOV JSON export.

Documentation:

Update documentation for developing with Docker.

Internal changes:

Add MacOs 15 and clang-16 to the GitHub test workflow.
Fix sporadic timestamp mismatch in development build package.
Replace black and flake8 with ruff and move configuration of pytest to pyproject.toml.
Add pylint for testing code.
Align variable names across the files.
Rework exclusion handling to keep information about excluded coverage.
Add mypy (using strict configuration) for testing code.
Add a container class for the coverage data.
Replace setup.py with hatchling.
Move gcovr to src directory.
The main routine doesn't call sys.exit on it's own, we always return the exit code.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2023/05/02 17:16:26 wiz Exp $
d24 1
a24 4
.include "../../lang/python/pyversion.mk"
.if ${PYTHON_VERSION} < 311
DEPENDS+=	${PYPKGPREFIX}-tomli>=1.1.0:../../textproc/py-tomli
.endif
@


1.5
log
@py-gcovr: not for Python 2
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2022/04/19 12:03:11 tnn Exp $
d3 1
a3 1
DISTNAME=	gcovr-4.1
a4 1
PKGREVISION=	4
d9 1
a9 1
HOMEPAGE=	https://pypi.org/project/gcovr/
d13 4
d18 14
d33 1
a33 5
PYTHON_VERSIONS_INCOMPATIBLE=	27

USE_PKG_RESOURCES=	yes

.include "../../lang/python/egg.mk"
@


1.4
log
@py-gcovr: use versioned dependencies for jinja2
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2022/01/05 15:41:04 wiz Exp $
d14 3
a16 1
PYTHON_VERSIONED_DEPENDENCIES=	jinja2
a20 1
.include "../../lang/python/versioned_dependencies.mk"
@


1.3
log
@python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2022/01/04 20:53:07 wiz Exp $
d5 2
a6 2
PKGREVISION=	2
CATEGORIES=	python
d14 1
a14 1
DEPENDS+=	${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2
d19 1
@


1.2
log
@*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2019/06/11 11:34:39 markd Exp $
d5 1
a5 1
PKGREVISION=	1
d16 2
@


1.1
log
@py-gcovr: Add version 4.1

Gcovr provides a utility for managing the use of the GNU gcov utility
and generating summarized code coverage results. This command is
inspired by the Python coverage.py package, which provides a similar
utility for Python.
@
text
@d1 1
a1 1
# $NetBSD$
d5 1
@

