Enable v2 resolver on the workspace to enable dropping PYO3_CI workaround.
This commit is contained in:
parent
e1f028f3e5
commit
f6e1f26676
3
.github/workflows/build.yml
vendored
3
.github/workflows/build.yml
vendored
|
@ -198,6 +198,3 @@ jobs:
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
RUSTFLAGS: "-D warnings"
|
RUSTFLAGS: "-D warnings"
|
||||||
RUSTDOCFLAGS: "-D warnings"
|
RUSTDOCFLAGS: "-D warnings"
|
||||||
# TODO: this is a hack to workaround compile_error! warnings about auto-initialize on PyPy
|
|
||||||
# Once cargo's `resolver = "2"` is stable (~ MSRV Rust 1.52), remove this.
|
|
||||||
PYO3_CI: 1
|
|
||||||
|
|
|
@ -188,6 +188,7 @@ members = [
|
||||||
"examples",
|
"examples",
|
||||||
"xtask"
|
"xtask"
|
||||||
]
|
]
|
||||||
|
resolver = "2"
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
no-default-features = true
|
no-default-features = true
|
||||||
|
|
39
build.rs
39
build.rs
|
@ -4,30 +4,21 @@ use pyo3_build_config::pyo3_build_script_impl::{cargo_env_var, errors::Result};
|
||||||
use pyo3_build_config::{bail, print_feature_cfgs, InterpreterConfig};
|
use pyo3_build_config::{bail, print_feature_cfgs, InterpreterConfig};
|
||||||
|
|
||||||
fn ensure_auto_initialize_ok(interpreter_config: &InterpreterConfig) -> Result<()> {
|
fn ensure_auto_initialize_ok(interpreter_config: &InterpreterConfig) -> Result<()> {
|
||||||
if cargo_env_var("CARGO_FEATURE_AUTO_INITIALIZE").is_some() {
|
if cargo_env_var("CARGO_FEATURE_AUTO_INITIALIZE").is_some() && !interpreter_config.shared {
|
||||||
if !interpreter_config.shared {
|
bail!(
|
||||||
bail!(
|
"The `auto-initialize` feature is enabled, but your python installation only supports \
|
||||||
"The `auto-initialize` feature is enabled, but your python installation only supports \
|
embedding the Python interpreter statically. If you are attempting to run tests, or a \
|
||||||
embedding the Python interpreter statically. If you are attempting to run tests, or a \
|
binary which is okay to link dynamically, install a Python distribution which ships \
|
||||||
binary which is okay to link dynamically, install a Python distribution which ships \
|
with the Python shared library.\n\
|
||||||
with the Python shared library.\n\
|
\n\
|
||||||
\n\
|
Embedding the Python interpreter statically does not yet have first-class support in \
|
||||||
Embedding the Python interpreter statically does not yet have first-class support in \
|
PyO3. If you are sure you intend to do this, disable the `auto-initialize` feature.\n\
|
||||||
PyO3. If you are sure you intend to do this, disable the `auto-initialize` feature.\n\
|
\n\
|
||||||
\n\
|
For more information, see \
|
||||||
For more information, see \
|
https://pyo3.rs/v{pyo3_version}/\
|
||||||
https://pyo3.rs/v{pyo3_version}/\
|
building_and_distribution.html#embedding-python-in-rust",
|
||||||
building_and_distribution.html#embedding-python-in-rust",
|
pyo3_version = env::var("CARGO_PKG_VERSION").unwrap()
|
||||||
pyo3_version = env::var("CARGO_PKG_VERSION").unwrap()
|
);
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: PYO3_CI env is a hack to workaround CI with PyPy, where the `dev-dependencies`
|
|
||||||
// currently cause `auto-initialize` to be enabled in CI.
|
|
||||||
// Once MSRV is 1.51 or higher, use cargo's `resolver = "2"` instead.
|
|
||||||
if interpreter_config.implementation.is_pypy() && env::var_os("PYO3_CI").is_none() {
|
|
||||||
bail!("the `auto-initialize` feature is not supported with PyPy");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
@ -628,7 +628,6 @@ def _for_all_version_configs(
|
||||||
with tempfile.NamedTemporaryFile("r+") as config:
|
with tempfile.NamedTemporaryFile("r+") as config:
|
||||||
env = os.environ.copy()
|
env = os.environ.copy()
|
||||||
env["PYO3_CONFIG_FILE"] = config.name
|
env["PYO3_CONFIG_FILE"] = config.name
|
||||||
env["PYO3_CI"] = "1"
|
|
||||||
|
|
||||||
def _job_with_config(implementation, version) -> bool:
|
def _job_with_config(implementation, version) -> bool:
|
||||||
config.seek(0)
|
config.seek(0)
|
||||||
|
|
Loading…
Reference in a new issue