-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ebc5e6e
commit 44cdcec
Showing
8 changed files
with
109 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
authors: | ||
derthorsten: | ||
name: Dr. Thorsten Beier | ||
description: main author of emscripten-forge | ||
avatar: https://avatars.githubusercontent.com/u/904752?v=4 # Author avatar | ||
slug: DerThorsten # Author profile slug | ||
url: https://github.com/DerThorsten # Author website URL |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
date: 2024-05-10 | ||
category: | ||
- rust | ||
|
||
authors: | ||
- derthorsten | ||
--- | ||
|
||
# Local builds with `pixi` | ||
|
||
Setting up a local build environment for emscripten-forge used to be a very complicated process with many dependencies and many steps. | ||
But with the usage of [pixi](https://pixi.sh/latest/) this has become trivial! | ||
|
||
```bash | ||
# this only needs to be done once | ||
pixi run setup | ||
|
||
# thats it! packages can now be built | ||
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/regex | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
date: 2024-05-10 | ||
category: | ||
- rust | ||
|
||
authors: | ||
- derthorsten | ||
--- | ||
|
||
# Goodby boa, welcome rattler-build | ||
|
||
When emscripten-forge was started, we relied on `https://github.com/mamba-org/boa` which is a [conda-build](https://github.com/conda/conda-build) like tool but | ||
using more of [mamba](https://github.com/mamba-org/mamba) then [conda](https://github.com/conda/conda). | ||
This was always a bit brittle and we had to maintain a fork of `boa` to make it work with `emscripten-wasm32`. | ||
Testing did not work at all, because test dependencies could only be specified for the `target_platform` and not for the `host_platform`, ie | ||
only for emscripten-wasm32 and not for linux-64 (or any other host platform). | ||
This means there was no sane way to install the "emulators" to run the wasm code on the host platform. | ||
Also the error messages were not very helpful and the code was hard to understand. | ||
|
||
But then there came [rattler-build](https://github.com/prefix-dev/rattler-build) | ||
which is a complete rewrite of `boa` / `conda-build` in rust which is faster, hast barley any dependencies and has easy to understand error messages. | ||
And to make it even better, test dependencies can be specified for the host platform and the target platform! | ||
This means we can now install the [pyjs-code-runner](https://github.com/emscripten-forge/pyjs-code-runner) which can be used | ||
to run wasm in a headless browser. | ||
|
||
This allows to have a proper test section in the recipe.yaml file like in the [regex](https://github.com/emscripten-forge/recipes/tree/main/recipes/recipes_emscripten/regex) recipe: | ||
|
||
```yaml | ||
|
||
tests: | ||
- script: pytester | ||
requirements: | ||
build: | ||
- pytester | ||
run: | ||
- pytester-run | ||
files: | ||
recipe: | ||
- test_regex.py | ||
|
||
``` | ||
|
||
|
||
Today we have removed `boa` support from this repository and are now using only `rattler-build`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
date: 2024-05-10 | ||
category: | ||
- rust | ||
- python | ||
|
||
authors: | ||
- derthorsten | ||
--- | ||
|
||
# Rust/PyO3 Support | ||
|
||
Finally, we have added support for Rust/PyO3/maturin packages. | ||
This allows to build packages like * [cryptography](https://github.com/emscripten-forge/recipes/tree/main/recipes/recipes_emscripten/cryptography), | ||
[pydantic-core](https://github.com/emscripten-forge/recipes/tree/main/recipes/recipes_emscripten/cryptography) and | ||
[pycrdt](https://github.com/emscripten-forge/recipes/tree/main/recipes/recipes_emscripten/pycrdt). | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters