Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-setuptools-rust for
openSUSE:Factory checked in at 2023-05-09 13:06:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-setuptools-rust (Old)
and /work/SRC/openSUSE:Factory/.python-setuptools-rust.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-setuptools-rust"
Tue May 9 13:06:01 2023 rev:8 rq:1084862 version:1.6.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-setuptools-rust/python-setuptools-rust.changes
2023-04-22 22:00:58.577401494 +0200
+++
/work/SRC/openSUSE:Factory/.python-setuptools-rust.new.1533/python-setuptools-rust.changes
2023-05-09 13:06:04.980572857 +0200
@@ -1,0 +2,11 @@
+Thu May 4 19:54:42 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 1.6.0:
+ * Prefer passing `--crate-type` option to cargo if "toolchain
+ >= 1.64".
+ * Fix a bug where rebuilding the library would cause any
+ running processes using it to segfault. #295
+ * Fix `setup.cfg` format for compatibility with
+ "poetry==1.4.0". #319
+
+-------------------------------------------------------------------
Old:
----
setuptools-rust-1.5.2.tar.gz
New:
----
setuptools-rust-1.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-setuptools-rust.spec ++++++
--- /var/tmp/diff_new_pack.o67Bj4/_old 2023-05-09 13:06:06.084579428 +0200
+++ /var/tmp/diff_new_pack.o67Bj4/_new 2023-05-09 13:06:06.092579475 +0200
@@ -19,7 +19,7 @@
%global skip_python2 1
%{?sle15_python_module_pythons}
Name: python-setuptools-rust
-Version: 1.5.2
+Version: 1.6.0
Release: 0
Summary: Setuptools plugin for Rust extensions
License: BSD-3-Clause
++++++ setuptools-rust-1.5.2.tar.gz -> setuptools-rust-1.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/.bumpversion.cfg
new/setuptools-rust-1.6.0/.bumpversion.cfg
--- old/setuptools-rust-1.5.2/.bumpversion.cfg 2022-09-19 21:43:59.000000000
+0200
+++ new/setuptools-rust-1.6.0/.bumpversion.cfg 2023-04-27 22:50:09.000000000
+0200
@@ -1,7 +1,7 @@
[bumpversion]
commit = True
tag = False
-current_version = 1.5.2
+current_version = 1.6.0
message = release: {new_version}
[bumpversion:file:setup.cfg]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/.github/workflows/ci.yml
new/setuptools-rust-1.6.0/.github/workflows/ci.yml
--- old/setuptools-rust-1.5.2/.github/workflows/ci.yml 2022-09-19
21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/.github/workflows/ci.yml 2023-04-27
22:50:09.000000000 +0200
@@ -16,7 +16,7 @@
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: "3.x"
@@ -30,7 +30,7 @@
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: "3.x"
@@ -44,16 +44,12 @@
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Install Rust toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: stable
- profile: minimal
- default: true
+ uses: dtolnay/rust-toolchain@stable
- run: pip install nox
@@ -66,7 +62,7 @@
# If one platform fails, allow the rest to keep testing if
`CI-no-fail-fast` label is present
fail-fast: ${{ !contains(github.event.pull_request.labels.*.name,
'CI-no-fail-fast') }}
matrix:
- python-version: ["3.7", "3.8", "3.9", "3.10", pypy-3.7, pypy-3.8]
+ python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12-dev",
pypy-3.7, pypy-3.8, pypy-3.9]
platform: [
{ os: "macos-latest", python-architecture: "x64", rust-target:
"x86_64-apple-darwin" },
{ os: "ubuntu-latest", python-architecture: "x64", rust-target:
"x86_64-unknown-linux-gnu" },
@@ -80,23 +76,23 @@
# No 32-bit pypy 3.8 on Windows
- python-version: pypy-3.8
platform: { os: "windows-latest", python-architecture: "x86" }
+ # No 32-bit pypy 3.9 on Windows
+ - python-version: pypy-3.9
+ platform: { os: "windows-latest", python-architecture: "x86" }
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.platform.python-architecture }}
- name: Install Rust toolchain
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@stable
with:
- toolchain: stable
- target: ${{ matrix.platform.rust-target }}
- profile: minimal
- default: true
+ targets: ${{ matrix.platform.rust-target }}
- name: Install Rust aarch64-apple-darwin target
if: matrix.platform.os == 'macos-latest'
@@ -148,15 +144,11 @@
steps:
- uses: actions/checkout@master
- name: Setup python
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: 3.9
- - uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- override: true
+ - uses: dtolnay/rust-toolchain@stable
- name: Install Rust aarch64-apple-darwin target
if: matrix.os == 'macos-latest'
@@ -168,6 +160,7 @@
- name: Build an abi3 wheel
shell: bash
run: |
+ set -e
cd examples/rust_with_cffi/
python --version
pip install -U wheel
@@ -180,13 +173,14 @@
# Now we switch to a differnet Python version and ensure we can install
# the wheel we just built.
- name: Setup python
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install abi3 wheel and run tests
shell: bash
run: |
+ set -e
cd examples/
pip install -U wheel
python --version
@@ -194,6 +188,14 @@
python -c "from rust_with_cffi import rust; assert rust.rust_func()
== 14"
python -c "from rust_with_cffi.cffi import lib; assert
lib.cffi_func() == 15"
+ - name: Run abi3audit
+ shell: bash
+ run: |
+ set -e
+ pip install abi3audit
+ cd examples/
+ abi3audit rust_with_cffi/dist/rust_with_cffi*.whl
+
test-crossenv:
runs-on: ubuntu-latest
strategy:
@@ -251,14 +253,10 @@
steps:
- uses: actions/checkout@v3
- name: Setup python
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: 3.8
- - uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- override: true
+ - uses: dtolnay/rust-toolchain@stable
- name: Install cross
uses: taiki-e/install-action@v1
with:
@@ -298,15 +296,12 @@
steps:
- uses: actions/checkout@v3
- name: Setup python
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: 3.8
- - uses: actions-rs/toolchain@v1
+ - uses: dtolnay/rust-toolchain@stable
with:
- profile: minimal
- toolchain: stable
- target: aarch64-unknown-linux-gnu
- override: true
+ targets: aarch64-unknown-linux-gnu
- name: Install cargo-zigbuild
run: |
python3 -m pip install cargo-zigbuild
@@ -345,12 +340,9 @@
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- - uses: actions-rs/toolchain@v1
+ - uses: dtolnay/rust-toolchain@stable
with:
- profile: minimal
- toolchain: stable
- target: aarch64-apple-darwin
- override: true
+ targets: aarch64-apple-darwin
- uses: pypa/[email protected]
env:
CIBW_BUILD: cp39-*
@@ -384,11 +376,9 @@
mingw-w64-${{ matrix.arch }}-openssl
mingw-w64-${{ matrix.arch }}-toolchain
- - uses: actions-rs/toolchain@v1
+ - uses: dtolnay/rust-toolchain@master
with:
- profile: minimal
toolchain: stable-${{ matrix.rust_target }}
- default: true
- name: Install test dependencies
shell: msys2 {0}
@@ -419,24 +409,21 @@
cd node_modules/pyodide/
node ../prettier/bin-prettier.js -w pyodide.asm.js
EMSCRIPTEN_VERSION=$(node -p
"require('./repodata.json').info.platform.split('_').slice(1).join('.')")
- PYTHON_VERSION=3.10.2
+ PYTHON_VERSION=3.10
echo "PYODIDE_VERSION=$PYODIDE_VERSION" >> $GITHUB_ENV
echo "EMSCRIPTEN_VERSION=$EMSCRIPTEN_VERSION" >> $GITHUB_ENV
echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_ENV
echo "ORIG_PATH=$PATH" >> $GITHUB_ENV
- - uses: actions-rs/toolchain@v1
+ - uses: dtolnay/rust-toolchain@nightly
with:
- profile: minimal
- toolchain: nightly
components: rust-src
- target: wasm32-unknown-emscripten
- override: true
+ targets: wasm32-unknown-emscripten
- uses: mymindstorm/setup-emsdk@v11
with:
version: ${{env.EMSCRIPTEN_VERSION}}
actions-cache-folder: emsdk-cache
- - uses: actions/setup-python@v2
+ - uses: actions/setup-python@v4
id: setup-python
with:
python-version: ${{env.PYTHON_VERSION}}
@@ -446,7 +433,7 @@
path: |
tests/pyodide
key: ${{ hashFiles('tests/*.js') }} - ${{ hashFiles('noxfile.py') }}
- ${{ steps.setup-python.outputs.python-path }}
- - uses: Swatinem/rust-cache@v1
+ - uses: Swatinem/rust-cache@v2
- name: Test
run: |
export PATH=$ORIG_PATH:$PATH
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/.github/workflows/python-publish.yml
new/setuptools-rust-1.6.0/.github/workflows/python-publish.yml
--- old/setuptools-rust-1.5.2/.github/workflows/python-publish.yml
2022-09-19 21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/.github/workflows/python-publish.yml
2023-04-27 22:50:09.000000000 +0200
@@ -14,12 +14,12 @@
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
# Fetch all history so that setuptools_scm works correctly
fetch-depth: 0
- name: Set up Python
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/CHANGELOG.md
new/setuptools-rust-1.6.0/CHANGELOG.md
--- old/setuptools-rust-1.5.2/CHANGELOG.md 2022-09-19 21:43:59.000000000
+0200
+++ new/setuptools-rust-1.6.0/CHANGELOG.md 2023-04-27 22:50:09.000000000
+0200
@@ -1,5 +1,13 @@
# Changelog
+## 1.6.0 (2023-04-27)
+### Changed
+- Prefer passing `--crate-type` option to cargo if "toolchain >= 1.64".
[#322](https://github.com/PyO3/setuptools-rust/pull/322)
+
+### Fixed
+- Fix a bug where rebuilding the library would cause any running processes
using it to segfault. [#295](https://github.com/PyO3/setuptools-rust/pull/295)
+- Fix `setup.cfg` format for compatibility with "poetry==1.4.0".
[#319](https://github.com/PyO3/setuptools-rust/pull/319)
+
## 1.5.2 (2022-09-19)
### Fixed
- Fix regression in `dylib` build artifacts not being found since 1.5.0.
[#290](https://github.com/PyO3/setuptools-rust/pull/290)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/PKG-INFO
new/setuptools-rust-1.6.0/PKG-INFO
--- old/setuptools-rust-1.5.2/PKG-INFO 2022-09-19 21:44:07.116004200 +0200
+++ new/setuptools-rust-1.6.0/PKG-INFO 2023-04-27 22:50:21.898828300 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: setuptools-rust
-Version: 1.5.2
+Version: 1.6.0
Summary: Setuptools Rust extension plugin
Home-page: https://github.com/PyO3/setuptools-rust
Author: Nikolay Kim
@@ -11,11 +11,11 @@
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/docs/conf.py
new/setuptools-rust-1.6.0/docs/conf.py
--- old/setuptools-rust-1.5.2/docs/conf.py 2022-09-19 21:43:59.000000000
+0200
+++ new/setuptools-rust-1.6.0/docs/conf.py 2023-04-27 22:50:09.000000000
+0200
@@ -63,7 +63,6 @@
class RelativeDocLinks(SphinxTransform):
-
default_priority = 750
def apply(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/examples/html-py-ever/Cargo.lock
new/setuptools-rust-1.6.0/examples/html-py-ever/Cargo.lock
--- old/setuptools-rust-1.5.2/examples/html-py-ever/Cargo.lock 2022-09-19
21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/examples/html-py-ever/Cargo.lock 2023-04-27
22:50:09.000000000 +0200
@@ -234,9 +234,9 @@
[[package]]
name = "memoffset"
-version = "0.6.5"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
dependencies = [
"autocfg",
]
@@ -376,9 +376,9 @@
[[package]]
name = "pyo3"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f72538a0230791398a0986a6518ebd88abc3fded89007b506ed072acc831e1"
+checksum = "cfb848f80438f926a9ebddf0a539ed6065434fd7aae03a89312a9821f81b8501"
dependencies = [
"cfg-if",
"indoc",
@@ -393,9 +393,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4cf18c20f4f09995f3554e6bcf9b09bd5e4d6b67c562fdfaafa644526ba479"
+checksum = "98a42e7f42e917ce6664c832d5eee481ad514c98250c49e0b03b20593e2c7ed0"
dependencies = [
"once_cell",
"target-lexicon",
@@ -403,9 +403,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41877f28d8ebd600b6aa21a17b40c3b0fc4dfe73a27b6e81ab3d895e401b0e9"
+checksum = "a0707f0ab26826fe4ccd59b69106e9df5e12d097457c7b8f9c0fd1d2743eec4d"
dependencies = [
"libc",
"pyo3-build-config",
@@ -413,9 +413,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e81c8d4bcc2f216dc1b665412df35e46d12ee8d3d046b381aad05f1fcf30547"
+checksum = "978d18e61465ecd389e1f235ff5a467146dc4e3c3968b90d274fe73a5dd4a438"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -425,9 +425,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85752a767ee19399a78272cc2ab625cd7d373b2e112b4b13db28de71fa892784"
+checksum = "8e0e1128f85ce3fca66e435e08aa2089a2689c1c48ce97803e13f63124058462"
dependencies = [
"proc-macro2",
"quote",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/examples/html-py-ever/Cargo.toml
new/setuptools-rust-1.6.0/examples/html-py-ever/Cargo.toml
--- old/setuptools-rust-1.5.2/examples/html-py-ever/Cargo.toml 2022-09-19
21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/examples/html-py-ever/Cargo.toml 2023-04-27
22:50:09.000000000 +0200
@@ -6,7 +6,7 @@
[dependencies]
kuchiki = "0.8.0"
-pyo3 = { version = "0.17.1", features = ["extension-module"] }
+pyo3 = { version = "0.18.2", features = ["extension-module"] }
tendril = "0.4.3"
[lib]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/examples/namespace_package/Cargo.lock
new/setuptools-rust-1.6.0/examples/namespace_package/Cargo.lock
--- old/setuptools-rust-1.5.2/examples/namespace_package/Cargo.lock
2022-09-19 21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/examples/namespace_package/Cargo.lock
2023-04-27 22:50:10.000000000 +0200
@@ -55,9 +55,9 @@
[[package]]
name = "memoffset"
-version = "0.6.5"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
dependencies = [
"autocfg",
]
@@ -111,9 +111,9 @@
[[package]]
name = "pyo3"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f72538a0230791398a0986a6518ebd88abc3fded89007b506ed072acc831e1"
+checksum = "cfb848f80438f926a9ebddf0a539ed6065434fd7aae03a89312a9821f81b8501"
dependencies = [
"cfg-if",
"indoc",
@@ -128,9 +128,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4cf18c20f4f09995f3554e6bcf9b09bd5e4d6b67c562fdfaafa644526ba479"
+checksum = "98a42e7f42e917ce6664c832d5eee481ad514c98250c49e0b03b20593e2c7ed0"
dependencies = [
"once_cell",
"target-lexicon",
@@ -138,9 +138,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41877f28d8ebd600b6aa21a17b40c3b0fc4dfe73a27b6e81ab3d895e401b0e9"
+checksum = "a0707f0ab26826fe4ccd59b69106e9df5e12d097457c7b8f9c0fd1d2743eec4d"
dependencies = [
"libc",
"pyo3-build-config",
@@ -148,9 +148,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e81c8d4bcc2f216dc1b665412df35e46d12ee8d3d046b381aad05f1fcf30547"
+checksum = "978d18e61465ecd389e1f235ff5a467146dc4e3c3968b90d274fe73a5dd4a438"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -160,9 +160,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85752a767ee19399a78272cc2ab625cd7d373b2e112b4b13db28de71fa892784"
+checksum = "8e0e1128f85ce3fca66e435e08aa2089a2689c1c48ce97803e13f63124058462"
dependencies = [
"proc-macro2",
"quote",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/examples/namespace_package/Cargo.toml
new/setuptools-rust-1.6.0/examples/namespace_package/Cargo.toml
--- old/setuptools-rust-1.5.2/examples/namespace_package/Cargo.toml
2022-09-19 21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/examples/namespace_package/Cargo.toml
2023-04-27 22:50:10.000000000 +0200
@@ -7,4 +7,4 @@
crate-type = ["cdylib", "rlib"]
[dependencies]
-pyo3 = { version = "0.17.1", features = ["extension-module"] }
+pyo3 = { version = "0.18.2", features = ["extension-module"] }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/examples/rust_with_cffi/Cargo.lock
new/setuptools-rust-1.6.0/examples/rust_with_cffi/Cargo.lock
--- old/setuptools-rust-1.5.2/examples/rust_with_cffi/Cargo.lock
2022-09-19 21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/examples/rust_with_cffi/Cargo.lock
2023-04-27 22:50:10.000000000 +0200
@@ -55,9 +55,9 @@
[[package]]
name = "memoffset"
-version = "0.6.5"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
dependencies = [
"autocfg",
]
@@ -104,9 +104,9 @@
[[package]]
name = "pyo3"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f72538a0230791398a0986a6518ebd88abc3fded89007b506ed072acc831e1"
+checksum = "cfb848f80438f926a9ebddf0a539ed6065434fd7aae03a89312a9821f81b8501"
dependencies = [
"cfg-if",
"indoc",
@@ -121,9 +121,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4cf18c20f4f09995f3554e6bcf9b09bd5e4d6b67c562fdfaafa644526ba479"
+checksum = "98a42e7f42e917ce6664c832d5eee481ad514c98250c49e0b03b20593e2c7ed0"
dependencies = [
"once_cell",
"target-lexicon",
@@ -131,9 +131,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41877f28d8ebd600b6aa21a17b40c3b0fc4dfe73a27b6e81ab3d895e401b0e9"
+checksum = "a0707f0ab26826fe4ccd59b69106e9df5e12d097457c7b8f9c0fd1d2743eec4d"
dependencies = [
"libc",
"pyo3-build-config",
@@ -141,9 +141,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e81c8d4bcc2f216dc1b665412df35e46d12ee8d3d046b381aad05f1fcf30547"
+checksum = "978d18e61465ecd389e1f235ff5a467146dc4e3c3968b90d274fe73a5dd4a438"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -153,9 +153,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.17.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85752a767ee19399a78272cc2ab625cd7d373b2e112b4b13db28de71fa892784"
+checksum = "8e0e1128f85ce3fca66e435e08aa2089a2689c1c48ce97803e13f63124058462"
dependencies = [
"proc-macro2",
"quote",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/examples/rust_with_cffi/Cargo.toml
new/setuptools-rust-1.6.0/examples/rust_with_cffi/Cargo.toml
--- old/setuptools-rust-1.5.2/examples/rust_with_cffi/Cargo.toml
2022-09-19 21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/examples/rust_with_cffi/Cargo.toml
2023-04-27 22:50:10.000000000 +0200
@@ -5,7 +5,7 @@
edition = "2018"
[dependencies]
-pyo3 = { version = "0.17.1", features = ["extension-module"] }
+pyo3 = { version = "0.18.2", features = ["extension-module"] }
[lib]
name = "rust_with_cffi"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/setup.cfg
new/setuptools-rust-1.6.0/setup.cfg
--- old/setuptools-rust-1.5.2/setup.cfg 2022-09-19 21:44:07.116004200 +0200
+++ new/setuptools-rust-1.6.0/setup.cfg 2023-04-27 22:50:21.898828300 +0200
@@ -1,6 +1,6 @@
[metadata]
name = setuptools-rust
-version = 1.5.2
+version = 1.6.0
author = Nikolay Kim
author_email = [email protected]
license = MIT
@@ -14,11 +14,11 @@
License :: OSI Approved :: MIT License
Intended Audience :: Developers
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
Development Status :: 5 - Production/Stable
Operating System :: POSIX
Operating System :: MacOS :: MacOS X
@@ -27,7 +27,10 @@
[options]
packages = setuptools_rust
zip_safe = True
-install_requires = setuptools>=62.4; semantic_version>=2.8.2,<3;
typing_extensions>=3.7.4.3
+install_requires =
+ setuptools>=62.4
+ semantic_version>=2.8.2,<3
+ typing_extensions>=3.7.4.3
setup_requires = setuptools>=62.4
python_requires = >=3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/setuptools_rust/build.py
new/setuptools-rust-1.6.0/setuptools_rust/build.py
--- old/setuptools-rust-1.5.2/setuptools_rust/build.py 2022-09-19
21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/setuptools_rust/build.py 2023-04-27
22:50:10.000000000 +0200
@@ -20,6 +20,7 @@
from typing import Dict, Iterable, List, NamedTuple, Optional, Set, Tuple, cast
import pkg_resources
+from semantic_version import Version
from setuptools.command.build import build as CommandBuild # type:
ignore[import]
from setuptools.command.build_ext import build_ext as CommandBuildExt
from setuptools.command.build_ext import get_abi3_suffix
@@ -28,7 +29,21 @@
from ._utils import format_called_process_error
from .command import RustCommand
from .extension import Binding, RustBin, RustExtension, Strip
-from .rustc_info import get_rust_host, get_rust_target_list, get_rustc_cfgs
+from .rustc_info import (
+ get_rust_host,
+ get_rust_target_list,
+ get_rust_version,
+ get_rustc_cfgs,
+)
+
+
+def _check_cargo_supports_crate_type_option() -> bool:
+ version = get_rust_version()
+
+ if version is None:
+ return False
+
+ return version.major > 1 or (version.major == 1 and version.minor >= 64)
# type: ignore
class build_rust(RustCommand):
@@ -93,8 +108,10 @@
def get_data_dir(self) -> str:
components = (
- pkg_resources.safe_name(self.distribution.get_name()).replace("-",
"_"), # type: ignore[attr-defined]
-
pkg_resources.safe_version(self.distribution.get_version()).replace("-", "_"),
# type: ignore[attr-defined]
+ pkg_resources.safe_name(self.distribution.get_name()).replace("-",
"_"),
+
pkg_resources.safe_version(self.distribution.get_version()).replace(
+ "-", "_"
+ ),
)
if self.build_number:
components += (self.build_number,)
@@ -130,7 +147,6 @@
def build_extension(
self, ext: RustExtension, forced_target_triple: Optional[str] = None
) -> List["_BuiltModule"]:
-
target_triple = self._detect_rust_target(forced_target_triple)
rustc_cfgs = get_rustc_cfgs(target_triple)
@@ -143,6 +159,7 @@
quiet = self.qbuild or ext.quiet
debug = self._is_debug_build(ext)
+ use_cargo_crate_type = _check_cargo_supports_crate_type_option()
cargo_args = self._cargo_args(
ext=ext, target_triple=target_triple, release=not debug,
quiet=quiet
@@ -161,11 +178,18 @@
]
else:
- rustc_args = [
- "--crate-type",
- "cdylib",
- *ext.rustc_flags,
- ]
+ # If toolchain >= 1.64.0, use '--crate-type' option of cargo.
+ # See https://github.com/PyO3/setuptools-rust/issues/320
+ if use_cargo_crate_type:
+ rustc_args = [
+ *ext.rustc_flags,
+ ]
+ else:
+ rustc_args = [
+ "--crate-type",
+ "cdylib",
+ *ext.rustc_flags,
+ ]
# OSX requires special linker arguments
if rustc_cfgs.get("target_os") == "macos":
@@ -190,6 +214,9 @@
):
rustc_args.extend(["-C", f"link-args=-sSIDE_MODULE=2
-sWASM_BIGINT"])
+ if use_cargo_crate_type and "--crate-type" not in cargo_args:
+ cargo_args.extend(["--crate-type", "cdylib"])
+
command = [
self.cargo,
"rustc",
@@ -345,7 +372,18 @@
os.makedirs(os.path.dirname(ext_path), exist_ok=True)
log.info("Copying rust artifact from %s to %s", dylib_path,
ext_path)
- shutil.copyfile(dylib_path, ext_path)
+
+ # We want to atomically replace any existing library file. We can't
+ # just copy the new library directly on top of the old one as that
+ # causes the existing library to be modified (rather the replaced).
+ # This means that any process that currently uses the shared
library
+ # will see it modified and likely segfault.
+ #
+ # We first copy the file to the same directory, as `os.rename`
+ # doesn't work across file system boundaries.
+ temp_ext_path = ext_path + "~"
+ shutil.copyfile(dylib_path, temp_ext_path)
+ os.replace(temp_ext_path, ext_path)
if sys.platform != "win32" and not debug_build:
args = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/setuptools_rust/command.py
new/setuptools-rust-1.6.0/setuptools_rust/command.py
--- old/setuptools-rust-1.5.2/setuptools_rust/command.py 2022-09-19
21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/setuptools_rust/command.py 2023-04-27
22:50:10.000000000 +0200
@@ -36,8 +36,7 @@
"expected list of RustExtension objects for rust_extensions "
f"argument to setup(), got `{ty}`"
)
- for (i, extension) in enumerate(extensions):
-
+ for i, extension in enumerate(extensions):
if not isinstance(extension, RustExtension):
ty = type(extension)
raise ValueError(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/setuptools_rust/setuptools_ext.py
new/setuptools-rust-1.6.0/setuptools_rust/setuptools_ext.py
--- old/setuptools-rust-1.5.2/setuptools_rust/setuptools_ext.py 2022-09-19
21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/setuptools_rust/setuptools_ext.py 2023-04-27
22:50:10.000000000 +0200
@@ -275,10 +275,8 @@
has_rust_extensions = len(value) > 0
# Monkey patch has_ext_modules to include Rust extensions.
- #
- # has_ext_modules is missing from Distribution typing.
- orig_has_ext_modules = dist.has_ext_modules # type: ignore[attr-defined]
- dist.has_ext_modules = lambda: (orig_has_ext_modules() or
has_rust_extensions) # type: ignore[attr-defined]
+ orig_has_ext_modules = dist.has_ext_modules
+ dist.has_ext_modules = lambda: (orig_has_ext_modules() or
has_rust_extensions) # type: ignore[method-assign]
if has_rust_extensions:
add_rust_extension(dist)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-rust-1.5.2/setuptools_rust/version.py
new/setuptools-rust-1.6.0/setuptools_rust/version.py
--- old/setuptools-rust-1.5.2/setuptools_rust/version.py 2022-09-19
21:43:59.000000000 +0200
+++ new/setuptools-rust-1.6.0/setuptools_rust/version.py 2023-04-27
22:50:10.000000000 +0200
@@ -1,4 +1,4 @@
-__version__ = version = "1.5.2"
+__version__ = version = "1.6.0"
__version_tuple__ = version_tuple = tuple(
map(lambda x: int(x[1]) if x[0] < 3 else x[1],
enumerate(__version__.split(".")))
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-rust-1.5.2/setuptools_rust.egg-info/PKG-INFO
new/setuptools-rust-1.6.0/setuptools_rust.egg-info/PKG-INFO
--- old/setuptools-rust-1.5.2/setuptools_rust.egg-info/PKG-INFO 2022-09-19
21:44:07.000000000 +0200
+++ new/setuptools-rust-1.6.0/setuptools_rust.egg-info/PKG-INFO 2023-04-27
22:50:21.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: setuptools-rust
-Version: 1.5.2
+Version: 1.6.0
Summary: Setuptools Rust extension plugin
Home-page: https://github.com/PyO3/setuptools-rust
Author: Nikolay Kim
@@ -11,11 +11,11 @@
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X