Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
persist-credentials: false

- name: Install Emscripten ccache
run: |
Expand Down Expand Up @@ -244,6 +246,10 @@ jobs:

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
persist-credentials: false

- name: Cache conda
uses: actions/cache@v4
Expand Down Expand Up @@ -316,6 +322,8 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
persist-credentials: false

- name: Setup Mambaforge
uses: conda-incubator/setup-miniconda@v3
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "pyodide-build"]
path = pyodide-build
url = https://github.com/pyodide/pyodide-build
7 changes: 6 additions & 1 deletion .gitpod.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
additionalRepositories:
- url: https://github.com/emscripten-core/emsdk
- url: https://github.com/pyodide/pyodide-build
checkoutLocation: pyodide-build
tasks:
- name: Sync submodule(s)
init: git submodule update --init --recursive
command: echo "Submodules initialized"
- name: Setup
init: |
pyenv global system
conda env create -f environment.yml
conda activate pyodide-env

pip install git+https://github.com/pyodide/pyodide-build.git
pip install ./pyodide-build/
pyodide xbuildenv install

EMSCRIPTEN_VERSION=$(pyodide config get emscripten_version)
Expand Down
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,22 @@ Collections of package recipes for Pyodide

## Adding a new package

> Note: Use Python 3.12 or upper to run the following commands.
> Note: Use Python 3.13 or upper to run the following commands.

To add a new package, create a package recipe in the `packages` directory.
You can start by creating a boilerplate recipe with the following command:

It is required to clone the repository with the `--recurse-submodules` option to ensure
that all submodules are initialized. If hyou have already cloned the repository without
this option, you can run the following command to initialize the submodules:

```bash
$ git submodule update --init --recursive
```

You can then start by creating a boilerplate recipe with the following command:

```bash
$ pip install pyodide-build
$ pip install ./pyodide-build
$ pyodide skeleton pypi <package-name>
```

Expand Down
6 changes: 3 additions & 3 deletions docs/MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ by updating the `Makefile.envs` file in the pyodide/pyodide repository.
To build and test packages locally, you need to prepare the necessary tools and dependencies.

- compatible Python version
- pyodide-build
- pyodide-build, which is provided by the `pyodide-build` Git submodule in the repository root
- emscripten
- selenium (for testing)

Expand Down Expand Up @@ -71,9 +71,9 @@ The `pyodide-recipes` repository is used to build packages for both stable and n
We use different branches for those versions:

- `main`: the default branch, used for nightly versions of Pyodide
- It uses nightly xbuildenv and nightly pyodide-build to build packages.
- It uses nightly xbuildenv and the pyodide-build submodule to build packages.
- `<version>`: a branch for stable versions of Pyodide
- It uses stable xbuildenv and nightly (or stable if there is any breaking change) pyodide-build to build packages.
- It uses stable xbuildenv and pyodide-build submodule (or a stable version, if there are any breaking changes) to build packages.

Let's say we have a stable Pyodide version `0.27.0`, and we are developing a new version `0.28.0`.

Expand Down
1 change: 1 addition & 0 deletions pyodide-build
Submodule pyodide-build added at ee1188
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ pytest-httpserver
pytest-benchmark
auditwheel-emscripten
pytest-asyncio
pyodide-build
./pyodide-build/
zstandard
brotli
2 changes: 1 addition & 1 deletion tools/prepare_pyodide_build.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash

python -m pip install "git+https://github.com/pyodide/pyodide-build"
python -m pip install ./pyodide-build/
pyodide xbuildenv install
Loading