fix: don't error when a global build-frontend is set on pyodide (#2945)
Since #2609, the pyodide platform required the 'pyodide-build' frontend, but a global build-frontend setting (TOML or CIBW_BUILD_FRONTEND) overrides the platform default, so previously-working configs like build-frontend = "build" failed with a ConfigurationError. Even "default" failed, since it was mapped to "build" before the check. Resolve "default" to the platform default, and warn and use pyodide-build when another frontend is set on pyodide, matching pre-#2609 behavior where the frontend name only affected verbosity flags. Assisted-by: ClaudeCode:claude-opus-4.8
This commit is contained in:
+3
-3
@@ -483,9 +483,9 @@ files (from workspaces) are not supported.
|
||||
|
||||
On Android, the "pip" frontend is not supported.
|
||||
|
||||
On Pyodide, `build-frontend` must be `pyodide-build`, which is the default for that
|
||||
platform. See [Pyodide build frontend support](platforms.md#pyodide-build-frontend) for
|
||||
details.
|
||||
On Pyodide, `pyodide-build` is the default and only supported frontend; setting
|
||||
another frontend produces a warning and uses `pyodide-build` instead. See
|
||||
[Pyodide build frontend support](platforms.md#pyodide-build-frontend) for details.
|
||||
|
||||
You can specify extra arguments to pass to the build frontend using the
|
||||
optional `args` option.
|
||||
|
||||
+1
-1
@@ -190,7 +190,7 @@ The `--libdir` option specifies the directory containing cross-compiled shared l
|
||||
|
||||
### Build frontend support {: #pyodide-build-frontend}
|
||||
|
||||
The pyodide platform builds wheels by shelling out to `pyodide build`, via the `pyodide-build` [`build-frontend`](options.md#build-frontend), which itself is a meta build frontend and passes through commands to pypa/build with specialised handling. This is the only supported frontend for this platform, and is used by default.
|
||||
The pyodide platform builds wheels by shelling out to `pyodide build`, via the `pyodide-build` [`build-frontend`](options.md#build-frontend), which itself is a meta build frontend and passes through commands to pypa/build with specialised handling. This is the only supported frontend for this platform, and is used by default. A global [`build-frontend`](options.md#build-frontend) setting naming another frontend is ignored with a warning on this platform.
|
||||
|
||||
[`build-verbosity`](options.md#build-verbosity) is passed through to `pyodide build` as `-v`/`-vv`. It is capped at `-vv`. `pyodide build` has no `-vvv` flag.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user