Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-scikit-build for openSUSE:Factory checked in at 2023-01-23 18:30:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-scikit-build (Old) and /work/SRC/openSUSE:Factory/.python-scikit-build.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-scikit-build" Mon Jan 23 18:30:53 2023 rev:14 rq:1060178 version:0.16.6 Changes: -------- --- /work/SRC/openSUSE:Factory/python-scikit-build/python-scikit-build.changes 2023-01-04 20:18:37.281639180 +0100 +++ /work/SRC/openSUSE:Factory/.python-scikit-build.new.32243/python-scikit-build.changes 2023-01-23 18:31:11.899778633 +0100 @@ -1,0 +2,19 @@ +Sat Jan 21 17:22:01 UTC 2023 - Ben Greiner <c...@bnavigator.de> + +- Update to 0.16.6 + * Fix a discovery regression in 0.16.5 when a cmake folder or + cmake.py was present in #848. + * Correct an issue in the tests where a generator wasn't expanded + into a list in #850. +- Version 0.16.5 + * Use cmake module if installed over system installs in #839. + * Support setting of -DCMAKE_SYSTEM_PROCESSOR if passed for + selecting an arch, useful for cross compiling on conda-forge in + #843. + * Fixed a rare encoded error output string on Windows in #842. + * Better granularity in extras in #838. + * Add test markers for nosetuptoolsscm and isolated (helpful for + package distributions building scikit-build itself like conda) + in #837. + +------------------------------------------------------------------- Old: ---- scikit-build-0.16.4.tar.gz New: ---- scikit-build-0.16.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-scikit-build.spec ++++++ --- /var/tmp/diff_new_pack.Fx305g/_old 2023-01-23 18:31:12.415781818 +0100 +++ /var/tmp/diff_new_pack.Fx305g/_new 2023-01-23 18:31:12.423781868 +0100 @@ -27,7 +27,7 @@ %define skip_python2 1 Name: python-scikit-build%{psuffix} -Version: 0.16.4 +Version: 0.16.6 Release: 0 Summary: Improved build system generator for Python C/C++/Fortran/Cython extensions License: MIT @@ -103,9 +103,9 @@ %if %{with test} %check -# test_pep518 needs a wheelhouse with downloaded wheels including platform dependent cmake -donttest="test_pep518" -%pytest -k "not ($donttest)" +# these tests need a wheelhouse with downloaded wheels including platform dependent cmake +donttestmarker="isolated" +%pytest -m "not ($donttestmarker)" %endif %if !%{with test} ++++++ scikit-build-0.16.4.tar.gz -> scikit-build-0.16.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/.flake8 new/scikit-build-0.16.6/.flake8 --- old/scikit-build-0.16.4/.flake8 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/.flake8 2023-01-20 21:19:54.000000000 +0100 @@ -2,5 +2,5 @@ max-line-length = 120 max-complexity = 18 show-source = True -extend-ignore = E203, E501 +extend-ignore = E203, E501, B028 extend-select = B902, B903, B904 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/.pre-commit-config.yaml new/scikit-build-0.16.6/.pre-commit-config.yaml --- old/scikit-build-0.16.4/.pre-commit-config.yaml 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/.pre-commit-config.yaml 2023-01-20 21:19:54.000000000 +0100 @@ -22,7 +22,7 @@ - id: fix-smartquotes - repo: https://github.com/PyCQA/isort - rev: "5.11.1" + rev: "5.11.4" hooks: - id: isort @@ -39,7 +39,7 @@ exclude: ^docs/conf\.py$ - repo: https://github.com/asottile/blacken-docs - rev: v1.12.1 + rev: 1.13.0 hooks: - id: "blacken-docs" additional_dependencies: @@ -62,7 +62,7 @@ args: ["-L", "ba,endwhile,unparseable"] - repo: https://github.com/pre-commit/pygrep-hooks - rev: "v1.9.0" + rev: "v1.10.0" hooks: - id: python-check-blanket-noqa - id: python-check-blanket-type-ignore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/CHANGES.rst new/scikit-build-0.16.6/CHANGES.rst --- old/scikit-build-0.16.4/CHANGES.rst 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/CHANGES.rst 2023-01-20 21:19:54.000000000 +0100 @@ -21,6 +21,23 @@ * After sending a `last message <https://groups.google.com/g/scikit-build/c/jU7-EvvMPb8>`_ describing the transition, the mailing list was updated to be read-only and the welcome message was updated to redirect visitor toward the Discussions board. +Scikit-build 0.16.6 +=================== + +* Fix a discovery regression in 0.16.5 when a ``cmake`` folder or ``cmake.py`` was present in :pr:`848`. +* Correct an issue in the tests where a generator wasn't expanded into a list in :pr:`850`. + + +Scikit-build 0.16.5 +=================== + +* Use cmake module if installed over system installs in :pr:`839`. +* Support setting of ``-DCMAKE_SYSTEM_PROCESSOR`` if passed for selecting an arch, useful for cross compiling on conda-forge in :pr:`843`. +* Fixed a rare encoded error output string on Windows in :pr:`842`. +* Better granularity in extras in :pr:`838`. +* Add test markers for nosetuptoolsscm and isolated (helpful for package distributions building scikit-build itself like conda) in :pr:`837`. + + Scikit-build 0.16.4 =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/MANIFEST.in new/scikit-build-0.16.6/MANIFEST.in --- old/scikit-build-0.16.4/MANIFEST.in 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/MANIFEST.in 2023-01-20 21:19:54.000000000 +0100 @@ -1,6 +1,5 @@ include *.rst include LICENSE -include requirements*.txt recursive-include skbuild *.cmake *.rst recursive-include tests *.py *.toml *.pyx *.txt *.in *.cxx dummy VERSION* README diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/PKG-INFO new/scikit-build-0.16.6/PKG-INFO --- old/scikit-build-0.16.4/PKG-INFO 2022-12-16 22:59:30.974336900 +0100 +++ new/scikit-build-0.16.6/PKG-INFO 2023-01-20 21:20:02.625259900 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: scikit-build -Version: 0.16.4 +Version: 0.16.6 Summary: Improved build system generator for Python C/C++/Fortran/Cython extensions Home-page: https://github.com/scikit-build/scikit-build Author: The scikit-build team @@ -26,6 +26,8 @@ Requires-Python: >=3.6 Description-Content-Type: text/x-rst; charset=UTF-8 Provides-Extra: test +Provides-Extra: doctest +Provides-Extra: cov Provides-Extra: docs License-File: LICENSE License-File: AUTHORS.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/docs/installation.rst new/scikit-build-0.16.6/docs/installation.rst --- old/scikit-build-0.16.4/docs/installation.rst 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/docs/installation.rst 2023-01-20 21:19:54.000000000 +0100 @@ -34,16 +34,8 @@ Python Packages ^^^^^^^^^^^^^^^ -The project has a few common Python package dependencies. The runtime -dependencies are: - -.. include:: ../requirements.txt - :literal: - -The build time dependencies (also required for development) are: - -.. include:: ../requirements-dev.txt - :literal: +The project has a few common Python package dependencies. These can be seen in +``setup.py`` and ``pyproject.toml``. Compiler Toolchain ^^^^^^^^^^^^^^^^^^ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/docs/usage.rst new/scikit-build-0.16.6/docs/usage.rst --- old/scikit-build-0.16.4/docs/usage.rst 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/docs/usage.rst 2023-01-20 21:19:54.000000000 +0100 @@ -20,19 +20,31 @@ Example of setup.py, CMakeLists.txt and pyproject.toml ------------------------------------------------------ +The full example code is `Here <https://github.com/scikit-build/scikit-build-sample-projects/tree/master/projects/hello-cpp>`_ -To use scikit-build in a project, place the following in your project's +Make a fold name my_project as your project root folder, place the following in your project's ``setup.py`` file:: from skbuild import setup # This line replaces 'from setuptools import setup' + setup( + name="hello-cpp", + version="1.2.3", + description="a minimal example package (cpp version)", + author='The scikit-build team', + license="MIT", + packages=['hello'], + python_requires=">=3.7", + ) Your project now uses scikit-build instead of setuptools. Next, add a ``CMakeLists.txt`` to describe how to build your extension. In the following example, a C++ extension named ``_hello`` is built:: - cmake_minimum_required(VERSION 3.11.0) + cmake_minimum_required(VERSION 3.4...3.22) + project(hello) + find_package(PythonExtensions REQUIRED) add_library(_hello MODULE hello/_hello.cxx) @@ -43,13 +55,32 @@ [build-system] requires = [ - "setuptools>=42", - "scikit-build", - "cmake", - "ninja; platform_system!='Windows'" + "setuptools>=42", + "scikit-build>=0.13", + "cmake>=3.18", + "ninja", ] build-backend = "setuptools.build_meta" +Make a hello folder inside my_project folder and place `_hello.cxx <https://github.com/scikit-build/scikit-build-sample-projects/blob/8fdbc8a0dd78656ea0b431e005b49f3e19786444/projects/hello-cpp/hello/_hello.cxx>`_ and `__init__.py <https://github.com/scikit-build/scikit-build-sample-projects/blob/8fdbc8a0dd78656ea0b431e005b49f3e19786444/projects/hello-cpp/hello/__init__.py>`_ inside hello folder. + +Now every thing is ready, go to my_project's parent folder and type following command to install your extension:: + + pip install my_project/. + +If you want to see the detail of installation:: + + pip install my_project/. -v + +Try your new extension:: + + $ python + Python 3.10.4 (main, Jun 29 2022, 12:14:53) [GCC 11.2.0] on linux + Type "help", "copyright", "credits" or "license" for more information. + >>> import hello + >>> hello.hello("scikit-build") + Hello, scikit-build! + >>> You can add lower limits to ``cmake`` or ``scikit-build`` as needed. Ninja should be limited to non-Windows systems, as MSVC 2017+ ships with Ninja @@ -396,7 +427,7 @@ build_sdist = _orig.build_sdist get_requires_for_build_sdist = _orig.get_requires_for_build_sdist - def get_requires_for_build_wheel(self, config_settings=None): + def get_requires_for_build_wheel(config_settings=None): from packaging import version from skbuild.exceptions import SKBuildError from skbuild.cmaker import get_cmake_version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/noxfile.py new/scikit-build-0.16.6/noxfile.py --- old/scikit-build-0.16.4/noxfile.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/noxfile.py 2023-01-20 21:19:54.000000000 +0100 @@ -40,7 +40,7 @@ # Latest versions may break things, so grab them for testing! session.install("-U", "setuptools", "wheel") - session.install("-e", ".[test]") + session.install("-e", ".[test,cov,doctest]") session.run("pytest", *posargs, env=env) @@ -60,8 +60,7 @@ Build the docs. """ - session.install("-r", "requirements-docs.txt") - session.install(".") + session.install(".[docs]") session.chdir("docs") session.run("sphinx-build", "-M", "html", ".", "_build") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/pyproject.toml new/scikit-build-0.16.6/pyproject.toml --- old/scikit-build-0.16.4/pyproject.toml 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/pyproject.toml 2023-01-20 21:19:54.000000000 +0100 @@ -93,4 +93,6 @@ markers = [ "fortran: Fortran testing", "deprecated: These tests deprecated setuptools features", + "nosetuptoolsscm: Requires setuptools_scm to not be installed", + "isolated: Downloads dependencies and sets up isolated environments", ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/requirements-dev.txt new/scikit-build-0.16.6/requirements-dev.txt --- old/scikit-build-0.16.4/requirements-dev.txt 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/requirements-dev.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -build>=0.7 -codecov>=2.0.5 -coverage>=4.2 -cython>=0.25.1 -flake8>=3.0.4 -importlib-metadata;python_version<"3.8" -pytest>=6.0.0 -pytest-cov>=2.7.1 -pytest-mock>=1.10.4 -pytest-runner>=5.1 -pytest-virtualenv>=1.2.5 -requests -ubelt >= 0.8.2 -virtualenv -xdoctest>=0.10.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/requirements-docs.txt new/scikit-build-0.16.6/requirements-docs.txt --- old/scikit-build-0.16.4/requirements-docs.txt 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/requirements-docs.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -pygments -sphinx>=4 -sphinx-issues -sphinx-rtd-theme>=1.0 -sphinxcontrib-moderncmakedomain>=3.19 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/requirements.txt new/scikit-build-0.16.6/requirements.txt --- old/scikit-build-0.16.4/requirements.txt 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/requirements.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -distro -packaging -setuptools>=42.0.0 -typing-extensions>=3.7; python_version < "3.8" -wheel>=0.32.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/scikit_build.egg-info/PKG-INFO new/scikit-build-0.16.6/scikit_build.egg-info/PKG-INFO --- old/scikit-build-0.16.4/scikit_build.egg-info/PKG-INFO 2022-12-16 22:59:30.000000000 +0100 +++ new/scikit-build-0.16.6/scikit_build.egg-info/PKG-INFO 2023-01-20 21:20:02.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: scikit-build -Version: 0.16.4 +Version: 0.16.6 Summary: Improved build system generator for Python C/C++/Fortran/Cython extensions Home-page: https://github.com/scikit-build/scikit-build Author: The scikit-build team @@ -26,6 +26,8 @@ Requires-Python: >=3.6 Description-Content-Type: text/x-rst; charset=UTF-8 Provides-Extra: test +Provides-Extra: doctest +Provides-Extra: cov Provides-Extra: docs License-File: LICENSE License-File: AUTHORS.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/scikit_build.egg-info/SOURCES.txt new/scikit-build-0.16.6/scikit_build.egg-info/SOURCES.txt --- old/scikit-build-0.16.4/scikit_build.egg-info/SOURCES.txt 2022-12-16 22:59:30.000000000 +0100 +++ new/scikit-build-0.16.6/scikit_build.egg-info/SOURCES.txt 2023-01-20 21:20:02.000000000 +0100 @@ -16,9 +16,6 @@ azure-pipelines.yml noxfile.py pyproject.toml -requirements-dev.txt -requirements-docs.txt -requirements.txt setup.py .github/dependabot.yml .github/workflows/cd.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/scikit_build.egg-info/requires.txt new/scikit-build-0.16.6/scikit_build.egg-info/requires.txt --- old/scikit-build-0.16.4/scikit_build.egg-info/requires.txt 2022-12-16 22:59:30.000000000 +0100 +++ new/scikit-build-0.16.6/scikit_build.egg-info/requires.txt 2023-01-20 21:20:02.000000000 +0100 @@ -6,6 +6,11 @@ [:python_version < "3.8"] typing-extensions>=3.7 +[cov] +codecov>=2.0.5 +coverage>=4.2 +pytest-cov>=2.7.1 + [docs] pygments sphinx>=4 @@ -13,21 +18,18 @@ sphinx-rtd-theme>=1.0 sphinxcontrib-moderncmakedomain>=3.19 +[doctest] +ubelt>=0.8.2 +xdoctest>=0.10.0 + [test] build>=0.7 -codecov>=2.0.5 -coverage>=4.2 cython>=0.25.1 -flake8>=3.0.4 pytest>=6.0.0 -pytest-cov>=2.7.1 pytest-mock>=1.10.4 -pytest-runner>=5.1 pytest-virtualenv>=1.2.5 requests -ubelt>=0.8.2 virtualenv -xdoctest>=0.10.0 [test:python_version < "3.8"] importlib-metadata diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/setup.py new/scikit-build-0.16.6/setup.py --- old/scikit-build-0.16.4/setup.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/setup.py 2023-01-20 21:19:54.000000000 +0100 @@ -11,14 +11,35 @@ with open("HISTORY.rst") as fp: history = fp.read().replace(".. :changelog:", "") -with open("requirements.txt") as fp: - requirements = list(filter(bool, (line.strip() for line in fp))) - -with open("requirements-dev.txt") as fp: - dev_requirements = list(filter(bool, (line.strip() for line in fp))) +extras_require = { + "test": [ + "build>=0.7", + "cython>=0.25.1", + 'importlib-metadata;python_version<"3.8"', + "pytest>=6.0.0", + "pytest-mock>=1.10.4", + "pytest-virtualenv>=1.2.5", + "requests", + "virtualenv", + ], + "doctest": [ + "ubelt >= 0.8.2", + "xdoctest>=0.10.0", + ], + "cov": [ + "codecov>=2.0.5", + "coverage>=4.2", + "pytest-cov>=2.7.1", + ], + "docs": [ + "pygments", + "sphinx>=4", + "sphinx-issues", + "sphinx-rtd-theme>=1.0", + "sphinxcontrib-moderncmakedomain>=3.19", + ], +} -with open("requirements-docs.txt") as fp: - doc_requirements = list(filter(bool, (line.strip() for line in fp))) setuptools.setup( name="scikit-build", @@ -37,7 +58,13 @@ }, package_data={"skbuild": ["resources/cmake/*.cmake", "py.typed", "*.pyi"]}, python_requires=">=3.6", - install_requires=requirements, + install_requires=[ + "distro", + "packaging", + "setuptools>=42.0.0", + 'typing-extensions>=3.7; python_version < "3.8"', + "wheel>=0.32.0", + ], license="MIT", zip_safe=False, keywords="scikit-build", @@ -55,5 +82,5 @@ "Programming Language :: Python :: 3.11", "Typing :: Typed", ], - extras_require={"test": dev_requirements, "docs": doc_requirements}, + extras_require=extras_require, ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/_version.py new/scikit-build-0.16.6/skbuild/_version.py --- old/scikit-build-0.16.4/skbuild/_version.py 2022-12-16 22:59:30.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/_version.py 2023-01-20 21:20:02.000000000 +0100 @@ -1,5 +1,4 @@ -# coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control -__version__ = version = '0.16.4' -__version_tuple__ = version_tuple = (0, 16, 4) +__version__ = version = '0.16.6' +__version_tuple__ = version_tuple = (0, 16, 6) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/cmaker.py new/scikit-build-0.16.6/skbuild/cmaker.py --- old/scikit-build-0.16.4/skbuild/cmaker.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/cmaker.py 2023-01-20 21:19:54.000000000 +0100 @@ -99,7 +99,9 @@ 3.14.4 """ try: - version_string_bytes = subprocess.check_output([cmake_executable, "--version"]) + version_string_bytes = subprocess.run( + [cmake_executable, "--version"], check=True, stdout=subprocess.PIPE + ).stdout except (OSError, subprocess.CalledProcessError) as err: raise SKBuildError( f"Problem with the CMake installation, aborting build. CMake executable is {cmake_executable}" @@ -330,7 +332,7 @@ f" {self._formatArgsForDisplay(cmd)}\n", flush=True, ) - rtn = subprocess.call(cmd, cwd=CMAKE_BUILD_DIR(), env=generator.env) + rtn = subprocess.run(cmd, cwd=CMAKE_BUILD_DIR(), env=generator.env, check=False).returncode if rtn != 0: raise SKBuildError( "An error occurred while configuring with CMake.\n" @@ -706,7 +708,7 @@ cmd.extend(clargs) cmd.extend(filter(bool, shlex.split(os.environ.get("SKBUILD_BUILD_OPTIONS", "")))) - rtn = subprocess.call(cmd, cwd=CMAKE_BUILD_DIR(), env=env) + rtn = subprocess.run(cmd, cwd=CMAKE_BUILD_DIR(), env=env, check=False).returncode # For reporting errors (if any) if not install_target: install_target = "internal build step [valid]" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/command/bdist_wheel.py new/scikit-build-0.16.6/skbuild/command/bdist_wheel.py --- old/scikit-build-0.16.4/skbuild/command/bdist_wheel.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/command/bdist_wheel.py 2023-01-20 21:19:54.000000000 +0100 @@ -21,7 +21,7 @@ with distribution_hide_listing(self.distribution) as hide_listing: if hide_listing: zip_filename = wheelfile_self.filename - print(f"creating '{zip_filename}' and adding '{base_dir}' to it", flush=True) + print(f"creating {zip_filename!r} and adding {base_dir!r} to it", flush=True) old_write_files(wheelfile_self, base_dir) WheelFile.distribution = self.distribution diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/command/generate_source_manifest.py new/scikit-build-0.16.6/skbuild/command/generate_source_manifest.py --- old/scikit-build-0.16.4/skbuild/command/generate_source_manifest.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/command/generate_source_manifest.py 2023-01-20 21:19:54.000000000 +0100 @@ -48,9 +48,11 @@ # Since Git < 2.11 does not support --recurse-submodules option, fallback to # regular listing. try: - cmd_out = subprocess.check_output(["git", "ls-files", "--recurse-submodules"]) + cmd_out = subprocess.run( + ["git", "ls-files", "--recurse-submodules"], stdout=subprocess.PIPE, check=True + ).stdout except subprocess.CalledProcessError: - cmd_out = subprocess.check_output(["git", "ls-files"]) + cmd_out = subprocess.run(["git", "ls-files"], stdout=subprocess.PIPE, check=True).stdout git_files = [git_file.strip() for git_file in cmd_out.split(b"\n")] manifest_text = b"\n".join([b"include %s" % git_file.strip() for git_file in git_files if git_file]) manifest_text += b"\nexclude MANIFEST.in" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/constants.py new/scikit-build-0.16.6/skbuild/constants.py --- old/scikit-build-0.16.4/skbuild/constants.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/constants.py 2023-01-20 21:19:54.000000000 +0100 @@ -2,13 +2,35 @@ This module defines constants commonly used in scikit-build. """ +import contextlib import os import platform +import shutil import sys +from pathlib import Path from distutils.util import get_platform -CMAKE_DEFAULT_EXECUTABLE = "cmake" + +def _get_cmake_executable() -> str: + with contextlib.suppress(ImportError): + from cmake import CMAKE_BIN_DIR # pylint: disable=import-outside-toplevel + + path = f"{CMAKE_BIN_DIR}/cmake" + if Path(f"{path}.exe").is_file(): + return f"{path}.exe" + return path + + for name in ("cmake3", "cmake"): + prog = shutil.which(name) + if prog: + return prog + + # Just guess otherwise + return "cmake" + + +CMAKE_DEFAULT_EXECUTABLE = _get_cmake_executable() """Default path to CMake executable.""" @@ -47,7 +69,8 @@ # Use CMAKE_OSX_ARCHITECTURES if that is set, otherwise use ARCHFLAGS, # which is the variable used by Setuptools. Fall back to the machine arch - # if neither of those is given. + # if neither of those is given. Not that -D flags like CMAKE_SYSTEM_PROCESSOR + # will override this by setting it later. archflags = os.environ.get("ARCHFLAGS") if archflags is not None: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/platform_specifics/abstract.py new/scikit-build-0.16.6/skbuild/platform_specifics/abstract.py --- old/scikit-build-0.16.4/skbuild/platform_specifics/abstract.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/platform_specifics/abstract.py 2023-01-20 21:19:54.000000000 +0100 @@ -213,7 +213,7 @@ outer = "-" * 80 inner = ["-" * ((idx * 5) - 3) for idx in range(1, 8)] print(outer if suffix == "" else "\n".join(inner)) - print(f'-- Trying "{_generator.description}" generator{suffix}') + print(f"-- Trying {_generator.description!r} generator{suffix}") print(outer if suffix != "" else "\n".join(inner[::-1]), flush=True) for generator in candidate_generators: @@ -235,7 +235,7 @@ cmd.extend(cmake_args) cmd.extend(generator.args) - status = subprocess.call(cmd, env=generator.env) + status = subprocess.run(cmd, env=generator.env, check=False).returncode msg = "success" if status == 0 else "failure" _generator_discovery_status_msg(generator, f" - {msg}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/platform_specifics/windows.py new/scikit-build-0.16.6/skbuild/platform_specifics/windows.py --- old/scikit-build-0.16.4/skbuild/platform_specifics/windows.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/platform_specifics/windows.py 2023-01-20 21:19:54.000000000 +0100 @@ -165,7 +165,7 @@ return "" try: - path = subprocess.check_output( + path = subprocess.run( [ os.path.join(root, "Microsoft Visual Studio", "Installer", "vswhere.exe"), "-version", @@ -179,8 +179,10 @@ "*", ], encoding="utf-8" if sys.platform.startswith("cygwin") else "mbcs", + check=True, + stdout=subprocess.PIPE, errors="strict", - ).strip() + ).stdout.strip() except (subprocess.CalledProcessError, OSError, UnicodeDecodeError): return "" @@ -205,7 +207,7 @@ return _find_visual_studio_2017_or_newer(vs_version) -# To avoid multiple slow calls to ``subprocess.check_output()`` (either directly or +# To avoid multiple slow calls to ``subprocess.run()`` (either directly or # indirectly through ``query_vcvarsall``), results of previous calls are cached. __get_msvc_compiler_env_cache: Dict[str, CachedEnv] = {} @@ -245,11 +247,13 @@ vcvars_ver = f"-vcvars_ver={match_str}" try: - out_bytes = subprocess.check_output( + out_bytes = subprocess.run( f'cmd /u /c "{vcvarsall}" {vc_arch} {vcvars_ver} && set', + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=sys.platform.startswith("cygwin"), - ) + check=True, + ).stdout out = out_bytes.decode("utf-16le", errors="replace") vc_env = { @@ -264,7 +268,7 @@ __get_msvc_compiler_env_cache[cache_key] = cached_env return cached_env except subprocess.CalledProcessError as exc: - print(exc.output, file=sys.stderr, flush=True) + print(exc.output.decode("utf-16le", errors="replace"), file=sys.stderr, flush=True) return {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/skbuild/setuptools_wrap.py new/scikit-build-0.16.6/skbuild/setuptools_wrap.py --- old/scikit-build-0.16.4/skbuild/setuptools_wrap.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/skbuild/setuptools_wrap.py 2023-01-20 21:19:54.000000000 +0100 @@ -158,7 +158,7 @@ if arg == separator: i += 1 if i >= len(argsets): - sys.exit(f"ERROR: Too many '{separator}' separators provided (expected at most {len(argsets) - 1}).") + sys.exit(f"ERROR: Too many {separator!r} separators provided (expected at most {len(argsets) - 1}).") else: argsets[i].append(arg) @@ -564,6 +564,10 @@ machine = cmake_arg.split("=")[1] if set(machine.split(";")) == {"x86_64", "arm64"}: machine = "universal2" + elif "CMAKE_SYSTEM_PROCESSOR" in cmake_arg: + machine = cmake_arg.split("=")[1] + + assert machine in {"x86_64", "arm64", "universal2"}, f"macOS arch {machine} not understood" set_skbuild_plat_name(f"macosx-{version}-{machine}") @@ -588,21 +592,26 @@ dist = upstream_Distribution({"setup_requires": setup_requires}) dist.fetch_build_eggs(setup_requires) # type: ignore[no-untyped-call] - # Considering packages associated with "setup_requires" keyword are - # installed in .eggs subdirectory without honoring setuptools "console_scripts" - # entry_points and without settings the expected executable permissions, we are - # taking care of it below. - import cmake # pylint: disable=import-outside-toplevel - - for executable in ("cmake", "cpack", "ctest"): - executable = os.path.join(cmake.CMAKE_BIN_DIR, executable) - if platform.system().lower() == "windows": - executable += ".exe" - st = os.stat(executable) - permissions = st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH - os.chmod(executable, permissions) - cmake_executable = os.path.join(cmake.CMAKE_BIN_DIR, "cmake") - break + with contextlib.suppress(ImportError): + # Considering packages associated with "setup_requires" keyword are + # installed in .eggs subdirectory without honoring setuptools "console_scripts" + # entry_points and without settings the expected executable permissions, we are + # taking care of it below. + + # A local "cmake" folder can be imported by mistake, keep going if it is + from cmake import ( + CMAKE_BIN_DIR, # pylint: disable=import-outside-toplevel + ) + + for executable in ("cmake", "cpack", "ctest"): + executable = os.path.join(CMAKE_BIN_DIR, executable) + if platform.system().lower() == "windows": + executable += ".exe" + st = os.stat(executable) + permissions = st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + os.chmod(executable, permissions) + cmake_executable = os.path.join(CMAKE_BIN_DIR, "cmake") + break # Languages are used to determine a working generator diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/__init__.py new/scikit-build-0.16.6/tests/__init__.py --- old/scikit-build-0.16.4/tests/__init__.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/__init__.py 2023-01-20 21:19:54.000000000 +0100 @@ -177,8 +177,7 @@ ["git", "reset", ".gitignore"], ["git", "commit", "-m", "Initial commit"], ]: - do_call = subprocess.check_call if verbose else subprocess.check_output - do_call(cmd) + subprocess.run(cmd, stdout=None if verbose else subprocess.PIPE) def prepare_project(project, tmp_project_dir, force=False): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/conftest.py new/scikit-build-0.16.6/tests/conftest.py --- old/scikit-build-0.16.4/tests/conftest.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/conftest.py 2023-01-20 21:19:54.000000000 +0100 @@ -1,3 +1,4 @@ +import importlib.util import os import subprocess import sys @@ -10,6 +11,8 @@ from importlib import metadata +HAS_SETUPTOOLS_SCM = importlib.util.find_spec("setuptools_scm") is not None + DIR = os.path.dirname(os.path.abspath(__file__)) BASE = os.path.dirname(DIR) @@ -21,10 +24,10 @@ def pep518_wheelhouse(tmpdir_factory): wheelhouse = tmpdir_factory.mktemp("wheelhouse") dist = tmpdir_factory.mktemp("dist") - subprocess.check_call([sys.executable, "-m", "build", "--wheel", "--outdir", str(dist)], cwd=BASE) + subprocess.run([sys.executable, "-m", "build", "--wheel", "--outdir", str(dist)], cwd=BASE, check=True) (wheel_path,) = dist.visit("*.whl") - subprocess.check_call([sys.executable, "-m", "pip", "download", "-q", "-d", str(wheelhouse), str(wheel_path)]) - subprocess.check_call( + subprocess.run([sys.executable, "-m", "pip", "download", "-q", "-d", str(wheelhouse), str(wheel_path)], check=True) + subprocess.run( [ sys.executable, "-m", @@ -39,7 +42,8 @@ "ninja", "cmake", "numpy", - ] + ], + check=True, ) return str(wheelhouse) @@ -58,6 +62,7 @@ "packaging", "pip", "setuptools", + "setuptools_scm", "virtualenv", "wheel", } @@ -72,3 +77,8 @@ pkg_line = f"installed packages of interest: {reqs}" return "\n".join([pkg_line]) + + +def pytest_runtest_setup(item: pytest.Item) -> None: + if HAS_SETUPTOOLS_SCM and tuple(item.iter_markers(name="nosetuptoolsscm")): + pytest.exit("Setuptools_scm installed and nosetuptoolsscm tests not skipped.") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_broken_project.py new/scikit-build-0.16.6/tests/test_broken_project.py --- old/scikit-build-0.16.4/tests/test_broken_project.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_broken_project.py 2023-01-20 21:19:54.000000000 +0100 @@ -8,7 +8,7 @@ its value. """ -from subprocess import CalledProcessError, check_output +from subprocess import CalledProcessError, run import pytest @@ -28,19 +28,15 @@ def should_fail(): pass - failed = False - message = "" - try: + with pytest.raises(SystemExit) as excinfo: should_fail() - except SystemExit as e: - failed = isinstance(e.code, SKBuildError) - message = str(e) - assert failed + e = excinfo.value + assert isinstance(e.code, SKBuildError) _, err = capfd.readouterr() assert "Invalid CMakeLists.txt" in err - assert "An error occurred while configuring with CMake." in message + assert "An error occurred while configuring with CMake." in str(e) def test_cmakelists_with_syntaxerror_fails(capfd): @@ -51,19 +47,15 @@ def should_fail(): pass - failed = False - message = "" - try: + with pytest.raises(SystemExit) as excinfo: should_fail() - except SystemExit as e: - failed = isinstance(e.code, SKBuildError) - message = str(e) - assert failed + e = excinfo.value + assert isinstance(e.code, SKBuildError) _, err = capfd.readouterr() assert 'Parse error. Function missing ending ")"' in err - assert "An error occurred while configuring with CMake." in message + assert "An error occurred while configuring with CMake." in str(e) def test_hello_with_compileerror_fails(capfd): @@ -74,19 +66,15 @@ def should_fail(): pass - failed = False - message = "" - try: + with pytest.raises(SystemExit) as excinfo: should_fail() - except SystemExit as e: - failed = isinstance(e.code, SKBuildError) - message = str(e) - assert failed + e = excinfo.value + assert isinstance(e.code, SKBuildError) out, err = capfd.readouterr() assert "_hello.cxx" in out or "_hello.cxx" in err - assert "An error occurred while building with CMake." in message + assert "An error occurred while building with CMake." in str(e) @pytest.mark.parametrize("exception", [CalledProcessError, OSError]) @@ -97,14 +85,14 @@ CalledProcessError: CalledProcessError([CMAKE_DEFAULT_EXECUTABLE, "--version"], 1), } - check_output_original = check_output + run_original = run - def check_output_mock(*args, **kwargs): + def run_mock(*args, **kwargs): if args[0] == [CMAKE_DEFAULT_EXECUTABLE, "--version"]: raise exceptions[exception] - return check_output_original(*args, **kwargs) + return run_original(*args, **kwargs) - mocker.patch("skbuild.cmaker.subprocess.check_output", new=check_output_mock) + mocker.patch("skbuild.cmaker.subprocess.run", new=run_mock) with push_dir(): @@ -112,16 +100,13 @@ def should_fail(): pass - failed = False - message = "" - try: + with pytest.raises(SystemExit) as excinfo: should_fail() - except SystemExit as e: - failed = isinstance(e.code, SKBuildError) - message = str(e) - assert failed - assert "Problem with the CMake installation, aborting build." in message + e = excinfo.value + assert isinstance(e.code, SKBuildError) + + assert "Problem with the CMake installation, aborting build." in str(e) def test_first_invalid_generator(mocker, capfd): @@ -159,16 +144,13 @@ def should_fail(): pass - failed = False - message = "" - try: + with pytest.raises(SystemExit) as excinfo: should_fail() - except SystemExit as e: - failed = isinstance(e.code, SKBuildError) - message = str(e) + + e = excinfo.value + assert isinstance(e.code, SKBuildError) _, err = capfd.readouterr() assert "CMake Error: Could not create named generator Invalid" in err - assert failed - assert "scikit-build could not get a working generator for your system." " Aborting build." in message + assert "scikit-build could not get a working generator for your system." " Aborting build." in str(e) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_distribution.py new/scikit-build-0.16.6/tests/test_distribution.py --- old/scikit-build-0.16.4/tests/test_distribution.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_distribution.py 2023-01-20 21:19:54.000000000 +0100 @@ -13,7 +13,7 @@ def test_source_distribution(virtualenv): - sdists = DIST_DIR.glob("*.tar.gz") if DIST_DIR.exists() else [] + sdists = list(DIST_DIR.glob("*.tar.gz")) if DIST_DIR.exists() else [] if not sdists: pytest.skip("no source distribution available") assert len(sdists) == 1 @@ -28,7 +28,7 @@ def test_wheel(virtualenv): - wheels = DIST_DIR.glob("*.whl") if DIST_DIR.exists() else [] + wheels = list(DIST_DIR.glob("*.whl")) if DIST_DIR.exists() else [] if not wheels: pytest.skip("no wheel available") assert len(wheels) == 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_include_exclude_data.py new/scikit-build-0.16.6/tests/test_include_exclude_data.py --- old/scikit-build-0.16.4/tests/test_include_exclude_data.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_include_exclude_data.py 2023-01-20 21:19:54.000000000 +0100 @@ -1,6 +1,8 @@ import glob import os +import pytest + from skbuild.utils import to_unix_path from . import project_setup_py_test @@ -72,6 +74,7 @@ check_whls("test_include_exclude_data-0.1.0") +@pytest.mark.nosetuptoolsscm @project_setup_py_test("test-include-exclude-data", ["sdist"]) def test_hello_sdist(): check_sdist("test_include_exclude_data-0.1.0") @@ -82,6 +85,7 @@ check_whls("test_include_exclude_data_with_base-0.1.0") +@pytest.mark.nosetuptoolsscm @project_setup_py_test("test-include-exclude-data-with-base", ["sdist"]) def test_hello_sdist_with_base(): check_sdist("test_include_exclude_data_with_base-0.1.0", base="src") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_issue342_cmake_osx_args_in_setup.py new/scikit-build-0.16.6/tests/test_issue342_cmake_osx_args_in_setup.py --- old/scikit-build-0.16.4/tests/test_issue342_cmake_osx_args_in_setup.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_issue342_cmake_osx_args_in_setup.py 2023-01-20 21:19:54.000000000 +0100 @@ -135,6 +135,7 @@ cli_cmake_args, expected_cmake_osx_deployment_target, mocker, + monkeypatch, ): tmp_dir = _tmpdir("cmake_args_keyword_osx_default") @@ -166,28 +167,15 @@ mock_configure = mocker.patch("skbuild.cmaker.CMaker.configure", side_effect=RuntimeError("exit skbuild")) - try: - # allow to run the test on any platform - saved_platform = sys.platform - sys.platform = "darwin" - - def mock_mac_ver(): - return "10.9", None, "x84_64" - - saved_mac_ver = platform.mac_ver - platform.mac_ver = mock_mac_ver - - saved_SKBUILD_PLAT_NAME = skbuild.constants._SKBUILD_PLAT_NAME - - with push_env(MACOSX_DEPLOYMENT_TARGET=osx_deployment_target_env_var): - skbuild.constants._SKBUILD_PLAT_NAME = skbuild.constants._default_skbuild_plat_name() - with pytest.raises(RuntimeError, match="exit skbuild"): - with execute_setup_py(tmp_dir, ["build"] + cli_setup_args + ["--"] + cli_cmake_args): - pass - finally: - sys.platform = saved_platform - platform.mac_ver = saved_mac_ver - skbuild.constants._SKBUILD_PLAT_NAME = saved_SKBUILD_PLAT_NAME + monkeypatch.setattr(platform, "mac_ver", lambda: ("10.9", None, "x84_64")) + monkeypatch.setattr(platform, "machine", lambda: "x86_64") + monkeypatch.setattr(sys, "platform", "darwin") + + with push_env(MACOSX_DEPLOYMENT_TARGET=osx_deployment_target_env_var): + monkeypatch.setattr(skbuild.constants, "_SKBUILD_PLAT_NAME", skbuild.constants._default_skbuild_plat_name()) + with pytest.raises(RuntimeError, match="exit skbuild"): + with execute_setup_py(tmp_dir, ["build"] + cli_setup_args + ["--"] + cli_cmake_args): + pass assert mock_configure.call_count == 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_issue401_sdist_with_symlinks.py new/scikit-build-0.16.6/tests/test_issue401_sdist_with_symlinks.py --- old/scikit-build-0.16.4/tests/test_issue401_sdist_with_symlinks.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_issue401_sdist_with_symlinks.py 2023-01-20 21:19:54.000000000 +0100 @@ -9,6 +9,7 @@ from .pytest_helpers import check_sdist_content +@pytest.mark.nosetuptoolsscm @pytest.mark.skipif(sys.platform == "win32", reason="Symlinks not supported on Windows") @project_setup_py_test("issue-401-sdist-with-symlinks", ["sdist"]) def test_sdist_with_symlinks(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_manifest_in.py new/scikit-build-0.16.6/tests/test_manifest_in.py --- old/scikit-build-0.16.4/tests/test_manifest_in.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_manifest_in.py 2023-01-20 21:19:54.000000000 +0100 @@ -8,10 +8,13 @@ import glob +import pytest + from . import project_setup_py_test from .pytest_helpers import check_sdist_content, check_wheel_content +@pytest.mark.nosetuptoolsscm @project_setup_py_test("manifest-in", ["sdist"], disable_languages_test=True) def test_manifest_in_sdist(): sdists_tar = glob.glob("dist/*.tar.gz") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_numpy.py new/scikit-build-0.16.6/tests/test_numpy.py --- old/scikit-build-0.16.4/tests/test_numpy.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_numpy.py 2023-01-20 21:19:54.000000000 +0100 @@ -10,10 +10,11 @@ BASE = os.path.dirname(DIR) +@pytest.mark.isolated @pytest.mark.skipif(sys.platform.startswith("cygwin"), reason="Needs release of scikit-build to make cmake work") @pytest.mark.skipif( platform.python_implementation() == "PyPy" and sys.version_info >= (3, 9), reason="NumPy not released for PyPy 3.9 yet", ) def test_pep518_findpython(pep518): - subprocess.check_call([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_NUMPY) + subprocess.run([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_NUMPY, check=True) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_pep518.py new/scikit-build-0.16.6/tests/test_pep518.py --- old/scikit-build-0.16.4/tests/test_pep518.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_pep518.py 2023-01-20 21:19:54.000000000 +0100 @@ -9,12 +9,14 @@ BASE = os.path.dirname(DIR) +@pytest.mark.isolated @pytest.mark.skipif(sys.platform.startswith("cygwin"), reason="Needs release of scikit-build to make cmake work") def test_pep518(pep518): - subprocess.check_call([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_PEP518) + subprocess.run([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_PEP518, check=True) +@pytest.mark.isolated @pytest.mark.skipif(sys.platform.startswith("cygwin"), reason="Needs release of scikit-build to make cmake work") def test_dual_pep518(pep518): - subprocess.check_call([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_PEP518) - subprocess.check_call([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_PEP518) + subprocess.run([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_PEP518, check=True) + subprocess.run([sys.executable, "-m", "build", "--wheel"], cwd=HELLO_PEP518, check=True) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scikit-build-0.16.4/tests/test_setup.py new/scikit-build-0.16.6/tests/test_setup.py --- old/scikit-build-0.16.4/tests/test_setup.py 2022-12-16 22:59:22.000000000 +0100 +++ new/scikit-build-0.16.6/tests/test_setup.py 2023-01-20 21:19:54.000000000 +0100 @@ -172,7 +172,7 @@ setup_kwarg = "" if cmake_install_dir is not None: - setup_kwarg = f"cmake_install_dir=r'{cmake_install_dir}'" + setup_kwarg = f"cmake_install_dir={str(cmake_install_dir)!r}" tmp_dir.join("setup.py").write( textwrap.dedent(