maturin 1.8.2__tar.gz → 1.8.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of maturin might be problematic. Click here for more details.
- {maturin-1.8.2 → maturin-1.8.3}/.cirrus.yml +1 -1
- {maturin-1.8.2 → maturin-1.8.3}/.pre-commit-config.yaml +2 -2
- {maturin-1.8.2 → maturin-1.8.3}/Cargo.lock +14 -23
- {maturin-1.8.2 → maturin-1.8.3}/Cargo.toml +2 -2
- {maturin-1.8.2 → maturin-1.8.3}/Changelog.md +11 -1
- {maturin-1.8.2 → maturin-1.8.3}/PKG-INFO +2 -1
- {maturin-1.8.2 → maturin-1.8.3}/README.md +1 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/manylinux-policy.json +7 -7
- {maturin-1.8.2 → maturin-1.8.3}/src/build_context.rs +10 -2
- {maturin-1.8.2 → maturin-1.8.3}/src/build_options.rs +1 -1
- {maturin-1.8.2 → maturin-1.8.3}/src/ci.rs +5 -5
- {maturin-1.8.2 → maturin-1.8.3}/src/develop.rs +3 -1
- {maturin-1.8.2 → maturin-1.8.3}/src/module_writer.rs +9 -5
- {maturin-1.8.2 → maturin-1.8.3}/src/python_interpreter/mod.rs +6 -1
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/Cargo.toml.j2 +1 -1
- {maturin-1.8.2 → maturin-1.8.3}/.codespellrc +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/.config/nextest.toml +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/.gitignore +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/MANIFEST.in +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/clippy.toml +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/license-apache +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/license-mit +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/maturin/__init__.py +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/maturin/__main__.py +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/maturin.schema.json +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/netlify.toml +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/pyproject.toml +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/setup.py +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/audit.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/mod.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/musllinux-policy.json +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/musllinux.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/patchelf.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/platform_tag.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/policy.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/auditwheel/repair.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/bridge.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/cargo_toml.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/compile.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/cross_compile.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/generate_json_schema.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/lib.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/main.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/metadata.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/new_project.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/project_layout.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/pyproject_toml.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/python_interpreter/config.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/python_interpreter/get_interpreter_metadata.py +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/source_distribution.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/target.rs +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/.gitignore.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/__init__.py.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/build.rs.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/example.udl.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/lib.rs.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/main.rs.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/pyproject.toml.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/templates/test_all.py.j2 +0 -0
- {maturin-1.8.2 → maturin-1.8.3}/src/upload.rs +0 -0
|
@@ -56,12 +56,12 @@ repos:
|
|
|
56
56
|
)
|
|
57
57
|
- id: mixed-line-ending
|
|
58
58
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
59
|
-
rev: v0.9.
|
|
59
|
+
rev: v0.9.10
|
|
60
60
|
hooks:
|
|
61
61
|
- id: ruff-format
|
|
62
62
|
- id: ruff
|
|
63
63
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
64
|
-
rev: v1.
|
|
64
|
+
rev: v1.15.0
|
|
65
65
|
hooks:
|
|
66
66
|
- id: mypy
|
|
67
67
|
entry: mypy maturin/
|
|
@@ -191,22 +191,20 @@ checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc"
|
|
|
191
191
|
|
|
192
192
|
[[package]]
|
|
193
193
|
name = "bzip2"
|
|
194
|
-
version = "0.
|
|
194
|
+
version = "0.5.2"
|
|
195
195
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
196
|
-
checksum = "
|
|
196
|
+
checksum = "49ecfb22d906f800d4fe833b6282cf4dc1c298f5057ca0b5445e5c209735ca47"
|
|
197
197
|
dependencies = [
|
|
198
198
|
"bzip2-sys",
|
|
199
|
-
"libc",
|
|
200
199
|
]
|
|
201
200
|
|
|
202
201
|
[[package]]
|
|
203
202
|
name = "bzip2-sys"
|
|
204
|
-
version = "0.1.
|
|
203
|
+
version = "0.1.13+1.0.8"
|
|
205
204
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
206
|
-
checksum = "
|
|
205
|
+
checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14"
|
|
207
206
|
dependencies = [
|
|
208
207
|
"cc",
|
|
209
|
-
"libc",
|
|
210
208
|
"pkg-config",
|
|
211
209
|
]
|
|
212
210
|
|
|
@@ -332,9 +330,9 @@ dependencies = [
|
|
|
332
330
|
|
|
333
331
|
[[package]]
|
|
334
332
|
name = "cbindgen"
|
|
335
|
-
version = "0.
|
|
333
|
+
version = "0.28.0"
|
|
336
334
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
337
|
-
checksum = "
|
|
335
|
+
checksum = "eadd868a2ce9ca38de7eeafdcec9c7065ef89b42b32f0839278d55f35c54d1ff"
|
|
338
336
|
dependencies = [
|
|
339
337
|
"heck 0.4.1",
|
|
340
338
|
"indexmap",
|
|
@@ -350,9 +348,9 @@ dependencies = [
|
|
|
350
348
|
|
|
351
349
|
[[package]]
|
|
352
350
|
name = "cc"
|
|
353
|
-
version = "1.
|
|
351
|
+
version = "1.2.16"
|
|
354
352
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
355
|
-
checksum = "
|
|
353
|
+
checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c"
|
|
356
354
|
dependencies = [
|
|
357
355
|
"shlex",
|
|
358
356
|
]
|
|
@@ -1399,7 +1397,7 @@ dependencies = [
|
|
|
1399
1397
|
|
|
1400
1398
|
[[package]]
|
|
1401
1399
|
name = "maturin"
|
|
1402
|
-
version = "1.8.
|
|
1400
|
+
version = "1.8.3"
|
|
1403
1401
|
dependencies = [
|
|
1404
1402
|
"anyhow",
|
|
1405
1403
|
"base64 0.21.7",
|
|
@@ -2046,15 +2044,14 @@ dependencies = [
|
|
|
2046
2044
|
|
|
2047
2045
|
[[package]]
|
|
2048
2046
|
name = "ring"
|
|
2049
|
-
version = "0.17.
|
|
2047
|
+
version = "0.17.13"
|
|
2050
2048
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2051
|
-
checksum = "
|
|
2049
|
+
checksum = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee"
|
|
2052
2050
|
dependencies = [
|
|
2053
2051
|
"cc",
|
|
2054
2052
|
"cfg-if",
|
|
2055
2053
|
"getrandom",
|
|
2056
2054
|
"libc",
|
|
2057
|
-
"spin",
|
|
2058
2055
|
"untrusted",
|
|
2059
2056
|
"windows-sys 0.52.0",
|
|
2060
2057
|
]
|
|
@@ -2436,12 +2433,6 @@ dependencies = [
|
|
|
2436
2433
|
"winapi",
|
|
2437
2434
|
]
|
|
2438
2435
|
|
|
2439
|
-
[[package]]
|
|
2440
|
-
name = "spin"
|
|
2441
|
-
version = "0.9.8"
|
|
2442
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2443
|
-
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
|
|
2444
|
-
|
|
2445
2436
|
[[package]]
|
|
2446
2437
|
name = "stable_deref_trait"
|
|
2447
2438
|
version = "1.2.0"
|
|
@@ -3438,9 +3429,9 @@ dependencies = [
|
|
|
3438
3429
|
|
|
3439
3430
|
[[package]]
|
|
3440
3431
|
name = "zip"
|
|
3441
|
-
version = "2.
|
|
3432
|
+
version = "2.2.3"
|
|
3442
3433
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3443
|
-
checksum = "
|
|
3434
|
+
checksum = "b280484c454e74e5fff658bbf7df8fdbe7a07c6b2de4a53def232c15ef138f3a"
|
|
3444
3435
|
dependencies = [
|
|
3445
3436
|
"arbitrary",
|
|
3446
3437
|
"bzip2",
|
|
@@ -3450,7 +3441,7 @@ dependencies = [
|
|
|
3450
3441
|
"flate2",
|
|
3451
3442
|
"indexmap",
|
|
3452
3443
|
"memchr",
|
|
3453
|
-
"thiserror
|
|
3444
|
+
"thiserror 2.0.3",
|
|
3454
3445
|
"time",
|
|
3455
3446
|
"zopfli",
|
|
3456
3447
|
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
authors = ["konstin <konstin@mailbox.org>", "messense <messense@icloud.com>"]
|
|
3
3
|
name = "maturin"
|
|
4
|
-
version = "1.8.
|
|
4
|
+
version = "1.8.3"
|
|
5
5
|
description = "Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages"
|
|
6
6
|
exclude = [
|
|
7
7
|
"test-crates/**/*",
|
|
@@ -45,7 +45,7 @@ glob = "0.3.0"
|
|
|
45
45
|
cargo-config2 = "0.1.24"
|
|
46
46
|
cargo_metadata = "0.19.0"
|
|
47
47
|
cargo-options = "0.7.2"
|
|
48
|
-
cbindgen = { version = "0.
|
|
48
|
+
cbindgen = { version = "0.28.0", default-features = false }
|
|
49
49
|
flate2 = "1.0.18"
|
|
50
50
|
goblin = "0.9.0"
|
|
51
51
|
platform-info = "2.0.2"
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.8.3]
|
|
4
|
+
|
|
5
|
+
* Fix relocating shared library for namespace modules in [#2513](https://github.com/PyO3/maturin/pull/2513)
|
|
6
|
+
* Don't install dependencies when running `maturin develop --skip-install` in [#2504](https://github.com/PyO3/maturin/pull/2504)
|
|
7
|
+
* Use emcc.bat to query version on Windows in [#2478](https://github.com/PyO3/maturin/pull/2478)
|
|
8
|
+
* Bump the attest-build-provenance version in the generated ci file in [#2484](https://github.com/PyO3/maturin/pull/2478)
|
|
9
|
+
* Fix platform tag on Solaris/Illumos in [#2483](https://github.com/PyO3/maturin/pull/2483)
|
|
10
|
+
* Fix cargo run uniffi-bindgen when cross compiling in [#2476](https://github.com/PyO3/maturin/pull/2476)
|
|
11
|
+
|
|
3
12
|
## [1.8.2]
|
|
4
13
|
|
|
5
14
|
* Exclude packages not in the dependency tree when finding bindings in [#2426](https://github.com/PyO3/maturin/pull/2426)
|
|
@@ -1041,7 +1050,8 @@ points-0.1.0-py2.py3-none-manylinux1_x86_64.whl | 2,8M | 752K | 85K
|
|
|
1041
1050
|
|
|
1042
1051
|
* Initial Release
|
|
1043
1052
|
|
|
1044
|
-
[Unreleased]: https://github.com/pyo3/maturin/compare/v1.8.
|
|
1053
|
+
[Unreleased]: https://github.com/pyo3/maturin/compare/v1.8.3...HEAD
|
|
1054
|
+
[1.8.3]: https://github.com/pyo3/maturin/compare/v1.8.2...v1.8.3
|
|
1045
1055
|
[1.8.2]: https://github.com/pyo3/maturin/compare/v1.8.1...v1.8.2
|
|
1046
1056
|
[1.8.1]: https://github.com/pyo3/maturin/compare/v1.8.0...v1.8.1
|
|
1047
1057
|
[1.8.0]: https://github.com/pyo3/maturin/compare/v1.7.8...v1.8.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: maturin
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.3
|
|
4
4
|
Classifier: Topic :: Software Development :: Build Tools
|
|
5
5
|
Classifier: Programming Language :: Rust
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
@@ -268,6 +268,7 @@ maturin itself is manylinux compliant when compiled for the musl target.
|
|
|
268
268
|
- [roapi](https://github.com/roapi/roapi) - ROAPI automatically spins up read-only APIs for static datasets without requiring you to write a single line of code
|
|
269
269
|
- [robyn](https://github.com/sansyrox/robyn) - A fast and extensible async python web server with a Rust runtime
|
|
270
270
|
- [ruff](https://github.com/charliermarsh/ruff) - An extremely fast Python linter, written in Rust
|
|
271
|
+
- [rnet](https://github.com/0x676e67/rnet) - Asynchronous Python HTTP Client with Black Magic
|
|
271
272
|
- [tantivy-py](https://github.com/quickwit-oss/tantivy-py) - Python bindings for Tantivy
|
|
272
273
|
- [watchfiles](https://github.com/samuelcolvin/watchfiles) - Simple, modern and high performance file watching and code reload in python
|
|
273
274
|
- [wonnx](https://github.com/webonnx/wonnx/tree/master/wonnx-py) - Wonnx is a GPU-accelerated ONNX inference run-time written 100% in Rust
|
|
@@ -243,6 +243,7 @@ maturin itself is manylinux compliant when compiled for the musl target.
|
|
|
243
243
|
- [roapi](https://github.com/roapi/roapi) - ROAPI automatically spins up read-only APIs for static datasets without requiring you to write a single line of code
|
|
244
244
|
- [robyn](https://github.com/sansyrox/robyn) - A fast and extensible async python web server with a Rust runtime
|
|
245
245
|
- [ruff](https://github.com/charliermarsh/ruff) - An extremely fast Python linter, written in Rust
|
|
246
|
+
- [rnet](https://github.com/0x676e67/rnet) - Asynchronous Python HTTP Client with Black Magic
|
|
246
247
|
- [tantivy-py](https://github.com/quickwit-oss/tantivy-py) - Python bindings for Tantivy
|
|
247
248
|
- [watchfiles](https://github.com/samuelcolvin/watchfiles) - Simple, modern and high performance file watching and code reload in python
|
|
248
249
|
- [wonnx](https://github.com/webonnx/wonnx/tree/master/wonnx-py) - Wonnx is a GPU-accelerated ONNX inference run-time written 100% in Rust
|
|
@@ -666,49 +666,49 @@
|
|
|
666
666
|
"CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", "1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "1.3.13", "1.3.14", "1.3.15", "FLOAT128", "TM_1"],
|
|
667
667
|
"GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "4.0.0", "4.2.0", "4.3.0", "4.4.0", "4.5.0", "4.7.0", "4.8.0", "7.0.0", "12.0.0", "13.0.0", "14.0.0"],
|
|
668
668
|
"GLIBC": ["2.0", "2.1", "2.1.1", "2.1.2", "2.1.3", "2.2", "2.2.1", "2.2.2", "2.2.3", "2.2.4", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31", "2.32", "2.33", "2.34", "2.35", "2.36", "2.37", "2.38", "2.39", "ABI_DT_RELR"],
|
|
669
|
-
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32"],
|
|
669
|
+
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "3.4.33"],
|
|
670
670
|
"ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", "1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", "1.2.9", "1.2.12"]
|
|
671
671
|
},
|
|
672
672
|
"x86_64": {
|
|
673
673
|
"CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", "1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "1.3.13", "1.3.14", "1.3.15", "FLOAT128", "TM_1"],
|
|
674
674
|
"GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", "4.2.0", "4.3.0", "4.7.0", "4.8.0", "7.0.0", "12.0.0", "13.0.0", "14.0.0"],
|
|
675
675
|
"GLIBC": ["2.2.5", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31", "2.32", "2.33", "2.34", "2.35", "2.36", "2.38", "2.39", "ABI_DT_RELR"],
|
|
676
|
-
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32"],
|
|
676
|
+
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "3.4.33"],
|
|
677
677
|
"ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", "1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", "1.2.9", "1.2.12"]
|
|
678
678
|
},
|
|
679
679
|
"aarch64": {
|
|
680
680
|
"CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", "1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "1.3.13", "1.3.14", "1.3.15", "TM_1"],
|
|
681
681
|
"GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", "4.2.0", "4.3.0", "4.5.0", "4.7.0", "7.0.0", "11.0", "13.0.0", "14.0", "14.0.0"],
|
|
682
682
|
"GLIBC": ["2.0", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31", "2.32", "2.33", "2.34", "2.35", "2.36", "2.38", "2.39", "ABI_DT_RELR"],
|
|
683
|
-
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32"],
|
|
683
|
+
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "3.4.33"],
|
|
684
684
|
"ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", "1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", "1.2.9", "1.2.12"]
|
|
685
685
|
},
|
|
686
686
|
"ppc64le": {
|
|
687
687
|
"CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", "1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "1.3.13", "1.3.14", "1.3.15", "IEEE128_1.3.13", "LDBL_1.3", "TM_1"],
|
|
688
688
|
"GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", "4.2.0", "4.3.0", "4.7.0", "7.0.0", "14.0.0"],
|
|
689
689
|
"GLIBC": ["2.0", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31", "2.32", "2.33", "2.34", "2.35", "2.36", "2.38", "2.39", "ABI_DT_RELR"],
|
|
690
|
-
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "IEEE128_3.4.29", "IEEE128_3.4.30", "IEEE128_3.4.31", "LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", "LDBL_3.4.29", "LDBL_3.4.31", "LDBL_3.4.7"],
|
|
690
|
+
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "3.4.33", "IEEE128_3.4.29", "IEEE128_3.4.30", "IEEE128_3.4.31", "LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", "LDBL_3.4.29", "LDBL_3.4.31", "LDBL_3.4.7"],
|
|
691
691
|
"ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", "1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", "1.2.9", "1.2.12"]
|
|
692
692
|
},
|
|
693
693
|
"s390x": {
|
|
694
694
|
"CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", "1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "1.3.13", "1.3.14", "1.3.15", "LDBL_1.3", "TM_1"],
|
|
695
695
|
"GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", "4.1.0", "4.2.0", "4.3.0", "4.7.0", "7.0.0", "14.0.0"],
|
|
696
696
|
"GLIBC": ["2.2", "2.2.1", "2.2.2", "2.2.3", "2.2.4", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.19", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31", "2.32", "2.33", "2.34", "2.35", "2.36", "2.38", "2.39", "ABI_DT_RELR"],
|
|
697
|
-
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", "LDBL_3.4.29", "LDBL_3.4.31", "LDBL_3.4.7"],
|
|
697
|
+
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "3.4.33", "LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", "LDBL_3.4.29", "LDBL_3.4.31", "LDBL_3.4.7"],
|
|
698
698
|
"ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", "1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", "1.2.9", "1.2.12"]
|
|
699
699
|
},
|
|
700
700
|
"armv7l": {
|
|
701
701
|
"CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", "1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "1.3.13", "1.3.14", "1.3.15", "ARM_1.3.3", "TM_1"],
|
|
702
702
|
"GCC": ["3.0", "3.3", "3.3.1", "3.3.4", "3.4", "3.4.2", "3.5", "4.0.0", "4.2.0", "4.3.0", "4.7.0", "7.0.0", "14.0.0"],
|
|
703
703
|
"GLIBC": ["2.0", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31", "2.32", "2.33", "2.34", "2.35", "2.36", "2.37", "2.38", "2.39", "ABI_DT_RELR"],
|
|
704
|
-
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32"],
|
|
704
|
+
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "3.4.33"],
|
|
705
705
|
"ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", "1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", "1.2.9", "1.2.12"]
|
|
706
706
|
},
|
|
707
707
|
"riscv64": {
|
|
708
708
|
"CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", "1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "1.3.13", "1.3.14", "1.3.15", "TM_1"],
|
|
709
709
|
"GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", "4.2.0", "4.3.0", "4.4.0", "4.5.0", "4.7.0", "7.0.0", "14.0.0"],
|
|
710
710
|
"GLIBC": ["2.0", "2.27", "2.28", "2.29", "2.30", "2.31", "2.32", "2.33", "2.34", "2.35", "2.36", "2.37", "2.38", "2.39", "ABI_DT_RELR"],
|
|
711
|
-
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32"],
|
|
711
|
+
"GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", "3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", "3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", "3.4.29", "3.4.30", "3.4.31", "3.4.32", "3.4.33"],
|
|
712
712
|
"ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", "1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", "1.2.9", "1.2.12"]
|
|
713
713
|
},
|
|
714
714
|
"loongarch64": {
|
|
@@ -419,6 +419,14 @@ impl BuildContext {
|
|
|
419
419
|
let artifact_dir = match self.bridge() {
|
|
420
420
|
// cffi bindings that contains '.' in the module name will be split into directories
|
|
421
421
|
BridgeModel::Cffi => self.module_name.split(".").collect::<PathBuf>(),
|
|
422
|
+
// For namespace packages the modules the modules resides resides at ${module_name}.so
|
|
423
|
+
// where periods are replaced with slashes so for example my.namespace.module would reside
|
|
424
|
+
// at my/namespace/module.so
|
|
425
|
+
_ if self.module_name.contains(".") => {
|
|
426
|
+
let mut path = self.module_name.split(".").collect::<PathBuf>();
|
|
427
|
+
path.pop();
|
|
428
|
+
path
|
|
429
|
+
}
|
|
422
430
|
// For other bindings artifact .so file usually resides at ${module_name}/${module_name}.so
|
|
423
431
|
_ => PathBuf::from(&self.module_name),
|
|
424
432
|
};
|
|
@@ -562,7 +570,7 @@ impl BuildContext {
|
|
|
562
570
|
|
|
563
571
|
let mut os = target.target_os().to_string().to_ascii_lowercase();
|
|
564
572
|
// See https://github.com/python/cpython/blob/46c8d915715aa2bd4d697482aa051fe974d440e1/Lib/sysconfig.py#L722-L730
|
|
565
|
-
if
|
|
573
|
+
if target.target_os() == Os::Solaris || target.target_os() == Os::Illumos {
|
|
566
574
|
// Solaris / Illumos
|
|
567
575
|
if let Some((major, other)) = release.split_once('_') {
|
|
568
576
|
let major_ver: u64 = major.parse().context("illumos major version is not a number")?;
|
|
@@ -1231,7 +1239,7 @@ fn emscripten_version() -> Result<String> {
|
|
|
1231
1239
|
fn emcc_version() -> Result<String> {
|
|
1232
1240
|
use std::process::Command;
|
|
1233
1241
|
|
|
1234
|
-
let emcc = Command::new("emcc")
|
|
1242
|
+
let emcc = Command::new(if cfg!(windows) { "emcc.bat" } else { "emcc" })
|
|
1235
1243
|
.arg("-dumpversion")
|
|
1236
1244
|
.output()
|
|
1237
1245
|
.context("Failed to run emcc to get the version")?;
|
|
@@ -621,7 +621,7 @@ jobs:\n",
|
|
|
621
621
|
if !self.skip_attestation {
|
|
622
622
|
conf.push_str(
|
|
623
623
|
r#" - name: Generate artifact attestation
|
|
624
|
-
uses: actions/attest-build-provenance@
|
|
624
|
+
uses: actions/attest-build-provenance@v2
|
|
625
625
|
with:
|
|
626
626
|
subject-path: 'wheels-*/*'
|
|
627
627
|
"#,
|
|
@@ -851,7 +851,7 @@ mod tests {
|
|
|
851
851
|
steps:
|
|
852
852
|
- uses: actions/download-artifact@v4
|
|
853
853
|
- name: Generate artifact attestation
|
|
854
|
-
uses: actions/attest-build-provenance@
|
|
854
|
+
uses: actions/attest-build-provenance@v2
|
|
855
855
|
with:
|
|
856
856
|
subject-path: 'wheels-*/*'
|
|
857
857
|
- name: Publish to PyPI
|
|
@@ -1062,7 +1062,7 @@ mod tests {
|
|
|
1062
1062
|
steps:
|
|
1063
1063
|
- uses: actions/download-artifact@v4
|
|
1064
1064
|
- name: Generate artifact attestation
|
|
1065
|
-
uses: actions/attest-build-provenance@
|
|
1065
|
+
uses: actions/attest-build-provenance@v2
|
|
1066
1066
|
with:
|
|
1067
1067
|
subject-path: 'wheels-*/*'
|
|
1068
1068
|
- name: Publish to PyPI
|
|
@@ -1544,7 +1544,7 @@ mod tests {
|
|
|
1544
1544
|
steps:
|
|
1545
1545
|
- uses: actions/download-artifact@v4
|
|
1546
1546
|
- name: Generate artifact attestation
|
|
1547
|
-
uses: actions/attest-build-provenance@
|
|
1547
|
+
uses: actions/attest-build-provenance@v2
|
|
1548
1548
|
with:
|
|
1549
1549
|
subject-path: 'wheels-*/*'
|
|
1550
1550
|
- name: Publish to PyPI
|
|
@@ -1720,7 +1720,7 @@ mod tests {
|
|
|
1720
1720
|
steps:
|
|
1721
1721
|
- uses: actions/download-artifact@v4
|
|
1722
1722
|
- name: Generate artifact attestation
|
|
1723
|
-
uses: actions/attest-build-provenance@
|
|
1723
|
+
uses: actions/attest-build-provenance@v2
|
|
1724
1724
|
with:
|
|
1725
1725
|
subject-path: 'wheels-*/*'
|
|
1726
1726
|
- name: Publish to PyPI
|
|
@@ -458,7 +458,9 @@ pub fn develop(develop_options: DevelopOptions, venv_dir: &Path) -> Result<()> {
|
|
|
458
458
|
}
|
|
459
459
|
};
|
|
460
460
|
|
|
461
|
-
|
|
461
|
+
if !skip_install {
|
|
462
|
+
install_dependencies(&build_context, &extras, &python, venv_dir, &install_backend)?;
|
|
463
|
+
}
|
|
462
464
|
|
|
463
465
|
let wheels = build_context.build_wheels()?;
|
|
464
466
|
if !skip_install {
|
|
@@ -1053,14 +1053,18 @@ fn uniffi_bindgen_command(crate_dir: &Path) -> Result<Command> {
|
|
|
1053
1053
|
|
|
1054
1054
|
let command = if has_uniffi_bindgen_target {
|
|
1055
1055
|
let mut command = Command::new("cargo");
|
|
1056
|
-
command
|
|
1057
|
-
|
|
1058
|
-
|
|
1056
|
+
command
|
|
1057
|
+
.args(["run", "--bin", "uniffi-bindgen", "--manifest-path"])
|
|
1058
|
+
.arg(manifest_path)
|
|
1059
|
+
.current_dir(crate_dir)
|
|
1060
|
+
.env_remove("CARGO_BUILD_TARGET");
|
|
1059
1061
|
command
|
|
1060
1062
|
} else if has_uniffi_bindgen_workspace_package {
|
|
1061
1063
|
let mut command = Command::new("cargo");
|
|
1062
|
-
command
|
|
1063
|
-
|
|
1064
|
+
command
|
|
1065
|
+
.args(["run", "--bin", "uniffi-bindgen"])
|
|
1066
|
+
.current_dir(cargo_metadata.workspace_root)
|
|
1067
|
+
.env_remove("CARGO_BUILD_TARGET");
|
|
1064
1068
|
command
|
|
1065
1069
|
} else {
|
|
1066
1070
|
let mut command = Command::new("uniffi-bindgen");
|
|
@@ -23,7 +23,7 @@ pub const MINIMUM_PYTHON_MINOR: usize = 7;
|
|
|
23
23
|
pub const MINIMUM_PYPY_MINOR: usize = 8;
|
|
24
24
|
/// Be liberal here to include preview versions
|
|
25
25
|
pub const MAXIMUM_PYTHON_MINOR: usize = 13;
|
|
26
|
-
pub const MAXIMUM_PYPY_MINOR: usize =
|
|
26
|
+
pub const MAXIMUM_PYPY_MINOR: usize = 11;
|
|
27
27
|
|
|
28
28
|
/// Identifies conditions where we do not want to build wheels
|
|
29
29
|
fn windows_interpreter_no_build(
|
|
@@ -1049,6 +1049,7 @@ mod tests {
|
|
|
1049
1049
|
"PyPy 3.8",
|
|
1050
1050
|
"PyPy 3.9",
|
|
1051
1051
|
"PyPy 3.10",
|
|
1052
|
+
"PyPy 3.11",
|
|
1052
1053
|
]
|
|
1053
1054
|
"#]];
|
|
1054
1055
|
expected.assert_debug_eq(&pythons);
|
|
@@ -1077,6 +1078,7 @@ mod tests {
|
|
|
1077
1078
|
"CPython 3.13t",
|
|
1078
1079
|
"PyPy 3.9",
|
|
1079
1080
|
"PyPy 3.10",
|
|
1081
|
+
"PyPy 3.11",
|
|
1080
1082
|
]
|
|
1081
1083
|
"#]];
|
|
1082
1084
|
expected.assert_debug_eq(&pythons);
|
|
@@ -1100,6 +1102,7 @@ mod tests {
|
|
|
1100
1102
|
"PyPy 3.8",
|
|
1101
1103
|
"PyPy 3.9",
|
|
1102
1104
|
"PyPy 3.10",
|
|
1105
|
+
"PyPy 3.11",
|
|
1103
1106
|
]
|
|
1104
1107
|
"#]];
|
|
1105
1108
|
expected.assert_debug_eq(&pythons);
|
|
@@ -1119,6 +1122,7 @@ mod tests {
|
|
|
1119
1122
|
"CPython 3.12",
|
|
1120
1123
|
"CPython 3.13",
|
|
1121
1124
|
"PyPy 3.10",
|
|
1125
|
+
"PyPy 3.11",
|
|
1122
1126
|
]
|
|
1123
1127
|
"#]];
|
|
1124
1128
|
expected.assert_debug_eq(&pythons);
|
|
@@ -1146,6 +1150,7 @@ mod tests {
|
|
|
1146
1150
|
"CPython 3.13t",
|
|
1147
1151
|
"PyPy 3.9",
|
|
1148
1152
|
"PyPy 3.10",
|
|
1153
|
+
"PyPy 3.11",
|
|
1149
1154
|
]
|
|
1150
1155
|
"#]];
|
|
1151
1156
|
expected.assert_debug_eq(&pythons);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|