Skip to content

Commit 3041672

Browse files
committed
wasm wheel support
1 parent fe5132d commit 3041672

File tree

7 files changed

+85
-7
lines changed

7 files changed

+85
-7
lines changed

config

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,14 @@ fi
4747

4848
export EMFLAVOUR=${EMFLAVOUR:-tot}
4949

50+
# no extra wasm features
51+
export WASMFLAVOUR=mvp
52+
5053
#temp fix for oom on CI (Error: Process completed with exit code 143.)
5154
export EMSDK_NUM_CORES=1
5255

5356

54-
export PYDK_PYTHON_HOST_PLATFORM=wasm32-$EMFLAVOUR-emscripten
57+
export PYDK_PYTHON_HOST_PLATFORM=wasm32-$WASMFLAVOUR-emscripten
5558

5659
if echo $LD_LIBRARY_PATH |grep -q ${HOST_PREFIX}/lib
5760
then

pkg_list

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
patchelf wget lz4 pv clang libffi-dev libssl-dev libsqlite3-dev pkg-config git

python-wasm-sdk.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ do
7070
if ./scripts/cpython-build-emsdk-deps.sh > /dev/null
7171
then
7272
[ -f /lowend ] && sleep 45
73+
74+
75+
echo " --------- adding some usefull pkg ${PYBUILD} ${CIVER} ---------" 1>&2
76+
./scripts/cpython-build-emsdk-prebuilt.sh
77+
78+
7379
echo "
7480
7581
==========================================================
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#!/bin/bash
2+
3+
. ${CONFIG:-config}
4+
5+
PIP="$(realpath python3-wasm) -m pip"
6+
7+
echo "
8+
* cpython-build-emsdk-prebuilt pip==$PIP *
9+
" 1>&2
10+
11+
# make wheels
12+
# /opt/python-wasm-sdk/python3-wasm setup.py bdist_wheel
13+
14+
for pkg in wheel installer
15+
do
16+
if [ -d prebuilt/emsdk/${PYBUILD}/site-packages/$pkg ]
17+
then
18+
echo "
19+
$pkg already set to prebuilt
20+
"
21+
else
22+
$PIP install $pkg
23+
mv $PREFIX/lib/python${PYBUILD}/site-packages/${pkg} prebuilt/emsdk/${PYBUILD}/site-packages/
24+
mv $PREFIX/lib/python${PYBUILD}/site-packages/${pkg}-* prebuilt/emsdk/${PYBUILD}/site-packages/
25+
fi
26+
done
27+
28+
29+
pushd src
30+
31+
CYTHON=Cython-3.0.0a11-py2.py3-none-any.whl
32+
33+
wget -q -c https://github.com/cython/cython/releases/download/3.0.0a11/${CYTHON}
34+
$PIP install $CYTHON
35+
36+
37+
38+
39+
40+
41+
42+
43+
44+
45+
46+
47+
48+
49+
50+
51+
52+
53+
54+
55+
56+
57+
58+
59+
60+
61+
62+
63+
64+
65+
66+
67+
popd

scripts/cpython-build-emsdk.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ export PYTHON_FOR_BUILD=${PYTHON_FOR_BUILD:-${HPY}}
1818

1919
. ./scripts/emsdk-fetch.sh
2020

21-
2221
REBUILD_WASM=${REBUILD_WASMPY:-false}
2322

2423
if $REBUILD || $REBUILD_WASMPY
@@ -37,7 +36,6 @@ then
3736
popd 2>&1 >/dev/null
3837
fi
3938

40-
4139
if [ -f $EMSDK/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/pic/libffi.a ]
4240
then
4341
echo "
@@ -119,7 +117,6 @@ echo "
119117
120118
121119
122-
123120
********** TESTSUITE test-modules == $TESTSUITE *******************
124121
125122
@@ -338,6 +335,11 @@ export PYBUILD=\${PYBUILD:-$PYBUILD}
338335
export PYMAJOR=\$(echo -n \$PYBUILD|cut -d. -f1)
339336
export PYMINOR=\$(echo -n \$PYBUILD|cut -d. -f2)
340337
338+
export CARGO_HOME=\${CARGO_HOME:-/opt/python-rust-sdk}
339+
export RUSTUP_HOME=\${RUSTUP_HOME:-/opt/python-rust-sdk}
340+
export PATH=\${CARGO_HOME}/bin:$PATH
341+
342+
341343
if [[ ! -z \${EMSDK+z} ]]
342344
then
343345
# emsdk_env already parsed
@@ -352,7 +354,7 @@ fi
352354
export SYS_PYTHON=${SYS_PYTHON}
353355
export EMSDK_PYTHON=${SYS_PYTHON}
354356
355-
export PATH=${HOST_PREFIX}/bin:\$PATH
357+
export PATH=${HOST_PREFIX}/bin:\$PATH:${SDKROOT}/devices/emsdk/usr/bin
356358
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
357359
export HOME=${SDKROOT}
358360
export PLATFORM_TRIPLET=${PYDK_PYTHON_HOST_PLATFORM}

scripts/cpython-build-host.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ then
5757
unset CPPFLAGS
5858
unset LDFLAGS
5959

60-
6160
#export OPT="$CPOPTS -DNDEBUG -fwrapv"
61+
mkdir -p $ROOT/src/cpython${PYBUILD}/Tools/wasm
6262
cat > $ROOT/src/cpython${PYBUILD}/Tools/wasm/config.host-wasm32-emscripten <<END
6363
ac_cv_lib_intl_textdomain=no
6464
ac_cv_func_bind_textdomain_codeset=no

scripts/emsdk-fetch.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,3 @@ else
209209
echo "emsdk: config already set !" 1>&2
210210
fi
211211

212-

0 commit comments

Comments
 (0)