Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-cppy for openSUSE:Factory checked in at 2025-06-30 13:03:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-cppy (Old) and /work/SRC/openSUSE:Factory/.python-cppy.new.7067 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cppy" Mon Jun 30 13:03:28 2025 rev:6 rq:1288849 version:1.3.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-cppy/python-cppy.changes 2025-05-26 18:33:20.901904106 +0200 +++ /work/SRC/openSUSE:Factory/.python-cppy.new.7067/python-cppy.changes 2025-06-30 13:03:40.294881146 +0200 @@ -1,0 +2,9 @@ +Wed Jun 25 12:48:40 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to 1.3.1 + * On Windows link to debug runtime lib when building + with a debug Python PR #29 +- from version 1.3.0 + * Prevent linking dynamically to MSVCP on windows + +------------------------------------------------------------------- Old: ---- cppy-1.2.1.tar.gz New: ---- cppy-1.3.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-cppy.spec ++++++ --- /var/tmp/diff_new_pack.NmE33O/_old 2025-06-30 13:03:41.498931327 +0200 +++ /var/tmp/diff_new_pack.NmE33O/_new 2025-06-30 13:03:41.498931327 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-cppy -Version: 1.2.1 +Version: 1.3.1 Release: 0 Summary: C++ headers for C extension development License: BSD-3-Clause ++++++ cppy-1.2.1.tar.gz -> cppy-1.3.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/.github/workflows/ci.yml new/cppy-1.3.1/.github/workflows/ci.yml --- old/cppy-1.2.1/.github/workflows/ci.yml 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/.github/workflows/ci.yml 2025-02-11 16:23:28.000000000 +0100 @@ -16,7 +16,7 @@ name: Lints Python codes runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: pyflakes uses: reviewdog/action-pyflakes@v1 with: @@ -29,16 +29,16 @@ strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.7', '3.8', '3.9', '3.10'] + python-version: ['3.10', '3.11', '3.12', '3.13'] fail-fast: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Get history and tags for SCM versioning to work run: | git fetch --prune --unshallow git fetch --depth=1 origin +refs/tags/*:refs/tags/* - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/.github/workflows/docs.yml new/cppy-1.3.1/.github/workflows/docs.yml --- old/cppy-1.2.1/.github/workflows/docs.yml 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/.github/workflows/docs.yml 2025-02-11 16:23:28.000000000 +0100 @@ -20,13 +20,13 @@ name: Docs building runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Get history and tags for SCM versioning to work run: | git fetch --prune --unshallow git fetch --depth=1 origin +refs/tags/*:refs/tags/* - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 - name: Install dependencies run: | python -m pip install --upgrade pip diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/.github/workflows/release.yml new/cppy-1.3.1/.github/workflows/release.yml --- old/cppy-1.2.1/.github/workflows/release.yml 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/.github/workflows/release.yml 2025-02-11 16:23:28.000000000 +0100 @@ -13,13 +13,13 @@ runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Get history and tags for SCM versioning to work run: | git fetch --prune --unshallow git fetch --depth=1 origin +refs/tags/*:refs/tags/* - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 - name: Build sdist run: | pip install --upgrade pip @@ -32,9 +32,9 @@ cd .. python -m pytest cppy/tests - name: Store artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: - name: artifact + name: cibw-sdist path: dist/* build_universal_wheel: @@ -42,13 +42,13 @@ runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Get history and tags for SCM versioning to work run: | git fetch --prune --unshallow git fetch --depth=1 origin +refs/tags/*:refs/tags/* - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 - name: Build universal wheel run: | pip install --upgrade pip @@ -61,53 +61,67 @@ cd .. python -m pytest cppy/tests - name: Store artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: - name: artifact + name: cibw-wheel path: dist/*.whl - release_upload: - name: Create Release and Upload Release Asset - runs-on: ubuntu-latest - if: github.event_name == 'push' - needs: [build_universal_wheel, build_sdist] - steps: - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: Release ${{ github.ref }} - draft: false - prerelease: ${{ contains(github.ref, 'rc') || contains(github.ref, 'a') || contains(github.ref, 'b')}} - - uses: actions/download-artifact@v2 - with: - name: artifact - path: dist - - name: Upload Release Asset - id: upload-release-asset - uses: shogo82148/actions-upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: dist/* - - upload_pypi: + publish: if: github.event_name == 'push' needs: [build_universal_wheel, build_sdist] runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v4.1.7 with: - name: artifact + pattern: cibw-* path: dist + merge-multiple: true - - uses: pypa/gh-action-pypi-publish@master + - uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.pypi_password }} # To test: # repository_url: https://test.pypi.org/legacy/ + + github-release: + name: >- + Sign the Python 🐍 distribution 📦 with Sigstore + and create a GitHub Release + runs-on: ubuntu-latest + needs: + - publish + + permissions: + contents: write + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4.1.7 + with: + pattern: cibw-* + path: dist + merge-multiple: true + - name: Sign the dists with Sigstore + uses: sigstore/gh-action-sigstore-python@v2.1.0 + with: + password: ${{ secrets.pypi_password }} + inputs: >- + ./dist/*.tar.gz + ./dist/*.whl + - name: Create GitHub Release + env: + GITHUB_TOKEN: ${{ github.token }} + run: >- + gh release create + '${{ github.ref_name }}' + --repo '${{ github.repository }}' + --generate-notes + - name: Upload artifact signatures to GitHub Release + env: + GITHUB_TOKEN: ${{ github.token }} + run: >- + gh release upload + '${{ github.ref_name }}' dist/** + --repo '${{ github.repository }}' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/PKG-INFO new/cppy-1.3.1/PKG-INFO --- old/cppy-1.2.1/PKG-INFO 2022-03-30 21:40:27.851690000 +0200 +++ new/cppy-1.3.1/PKG-INFO 2025-02-11 16:23:34.411996000 +0100 @@ -1,8 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.2 Name: cppy -Version: 1.2.1 -Summary: UNKNOWN -Home-page: https://github.com/nucleic/cppy +Version: 1.3.1 Author-email: The Nucleic Development Team <sccolb...@gmail.com> Maintainer-email: "Matthieu C. Dartiailh" <m.dartia...@gmail.com> License: Copyright (c) 2014, Nucleic @@ -37,7 +35,6 @@ Project-URL: documentation, https://cppy.readthedocs.io/en/latest/ Project-URL: repository, https://github.com/nucleic/cppy Project-URL: changelog, https://github.com/nucleic/cppy/blob/main/releasenotes.rst -Platform: UNKNOWN Classifier: License :: OSI Approved :: BSD License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 @@ -45,10 +42,14 @@ Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.7 Description-Content-Type: text/x-rst License-File: LICENSE +Requires-Dist: setuptools>=61.2 Cppy ==== @@ -60,5 +61,3 @@ modules. The primary feature is a PyObject smart pointer which automatically handles reference counting and provides convenience methods for performing common object operations. - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/cppy/__init__.py new/cppy-1.3.1/cppy/__init__.py --- old/cppy-1.2.1/cppy/__init__.py 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/cppy/__init__.py 2025-02-11 16:23:28.000000000 +0100 @@ -15,7 +15,8 @@ def get_include(): import os - return os.path.join(os.path.dirname(__file__), 'include') + + return os.path.join(os.path.dirname(__file__), "include") class CppyBuildExt(build_ext): @@ -30,7 +31,6 @@ c_opts = {"msvc": ["/EHsc"], "unix": ["-std=c++11"]} def build_extensions(self): - ct = self.compiler.compiler_type opts = self.c_opts.get(ct, []) cppy_includes = get_include() @@ -43,16 +43,38 @@ # we can sure it will be present. compiler_cmd = self.compiler.compiler_so # Check if we are using Clang, accounting for absolute path - if compiler_cmd is not None and 'clang' in compiler_cmd[0]: + if compiler_cmd is not None and "clang" in compiler_cmd[0]: # If so ensure we use a recent enough version of the stdlib - ext.extra_compile_args += ["-stdlib=libc++"] - ext.extra_link_args += ["-stdlib=libc++"] - if ct == "msvc" and os.environ.get("CPPY_DISABLE_FH4"): - # Disable FH4 Exception Handling implementation so that we don't - # require VCRUNTIME140_1.dll. For more details, see: - # https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64/ - # https://github.com/joerick/cibuildwheel/issues/423#issuecomment-677763904 - ext.extra_compile_args.append("/d2FH4-") + ext.extra_compile_args.append("-stdlib=libc++") + ext.extra_link_args.append("-stdlib=libc++") + if ct == "msvc": + # Switch to a static build for runtimes, but use dynamic + # linking for `VCRUNTIME140.dll`, `VCRUNTIME140_1.dll`, and the UCRT. + # This avoids requiring specific versions of `MSVCP140.dll`, while + # keeping shared state with the rest of the Python process/extensions. + is_debug = hasattr(sys, "gettotalrefcount") # only present in Python debug build + + # Mixing debug and release code is bad practice under Windows. The problem is that the + # different versions can depend on different fundamental parts of the C++ runtime library, + # such as how memory is allocated, structures for things like iterators might be + # different, extra code could be generated to perform operations (e.g. checked iterators). + # As a consequence we build as debug if python is built with debug symbols. + debug_ext = "d" if is_debug else "" + ext.extra_compile_args.append(f"/MT{debug_ext}") + ext.extra_link_args.extend( + [ + f"ucrt{debug_ext}.lib", + f"vcruntime{debug_ext}.lib", + f"/nodefaultlib:libucrt{debug_ext}.lib", + f"/nodefaultlib:libvcruntime{debug_ext}.lib", + ] + ) + if os.environ.get("CPPY_DISABLE_FH4"): + # Disable FH4 Exception Handling implementation so that we don't + # require VCRUNTIME140_1.dll. For more details, see: + # https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64/ + # https://github.com/joerick/cibuildwheel/issues/423#issuecomment-677763904 + ext.extra_compile_args.append("/d2FH4-") build_ext.build_extensions(self) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/cppy/version.py new/cppy-1.3.1/cppy/version.py --- old/cppy-1.2.1/cppy/version.py 2022-03-30 21:40:26.000000000 +0200 +++ new/cppy-1.3.1/cppy/version.py 2025-02-11 16:23:34.000000000 +0100 @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------------- -# Copyright (c) 2014-2022, Nucleic Development Team. +# Copyright (c) 2014-2025, Nucleic Development Team. # # Distributed under the terms of the Modified BSD License. # @@ -12,7 +12,7 @@ #: A namedtuple of the version info for the current release. _version_info = namedtuple("_version_info", "major minor micro status") -parts = "1.2.1".split(".", 3) +parts = "1.3.1".split(".", 3) __version_info__ = _version_info( int(parts[0]), int(parts[1]), @@ -23,4 +23,4 @@ # Remove everything but the 'version_info' from this module. del namedtuple, _version_info, parts -__version__ = "1.2.1" +__version__ = "1.3.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/cppy.egg-info/PKG-INFO new/cppy-1.3.1/cppy.egg-info/PKG-INFO --- old/cppy-1.2.1/cppy.egg-info/PKG-INFO 2022-03-30 21:40:27.000000000 +0200 +++ new/cppy-1.3.1/cppy.egg-info/PKG-INFO 2025-02-11 16:23:34.000000000 +0100 @@ -1,8 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.2 Name: cppy -Version: 1.2.1 -Summary: UNKNOWN -Home-page: https://github.com/nucleic/cppy +Version: 1.3.1 Author-email: The Nucleic Development Team <sccolb...@gmail.com> Maintainer-email: "Matthieu C. Dartiailh" <m.dartia...@gmail.com> License: Copyright (c) 2014, Nucleic @@ -37,7 +35,6 @@ Project-URL: documentation, https://cppy.readthedocs.io/en/latest/ Project-URL: repository, https://github.com/nucleic/cppy Project-URL: changelog, https://github.com/nucleic/cppy/blob/main/releasenotes.rst -Platform: UNKNOWN Classifier: License :: OSI Approved :: BSD License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 @@ -45,10 +42,14 @@ Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.7 Description-Content-Type: text/x-rst License-File: LICENSE +Requires-Dist: setuptools>=61.2 Cppy ==== @@ -60,5 +61,3 @@ modules. The primary feature is a PyObject smart pointer which automatically handles reference counting and provides convenience methods for performing common object operations. - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/cppy.egg-info/SOURCES.txt new/cppy-1.3.1/cppy.egg-info/SOURCES.txt --- old/cppy-1.2.1/cppy.egg-info/SOURCES.txt 2022-03-30 21:40:27.000000000 +0200 +++ new/cppy-1.3.1/cppy.egg-info/SOURCES.txt 2025-02-11 16:23:34.000000000 +0100 @@ -6,7 +6,6 @@ README.rst pyproject.toml releasenotes.rst -setup.py .github/workflows/ci.yml .github/workflows/docs.yml .github/workflows/release.yml @@ -16,6 +15,7 @@ cppy.egg-info/PKG-INFO cppy.egg-info/SOURCES.txt cppy.egg-info/dependency_links.txt +cppy.egg-info/requires.txt cppy.egg-info/top_level.txt cppy/include/cppy/cppy.h cppy/include/cppy/defines.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/cppy.egg-info/requires.txt new/cppy-1.3.1/cppy.egg-info/requires.txt --- old/cppy-1.2.1/cppy.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/cppy-1.3.1/cppy.egg-info/requires.txt 2025-02-11 16:23:34.000000000 +0100 @@ -0,0 +1 @@ +setuptools>=61.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/docs/source/conf.py new/cppy-1.3.1/docs/source/conf.py --- old/cppy-1.2.1/docs/source/conf.py 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/docs/source/conf.py 2025-02-11 16:23:28.000000000 +0100 @@ -20,7 +20,7 @@ # -- Project information ----------------------------------------------------- project = 'cppy' -copyright = '2019, Nucleic team' +copyright = '2019-2024, Nucleic team' author = 'Nucleic team' # The full version, including alpha/beta/rc tags @@ -59,7 +59,7 @@ # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = "en" # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -175,8 +175,3 @@ # -- Extension configuration ------------------------------------------------- - -# -- Options for intersphinx extension --------------------------------------- - -# Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'https://docs.python.org/': None} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/pyproject.toml new/cppy-1.3.1/pyproject.toml --- old/cppy-1.2.1/pyproject.toml 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/pyproject.toml 2025-02-11 16:23:28.000000000 +0100 @@ -1,5 +1,5 @@ # -------------------------------------------------------------------------------------- -# Copyright (c) 2014-2022, Nucleic Development Team. +# Copyright (c) 2014-2025, Nucleic Development Team. # # Distributed under the terms of the Modified BSD License. # @@ -25,9 +25,13 @@ "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", ] dynamic=["version"] +dependencies = ["setuptools>=61.2"] [project.urls] @@ -49,7 +53,7 @@ write_to = "cppy/version.py" write_to_template = """ # ----------------------------------------------------------------------------- -# Copyright (c) 2014-2022, Nucleic Development Team. +# Copyright (c) 2014-2025, Nucleic Development Team. # # Distributed under the terms of the Modified BSD License. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/releasenotes.rst new/cppy-1.3.1/releasenotes.rst --- old/cppy-1.2.1/releasenotes.rst 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/releasenotes.rst 2025-02-11 16:23:28.000000000 +0100 @@ -1,6 +1,14 @@ Cppy Release Notes ================== +1.3.1 - 11/02/2025 +------------------- +- on Windows link to debug runtime lib when building with a debug Python PR #29 + +1.3.0 - 26/11/2024 +------------------ +- prevent linking dynamically to MSVCP on windows + 1.2.1 - 03/30/2022 ------------------ - make the pyproject.toml fully PEP 621 compliant PR #19 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppy-1.2.1/setup.py new/cppy-1.3.1/setup.py --- old/cppy-1.2.1/setup.py 2022-03-30 21:40:07.000000000 +0200 +++ new/cppy-1.3.1/setup.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -# ------------------------------------------------------------------------------ -# Copyright (c) 2014-2022, Nucleic -# -# Distributed under the terms of the BSD 3-Clause License. -# -# The full license is in the file LICENSE, distributed with this software. -# ------------------------------------------------------------------------------ -from setuptools import setup - -setup()