Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "pyodide-build"]
path = pyodide-build
url = https://github.com/pyodide/pyodide-build
branch = updates-for-scipy
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 5b5bfc
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