You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The logic that this PR implements is the following:
* the external port is loaded like the other ports and "flagged" as
being external (`port.is_external = hasattr(port, 'EXTERNAL_PORT'`)
* if the port is never needed, then nothing else happens
* if the port is needed (because the user wants to use it via
`--use-port=contrib.emdawn`, or it is a dependency of another port),
then the code fetches the artifact and uses the port file included in
the artifact to load the actual port file as if it was a local port, and
replaces it in the ports array and `ports_by_name` map.
=> as a result, all calls using `ports_by_name` have been changed to
call `get_port_by_name` to detect whether the port is remote or not and
act appropriately
An external port looks like this: it only contains info about where the
port is located, the actual logic is coming from `PORT_FILE`
```
TAG = 'v20250509.171557'
EXTERNAL_PORT = f'https://github.com/google/dawn/releases/download/{TAG}/emdawnwebgpu_pkg-{TAG}.zip'
SHA512 = '4b66bf0f64b9616a6420abdad636b3ecefab892dde8f67cd941147bfddf7920f5523ff10160c9a563ef377a0f88b2dfc033527591b2d0753d531de5cbbabde59'
PORT_FILE = 'emdawnwebgpu_pkg/emdawnwebgpu.port.py'
# contrib port information (required)
URL = 'https://dawn.googlesource.com/dawn'
DESCRIPTION = 'Dawn is an open-source and cross-platform implementation of the WebGPU standard'
LICENSE = 'BSD 3-Clause License'
```
DESCRIPTION='Dawn is an open-source and cross-platform implementation of the WebGPU standard'
16
+
LICENSE='Some files: BSD 3-Clause License. Other files: Emscripten\'s license (available under both MIT License and University of Illinois/NCSA Open Source License)'
0 commit comments