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

Reply via email to