maturin 1.7.6b1__tar.gz → 1.7.7b1__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.7.6b1 → maturin-1.7.7b1}/Cargo.lock +1 -1
- {maturin-1.7.6b1 → maturin-1.7.7b1}/Cargo.toml +1 -1
- {maturin-1.7.6b1 → maturin-1.7.7b1}/Changelog.md +4 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/PKG-INFO +2 -2
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/build_context.rs +1 -1
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/build_options.rs +47 -44
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/metadata.rs +2 -2
- {maturin-1.7.6b1 → maturin-1.7.7b1}/.cirrus.yml +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/.codespellrc +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/.config/nextest.toml +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/.gitignore +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/.pre-commit-config.yaml +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/MANIFEST.in +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/README.md +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/clippy.toml +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/license-apache +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/license-mit +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/maturin/__init__.py +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/maturin/__main__.py +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/maturin.schema.json +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/netlify.toml +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/pyproject.toml +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/setup.py +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/audit.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/manylinux-policy.json +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/mod.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/musllinux-policy.json +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/musllinux.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/patchelf.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/platform_tag.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/policy.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/auditwheel/repair.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/cargo_toml.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/ci.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/compile.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/cross_compile.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/develop.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/generate_json_schema.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/lib.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/main.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/module_writer.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/new_project.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/project_layout.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/pyproject_toml.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/python_interpreter/config.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/python_interpreter/get_interpreter_metadata.py +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/python_interpreter/mod.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/source_distribution.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/target.rs +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/.gitignore.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/Cargo.toml.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/__init__.py.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/build.rs.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/example.udl.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/lib.rs.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/main.rs.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/pyproject.toml.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/templates/test_all.py.j2 +0 -0
- {maturin-1.7.6b1 → maturin-1.7.7b1}/src/upload.rs +0 -0
|
@@ -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.7.
|
|
4
|
+
version = "1.7.7-beta.1"
|
|
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/**/*",
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.7.6]
|
|
4
|
+
|
|
5
|
+
* Set core metadata version to 2.4 to fix `project.license.files` handling in [#2332](https://github.com/PyO3/maturin/pull/2332)
|
|
6
|
+
|
|
3
7
|
## [1.7.5]
|
|
4
8
|
|
|
5
9
|
* Improve wheel reproducibility by sorting external libraries [#2261](https://github.com/PyO3/maturin/pull/2261)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: maturin
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.7b1
|
|
4
4
|
Classifier: Topic :: Software Development :: Build Tools
|
|
5
5
|
Classifier: Programming Language :: Rust
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
@@ -234,7 +234,7 @@ impl BuildContext {
|
|
|
234
234
|
if !non_abi3_interps.is_empty() {
|
|
235
235
|
let interp_names: HashSet<_> = non_abi3_interps
|
|
236
236
|
.iter()
|
|
237
|
-
.map(|interp|
|
|
237
|
+
.map(|interp| interp.to_string())
|
|
238
238
|
.collect();
|
|
239
239
|
eprintln!(
|
|
240
240
|
"⚠️ Warning: {} does not yet support abi3 so the build artifacts will be version-specific.",
|
|
@@ -362,13 +362,28 @@ impl BuildOptions {
|
|
|
362
362
|
}
|
|
363
363
|
BridgeModel::Bin(None) | BridgeModel::UniFfi => Ok(vec![]),
|
|
364
364
|
BridgeModel::BindingsAbi3(major, minor) => {
|
|
365
|
+
let found_interpreters =
|
|
366
|
+
find_interpreter_in_host(bridge, interpreter, target, requires_python)
|
|
367
|
+
.or_else(|err| {
|
|
368
|
+
// Can only use sysconfig-derived interpreter on windows if generating the import lib
|
|
369
|
+
if target.is_windows() && !generate_import_lib {
|
|
370
|
+
return Err(err.context("Need a Python interpreter to compile for Windows without PyO3's `generate-import-lib` feature"));
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
let interps =
|
|
374
|
+
find_interpreter_in_sysconfig(interpreter, target, requires_python)
|
|
375
|
+
.unwrap_or_default();
|
|
376
|
+
if interps.is_empty() && !self.interpreter.is_empty() {
|
|
377
|
+
// Print error when user supplied `--interpreter` option
|
|
378
|
+
Err(err)
|
|
379
|
+
} else {
|
|
380
|
+
Ok(interps)
|
|
381
|
+
}
|
|
382
|
+
})?;
|
|
383
|
+
|
|
365
384
|
if target.is_windows() {
|
|
366
|
-
//
|
|
367
|
-
//
|
|
368
|
-
// argument.
|
|
369
|
-
let interpreters =
|
|
370
|
-
find_interpreter_in_host(bridge, interpreter, target, requires_python)
|
|
371
|
-
.unwrap_or_default();
|
|
385
|
+
// On windows we might need a Python executable to locate a base prefix for
|
|
386
|
+
// linker args, if we're not using PyO3's `generate-import-lib` feature.
|
|
372
387
|
if env::var_os("PYO3_CROSS_LIB_DIR").is_some() {
|
|
373
388
|
// PYO3_CROSS_LIB_DIR should point to the `libs` directory inside base_prefix
|
|
374
389
|
// when cross compiling, so we fake a python interpreter matching it
|
|
@@ -394,48 +409,36 @@ impl BuildOptions {
|
|
|
394
409
|
InterpreterConfig::from_pyo3_config(config_file.as_ref(), target)
|
|
395
410
|
.context("Invalid PYO3_CONFIG_FILE")?;
|
|
396
411
|
Ok(vec![PythonInterpreter::from_config(interpreter_config)])
|
|
397
|
-
} else if let Some(interp) = interpreters.first() {
|
|
398
|
-
eprintln!("🐍 Using {interp} to generate to link bindings (With abi3, an interpreter is only required on windows)");
|
|
399
|
-
Ok(interpreters)
|
|
400
412
|
} else if generate_import_lib {
|
|
401
|
-
eprintln!("🐍 Not using a specific python interpreter (
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
413
|
+
eprintln!("🐍 Not using a specific python interpreter (automatically generating windows import library)");
|
|
414
|
+
let mut found_interpreters = found_interpreters;
|
|
415
|
+
// fake a python interpreter if none directly found
|
|
416
|
+
if found_interpreters.is_empty() {
|
|
417
|
+
found_interpreters.push(PythonInterpreter {
|
|
418
|
+
config: InterpreterConfig {
|
|
419
|
+
major: *major as usize,
|
|
420
|
+
minor: *minor as usize,
|
|
421
|
+
interpreter_kind: InterpreterKind::CPython,
|
|
422
|
+
abiflags: "".to_string(),
|
|
423
|
+
ext_suffix: ".pyd".to_string(),
|
|
424
|
+
pointer_width: None,
|
|
425
|
+
gil_disabled: false,
|
|
426
|
+
},
|
|
427
|
+
executable: PathBuf::new(),
|
|
428
|
+
platform: None,
|
|
429
|
+
runnable: false,
|
|
430
|
+
implementation_name: "cpython".to_string(),
|
|
431
|
+
soabi: None,
|
|
432
|
+
})
|
|
433
|
+
}
|
|
434
|
+
Ok(found_interpreters)
|
|
419
435
|
} else {
|
|
420
|
-
|
|
436
|
+
if found_interpreters.is_empty() {
|
|
437
|
+
bail!("Failed to find any python interpreter");
|
|
438
|
+
}
|
|
439
|
+
Ok(found_interpreters)
|
|
421
440
|
}
|
|
422
441
|
} else {
|
|
423
|
-
let found_interpreters =
|
|
424
|
-
find_interpreter_in_host(bridge, interpreter, target, requires_python)
|
|
425
|
-
.or_else(|err| {
|
|
426
|
-
let interps = find_interpreter_in_sysconfig(
|
|
427
|
-
interpreter,
|
|
428
|
-
target,
|
|
429
|
-
requires_python,
|
|
430
|
-
)
|
|
431
|
-
.unwrap_or_default();
|
|
432
|
-
if interps.is_empty() && !self.interpreter.is_empty() {
|
|
433
|
-
// Print error when user supplied `--interpreter` option
|
|
434
|
-
Err(err)
|
|
435
|
-
} else {
|
|
436
|
-
Ok(interps)
|
|
437
|
-
}
|
|
438
|
-
})?;
|
|
439
442
|
eprintln!("🐍 Not using a specific python interpreter");
|
|
440
443
|
if self.interpreter.is_empty() {
|
|
441
444
|
// Fake one to make `BuildContext::build_wheels` happy for abi3 when no cpython/pypy found on host
|
|
@@ -70,7 +70,7 @@ impl Metadata23 {
|
|
|
70
70
|
/// Initializes with name, version and otherwise the defaults
|
|
71
71
|
pub fn new(name: String, version: Version) -> Self {
|
|
72
72
|
Self {
|
|
73
|
-
metadata_version: "2.
|
|
73
|
+
metadata_version: "2.4".to_string(),
|
|
74
74
|
name,
|
|
75
75
|
version,
|
|
76
76
|
platform: vec![],
|
|
@@ -679,7 +679,7 @@ mod test {
|
|
|
679
679
|
);
|
|
680
680
|
|
|
681
681
|
let expected = expect![[r#"
|
|
682
|
-
Metadata-Version: 2.
|
|
682
|
+
Metadata-Version: 2.4
|
|
683
683
|
Name: info-project
|
|
684
684
|
Version: 0.1.0
|
|
685
685
|
Summary: A test project
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|