Skip to content

Commit e7cdfce

Browse files
committed
3.1.61.12
1 parent 2d64979 commit e7cdfce

File tree

4 files changed

+46
-35
lines changed

4 files changed

+46
-35
lines changed

scripts/cpython-build-emsdk.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,9 @@ py_cv_module__ctypes=yes
173173
py_cv_module__ctypes_test=yes
174174
ax_cv_c_float_words_bigendian=no
175175
ac_cv_func_sem_clockwait=no
176+
177+
ac_cv_file__dev_ptmx=no
178+
ac_cv_file__dev_ptc=no
176179
END
177180

178181

@@ -206,28 +209,35 @@ END
206209
sed -i 's|-sWASM_BIGINT||g' configure.ac
207210

208211

212+
EXTRA_PYOPTS=""
213+
209214
if [ ${PYMINOR} -ge 13 ]
210215
then
211216
sed -i 's|{ABIFLAGS}t|{ABIFLAGS}|g' configure
212217
sed -i 's|{ABIFLAGS}t|{ABIFLAGS}|g' configure.ac
213218
sed -i 's|--wasi preview2||g' configure
214219
sed -i 's|--wasi preview2||g' configure.ac
215-
EXTRA="--without-pydebug --without-trace-refs --without-dsymutil --without-pymalloc --without-strict-overflow"
220+
EXTRA_PYOPTS="--without-pydebug --without-trace-refs --without-dsymutil --without-pymalloc --without-strict-overflow"
216221
fi
217222

218223
if [ ${PYMINOR} -ge 14 ]
219224
then
225+
226+
cp Tools/wasm/config.host-wasm32-emscripten Tools/wasm/config.site-wasm32-emscripten
227+
220228
sed -i 's|wasm32-unknown-emscripten|wasm32-bi-emscripten|g' Makefile.pre.in
229+
EXTRA_PYOPTS="$EXTRA_PYOPTS --disable-ipv6"
230+
else
231+
EXTRA_PYOPTS="$EXTRA_PYOPTS --with-emscripten-target=browser"
221232
fi
222233

223-
224234
popd
225235

226236
chmod +x ${SDKROOT}/emsdk-cc
227237

228238
export PYDK_CC=true
229-
PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" CONFIG_SITE=$ROOT/src/cpython${PYBUILD}/Tools/wasm/config.site-wasm32-pydk \
230-
emconfigure $ROOT/src/cpython${PYBUILD}/configure -C --with-emscripten-target=browser $GIL \
239+
PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" CONFIG_SITE=$SDKROOT/src/cpython${PYBUILD}/Tools/wasm/config.site-wasm32-pydk \
240+
emconfigure $ROOT/src/cpython${PYBUILD}/configure -C $GIL \
231241
--cache-file=${PYTHONPYCACHEPREFIX}/config.cache \
232242
--enable-wasm-dynamic-linking $TESTSUITE\
233243
--host=$PYDK_PYTHON_HOST_PLATFORM \

scripts/cpython-fetch.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ fi
4444

4545
if echo $PYBUILD |grep -q 14$
4646
then
47+
wget -c https://www.python.org/ftp/python/3.14.0/Python-3.14.0rc1.tar.xz
48+
tar xf Python-3.14.0rc1.tar.xz
49+
ln -s Python-3.14.0rc1 cpython${PYBUILD}
4750

48-
wget -c https://www.python.org/ftp/python/3.14.0/Python-3.14.0b3.tar.xz
49-
tar xf Python-3.14.0b3.tar.xz
50-
ln -s Python-3.14.0b3 cpython${PYBUILD}
5151

5252
mkdir $SDKROOT/devices/emsdk/usr/lib $SDKROOT/devices/$(arch)/usr/lib -p
5353

@@ -58,6 +58,7 @@ then
5858
fi
5959

6060
pushd cpython${PYBUILD}
61+
6162
patch -p1 <<END
6263
--- Python-3.13.0rc3/Objects/moduleobject.c 2024-10-01 04:03:08.000000000 +0200
6364
+++ Python-3.13.0rc3.wasm/Objects/moduleobject.c 2024-10-02 13:16:33.030387509 +0200

scripts/emsdk-fetch.sh

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,26 @@ then
3636
then
3737
echo -n
3838
else
39+
40+
# including
41+
# https://github.com/emscripten-forge/recipes/blob/main/recipes/recipes/emscripten_emscripten-wasm32/patches/0001-Add-useful-error-when-symbol-resolution-fails.patch
3942
patch -p1 <<END
40-
--- emsdk/upstream/emscripten/src/library_dylink.js
41-
+++ emsdk.fix/upstream/emscripten/src/library_dylink.js
42-
@@ -724,6 +724,8 @@
43+
--- emsdk/upstream/emscripten/src/library_dylink.js 2025-07-25 08:13:59.548799211 +0200
44+
+++ emsdk.fix/upstream/emscripten/src/library_dylink.js 2025-07-25 08:11:56.611055127 +0200
45+
@@ -723,6 +723,13 @@
46+
var resolved;
4347
stubs[prop] = (...args) => {
4448
resolved ||= resolveSymbol(prop);
45-
if (!resolved) {
49+
+ if (!resolved) {
4650
+ if (prop==='getTempRet0')
4751
+ return __emscripten_tempret_get(...args);
48-
throw new Error(\`Dynamic linking error: cannot resolve symbol \${prop}\`);
49-
}
52+
+ if (prop==='setTempRet0')
53+
+ return __emscripten_tempret_set(...args);
54+
+ throw new Error(`Dynamic linking error: cannot resolve symbol ${prop}`);
55+
+ }
5056
return resolved(...args);
57+
};
58+
}
5159
END
5260
fi
5361

@@ -118,22 +126,7 @@ END
118126
# patch -p1 < emsdk_emcc.patch
119127

120128

121-
# https://github.com/emscripten-forge/recipes/blob/main/recipes/recipes/emscripten_emscripten-wasm32/patches/0001-Add-useful-error-when-symbol-resolution-fails.patch
122-
patch -p1 <<END
123-
--- emsdk-orig/upstream/emscripten/src/library_dylink.js
124-
+++ emsdk/upstream/emscripten/src/library_dylink.js
125-
@@ -723,6 +723,9 @@
126-
var resolved;
127-
stubs[prop] = (...args) => {
128-
resolved ||= resolveSymbol(prop);
129-
+ if (!resolved) {
130-
+ throw new Error(\`Dynamic linking error: cannot resolve symbol \${prop}\`);
131-
+ }
132-
return resolved(...args);
133-
};
134-
}
135129

136-
END
137130

138131

139132
# https://github.com/paradust7/minetest-wasm/blob/main/emsdk_dirperms.patch

sources.wasm/9300-ode.sh

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,20 @@ then
1717

1818
mkdir -p $ROOT/build/ode
1919

20-
pushd $ROOT/build/ode
21-
emcmake cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_INSTALL_PREFIX=$PREFIX \
22-
-DODE_NO_THREADING_INTF=OFF -DODE_NO_BUILTIN_THREADING_IMPL=OFF \
23-
-DODE_WITH_DEMOS=OFF ${ROOT}/src/ODE-wasm
24-
sed -i 's/#error/\/\/#warning/g' ode/src/config.h
25-
emmake make install
26-
popd
20+
if [ -f ${PREFIX}/lib/libode.a ]
21+
then
22+
echo "
23+
* ODE already built
24+
"
25+
else
26+
pushd $ROOT/build/ode
27+
emcmake cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_INSTALL_PREFIX=$PREFIX \
28+
-DODE_NO_THREADING_INTF=OFF -DODE_NO_BUILTIN_THREADING_IMPL=OFF \
29+
-DODE_WITH_DEMOS=OFF ${ROOT}/src/ODE-wasm
30+
sed -i 's/#error/\/\/#warning/g' ode/src/config.h
31+
emmake make install
32+
popd
33+
fi
2734

2835
popd
2936
fi

0 commit comments

Comments
 (0)