This implementation was extracted from swift-browser-ui.
This container makes it easy to compile crypt4gh applications built with emscripten into wasm without installing dependencies locally.
The provided docker image is an extension of emscripten/emsdk official docker image.
Included libraries
Build the image with
docker buildx build .
or download it
docker pull ghcr.io/cscfi/docker-emscripten-crypt4gh:latest
Build your application
docker run --rm -it --mount type=bind,source=${YOUR_APPLICATION_SOURCE_CODE},target=/src/ ghcr.io/cscfi/docker-emscripten-crypt4gh:latest YOUR-MAKEFILE-COMMAND-HERE
You can provide argument variables to change which library versions get built.
emscripten, libsodium, and openssl versions can be changed with --build-arg by changing the value of EMSCRIPTEN_VERSION, LIBSODIUM_VERSION, EMSDK_IMAGE and OPENSSL_VERSION.
NOTE: To build only ARM images use -arm in version tag and for ARM built images. For example
EMSDK_IMAGE --build-arg="EMSDK_IMAGE=<local-registry>/emscripten/emsdk" --build-arg="EMSCRIPTEN_VERSION=3.1.21-arm"instructs to use locally build emsdk:3.1.21-arm container.
docker-emscripten-crypt4gh and its sources are released under MIT License.