pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/py-vcs-versioning



Module Name:    pkgsrc
Committed By:   adam
Date:           Tue Jun 23 05:34:55 UTC 2026

Modified Files:
        pkgsrc/devel/py-vcs-versioning: Makefile PLIST distinfo

Log Message:
py-vcs-versioning: updated to 2.1.0

2.1.0 (2026-06-22)

Added

- Add `VcsEnvironment.build_config_from_pyproject`, `build_config_from_data`, and `pyproject_tool_names` methods for canonical env-first configuration creation.

Fixed

- Fix DeprecationWarning leak in pretend API by ensuring all public APIs attach VcsEnvironment to Configuration before accessing env-dependent properties.
- Fix fallback discovery so an unprocessed `.git_archival.txt` no longer shadows a valid `PKG-INFO` in PyPI sdists.

2.0.1 (2026-06-22)

Fixed

- Update CI to use PyPy 3.11 as cryptography has no PyPy 3.10 build available

2.0.0 (2026-06-22)

Removed

- Remove module-level accessor functions from ``vcs_versioning.overrides``: ``get_active_overrides()``, ``get_debug_level()``, ``get_subprocess_timeout()``, ``get_hg_command()``, 
``get_source_date_epoch()``, and ``source_epoch_or_utc_now()``. Use ``VcsEnvironment.from_env()`` or ``config.env`` instead. External consumer audit confirmed no downstream usage of these functions.

Added

- Introduce ``VcsEnvironment`` and the chained API (``env → config → workdir → version``) for explicit runtime settings. Add ``Configuration.env``, ``Configuration.discover_workdir()``, and the 
``vcs_versioning.discover_workdir`` entry-point group. Integrators can now use ``VcsEnvironment.from_env("MY_TOOL").build_config()`` to thread timeout, hg command, and other settings without ambient 
globals.
- Warn when ``version_file`` or ``write_to`` targets a file that is tracked by version control. A tracked version file causes ``git describe --dirty`` to report a dirty tree after builds rewrite it, 
leading to unexpected dev-version bumps on tag checkouts. The warning advises removing the file from VCS and adding it to the ignore file.
- Add native Jujutsu (jj) VCS backend with version inference, file finder, and strict error when `.jj/` is detected but `jj` is not installed. The `SETUPTOOLS_SCM_DISABLE_JJ=1` environment variable 
can be used to opt out of jj discovery in environments where `jj` is not available.
- Add ``no-local-version-strict`` local scheme that combines ``no-local-version`` and ``fail-on-uncommitted-changes`` in a single entry-point. When the working tree is dirty the build fails with 
``DirtyWorkingTreeError``; otherwise the local segment is stripped, producing PyPI-safe versions suitable for release builds.
- Modernize Mercurial backend to use `latesttag(pattern)` template instead of manual tag discovery with revsets, reducing subprocess calls and enabling tag.prefix/tag.strict support for Mercurial 
repositories.
- Add `tag.prefix` and `tag.strict` configuration options for controlling which VCS tags are considered version tags. `tag.prefix` filters and strips a literal prefix (for monorepo tag schemes like 
`hatchling-v1.0.0`). `tag.strict` (tri-state) requires tags to contain at least one dot, rejecting non-version tags like event markers. Both compose to generate the `git describe --match` glob 
automatically.

Fixed

- Replace bare ``assert`` in ``ScmWorkdir.config`` and ``FallbackWorkdir.config`` with a ``RuntimeError`` that explains how to properly associate a ``Configuration`` with a workdir.
- Filter Mercurial pseudo-tags (tip, qbase, qtip, qparent) and iterate all tags when resolving versions, fixing spurious "no version found" warnings from MQ extension tags.
- The ``semver-pep440`` and ``semver-pep440-release-branch`` version schemes now
  correctly handle ``.dev0`` tags and pre-release tags. Exact checkout on a tag
  returns the tag as-is (``2.0.dev0`` stays ``2.0.dev0``, ``1.0.0rc1`` stays
  ``1.0.0rc1``). Non-exact ``.dev0`` tags are treated as explicit version anchors,
  producing ``X.Y.0.devN`` instead of incorrectly bumping past the anchored version.
- Replace git archive with git ls-files for file discovery, fixing freshly added files being hidden while still honoring export-ignore via gitattributes
- Fix git archivals from repositories with no tags failing to determine a version.
- Override user-defined shell aliases when invoking VCS commands, preventing alias expansions from corrupting subprocess output.
- Suppress spurious "toml section missing" warnings when setuptools-scm is used only for file finding or with simplified activation. The log message is now debug-level and only emitted when the 
package is actually a build requirement.
- Read towncrier fragment directory from `[tool.towncrier]` in `pyproject.toml` or the top-level `directory` key in `towncrier.toml` instead of hardcoding `changelog.d/`.
- Add the py.typed marker file.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 pkgsrc/devel/py-vcs-versioning/Makefile \
    pkgsrc/devel/py-vcs-versioning/PLIST
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/py-vcs-versioning/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/py-vcs-versioning/Makefile
diff -u pkgsrc/devel/py-vcs-versioning/Makefile:1.2 pkgsrc/devel/py-vcs-versioning/Makefile:1.3
--- pkgsrc/devel/py-vcs-versioning/Makefile:1.2 Mon Apr 27 20:43:32 2026
+++ pkgsrc/devel/py-vcs-versioning/Makefile     Tue Jun 23 05:34:55 2026
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.2 2026/04/27 20:43:32 wiz Exp $
+# $NetBSD: Makefile,v 1.3 2026/06/23 05:34:55 adam Exp $
 
-DISTNAME=      vcs_versioning-1.1.1
+DISTNAME=      vcs_versioning-2.1.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME:S/_/-/}
-PKGREVISION=   1
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=v/vcs_versioning/}
 
@@ -11,12 +10,19 @@ HOMEPAGE=   https://github.com/pypa/setupt
 COMMENT=       Manage your versions by vcs metadata
 LICENSE=       mit
 
-TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
+TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
+DEPENDS+=      ${PYPKGPREFIX}-packaging>=20:../../devel/py-packaging
 
 USE_LANGUAGES= # none
 
 PY_RENAME_BINARIES=    vcs-versioning
 
+.include "../../lang/python/pyversion.mk"
+.if ${PYTHON_VERSION} < 311
+DEPENDS+=      ${PYPKGPREFIX}-tomli>=1:../../textproc/py-tomli
+DEPENDS+=      ${PYPKGPREFIX}-typing-extensions>=0:../../devel/py-typing-extensions
+.endif
+
 # as of 1.1.1
 # 3 failed, 297 passed, 109 skipped, 3 warnings
 
Index: pkgsrc/devel/py-vcs-versioning/PLIST
diff -u pkgsrc/devel/py-vcs-versioning/PLIST:1.2 pkgsrc/devel/py-vcs-versioning/PLIST:1.3
--- pkgsrc/devel/py-vcs-versioning/PLIST:1.2    Mon Apr 27 20:43:32 2026
+++ pkgsrc/devel/py-vcs-versioning/PLIST        Tue Jun 23 05:34:55 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 2026/04/27 20:43:32 wiz Exp $
+@comment $NetBSD: PLIST,v 1.3 2026/06/23 05:34:55 adam Exp $
 bin/vcs-versioning-${PYVERSSUFFIX}
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
@@ -15,6 +15,9 @@ ${PYSITELIB}/vcs_versioning/__main__.pyo
 ${PYSITELIB}/vcs_versioning/_backends/__init__.py
 ${PYSITELIB}/vcs_versioning/_backends/__init__.pyc
 ${PYSITELIB}/vcs_versioning/_backends/__init__.pyo
+${PYSITELIB}/vcs_versioning/_backends/_discover_vcs.py
+${PYSITELIB}/vcs_versioning/_backends/_discover_vcs.pyc
+${PYSITELIB}/vcs_versioning/_backends/_discover_vcs.pyo
 ${PYSITELIB}/vcs_versioning/_backends/_git.py
 ${PYSITELIB}/vcs_versioning/_backends/_git.pyc
 ${PYSITELIB}/vcs_versioning/_backends/_git.pyo
@@ -24,6 +27,9 @@ ${PYSITELIB}/vcs_versioning/_backends/_h
 ${PYSITELIB}/vcs_versioning/_backends/_hg_git.py
 ${PYSITELIB}/vcs_versioning/_backends/_hg_git.pyc
 ${PYSITELIB}/vcs_versioning/_backends/_hg_git.pyo
+${PYSITELIB}/vcs_versioning/_backends/_jj.py
+${PYSITELIB}/vcs_versioning/_backends/_jj.pyc
+${PYSITELIB}/vcs_versioning/_backends/_jj.pyo
 ${PYSITELIB}/vcs_versioning/_backends/_scm_workdir.py
 ${PYSITELIB}/vcs_versioning/_backends/_scm_workdir.pyc
 ${PYSITELIB}/vcs_versioning/_backends/_scm_workdir.pyo
@@ -50,9 +56,15 @@ ${PYSITELIB}/vcs_versioning/_dump_versio
 ${PYSITELIB}/vcs_versioning/_entrypoints.py
 ${PYSITELIB}/vcs_versioning/_entrypoints.pyc
 ${PYSITELIB}/vcs_versioning/_entrypoints.pyo
+${PYSITELIB}/vcs_versioning/_environment.py
+${PYSITELIB}/vcs_versioning/_environment.pyc
+${PYSITELIB}/vcs_versioning/_environment.pyo
 ${PYSITELIB}/vcs_versioning/_exceptions.py
 ${PYSITELIB}/vcs_versioning/_exceptions.pyc
 ${PYSITELIB}/vcs_versioning/_exceptions.pyo
+${PYSITELIB}/vcs_versioning/_fallback_workdir.py
+${PYSITELIB}/vcs_versioning/_fallback_workdir.pyc
+${PYSITELIB}/vcs_versioning/_fallback_workdir.pyo
 ${PYSITELIB}/vcs_versioning/_fallbacks.py
 ${PYSITELIB}/vcs_versioning/_fallbacks.pyc
 ${PYSITELIB}/vcs_versioning/_fallbacks.pyo
@@ -65,6 +77,9 @@ ${PYSITELIB}/vcs_versioning/_file_finder
 ${PYSITELIB}/vcs_versioning/_file_finders/_hg.py
 ${PYSITELIB}/vcs_versioning/_file_finders/_hg.pyc
 ${PYSITELIB}/vcs_versioning/_file_finders/_hg.pyo
+${PYSITELIB}/vcs_versioning/_file_finders/_jj.py
+${PYSITELIB}/vcs_versioning/_file_finders/_jj.pyc
+${PYSITELIB}/vcs_versioning/_file_finders/_jj.pyo
 ${PYSITELIB}/vcs_versioning/_get_version_impl.py
 ${PYSITELIB}/vcs_versioning/_get_version_impl.pyc
 ${PYSITELIB}/vcs_versioning/_get_version_impl.pyo
@@ -74,6 +89,9 @@ ${PYSITELIB}/vcs_versioning/_integration
 ${PYSITELIB}/vcs_versioning/_integrator_helpers.py
 ${PYSITELIB}/vcs_versioning/_integrator_helpers.pyc
 ${PYSITELIB}/vcs_versioning/_integrator_helpers.pyo
+${PYSITELIB}/vcs_versioning/_legacy_parse.py
+${PYSITELIB}/vcs_versioning/_legacy_parse.pyc
+${PYSITELIB}/vcs_versioning/_legacy_parse.pyo
 ${PYSITELIB}/vcs_versioning/_log.py
 ${PYSITELIB}/vcs_versioning/_log.pyc
 ${PYSITELIB}/vcs_versioning/_log.pyo
@@ -86,6 +104,15 @@ ${PYSITELIB}/vcs_versioning/_node_utils.
 ${PYSITELIB}/vcs_versioning/_overrides.py
 ${PYSITELIB}/vcs_versioning/_overrides.pyc
 ${PYSITELIB}/vcs_versioning/_overrides.pyo
+${PYSITELIB}/vcs_versioning/_paths.py
+${PYSITELIB}/vcs_versioning/_paths.pyc
+${PYSITELIB}/vcs_versioning/_paths.pyo
+${PYSITELIB}/vcs_versioning/_project_overrides.py
+${PYSITELIB}/vcs_versioning/_project_overrides.pyc
+${PYSITELIB}/vcs_versioning/_project_overrides.pyo
+${PYSITELIB}/vcs_versioning/_protocols.py
+${PYSITELIB}/vcs_versioning/_protocols.pyc
+${PYSITELIB}/vcs_versioning/_protocols.pyo
 ${PYSITELIB}/vcs_versioning/_pyproject_reading.py
 ${PYSITELIB}/vcs_versioning/_pyproject_reading.pyc
 ${PYSITELIB}/vcs_versioning/_pyproject_reading.pyo
@@ -95,6 +122,9 @@ ${PYSITELIB}/vcs_versioning/_requirement
 ${PYSITELIB}/vcs_versioning/_run_cmd.py
 ${PYSITELIB}/vcs_versioning/_run_cmd.pyc
 ${PYSITELIB}/vcs_versioning/_run_cmd.pyo
+${PYSITELIB}/vcs_versioning/_scm_metadata.py
+${PYSITELIB}/vcs_versioning/_scm_metadata.pyc
+${PYSITELIB}/vcs_versioning/_scm_metadata.pyo
 ${PYSITELIB}/vcs_versioning/_scm_version.py
 ${PYSITELIB}/vcs_versioning/_scm_version.pyc
 ${PYSITELIB}/vcs_versioning/_scm_version.pyo
@@ -110,6 +140,9 @@ ${PYSITELIB}/vcs_versioning/_types.pyo
 ${PYSITELIB}/vcs_versioning/_version_cls.py
 ${PYSITELIB}/vcs_versioning/_version_cls.pyc
 ${PYSITELIB}/vcs_versioning/_version_cls.pyo
+${PYSITELIB}/vcs_versioning/_version_fields.py
+${PYSITELIB}/vcs_versioning/_version_fields.pyc
+${PYSITELIB}/vcs_versioning/_version_fields.pyo
 ${PYSITELIB}/vcs_versioning/_version_inference.py
 ${PYSITELIB}/vcs_versioning/_version_inference.pyc
 ${PYSITELIB}/vcs_versioning/_version_inference.pyo
@@ -125,9 +158,13 @@ ${PYSITELIB}/vcs_versioning/_version_sch
 ${PYSITELIB}/vcs_versioning/_version_schemes/_towncrier.py
 ${PYSITELIB}/vcs_versioning/_version_schemes/_towncrier.pyc
 ${PYSITELIB}/vcs_versioning/_version_schemes/_towncrier.pyo
+${PYSITELIB}/vcs_versioning/_worktree_discovery.py
+${PYSITELIB}/vcs_versioning/_worktree_discovery.pyc
+${PYSITELIB}/vcs_versioning/_worktree_discovery.pyo
 ${PYSITELIB}/vcs_versioning/overrides.py
 ${PYSITELIB}/vcs_versioning/overrides.pyc
 ${PYSITELIB}/vcs_versioning/overrides.pyo
+${PYSITELIB}/vcs_versioning/py.typed
 ${PYSITELIB}/vcs_versioning/test_api.py
 ${PYSITELIB}/vcs_versioning/test_api.pyc
 ${PYSITELIB}/vcs_versioning/test_api.pyo

Index: pkgsrc/devel/py-vcs-versioning/distinfo
diff -u pkgsrc/devel/py-vcs-versioning/distinfo:1.1 pkgsrc/devel/py-vcs-versioning/distinfo:1.2
--- pkgsrc/devel/py-vcs-versioning/distinfo:1.1 Sun Mar 29 18:46:13 2026
+++ pkgsrc/devel/py-vcs-versioning/distinfo     Tue Jun 23 05:34:55 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.1 2026/03/29 18:46:13 wiz Exp $
+$NetBSD: distinfo,v 1.2 2026/06/23 05:34:55 adam Exp $
 
-BLAKE2s (vcs_versioning-1.1.1.tar.gz) = a4690585c1d30855f6ea462b79923329d0a6ec0eaef412060a37b2184c2ca20c
-SHA512 (vcs_versioning-1.1.1.tar.gz) = e5bf9fa68eeb38c8d884f4bad6f93f1354854ad0ab04919d369ed1b40832c2ed117f4c9d9458ae5a8a71c84497f6d0ff0ca5b38881c7a3a057619b3da3cbbbbc
-Size (vcs_versioning-1.1.1.tar.gz) = 97575 bytes
+BLAKE2s (vcs_versioning-2.1.0.tar.gz) = fd8a8a223feb39fd23b50b165fd40b8dc1f13a7824a3c5f880537135ba303f68
+SHA512 (vcs_versioning-2.1.0.tar.gz) = b8cdb083e2a229fd78141e51543971d2ad066f9e3ba53aa8be941ce6408c8b80b8db2eb4aac738d31de47d409d4eaa4473ebe3458f7b8ed696ac4127b28f76f3
+Size (vcs_versioning-2.1.0.tar.gz) = 130507 bytes



Home | Main Index | Thread Index | Old Index