Replies: 1 comment
-
Okay, this is definitely something I'm interested in for Brioche! I'd love to eventually support WebAssembly as both a host and a target (and yes, I'd love to see this all work in the browser too!) The core of Brioche is built around recipes, and the most important is the A few miscellaneous thoughts I have:
Yes, I would definitely be interested in that! 🙂 There is a lot of territory to explore around Wasm, so would definitely be interested to see how a proof-of-concept turns out! The biggest question I have related to Wasm today: what should we do about subprocesses? There's no standard WASI API for spawning subprocesses (yet... see WebAssembly/WASI#414), and I'm not really sure how far things could go without that in Brioche. At minimum, Bash (extremely common in most packages via the A few different directions this question could lead towards:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Tools such as nix necessitate the use of linux containerization/MacOS native sandboxing for build isolation and reproducibility.
Unlike nix, brioche is designed more as a build system rather than as a package manager, meaning that build tooling are invoked indirectly via typscript functions. This presents a unique opportunity for brioche of entirely sandboxing the build process by having the host build tools executed in a WebAssembly environment, as opposed to a linux namespace-based container or MacOS sandboxing.
This has the obvious disadvantage of making packaging build tools more difficult (and potentially a small performance penalty?), but it also has many advantages:
The number of packages that brioche has is still small enough to make transitioning to purely WASM-based builds feasible at this stage. I think it is worth considering as a unique and potentially strong selling point for using brioche.
I can try making a proof-of-concept if there is interest in this capability/direction.
Beta Was this translation helpful? Give feedback.
All reactions