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 2022-12-22 16:22:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-scikit-build (Old)
and /work/SRC/openSUSE:Factory/.python-scikit-build.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-scikit-build"
Thu Dec 22 16:22:58 2022 rev:12 rq:1044136 version:0.16.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-scikit-build/python-scikit-build.changes
2022-10-29 20:19:02.870831187 +0200
+++
/work/SRC/openSUSE:Factory/.python-scikit-build.new.1835/python-scikit-build.changes
2022-12-22 16:23:09.430058070 +0100
@@ -1,0 +2,25 @@
+Wed Dec 21 22:23:44 UTC 2022 - Ben Greiner <[email protected]>
+
+- Update to 0.16.4
+ * This releases backports additions for Windows ARM
+ cross-compiling via cibuildwheel from scikit-build-core 0.1.4.
+ * Initial experimental support for Windows ARM cross-compile in
+ #824 and #818
+ * Replace mailing list with GitHub Discussions board in #823
+ * Some CI updates in #811 and #812
+- Version 0.16.3
+ * This release fixes logging issues using setuptools 65.6+
+ affecting our tests. Pytest 7.2+ is now supported. setup.py
+ <command> and setup_requires are deprecated, and tests are
+ marked as such.
+ * Fix typo in usage.rst in #795, thanks to @chohner.
+ * Support pytest 7.2+ in #801.
+ * Change warning filtering in #802.
+ * Handle logging changes in setuptools 65.6+ in #807.
+ * Add deprecated markers to some tests in #807.
+ * Allow known warnings to show up in the tests #807.
+- Version 0.16.2
+ * This addresses one more small regression with the FindPython
+ change from 0.16.0 that was affecting conda. #793
+
+-------------------------------------------------------------------
Old:
----
scikit-build-0.16.1.tar.gz
New:
----
scikit-build-0.16.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-scikit-build.spec ++++++
--- /var/tmp/diff_new_pack.AGTIAs/_old 2022-12-22 16:23:10.094061889 +0100
+++ /var/tmp/diff_new_pack.AGTIAs/_new 2022-12-22 16:23:10.102061935 +0100
@@ -27,7 +27,7 @@
%define skip_python2 1
Name: python-scikit-build%{psuffix}
-Version: 0.16.1
+Version: 0.16.4
Release: 0
Summary: Improved build system generator for Python
C/C++/Fortran/Cython extensions
License: MIT
@@ -53,11 +53,10 @@
Requires: python-typing-extensions >= 3.7
%endif
%if %{with test}
+# Note: When tests fail try `osc build ---clean` in order to get rid of
remnant numpy typing stubs in $HOME
BuildRequires: %{python_module Cython >= 0.25.1}
BuildRequires: %{python_module build >= 0.7}
-BuildRequires: %{python_module flake8 >= 3.0.4}
-BuildRequires: %{python_module path.py >= 11.5.0}
-BuildRequires: %{python_module pytest >= 6.0.0 with %python-pytest < 7.2}
+BuildRequires: %{python_module pytest >= 6.0.0}
BuildRequires: %{python_module pytest-mock >= 1.10.4}
BuildRequires: %{python_module pytest-virtualenv >= 1.2.5}
BuildRequires: %{python_module requests}
@@ -101,8 +100,6 @@
%check
# test_pep518 needs a wheelhouse with downloaded wheels including platform
dependent cmake
donttest="test_pep518"
-# https://github.com/scikit-build/scikit-build/issues/784
-donttest="$donttest or (test_hide_listing and True and bdist_wheel)"
%pytest -k "not ($donttest)"
%endif
++++++ scikit-build-0.16.1.tar.gz -> scikit-build-0.16.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/.flake8
new/scikit-build-0.16.4/.flake8
--- old/scikit-build-0.16.1/.flake8 2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/.flake8 2022-12-16 22:59:22.000000000 +0100
@@ -2,5 +2,5 @@
max-line-length = 120
max-complexity = 18
show-source = True
-extend-ignore = E203, E501, B950
-extend-select = B9
+extend-ignore = E203, E501
+extend-select = B902, B903, B904
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/.github/actions/setup-nox/action.yml
new/scikit-build-0.16.4/.github/actions/setup-nox/action.yml
--- old/scikit-build-0.16.1/.github/actions/setup-nox/action.yml
2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/.github/actions/setup-nox/action.yml
1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-name: Setup Nox
-description: 'Prepares all python versions for nox'
-
-runs:
- using: composite
- steps:
- - uses: actions/setup-python@v4
- with:
- python-version: "pypy-3.7"
- - uses: actions/setup-python@v4
- with:
- python-version: "pypy-3.8"
- - uses: actions/setup-python@v4
- with:
- python-version: "pypy-3.9"
- - uses: actions/setup-python@v4
- with:
- python-version: "3.6"
- - uses: actions/setup-python@v4
- with:
- python-version: "3.7"
- - uses: actions/setup-python@v4
- with:
- python-version: "3.8"
- - uses: actions/setup-python@v4
- with:
- python-version: "3.9"
- - uses: actions/setup-python@v4
- with:
- python-version: "3.10"
- - uses: actions/setup-python@v4
- with:
- python-version: "3.11"
- - name: "Install nox"
- run: pipx install nox
- shell: bash
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/.github/workflows/cd.yml
new/scikit-build-0.16.4/.github/workflows/cd.yml
--- old/scikit-build-0.16.1/.github/workflows/cd.yml 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/.github/workflows/cd.yml 2022-12-16
22:59:22.000000000 +0100
@@ -36,6 +36,6 @@
name: artifact
path: dist
- - uses: pypa/[email protected]
+ - uses: pypa/[email protected]
with:
password: ${{ secrets.pypi_password }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/.github/workflows/ci.yml
new/scikit-build-0.16.4/.github/workflows/ci.yml
--- old/scikit-build-0.16.1/.github/workflows/ci.yml 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/.github/workflows/ci.yml 2022-12-16
22:59:22.000000000 +0100
@@ -29,7 +29,7 @@
strategy:
fail-fast: false
matrix:
- runs-on: [ubuntu-latest, macos-latest, windows-2019, windows-2022]
+ runs-on: [ubuntu-20.04, macos-latest, windows-2019, windows-2022]
name: Tests on ${{ matrix.runs-on }}
steps:
@@ -54,7 +54,9 @@
echo "SKBUILD_TEST_FIND_VS2022_INSTALLATION_EXPECTED=1" >> $GITHUB_ENV
- name: Setup nox
- uses: ./.github/actions/setup-nox
+ uses: wntrblm/[email protected]
+ with:
+ python-versions: "3.6,3.7,3.8,3.9,3.10,3.11"
# We check all Python's on Linux, because it's fast.
# We check minimum Python and maximum Python on all OS's.
@@ -85,7 +87,7 @@
with:
fetch-depth: 0
- - uses: cygwin/cygwin-install-action@v2
+ - uses: cygwin/cygwin-install-action@v3
with:
platform: x86_64
packages: cmake ninja git make gcc-g++ gcc-fortran python39
python39-devel python39-pip
@@ -97,7 +99,6 @@
env:
TMP: /tmp
TEMP: /tmp
- SETUPTOOLS_SCM_PRETEND_VERSION: "0.15"
run: python3.9 -m nox -s tests-3.9
@@ -117,7 +118,7 @@
fetch-depth: 0
- name: Setup nox
- uses: ./.github/actions/setup-nox
+ uses: wntrblm/[email protected]
- uses: actions/setup-python@v4
with:
@@ -144,3 +145,14 @@
- name: Check metadata
run: pipx run twine check dist/*
+
+
+ pass:
+ if: always()
+ needs: [tests, tests-pypy, dist]
+ runs-on: ubuntu-latest
+ steps:
+ - name: Decide whether the needed jobs succeeded or failed
+ uses: re-actors/alls-green@release/v1
+ with:
+ jobs: ${{ toJSON(needs) }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/.gitignore
new/scikit-build-0.16.4/.gitignore
--- old/scikit-build-0.16.1/.gitignore 2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/.gitignore 2022-12-16 22:59:22.000000000 +0100
@@ -57,3 +57,5 @@
.coverage*
skbuild/_version.py
+
+/*env*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/.pre-commit-config.yaml
new/scikit-build-0.16.4/.pre-commit-config.yaml
--- old/scikit-build-0.16.1/.pre-commit-config.yaml 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/.pre-commit-config.yaml 2022-12-16
22:59:22.000000000 +0100
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: "v4.3.0"
+ rev: "v4.4.0"
hooks:
- id: check-added-large-files
- id: check-case-conflict
@@ -22,18 +22,18 @@
- id: fix-smartquotes
- repo: https://github.com/PyCQA/isort
- rev: "5.10.1"
+ rev: "5.11.1"
hooks:
- id: isort
- repo: https://github.com/asottile/pyupgrade
- rev: "v3.1.0"
+ rev: "v3.3.1"
hooks:
- id: pyupgrade
args: [--py36-plus]
- repo: https://github.com/psf/black
- rev: "22.10.0" # Keep in sync with blacken-docs
+ rev: "22.12.0" # Keep in sync with blacken-docs
hooks:
- id: black
exclude: ^docs/conf\.py$
@@ -46,7 +46,7 @@
- black==22.8.0 # keep in sync with black hook
- repo: https://github.com/PyCQA/flake8
- rev: "5.0.4"
+ rev: "6.0.0"
hooks:
- id: flake8
exclude: "^docs/conf.py$"
@@ -73,14 +73,14 @@
- id: rst-inline-touching-normal
- repo: https://github.com/mgedmin/check-manifest
- rev: "0.48"
+ rev: "0.49"
hooks:
- id: check-manifest
stages: [manual]
additional_dependencies: ["setuptools_scm[toml]"]
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: "v0.982"
+ rev: "v0.991"
hooks:
- id: mypy
files: ^skbuild
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/CHANGES.rst
new/scikit-build-0.16.4/CHANGES.rst
--- old/scikit-build-0.16.1/CHANGES.rst 2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/CHANGES.rst 2022-12-16 22:59:22.000000000 +0100
@@ -3,13 +3,56 @@
=============
This is the list of changes to scikit-build between each release. For full
-details, see the commit logs at http://github.com/scikit-build/scikit-build
+details, see the commit logs at https://github.com/scikit-build/scikit-build
Next Release
============
-We are hard at work on the next generation of scikit-build. We are also
-continuing to fix bugs, make improvements, and backport changes here.
+We are hard at work on the next generation of scikit-build
+`scikit-build-core <https://github.com/scikit-build/scikit-build-core>`_, which
+has had it's first non-development release. We are also continuing to fix bugs,
+make improvements, and backport changes here.
+
+Documentation
+-------------
+
+* scikit-build mailing list transitioned to the `scikit-build GitHub
Discussions board <https://github.com/orgs/scikit-build/discussions>`_. See
:issue:`800`.
+ * Transitioning away from the mailing list and adopting the GitHub
Discussions will provide a more integrated platform enabling us to more
effectively engage with the community.
+ * 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.4
+===================
+
+This releases backports additions for Windows ARM cross-compiling via
+cibuildwheel from scikit-build-core 0.1.4.
+
+* Initial experimental support for Windows ARM cross-compile in :pr:`824` and
:pr:`818`
+* Replace mailing list with GitHub Discussions board in :pr:`823`
+* Some CI updates in :pr:`811` and :pr:`812`
+
+
+Scikit-build 0.16.3
+===================
+
+This release fixes logging issues using setuptools 65.6+ affecting our tests.
+Pytest 7.2+ is now supported. ``setup.py <command>`` and ``setup_requires``
+are deprecated, and tests are marked as such.
+
+
+* Fix typo in usage.rst in :pr:`795`, thanks to :user:`chohner`.
+* Support pytest 7.2+ in :pr:`801`.
+* Change warning filtering in :pr:`802`.
+* Handle logging changes in setuptools 65.6+ in :pr:`807`.
+* Add deprecated markers to some tests in :pr:`807`.
+* Allow known warnings to show up in the tests :pr:`807`.
+
+
+Scikit-build 0.16.2
+===================
+
+This addresses one more small regression with the FindPython change from
+0.16.0 that was affecting conda. :pr:`793`.
Scikit-build 0.16.1
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/PKG-INFO
new/scikit-build-0.16.4/PKG-INFO
--- old/scikit-build-0.16.1/PKG-INFO 2022-10-29 17:35:33.958998200 +0200
+++ new/scikit-build-0.16.4/PKG-INFO 2022-12-16 22:59:30.974336900 +0100
@@ -1,15 +1,14 @@
Metadata-Version: 2.1
Name: scikit-build
-Version: 0.16.1
+Version: 0.16.4
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
-Author-email: [email protected]
License: MIT
Project-URL: Documentation, https://scikit-build.readthedocs.io/
Project-URL: Bug Tracker, https://github.com/scikit-build/scikit-build/issues
Project-URL: Changelog,
https://scikit-build.readthedocs.io/en/latest/changes.html
-Project-URL: Mailing List, https://groups.google.com/forum/#!forum/scikit-build
+Project-URL: Discussions, https://github.com/orgs/scikit-build/discussions
Project-URL: Examples,
https://github.com/scikit-build/scikit-build-sample-projects
Keywords: scikit-build
Classifier: Development Status :: 2 - Pre-Alpha
@@ -45,6 +44,10 @@
:target: https://codecov.io/gh/scikit-build/scikit-build
:alt: Code coverage status
+.. image::
https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
+ :target: https://github.com/orgs/scikit-build/discussions
+ :alt: GitHub Discussion
+
Improved build system generator for CPython C/C++/Fortran/Cython extensions.
Better support is available for additional compilers, build systems, cross
@@ -109,7 +112,7 @@
* Free software: MIT license
* Documentation: http://scikit-build.readthedocs.org
* Source code: https://github.com/scikit-build/scikit-build
-* Mailing list: https://groups.google.com/forum/#!forum/scikit-build
+* Discussions: https://github.com/orgs/scikit-build/discussions
Support for this work was provided by NSF cooperative agreement `OAC-2209877
<https://www.nsf.gov/awardsearch/showAward?AWD_ID=2209877>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/README.rst
new/scikit-build-0.16.4/README.rst
--- old/scikit-build-0.16.1/README.rst 2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/README.rst 2022-12-16 22:59:22.000000000 +0100
@@ -12,6 +12,10 @@
:target: https://codecov.io/gh/scikit-build/scikit-build
:alt: Code coverage status
+.. image::
https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
+ :target: https://github.com/orgs/scikit-build/discussions
+ :alt: GitHub Discussion
+
Improved build system generator for CPython C/C++/Fortran/Cython extensions.
Better support is available for additional compilers, build systems, cross
@@ -76,7 +80,7 @@
* Free software: MIT license
* Documentation: http://scikit-build.readthedocs.org
* Source code: https://github.com/scikit-build/scikit-build
-* Mailing list: https://groups.google.com/forum/#!forum/scikit-build
+* Discussions: https://github.com/orgs/scikit-build/discussions
Support for this work was provided by NSF cooperative agreement `OAC-2209877
<https://www.nsf.gov/awardsearch/showAward?AWD_ID=2209877>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/docs/index.rst
new/scikit-build-0.16.4/docs/index.rst
--- old/scikit-build-0.16.1/docs/index.rst 2022-10-29 17:35:21.000000000
+0200
+++ new/scikit-build-0.16.4/docs/index.rst 2022-12-16 22:59:22.000000000
+0100
@@ -52,4 +52,4 @@
* Free software: MIT license
* Documentation: http://scikit-build.readthedocs.io/en/latest/
* Source code: https://github.com/scikit-build/scikit-build
-* Mailing list: https://groups.google.com/forum/#!forum/scikit-build
+* Discussions: https://github.com/orgs/scikit-build/discussions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/docs/make_a_release.rst
new/scikit-build-0.16.4/docs/make_a_release.rst
--- old/scikit-build-0.16.1/docs/make_a_release.rst 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/docs/make_a_release.rst 2022-12-16
22:59:22.000000000 +0100
@@ -148,21 +148,11 @@
-10. Send an email to the `scikit-build mailing list`_ based on the following
template:
-
- ::
-
- On behalf of the scikit-build team, I am pleased to announce that the
version X.Y.Z is available for download:
-
- pip install --upgrade scikit-build <--- This line should be formatted
using fixed size font
-
- Thank you to everyone who contributed their time to test, write issue
reports and contribute patches!
-
- <copy here content of the changelog for release X.Y.X including the
release name>
+10. Add an entry to the ``Announcements`` category of the `scikit-build
discussions board`_.
.. note::
- For examples of announcements, see
https://groups.google.com/g/scikit-build/search?q=announce%20subject%3Ascikit-build
+ For examples of announcements, see
https://github.com/orgs/scikit-build/discussions/categories/announcements
.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.io/
@@ -175,7 +165,7 @@
.. _PyPI: https://pypi.org/project/scikit-build
.. _TestPyPI: https://test.pypi.org/project/scikit-build
-.. _scikit-build mailing list: https://groups.google.com/g/scikit-build
+.. _scikit-build discussions board:
https://github.com/orgs/scikit-build/discussions/categories/announcements
-----------------------
`Conda`_: Step-by-step
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/docs/usage.rst
new/scikit-build-0.16.4/docs/usage.rst
--- old/scikit-build-0.16.1/docs/usage.rst 2022-10-29 17:35:21.000000000
+0200
+++ new/scikit-build-0.16.4/docs/usage.rst 2022-12-16 22:59:22.000000000
+0100
@@ -155,7 +155,7 @@
- ``cmake_source_dir``: Relative directory containing the project
``CMakeLists.txt``.
By default, it is set to the top-level directory where ``setup.py`` is found.
-- ``cmake_process_manifest_hook``: Python function consumming the list of
files to be
+- ``cmake_process_manifest_hook``: Python function consuming the list of files
to be
installed produced by cmake. For example, ``cmake_process_manifest_hook``
can be used
to exclude static libraries from the built wheel.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/noxfile.py
new/scikit-build-0.16.4/noxfile.py
--- old/scikit-build-0.16.1/noxfile.py 2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/noxfile.py 2022-12-16 22:59:22.000000000 +0100
@@ -38,6 +38,8 @@
contained = "1" if version in known_MSVC else "0"
env[f"SKBUILD_TEST_FIND_VS{version}_INSTALLATION_EXPECTED"] =
contained
+ # Latest versions may break things, so grab them for testing!
+ session.install("-U", "setuptools", "wheel")
session.install("-e", ".[test]")
session.run("pytest", *posargs, env=env)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/pyproject.toml
new/scikit-build-0.16.4/pyproject.toml
--- old/scikit-build-0.16.1/pyproject.toml 2022-10-29 17:35:21.000000000
+0200
+++ new/scikit-build-0.16.4/pyproject.toml 2022-12-16 22:59:22.000000000
+0100
@@ -79,16 +79,18 @@
norecursedirs = ["_skbuild"]
xfail_strict = true
filterwarnings = [
- "error",
- "ignore:setup.py install is deprecated:Warning",
- "ignore:easy_install command is deprecated:Warning",
- "ignore:.*ends with a trailing slash, which is not supported by
setuptools:FutureWarning",
+ 'error',
+ 'default:setup.py install is deprecated:Warning',
+ 'default:easy_install command is deprecated:Warning',
+ 'ignore:.*ends with a trailing slash, which is not supported by
setuptools:FutureWarning',
"ignore:Config variable 'Py_DEBUG' is unset:RuntimeWarning",
"ignore:Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be
incorrect:RuntimeWarning",
- 'ignore:\s*Installing .* as data is deprecated:Warning',
- "ignore:shell/Perl-style subs.* are deprecated:DeprecationWarning",
+ 'default:\s*Installing .* as data is deprecated:Warning',
+ 'default:shell/Perl-style subs.* are deprecated:DeprecationWarning',
+ 'default:subprocess .* is still running:ResourceWarning',
]
log_cli_level = "info"
markers = [
- "fortran: fortran testing",
+ "fortran: Fortran testing",
+ "deprecated: These tests deprecated setuptools features",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/requirements-dev.txt
new/scikit-build-0.16.4/requirements-dev.txt
--- old/scikit-build-0.16.1/requirements-dev.txt 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/requirements-dev.txt 2022-12-16
22:59:22.000000000 +0100
@@ -3,8 +3,8 @@
coverage>=4.2
cython>=0.25.1
flake8>=3.0.4
-path.py>=11.5.0
-pytest>=6.0.0,<7.2.0
+importlib-metadata;python_version<"3.8"
+pytest>=6.0.0
pytest-cov>=2.7.1
pytest-mock>=1.10.4
pytest-runner>=5.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/scikit_build.egg-info/PKG-INFO
new/scikit-build-0.16.4/scikit_build.egg-info/PKG-INFO
--- old/scikit-build-0.16.1/scikit_build.egg-info/PKG-INFO 2022-10-29
17:35:33.000000000 +0200
+++ new/scikit-build-0.16.4/scikit_build.egg-info/PKG-INFO 2022-12-16
22:59:30.000000000 +0100
@@ -1,15 +1,14 @@
Metadata-Version: 2.1
Name: scikit-build
-Version: 0.16.1
+Version: 0.16.4
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
-Author-email: [email protected]
License: MIT
Project-URL: Documentation, https://scikit-build.readthedocs.io/
Project-URL: Bug Tracker, https://github.com/scikit-build/scikit-build/issues
Project-URL: Changelog,
https://scikit-build.readthedocs.io/en/latest/changes.html
-Project-URL: Mailing List, https://groups.google.com/forum/#!forum/scikit-build
+Project-URL: Discussions, https://github.com/orgs/scikit-build/discussions
Project-URL: Examples,
https://github.com/scikit-build/scikit-build-sample-projects
Keywords: scikit-build
Classifier: Development Status :: 2 - Pre-Alpha
@@ -45,6 +44,10 @@
:target: https://codecov.io/gh/scikit-build/scikit-build
:alt: Code coverage status
+.. image::
https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
+ :target: https://github.com/orgs/scikit-build/discussions
+ :alt: GitHub Discussion
+
Improved build system generator for CPython C/C++/Fortran/Cython extensions.
Better support is available for additional compilers, build systems, cross
@@ -109,7 +112,7 @@
* Free software: MIT license
* Documentation: http://scikit-build.readthedocs.org
* Source code: https://github.com/scikit-build/scikit-build
-* Mailing list: https://groups.google.com/forum/#!forum/scikit-build
+* Discussions: https://github.com/orgs/scikit-build/discussions
Support for this work was provided by NSF cooperative agreement `OAC-2209877
<https://www.nsf.gov/awardsearch/showAward?AWD_ID=2209877>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/scikit_build.egg-info/SOURCES.txt
new/scikit-build-0.16.4/scikit_build.egg-info/SOURCES.txt
--- old/scikit-build-0.16.1/scikit_build.egg-info/SOURCES.txt 2022-10-29
17:35:33.000000000 +0200
+++ new/scikit-build-0.16.4/scikit_build.egg-info/SOURCES.txt 2022-12-16
22:59:30.000000000 +0100
@@ -21,7 +21,6 @@
requirements.txt
setup.py
.github/dependabot.yml
-.github/actions/setup-nox/action.yml
.github/workflows/cd.yml
.github/workflows/ci.yml
docs/Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/scikit_build.egg-info/requires.txt
new/scikit-build-0.16.4/scikit_build.egg-info/requires.txt
--- old/scikit-build-0.16.1/scikit_build.egg-info/requires.txt 2022-10-29
17:35:33.000000000 +0200
+++ new/scikit-build-0.16.4/scikit_build.egg-info/requires.txt 2022-12-16
22:59:30.000000000 +0100
@@ -19,8 +19,7 @@
coverage>=4.2
cython>=0.25.1
flake8>=3.0.4
-path.py>=11.5.0
-pytest<7.2.0,>=6.0.0
+pytest>=6.0.0
pytest-cov>=2.7.1
pytest-mock>=1.10.4
pytest-runner>=5.1
@@ -29,3 +28,6 @@
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.1/setup.py
new/scikit-build-0.16.4/setup.py
--- old/scikit-build-0.16.1/setup.py 2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/setup.py 2022-12-16 22:59:22.000000000 +0100
@@ -26,14 +26,13 @@
long_description_content_type="text/x-rst; charset=UTF-8",
long_description=readme + "\n\n" + history,
author="The scikit-build team",
- author_email="[email protected]",
url="https://github.com/scikit-build/scikit-build",
packages=setuptools.find_packages(include=["skbuild*"]),
project_urls={
"Documentation": "https://scikit-build.readthedocs.io/",
"Bug Tracker": "https://github.com/scikit-build/scikit-build/issues",
"Changelog":
"https://scikit-build.readthedocs.io/en/latest/changes.html",
- "Mailing List": "https://groups.google.com/forum/#!forum/scikit-build",
+ "Discussions": "https://github.com/orgs/scikit-build/discussions",
"Examples":
"https://github.com/scikit-build/scikit-build-sample-projects",
},
package_data={"skbuild": ["resources/cmake/*.cmake", "py.typed", "*.pyi"]},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/_version.py
new/scikit-build-0.16.4/skbuild/_version.py
--- old/scikit-build-0.16.1/skbuild/_version.py 2022-10-29 17:35:33.000000000
+0200
+++ new/scikit-build-0.16.4/skbuild/_version.py 2022-12-16 22:59:30.000000000
+0100
@@ -1,5 +1,5 @@
# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
-__version__ = version = '0.16.1'
-__version_tuple__ = version_tuple = (0, 16, 1)
+__version__ = version = '0.16.4'
+__version_tuple__ = version_tuple = (0, 16, 4)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/cmaker.py
new/scikit-build-0.16.4/skbuild/cmaker.py
--- old/scikit-build-0.16.1/skbuild/cmaker.py 2022-10-29 17:35:21.000000000
+0200
+++ new/scikit-build-0.16.4/skbuild/cmaker.py 2022-12-16 22:59:22.000000000
+0100
@@ -4,6 +4,7 @@
import argparse
+import configparser
import contextlib
import glob
import itertools
@@ -289,6 +290,7 @@
[
f"{prefix}_EXECUTABLE:PATH={sys.executable}",
f"{prefix}_ROOT_DIR:PATH={sys.prefix}",
+ f"{prefix}_INCLUDE_DIR:PATH={python_include_dir}",
f"{prefix}_FIND_REGISTRY:STRING=NEVER",
]
)
@@ -302,7 +304,7 @@
if generator.toolset:
cmd.extend(["-T", generator.toolset])
- if generator.architecture:
+ if generator.architecture and "Visual Studio" in generator.name:
cmd.extend(["-A", generator.architecture])
if ninja_executable_path is not None:
cmd.append(f"-DCMAKE_MAKE_PROGRAM:FILEPATH={ninja_executable_path}")
@@ -367,6 +369,8 @@
if not python_version:
python_version = ".".join(map(str, sys.version_info[:2]))
+ assert isinstance(python_version, str)
+
return python_version
# NOTE(opadron): The try-excepts raise the cyclomatic complexity, but we
@@ -476,12 +480,23 @@
>>> print('python_library = {!r}'.format(python_library))
python_library = '.../conda/envs/py37/include/python3.7m'
"""
+ # On Windows, support cross-compiling in the same way as setuptools
+ # When cross-compiling, check DIST_EXTRA_CONFIG first
+ config_file = os.environ.get("DIST_EXTRA_CONFIG", None)
+ if config_file and Path(config_file).is_file():
+ cp = configparser.ConfigParser()
+ cp.read(config_file)
+ result = cp.get("build_ext", "library_dirs", fallback="")
+ if result:
+ minor = sys.version_info[1]
+ return str(Path(result) / f"python3{minor}.lib")
+
# This seems to be the simplest way to detect the library path with
# modern python versions that avoids the complicated construct below.
# It avoids guessing the library name. Tested with cpython 3.8 and
# pypy 3.8 on Ubuntu.
- libdir = sysconfig.get_config_var("LIBDIR")
- ldlibrary = sysconfig.get_config_var("LDLIBRARY")
+ libdir: Optional[str] = sysconfig.get_config_var("LIBDIR")
+ ldlibrary: Optional[str] = sysconfig.get_config_var("LDLIBRARY")
if libdir and ldlibrary and os.path.exists(libdir):
if sysconfig.get_config_var("MULTIARCH"):
masd = sysconfig.get_config_var("multiarchsubdir")
@@ -492,7 +507,7 @@
if os.path.exists(libdir_masd):
libdir = libdir_masd
libpath = os.path.join(libdir, ldlibrary)
- if os.path.exists(libpath):
+ if libpath and os.path.exists(libpath):
return libpath
return CMaker._guess_python_library(python_version)
@@ -500,7 +515,7 @@
@staticmethod
def _guess_python_library(python_version: str) -> Optional[str]:
# determine direct path to libpython
- python_library = sysconfig.get_config_var("LIBRARY")
+ python_library: Optional[str] = sysconfig.get_config_var("LIBRARY")
# if static (or nonexistent), try to find a suitable dynamic libpython
if not python_library or os.path.splitext(python_library)[1][-2:] ==
".a":
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/command/build_py.py
new/scikit-build-0.16.4/skbuild/command/build_py.py
--- old/scikit-build-0.16.1/skbuild/command/build_py.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/command/build_py.py 2022-12-16
22:59:22.000000000 +0100
@@ -7,7 +7,7 @@
from setuptools.command.build_py import build_py as _build_py
from ..constants import CMAKE_INSTALL_DIR
-from ..utils import distribution_hide_listing, distutils_log
+from ..utils import distribution_hide_listing, logger
from . import set_build_base_mixin
@@ -38,7 +38,7 @@
"""
with distribution_hide_listing(self.distribution):
super().run(*args, **kwargs)
- distutils_log.info("copied %d files", self.outfiles_count)
+ logger.info("copied %d files", self.outfiles_count)
def find_modules(self) -> List[Tuple[str, str, str]]:
"""Finds individually-specified Python modules, ie. those listed by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/command/clean.py
new/scikit-build-0.16.4/skbuild/command/clean.py
--- old/scikit-build-0.16.1/skbuild/command/clean.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/command/clean.py 2022-12-16
22:59:22.000000000 +0100
@@ -7,7 +7,7 @@
from distutils.command.clean import clean as _clean
from ..constants import CMAKE_BUILD_DIR, CMAKE_INSTALL_DIR, SKBUILD_DIR
-from ..utils import distutils_log
+from ..utils import logger
from . import set_build_base_mixin
@@ -20,7 +20,7 @@
super().run()
for dir_ in (CMAKE_INSTALL_DIR(), CMAKE_BUILD_DIR(), SKBUILD_DIR()):
if os.path.exists(dir_):
- distutils_log.info("removing '%s'", dir_)
+ logger.info("removing '%s'", dir_)
# This seems to be there but isn't typed in the stubs TODO
if not self.dry_run and os.path.exists(dir_): # type:
ignore[attr-defined]
rmtree(dir_)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/command/install_lib.py
new/scikit-build-0.16.4/skbuild/command/install_lib.py
--- old/scikit-build-0.16.1/skbuild/command/install_lib.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/command/install_lib.py 2022-12-16
22:59:22.000000000 +0100
@@ -5,7 +5,7 @@
from setuptools.command.install_lib import install_lib as _install_lib
-from ..utils import distribution_hide_listing, distutils_log
+from ..utils import distribution_hide_listing, logger
from . import CommandMixinProtocol, set_build_base_mixin
@@ -17,5 +17,5 @@
with distribution_hide_listing(self.distribution):
outfiles: List[str] = super().install() # type: ignore[misc]
if outfiles is not None:
- distutils_log.info("copied %d files", len(outfiles))
+ logger.info("copied %d files", len(outfiles))
return outfiles
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/skbuild/command/install_scripts.py
new/scikit-build-0.16.4/skbuild/command/install_scripts.py
--- old/scikit-build-0.16.1/skbuild/command/install_scripts.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/command/install_scripts.py 2022-12-16
22:59:22.000000000 +0100
@@ -5,7 +5,7 @@
from setuptools.command.install_scripts import install_scripts as
_install_scripts
-from ..utils import distribution_hide_listing, distutils_log
+from ..utils import distribution_hide_listing, logger
from . import CommandMixinProtocol, set_build_base_mixin
@@ -16,4 +16,4 @@
"""Handle --hide-listing option."""
with distribution_hide_listing(self.distribution):
super().run(*args, **kwargs) # type: ignore[misc]
- distutils_log.info("copied %d files", len(self.outfiles))
+ logger.info("copied %d files", len(self.outfiles))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/command/sdist.py
new/scikit-build-0.16.4/skbuild/command/sdist.py
--- old/scikit-build-0.16.1/skbuild/command/sdist.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/command/sdist.py 2022-12-16
22:59:22.000000000 +0100
@@ -4,7 +4,7 @@
from setuptools.command.sdist import sdist as _sdist
-from ..utils import distribution_hide_listing, distutils_log
+from ..utils import distribution_hide_listing, logger
from . import CommandMixinProtocol, set_build_base_mixin
@@ -15,7 +15,7 @@
"""Handle --hide-listing option."""
with distribution_hide_listing(self.distribution):
super().make_release_tree(base_dir, files) # type: ignore[misc]
- distutils_log.info("copied %d files", len(files))
+ logger.info("copied %d files", len(files))
def make_archive(
self,
@@ -27,7 +27,7 @@
group: Optional[str] = None,
) -> str:
"""Handle --hide-listing option."""
- distutils_log.info("creating '%s' %s archive and adding '%s' to it",
base_name, _format, base_dir)
+ logger.info("creating '%s' %s archive and adding '%s' to it",
base_name, _format, base_dir)
with distribution_hide_listing(self.distribution): # type:
ignore[attr-defined]
return super().make_archive(base_name, _format, root_dir,
base_dir, owner, group)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/skbuild/platform_specifics/abstract.py
new/scikit-build-0.16.4/skbuild/platform_specifics/abstract.py
--- old/scikit-build-0.16.1/skbuild/platform_specifics/abstract.py
2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/platform_specifics/abstract.py
2022-12-16 22:59:22.000000000 +0100
@@ -230,7 +230,7 @@
cmd = [cmake_exe_path, "../", "-G", generator.name]
if generator.toolset:
cmd.extend(["-T", generator.toolset])
- if generator.architecture:
+ if generator.architecture and "Visual Studio" in
generator.name:
cmd.extend(["-A", generator.architecture])
cmd.extend(cmake_args)
cmd.extend(generator.args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/skbuild/platform_specifics/windows.py
new/scikit-build-0.16.4/skbuild/platform_specifics/windows.py
--- old/scikit-build-0.16.1/skbuild/platform_specifics/windows.py
2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/platform_specifics/windows.py
2022-12-16 22:59:22.000000000 +0100
@@ -33,6 +33,12 @@
"2022": "1930", # VS 2022 - can be +9
}
+ARCH_TO_MSVC_ARCH = {
+ "Win32": "x86",
+ "ARM64": "x86_arm64",
+ "x64": "x86_amd64",
+}
+
class CachedEnv(TypedDict):
PATH: str
@@ -108,6 +114,15 @@
return self._vs_help
+def _compute_arch() -> str:
+ """Currently only supports Intel -> ARM cross-compilation."""
+ if platform.machine() == "ARM64" or "arm64" in
os.environ.get("SETUPTOOLS_EXT_SUFFIX", "").lower():
+ return "ARM64"
+ if platform.architecture()[0] == "64bit":
+ return "x64"
+ return "Win32"
+
+
class CMakeVisualStudioIDEGenerator(CMakeGenerator):
"""
Represents a Visual Studio CMake generator.
@@ -184,7 +199,7 @@
.. note::
- - For VS 2017 and newer, returns `path` based on the result of
invoking ``vswhere.exe``.
+ - Returns `path` based on the result of invoking ``vswhere.exe``.
"""
return _find_visual_studio_2017_or_newer(vs_version)
@@ -200,24 +215,17 @@
Return a dictionary of environment variables corresponding to
``vs_version``
that can be used with :class:`CMakeVisualStudioCommandLineGenerator`.
- The ``vs_toolset`` is used only for Visual Studio 2017 or newer
(``vs_version >= 14``).
+ The ``vs_toolset`` is used only for Visual Studio 2017 or newer
(``vs_version >= 15``).
If specified, ``vs_toolset`` is used to set the `-vcvars_ver=XX.Y`
argument passed to
``vcvarsall.bat`` script.
"""
# Set architecture
- arch = "x86"
- if platform.machine() == "ARM64":
- arch = "x86_arm64"
- elif platform.architecture()[0] == "64bit":
- if vs_version < 14:
- arch = "amd64"
- else:
- arch = "x86_amd64"
+ vc_arch = ARCH_TO_MSVC_ARCH[_compute_arch()]
# If any, return cached version
- cache_key = ",".join([str(vs_version), arch, str(vs_toolset)])
+ cache_key = ",".join([str(vs_version), vc_arch, str(vs_toolset)])
if cache_key in __get_msvc_compiler_env_cache:
return __get_msvc_compiler_env_cache[cache_key]
@@ -230,7 +238,7 @@
# Set vcvars_ver argument based on toolset
vcvars_ver = ""
- if vs_toolset is not None and vs_version >= 15:
+ if vs_toolset is not None:
match = re.findall(r"^v(\d\d)(\d+)$", vs_toolset)[0]
if match:
match_str = ".".join(match)
@@ -238,7 +246,7 @@
try:
out_bytes = subprocess.check_output(
- f'cmd /u /c "{vcvarsall}" {arch} {vcvars_ver} && set',
+ f'cmd /u /c "{vcvarsall}" {vc_arch} {vcvars_ver} && set',
stderr=subprocess.STDOUT,
shell=sys.platform.startswith("cygwin"),
)
@@ -280,10 +288,10 @@
If set, the ``toolset`` defines the `Visual Studio Toolset` to select.
- The platform (32-bit or 64-bit) is automatically selected based
- on the value of ``platform.architecture()[0]``.
+ The platform (32-bit or 64-bit or ARM) is automatically selected.
"""
+ arch = _compute_arch()
vc_env = _get_msvc_compiler_env(VS_YEAR_TO_VERSION[year], toolset)
env = {str(key.upper()): str(value) for key, value in vc_env.items()}
- super().__init__(name, env, args=args)
+ super().__init__(name, env, arch=arch, args=args)
self._description = f"{self.name}
({CMakeVisualStudioIDEGenerator(year, toolset).description})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/setuptools_wrap.py
new/scikit-build-0.16.4/skbuild/setuptools_wrap.py
--- old/scikit-build-0.16.1/skbuild/setuptools_wrap.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/setuptools_wrap.py 2022-12-16
22:59:22.000000000 +0100
@@ -451,7 +451,7 @@
print("Traceback (most recent call last):", file=sys.stderr)
traceback.print_tb(sys.exc_info()[2])
print(file=sys.stderr, flush=True)
- sys.exit(ex)
+ sys.exit(ex) # type: ignore[arg-type]
# Convert source dir to a path relative to the root
# of the project
@@ -639,14 +639,14 @@
_save_cmake_spec(cmake_spec)
cmkr.make(make_args, install_target=cmake_install_target, env=env)
except SKBuildGeneratorNotFoundError as ex:
- sys.exit(ex)
+ sys.exit(ex) # type: ignore[arg-type]
except SKBuildError as ex:
import traceback # pylint: disable=import-outside-toplevel
print("Traceback (most recent call last):", file=sys.stderr)
traceback.print_tb(sys.exc_info()[2])
print(file=sys.stderr, flush=True)
- sys.exit(ex)
+ sys.exit(ex) # type: ignore[arg-type]
# If needed, set reasonable defaults for package_dir
for package in packages:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/skbuild/utils/__init__.py
new/scikit-build-0.16.4/skbuild/utils/__init__.py
--- old/scikit-build-0.16.1/skbuild/utils/__init__.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/skbuild/utils/__init__.py 2022-12-16
22:59:22.000000000 +0100
@@ -3,6 +3,7 @@
import contextlib
import logging
import os
+import sys
from contextlib import contextmanager
from typing import (
Any,
@@ -23,18 +24,31 @@
from distutils.filelist import FileList
from distutils.text_file import TextFile
-distutils_log: logging.Logger
+if sys.version_info >= (3, 8):
+ from typing import Protocol
+else:
+ from typing_extensions import Protocol
+
+
+class CommonLog(Protocol):
+ def info(self, __msg: str, *args: object) -> None:
+ ...
+
+
+logger: CommonLog
try:
import setuptools.logging # noqa: F401
- distutils_log = logging.getLogger("skbuild")
- distutils_log.setLevel(logging.INFO)
+ skb_log = logging.getLogger("skbuild")
+ skb_log.setLevel(logging.INFO)
logging_module = True
+ logger = skb_log
except ImportError:
- from distutils import log as distutils_log # type: ignore[misc]
+ from distutils import log as distutils_log
+ logger = distutils_log
logging_module = False
@@ -45,7 +59,7 @@
def _log_warning(msg: str, *args: object) -> None:
try:
if logging_module:
- distutils_log.warning(msg, *args)
+ skb_log.warning(msg, *args)
else:
distutils_log.warn(msg, *args) # pylint: disable=deprecated-method
except ValueError:
@@ -195,14 +209,16 @@
"""
hide_listing = hasattr(distribution, "hide_listing") and
distribution.hide_listing # type: ignore[attr-defined]
-
+ wheel_log = logging.getLogger("wheel")
+ root_log = logging.getLogger() # setuptools 65.6+ needs this hidden too
if logging_module:
# Setuptools 60.2+, will always be on Python 3.6+
- old_level = distutils_log.getEffectiveLevel()
- if hide_listing:
- distutils_log.setLevel(logging.WARNING)
+ old_wheel_level = wheel_log.getEffectiveLevel()
+ old_root_level = root_log.getEffectiveLevel()
try:
if hide_listing:
+ wheel_log.setLevel(logging.WARNING)
+ root_log.setLevel(logging.WARNING)
# The classic logger doesn't respond to set_threshold anymore,
# but it does log info and above to stdout, so let's hide that
with open(os.devnull, "w", encoding="utf-8") as f,
contextlib.redirect_stdout(f):
@@ -210,16 +226,18 @@
else:
yield hide_listing
finally:
- distutils_log.setLevel(old_level)
+ if hide_listing:
+ wheel_log.setLevel(old_wheel_level)
+ root_log.setLevel(old_root_level)
else:
old_threshold = distutils_log._global_log.threshold # type:
ignore[attr-defined]
if hide_listing:
- distutils_log.set_threshold(distutils_log.WARN) # type:
ignore[attr-defined]
+ distutils_log.set_threshold(distutils_log.WARN)
try:
yield hide_listing
finally:
- distutils_log.set_threshold(old_threshold) # type:
ignore[attr-defined]
+ distutils_log.set_threshold(old_threshold)
def parse_manifestin(template: str) -> List[str]:
@@ -250,8 +268,8 @@
# malformed lines, or a ValueError from the lower-level
# convert_path function
except (DistutilsTemplateError, ValueError) as msg:
- filename = template_file.filename if hasattr(template_file,
"filename") else "Unknown" # type: ignore[attr-defined]
- current_line = template_file.current_line if
hasattr(template_file, "current_line") else "Unknown" # type:
ignore[attr-defined]
+ filename = template_file.filename if hasattr(template_file,
"filename") else "Unknown"
+ current_line = template_file.current_line if
hasattr(template_file, "current_line") else "Unknown"
print(f"{filename}, line {current_line}: {msg}", flush=True)
return file_list.files
finally:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/__init__.py
new/scikit-build-0.16.4/tests/__init__.py
--- old/scikit-build-0.16.1/tests/__init__.py 2022-10-29 17:35:21.000000000
+0200
+++ new/scikit-build-0.16.4/tests/__init__.py 2022-12-16 22:59:22.000000000
+0100
@@ -247,7 +247,7 @@
yield
-def project_setup_py_test(project, setup_args, tmp_dir=None, verbose_git=True,
disable_languages_test=False):
+def project_setup_py_test(project, setup_args, tmp_dir=None, verbose_git=True,
disable_languages_test=False, ret=False):
def dec(fun):
@functools.wraps(fun)
def wrapped(*iargs, **ikwargs):
@@ -260,7 +260,9 @@
with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args,
disable_languages_test=disable_languages_test):
result2 = fun(*iargs, **ikwargs)
- return wrapped.tmp_dir, result2
+ if ret:
+ return wrapped.tmp_dir, result2
+ return None
wrapped.project = project
wrapped.setup_args = setup_args
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/conftest.py
new/scikit-build-0.16.4/tests/conftest.py
--- old/scikit-build-0.16.1/tests/conftest.py 2022-10-29 17:35:21.000000000
+0200
+++ new/scikit-build-0.16.4/tests/conftest.py 2022-12-16 22:59:22.000000000
+0100
@@ -4,6 +4,12 @@
import pytest
+if sys.version_info < (3, 8):
+ import importlib_metadata as metadata
+else:
+ from importlib import metadata
+
+
DIR = os.path.dirname(os.path.abspath(__file__))
BASE = os.path.dirname(DIR)
@@ -43,3 +49,26 @@
monkeypatch.setenv("PIP_FIND_LINKS", pep518_wheelhouse)
monkeypatch.setenv("PIP_NO_INDEX", "true")
return pep518_wheelhouse
+
+
+def pytest_report_header() -> str:
+ interesting_packages = {
+ "build",
+ "distro",
+ "packaging",
+ "pip",
+ "setuptools",
+ "virtualenv",
+ "wheel",
+ }
+ valid = []
+ for package in interesting_packages:
+ try:
+ version = metadata.version(package) # type:
ignore[no-untyped-call]
+ except ModuleNotFoundError:
+ continue
+ valid.append(f"{package}=={version}")
+ reqs = " ".join(sorted(valid))
+ pkg_line = f"installed packages of interest: {reqs}"
+
+ return "\n".join([pkg_line])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/test_cmaker.py
new/scikit-build-0.16.4/tests/test_cmaker.py
--- old/scikit-build-0.16.1/tests/test_cmaker.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/tests/test_cmaker.py 2022-12-16
22:59:22.000000000 +0100
@@ -204,6 +204,7 @@
[
f"{prefix}_EXECUTABLE",
f"{prefix}_ROOT_DIR",
+ f"{prefix}_INCLUDE_DIR",
f"{prefix}_FIND_IMPLEMENTATIONS",
f"{prefix}_FIND_REGISTRY",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/test_distribution.py
new/scikit-build-0.16.4/tests/test_distribution.py
--- old/scikit-build-0.16.1/tests/test_distribution.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/tests/test_distribution.py 2022-12-16
22:59:22.000000000 +0100
@@ -1,11 +1,11 @@
-import os
+from pathlib import Path
import pytest
-from path import Path
from . import initialize_git_repo_and_commit, prepare_project
-DIST_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../dist"))
+DIR = Path(__file__).parent.resolve()
+DIST_DIR = DIR.parent / "dist"
# Test if package can be imported to allow testing on
# conda-forge where ``pytest-virtualenv`` is not available.
@@ -13,7 +13,7 @@
def test_source_distribution(virtualenv):
- sdists = Path(DIST_DIR).files(match="*.tar.gz") if Path(DIST_DIR).exists()
else []
+ sdists = 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 = Path(DIST_DIR).files(match="*.whl") if Path(DIST_DIR).exists()
else []
+ wheels = 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.1/tests/test_hello_cpp.py
new/scikit-build-0.16.4/tests/test_hello_cpp.py
--- old/scikit-build-0.16.1/tests/test_hello_cpp.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/tests/test_hello_cpp.py 2022-12-16
22:59:22.000000000 +0100
@@ -11,7 +11,7 @@
import pytest
-from skbuild.constants import CMAKE_BUILD_DIR, CMAKE_INSTALL_DIR, SKBUILD_DIR
+from skbuild.constants import CMAKE_BUILD_DIR, SKBUILD_DIR
from skbuild.utils import push_dir
from . import SAMPLES_DIR, _copy_dir, _tmpdir, get_ext_suffix,
project_setup_py_test
@@ -21,7 +21,7 @@
def test_hello_builds():
with push_dir():
- @project_setup_py_test("hello-cpp", ["build"])
+ @project_setup_py_test("hello-cpp", ["build"], ret=True)
def run():
pass
@@ -84,7 +84,7 @@
expected_distribution_name = "hello-1.2.3"
- @project_setup_py_test("hello-cpp", ["bdist_wheel"])
+ @project_setup_py_test("hello-cpp", ["bdist_wheel"], ret=True)
def build_wheel():
whls = glob.glob("dist/*.whl")
assert len(whls) == 1
@@ -113,7 +113,7 @@
dry_run = dry_run == "with-dry-run"
- @project_setup_py_test("hello-cpp", ["build"])
+ @project_setup_py_test("hello-cpp", ["build"], ret=True)
def run_build():
pass
@@ -163,25 +163,22 @@
# Check that a project can be cleaned twice in a row
run_build()
- print("<<-->>")
- run_clean()
- print("<<-->>")
- run_clean()
+ capfd.readouterr()
+ caplog.clear()
- _, clean1_out, clean2_out = capfd.readouterr()[0].split("<<-->>")
-
- clean1_out = clean1_out.strip()
- clean2_out = clean2_out.strip()
-
- assert "running clean" == clean1_out.splitlines()[0]
- if caplog.text.count("removing") != 3:
- assert f"removing '{CMAKE_INSTALL_DIR()}'" ==
clean1_out.splitlines()[1]
- assert f"removing '{CMAKE_BUILD_DIR()}'" == clean1_out.splitlines()[2]
- assert f"removing '{SKBUILD_DIR()}'" == clean1_out.splitlines()[3]
+ run_clean()
+ txt1 = caplog.text
+ msg = capfd.readouterr().out + txt1
+ assert "running clean" in msg
+ caplog.clear()
- assert "running clean" == clean2_out
+ run_clean()
+ txt2 = caplog.text
+ msg = capfd.readouterr().out + txt2
+ assert "running clean" in msg
[email protected]
@project_setup_py_test("hello-cpp", ["develop"])
def test_hello_develop():
for expected_file in [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/test_hello_pure.py
new/scikit-build-0.16.4/tests/test_hello_pure.py
--- old/scikit-build-0.16.1/tests/test_hello_pure.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/tests/test_hello_pure.py 2022-12-16
22:59:22.000000000 +0100
@@ -58,7 +58,7 @@
def test_hello_clean(capfd):
with push_dir():
- @project_setup_py_test("hello-pure", ["build"],
disable_languages_test=True)
+ @project_setup_py_test("hello-pure", ["build"],
disable_languages_test=True, ret=True)
def run_build():
pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/tests/test_issue274_support_default_package_dir.py
new/scikit-build-0.16.4/tests/test_issue274_support_default_package_dir.py
--- old/scikit-build-0.16.1/tests/test_issue274_support_default_package_dir.py
2022-10-29 17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/tests/test_issue274_support_default_package_dir.py
2022-12-16 22:59:22.000000000 +0100
@@ -1,3 +1,5 @@
+import pytest
+
from . import (
_tmpdir,
execute_setup_py,
@@ -8,11 +10,13 @@
)
[email protected]
@project_setup_py_test("issue-274-support-default-package-dir", ["install"],
disable_languages_test=True)
def test_install_command():
pass
[email protected]
def test_test_command():
with push_dir():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/tests/test_issue274_support_one_package_without_package_dir.py
new/scikit-build-0.16.4/tests/test_issue274_support_one_package_without_package_dir.py
---
old/scikit-build-0.16.1/tests/test_issue274_support_one_package_without_package_dir.py
2022-10-29 17:35:21.000000000 +0200
+++
new/scikit-build-0.16.4/tests/test_issue274_support_one_package_without_package_dir.py
2022-12-16 22:59:22.000000000 +0100
@@ -1,3 +1,5 @@
+import pytest
+
from . import (
_tmpdir,
execute_setup_py,
@@ -8,11 +10,13 @@
)
[email protected]
@project_setup_py_test("issue-274-support-one-package-without-package-dir",
["install"], disable_languages_test=True)
def test_install_command():
pass
[email protected]
def test_test_command():
with push_dir():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/scikit-build-0.16.1/tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py
new/scikit-build-0.16.4/tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py
---
old/scikit-build-0.16.1/tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py
2022-10-29 17:35:21.000000000 +0200
+++
new/scikit-build-0.16.4/tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py
2022-12-16 22:59:22.000000000 +0100
@@ -1,6 +1,9 @@
+import pytest
+
from . import project_setup_py_test
[email protected]
@project_setup_py_test("issue-334-configure-cmakelist-non-cp1252-encoding",
["install"], disable_languages_test=True)
def test_install_command():
pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/test_logging.py
new/scikit-build-0.16.4/tests/test_logging.py
--- old/scikit-build-0.16.1/tests/test_logging.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/tests/test_logging.py 2022-12-16
22:59:22.000000000 +0100
@@ -1,8 +1,9 @@
+import logging
from types import SimpleNamespace
import pytest
-from skbuild.utils import distribution_hide_listing, distutils_log
+from skbuild.utils import distribution_hide_listing
setuptools_logging = pytest.importorskip("setuptools.logging")
@@ -14,7 +15,7 @@
distribution.hide_listing = True
with distribution_hide_listing(distribution):
- distutils_log.info("This is hidden")
+ logging.getLogger("wheel").info("This is hidden")
assert "This is hidden" not in caplog.text
@@ -26,6 +27,6 @@
distribution.hide_listing = False
with distribution_hide_listing(distribution):
- distutils_log.info("This is not hidden")
+ logging.getLogger("wheel").info("This is not hidden")
assert "This is not hidden" in caplog.text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/test_setup.py
new/scikit-build-0.16.4/tests/test_setup.py
--- old/scikit-build-0.16.1/tests/test_setup.py 2022-10-29 17:35:21.000000000
+0200
+++ new/scikit-build-0.16.4/tests/test_setup.py 2022-12-16 22:59:22.000000000
+0100
@@ -146,7 +146,7 @@
("banana", False, str),
),
)
-def test_cmake_install_dir_keyword(cmake_install_dir, expected_failed,
error_code_type, capsys):
+def test_cmake_install_dir_keyword(cmake_install_dir, expected_failed,
error_code_type, capsys, caplog):
# -------------------------------------------------------------------------
# "SOURCE" tree layout:
@@ -220,6 +220,7 @@
message = str(e)
out, _ = capsys.readouterr()
+ out += caplog.text
assert failed == expected_failed
if failed:
@@ -320,6 +321,7 @@
assert "CMake version 99.98.97 or higher is required." in message
[email protected]
@pytest.mark.filterwarnings("ignore:setuptools.installer is
deprecated:Warning")
@pytest.mark.skipif(
os.environ.get("CONDA_BUILD", "0") == "1",
@@ -379,7 +381,7 @@
@pytest.mark.parametrize("distribution_type", ("pure", "skbuild"))
-def test_script_keyword(distribution_type, capsys):
+def test_script_keyword(distribution_type, capsys, caplog):
# -------------------------------------------------------------------------
#
@@ -458,12 +460,13 @@
pass
out, _ = capsys.readouterr()
+ out += caplog.text
for message in messages:
assert to_platform_path(message) in out
@pytest.mark.parametrize("distribution_type", ("pure", "skbuild"))
-def test_py_modules_keyword(distribution_type, capsys):
+def test_py_modules_keyword(distribution_type, capsys, caplog):
# -------------------------------------------------------------------------
#
@@ -539,6 +542,7 @@
pass
out, _ = capsys.readouterr()
+ out += caplog.text
for message in messages:
assert to_platform_path(message) in out
@@ -943,7 +947,7 @@
@pytest.mark.parametrize("with_cmake_source_dir", [0, 1])
-def test_cmake_install_into_pure_package(with_cmake_source_dir, capsys):
+def test_cmake_install_into_pure_package(with_cmake_source_dir, capsys,
caplog):
# -------------------------------------------------------------------------
# "SOURCE" tree layout:
@@ -1056,6 +1060,7 @@
]
out, _ = capsys.readouterr()
+ out += caplog.text
for message in messages:
assert to_platform_path(message) in out
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/scikit-build-0.16.1/tests/test_skbuild.py
new/scikit-build-0.16.4/tests/test_skbuild.py
--- old/scikit-build-0.16.1/tests/test_skbuild.py 2022-10-29
17:35:21.000000000 +0200
+++ new/scikit-build-0.16.4/tests/test_skbuild.py 2022-12-16
22:59:22.000000000 +0100
@@ -82,9 +82,9 @@
this_platform = platform.system().lower()
if this_platform not in generator_platform[generator]:
- pytest.skip(f"{generator} generator is available only on
{this_platform.title()}")
+ pytest.skip(f"{generator} generator is not available on
{this_platform.title()}")
- @project_setup_py_test("hello-cpp", ["build"])
+ @project_setup_py_test("hello-cpp", ["build"], ret=True)
def run_build():
pass
@@ -127,8 +127,8 @@
@pytest.mark.skipif(sys.platform != "win32", reason="Requires Windows")
[email protected]("vs_year", ["2015", "2017", "2019", "2022"])
-def test_platform_windows_find_visual_studio(vs_year):
[email protected]("vs_year", ["2017", "2019", "2022"])
+def test_platform_windows_find_visual_studio(vs_year, capsys):
"""If the environment variable
``SKBUILD_TEST_FIND_VS<vs_year>_INSTALLATION_EXPECTED`` is set,
this test asserts the value returned by
:func:`skbuild.platforms.windows.find_visual_studio()`.
It skips the test otherwise.
@@ -143,6 +143,8 @@
valid_path_expected = bool(int(os.environ[env_var]))
vs_path = find_visual_studio(VS_YEAR_TO_VERSION[vs_year])
if valid_path_expected:
+ with capsys.disabled():
+ print(f"\nFound VS {vs_year} @ {vs_path}")
assert os.path.exists(vs_path)
else:
assert vs_path == ""
@@ -160,7 +162,7 @@
if arch == "64bit":
vs_generator += " Win64"
- @project_setup_py_test("hello-cpp", ["build", "-G", vs_generator])
+ @project_setup_py_test("hello-cpp", ["build", "-G", vs_generator],
ret=True)
def run_build():
pass