From 7544f7a2af030738dcedd188e926b419021c256f Mon Sep 17 00:00:00 2001 From: Dmitry Dygalo Date: Tue, 3 May 2022 17:36:26 +0200 Subject: [PATCH] fix(python): Compatibility with `pyo3-built` --- bindings/python/CHANGELOG.md | 4 ++ bindings/python/Cargo.lock | 115 +++++++++++++++++++++++++++-------- bindings/python/Cargo.toml | 4 +- bindings/python/src/lib.rs | 4 +- 4 files changed, 99 insertions(+), 28 deletions(-) diff --git a/bindings/python/CHANGELOG.md b/bindings/python/CHANGELOG.md index b1a428b..bcc5746 100644 --- a/bindings/python/CHANGELOG.md +++ b/bindings/python/CHANGELOG.md @@ -6,6 +6,10 @@ - Python 3.10 support +### Fixed + +- Installation error due to `pyo3-built` incompatibility + ## [0.14.0] - 2022-01-31 ### Added diff --git a/bindings/python/Cargo.lock b/bindings/python/Cargo.lock index 3700234..7b4dbeb 100644 --- a/bindings/python/Cargo.lock +++ b/bindings/python/Cargo.lock @@ -25,15 +25,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.53" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0" +checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" @@ -92,9 +92,9 @@ checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" [[package]] name = "cargo-lock" -version = "7.0.1" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb04b88bd5b2036e30704f95c6ee16f3b5ca3b4ca307da2889d9006648e5c88" +checksum = "6c408da54db4c50d4693f7e649c299bc9de9c23ead86249e5368830bb32a734b" dependencies = [ "semver", "serde", @@ -132,9 +132,9 @@ dependencies = [ [[package]] name = "fancy-regex" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf" +checksum = "367dc842ccf982f1cebf8be5ecb65b347db9fd18bdd7fd255c5ad0d3fc02f6a6" dependencies = [ "bit-set", "regex", @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "fraction" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aba3510011eee8825018be07f08d9643421de007eaf62a3bde58d89b058abfa7" +checksum = "6bb65943183b6b3cbf00f64c181e8178217e30194381b150e4f87ec59864c803" dependencies = [ "lazy_static", "num", @@ -408,7 +408,7 @@ dependencies = [ [[package]] name = "jsonschema" -version = "0.15.0" +version = "0.16.0" dependencies = [ "ahash", "anyhow", @@ -421,7 +421,7 @@ dependencies = [ "lazy_static", "memchr", "num-cmp", - "parking_lot", + "parking_lot 0.12.0", "percent-encoding", "regex", "reqwest", @@ -458,10 +458,11 @@ checksum = "0a8d982fa7a96a000f6ec4cfe966de9703eccde29750df2bb8949da91b0e818d" [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" dependencies = [ + "autocfg", "scopeguard", ] @@ -656,7 +657,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.5", +] + +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.3", ] [[package]] @@ -673,6 +684,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + [[package]] name = "paste" version = "0.1.18" @@ -734,7 +758,7 @@ dependencies = [ "cfg-if", "indoc", "libc", - "parking_lot", + "parking_lot 0.11.2", "paste", "pyo3-build-config", "pyo3-macros", @@ -752,9 +776,9 @@ dependencies = [ [[package]] name = "pyo3-built" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843c5bf7972395017ef1e6ba68a69668a1e52da2bc1ab81545a20894b7a866cd" +checksum = "be6d574e0f8cab2cdd1eeeb640cbf845c974519fa9e9b62fa9c08ecece0ca5de" [[package]] name = "pyo3-macros" @@ -861,9 +885,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "semver" -version = "1.0.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" +checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd" dependencies = [ "serde", ] @@ -890,9 +914,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.78" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085" +checksum = "f972498cf015f7c0746cac89ebe1d6ef10c293b94175a243a2d9442c163d9944" dependencies = [ "itoa 1.0.1", "ryu", @@ -1097,9 +1121,9 @@ dependencies = [ [[package]] name = "uuid" -version = "0.8.2" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +checksum = "8cfcd319456c4d6ea10087ed423473267e1a071f3bc0aa89f80d60997843c6f0" [[package]] name = "version_check" @@ -1221,6 +1245,49 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "winreg" version = "0.7.0" diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index e6a8859..a5b882b 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -16,7 +16,7 @@ name = "jsonschema_rs" crate-type = ["cdylib"] [build-dependencies] -built = { version = "0.5", features = ["chrono"] } +built = { version = "0.5.1", features = ["chrono"] } [dependencies.jsonschema] path = "../../jsonschema" @@ -28,7 +28,7 @@ features = ["resolve-http", "resolve-file"] serde_json = "1" serde = "1" pyo3 = { version = "^0.15", features = ["extension-module"] } -pyo3-built = "0.4" +pyo3-built = "0.4.7" [package.metadata.maturin] requires-python = ">=3.6" diff --git a/bindings/python/src/lib.rs b/bindings/python/src/lib.rs index dbe9891..96d31c2 100644 --- a/bindings/python/src/lib.rs +++ b/bindings/python/src/lib.rs @@ -23,6 +23,8 @@ use pyo3::{ types::{PyAny, PyList, PyType}, wrap_pyfunction, AsPyPointer, PyIterProtocol, PyObjectProtocol, }; +#[macro_use] +extern crate pyo3_built; mod ffi; mod ser; @@ -470,8 +472,6 @@ fn jsonschema_rs(py: Python<'_>, module: &PyModule) -> PyResult<()> { module.add("Draft6", DRAFT6)?; module.add("Draft7", DRAFT7)?; - // Allow deprecated, unless `pyo3-built` is updated - #[allow(deprecated)] // Add build metadata to ease triaging incoming issues module.add("__build__", pyo3_built::pyo3_built!(py, build))?;