diff --git a/build_rust.py b/build_rust.py deleted file mode 100644 index 662474dcb4..0000000000 --- a/build_rust.py +++ /dev/null @@ -1,23 +0,0 @@ -# A build script for poetry that adds the rust extension. - -import os -from typing import Any, Dict - -from setuptools_rust import Binding, RustExtension - - -def build(setup_kwargs: Dict[str, Any]) -> None: - original_project_dir = os.path.dirname(os.path.realpath(__file__)) - cargo_toml_path = os.path.join(original_project_dir, "rust", "Cargo.toml") - - extension = RustExtension( - target="synapse.synapse_rust", - path=cargo_toml_path, - binding=Binding.PyO3, - py_limited_api=True, - # We force always building in release mode, as we can't tell the - # difference between using `poetry` in development vs production. - debug=False, - ) - setup_kwargs.setdefault("rust_extensions", []).append(extension) - setup_kwargs["zip_safe"] = False diff --git a/pyproject.toml b/pyproject.toml index bf51276f4a..5cc77b5b0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -133,10 +133,6 @@ exclude = [ { path = "synapse/*.so", format = "sdist"} ] -[tool.poetry.build] -script = "build_rust.py" -generate-setup-file = true - [tool.poetry.scripts] synapse_homeserver = "synapse.app.homeserver:main" synapse_worker = "synapse.app.generic_worker:main" @@ -382,7 +378,16 @@ furo = ">=2022.12.7,<2024.0.0" # provided we check that it's safe to do so (i.e. that CI passes). requires = ["poetry-core>=1.1.0,<=1.7.0", "setuptools_rust>=1.3,<=1.7.0"] build-backend = "poetry.core.masonry.api" +# Should this now be build-backend = "setuptools.build_meta"? +[[tool.setuptools-rust.ext-modules]] +target = "synapse.synapse_rust" +path = "rust/Cargo.toml" +binding = "PyO3" +py-limited-api = true +# We force always building in release mode, as we can't tell the +# difference between using `poetry` in development vs production. +debug = false [tool.cibuildwheel] # Skip unsupported platforms (by us or by Rust).