3
3
FROM mambaorg/micromamba:0.22.0
4
4
5
5
ARG MAMBA_DOCKERFILE_ACTIVATE=1
6
-
7
- USER root
8
- RUN apt-get update && apt-get install -y cmake
9
- USER $MAMBA_USER
6
+ ARG PYTHON_VERSION=3.10
10
7
11
8
RUN micromamba install --yes -c https://repo.mamba.pm/conda-forge \
12
- git pip python=3.10 click typer
9
+ git pip python=$PYTHON_VERSION click typer
13
10
14
11
# #################################################################
15
12
# Install emboa
@@ -27,50 +24,23 @@ RUN git clone https://github.com/emscripten-core/emsdk.git && \
27
24
popd
28
25
29
26
# #################################################################
30
- # Create emscripten env
27
+ # Create emscripten env and pack it
31
28
# #################################################################
32
29
33
- RUN micromamba create -n xeus-python-build-wasm \
30
+ RUN micromamba create -n xeus-python-kernel \
34
31
--platform=emscripten-32 \
35
32
-c https://repo.mamba.pm/emscripten-forge \
36
33
-c https://repo.mamba.pm/conda-forge \
37
34
--yes \
38
- python=3.10 ipython pybind11 jedi xtl nlohmann_json \
39
- pybind11_json xeus "xeus-python-shell>=0.3" \
35
+ python=$PYTHON_VERSION xeus-python \
40
36
numpy matplotlib
41
37
42
- # #################################################################
43
- # git config
44
- # #################################################################
45
- RUN git config --global advice.detachedHead false
46
-
47
- # #################################################################
48
- # xeus-python build
49
- # #################################################################
50
- RUN mkdir -p xeus-python && \
51
- git clone --branch 0.13.8 --depth 1 https://github.com/jupyter-xeus/xeus-python.git xeus-python
52
-
53
- RUN mkdir -p xeus-python/build && \
54
- cd xeus-python/build && \
55
- export PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-python-build-wasm && \
56
- export CMAKE_PREFIX_PATH=$PREFIX && \
57
- export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX && \
58
- /tmp/emsdk/emsdk activate 3.1.2 && \
59
- source /tmp/emsdk/emsdk_env.sh && \
60
- emcmake cmake \
61
- -DCMAKE_BUILD_TYPE=Release \
62
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
63
- -DCMAKE_PROJECT_INCLUDE=cmake/overwriteProp.cmake \
64
- -DXPYT_EMSCRIPTEN_WASM_BUILD=ON \
65
- .. && \
66
- make -j8
67
-
68
- RUN cd xeus-python && \
69
- python wasm_patches/patch_it.py
70
-
71
- RUN cd xeus-python/build && \
38
+ RUN mkdir -p xeus-python-kernel && cd xeus-python-kernel && \
72
39
export FILE_PACKAGER=/tmp/emsdk/upstream/emscripten/tools/file_packager.py && \
73
- emboa pack python core $MAMBA_ROOT_PREFIX/envs/xeus-python-build-wasm --version=3.10
40
+ /tmp/emsdk/emsdk activate 3.1.2 3.1.2 && \
41
+ cp $MAMBA_ROOT_PREFIX/envs/xeus-python-kernel/bin/xpython_wasm.js . && \
42
+ cp $MAMBA_ROOT_PREFIX/envs/xeus-python-kernel/bin/xpython_wasm.wasm . && \
43
+ emboa pack python core $MAMBA_ROOT_PREFIX/envs/xeus-python-kernel --version=$PYTHON_VERSION
74
44
75
45
COPY copy_output.sh .
76
46
0 commit comments