Commit Graph

195 Commits

Author SHA1 Message Date
Gyeongjae Choi 64ac4b2841
Link libhtml5 to main module and pygame-ce (#4865)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-20 21:48:37 +09:00
Hood Chatham 868ee36ef5 Switch version to 0.27 development 2024-05-27 11:27:46 -07:00
Hood Chatham 10b484cfe4 Version 0.26.0 2024-05-27 06:39:17 -07:00
Gyeongjae Choi 36565c7e9d
Revert "Update Emscripten to 3.1.60" (#4796) 2024-05-25 08:06:50 -04:00
Hood Chatham b16552a660
Update Emscripten to 3.1.60 (#4782) 2024-05-25 10:06:52 +09:00
Hood Chatham c7a411137a
Remove DEMANGLE_SUPPORT (#4786)
This is deprecated and I think we don't need it anymore.
2024-05-23 17:42:03 -04:00
Hood Chatham e2893d53e3 Version 0.26.0a6 2024-05-21 18:17:53 -04:00
Hood Chatham 9389a042ed Version 0.26.0a5 2024-05-21 12:35:10 -04:00
Hood Chatham c76feab80f
Change wheel tag from emscripten to pyodide (#4777)
More specifically we went from emscripten_3_1_58_wasm32 to pyodide_2024_0_wasm32.
2024-05-21 12:30:01 -04:00
Hood Chatham a8021791a5
Snapshots: allow snapshotting some user code (#4720)
This adds some basic ability to snapshot after executing user code. It is pretty
brittle right now:
1. It will crash if the user loads any binary extensions before taking the
snapshot
2. It doesn't track changes to the file system

Snapshots will probably have to be experimental for quite a while.

1. I think I have a pretty good solution for this, which I will work on in a
followup.

2. One possibility here is we could serialize the entire filesystem state into
the memory snapshot. This would be hard and make the snapshot big, but we
wouldn't have to load python_stdlib.zip when restoring from a snapshot so it
probably wouldn't increase the total download size by much...
2024-05-10 18:15:17 -04:00
Hood Chatham 9d2451d1fb
Emscripten 3.1.58 (#4715) 2024-05-07 09:59:57 +02:00
Gyeongjae Choi c4a6964429
Use Pyodide version instead of pyodide-build version when creating lockfile (#4732)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-02 20:32:10 +09:00
Gyeongjae Choi a040b78a97
Update `pyodide create-zipfile` command to accept list of modules to exclude (#4723) 2024-05-01 19:20:07 +09:00
Gyeongjae Choi ed3b787b60
BLD Extract out package build configs from Makefile.envs (#4708) 2024-04-27 11:30:06 +09:00
Hood Chatham d32e376013
Memory snapshots (#4652)
Add basic support for memory snapshots
2024-04-23 15:01:33 +02:00
Gyeongjae Choi bd643ae5f7
PKG Add pygame-ce (#4602) 2024-03-29 17:55:21 +09:00
Hood Chatham da771f2e52
FIX don't let promising call's exception be stolen by interleaved calls (#4564)
Consider the code:
```js
pyodide.runPython(`
    def a():
        raise Exception("hi")
    def b():
        return 7;
`);
const a = pyodide.globals.get("a");
const b = pyodide.globals.get("b");
const p = a.callSyncifying();
assert(b() === 7);
await p;
```

This used to misbehave because because a()'s error status got stolen by b().
This happened because the promising function is a separate task from the js code
in callPyObjectSuspending, so the sequence of events goes:

- enter main task,
    - enter callPyObjectSuspending(a)
        - enter promisingApply(a)
        - sets error flag and returns NULL
    - queue continue callPyObjectSuspending(a) in event loop
        now looks like [main task, continue callPyObjectSuspending(a)]

    - enter b()
        - enter Python
        - returns 7 with error state still set
    - rejects with "SystemError: <function b at 0x1140f20> returned a result with an exception set"
- queue continue main() in event loop
- continue callPyObjectSuspending(a)
    - pythonexc2js called attempting to read error flag set by promisingApply(a), fails with
        PythonError: TypeError: Pyodide internal error: no exception type or value

The solution: at the end of `_pyproxy_apply_promising` we move the error
flag into errStatus argument. In callPyObjectSuspending when we're ready we
move the error back from the errorStatus variable into the error flag before
calling `pythonexc2js()`
2024-02-28 09:55:25 -08:00
Gyeongjae Choi f9d9fa85fc
Fix WASM_LIBRARY_DIR variable to be compatible for out-of-tree build (#4480) 2024-02-19 22:37:30 +09:00
Hood Chatham a4f644daf0
Update most packages (#4500) 2024-02-12 15:31:32 -08:00
Hood Chatham d2c0b5b1f6
Fix linking of libhacl and tidy up cpython makefile (#4482) 2024-02-08 20:17:00 +09:00
Emil Nikolov 44107e8e78
Replace references to /bin/bash with /usr/bin/env bash (#4478) 2024-02-04 09:54:17 -08:00
Hood Chatham fb31fff09a
Upgrade to Python 3.12.1 (#4435) 2024-02-03 19:25:45 -08:00
Hood Chatham 16db2158ff
Update docker image to bookworm (#4431)
Buster isn't available for anymore for Python 312 so we have to update.

This also updates to Python 3.11.7, which turns out to be relatively invasive. I broadly
xfailed failing tests in `python_tests.yaml` since we'll upgrade to Python 3.12 soon anyways.
2024-01-30 08:19:53 -08:00
Gyeongjae Choi a14d34fb1b
Emscripten 3.1.52 (#4399)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-23 21:18:42 +09:00
Gyeongjae Choi 4f2c0372af
Emscripten 3.1.46 (#4359) 2024-01-05 19:24:39 +09:00
Gyeongjae Choi 071fe3551d
Use meson build backend for scipy (#4276) 2023-11-17 23:49:09 +09:00
Hood Chatham 52ccb107a6
Drop Safari 14.x polyfill (#4225)
Since we added externref, we won't support Safari 14.x anymore so we don't need the polyfill.
2023-11-13 13:18:26 -08:00
Hood Chatham 7a7691c25c Make jspi work correctly with nodylink builds 2023-10-21 09:20:09 -07:00
Hood Chatham af7544cbbb
Add a no dynamic linking build option (#4203) 2023-10-14 12:13:27 -07:00
Hood Chatham bb645ca9b4
Add a few things to EXPORTED_RUNTIME_METHODS (#4201)
Instead of patching them in `pre.js`
2023-10-04 14:38:39 -07:00
Hood Chatham b460383505
Use hoodmane/hiwire library instead of our own implementation (#4128)
This change switches to my external implementation of hiwire. This is the
minimal change set to do this, it uses some hacks to avoid changing any files
outside of `hiwire.{c,h,js}`. In followups, I will gradually switch to using
the new APIs rather than compatibility shims.
2023-09-23 18:21:19 -07:00
Ralf Gommers 8b58984777
Update numpy to 1.25.2 (#4125) 2023-09-09 10:16:08 -07:00
Hood Chatham df527fdad5
Emscripten 3.1.45 (#4094) 2023-08-29 13:37:31 +02:00
Hood Chatham 4d99d07366
Emscripten 3.1.44 (#4073) 2023-08-26 22:46:42 +02:00
Hood Chatham 5db49494dd
Emscripten 3.1.43 (#4056) 2023-08-17 15:30:32 +02:00
Hood Chatham f42c61d672
Emscripten 3.1.42 (#4055) 2023-08-09 17:37:57 +02:00
Hood Chatham f8f026a5de
Emscripten 3.1.40 (#3888) 2023-08-08 21:16:43 +02:00
Hood Chatham ec05ccd762
Cap cython<3 (#4001)
I added tools/constraints.txt and set it into the PIP_CONSTRAINT environment variable.
2023-07-18 23:47:05 -07:00
Hood Chatham b67660ff9d
BLD Add CPYTHON_DEBUG environment variable to request a debug Python (#3966) 2023-06-28 17:01:15 -07:00
Loïc Estève 1c27915653
Build scikit-image 0.21 with meson (#3874) 2023-06-23 17:28:44 +02:00
Hood Chatham 71cc8bc925 Revert "MAINT Use sigstore to validate Python source signature (#3916)"
This reverts commit 59bb655957.
2023-06-12 15:16:55 -07:00
Hood Chatham 59bb655957
MAINT Use sigstore to validate Python source signature (#3916)
This should make Python updates a little easier and more secure.

See: python.org/download/sigstore
2023-06-12 12:28:44 -07:00
Hood Chatham dea990420e
NFC Adjust Makefile.envs so that it can handle prerelease PYVERSION (#3917)
This makes things work correctly if `PYVERSION` is set equal to e.g., `3.12.0b2`
2023-06-10 16:35:40 -07:00
Hood Chatham ffa2dd7036
NFC Factor out common setup for rust packages (#3908) 2023-06-07 08:45:26 -07:00
Hood Chatham dd9d71df2c
NFC remove quotes from -DDEBUG_F in Makefile (#3907) 2023-06-06 19:40:27 +09:00
Gyeongjae Choi 73c497bfbe
Remove in-tree dependency when building unvendored python modules (#3864) 2023-06-05 19:48:48 +09:00
Gyeongjae Choi 4a7cc0c20e
Merge initialization functions for in-tree and out-of-tree builds (#3883) 2023-06-05 17:34:07 +09:00
Hood Chatham 27071e63bf
Emscripten 3.1.39 (#3890) 2023-06-04 10:38:41 -07:00
Hood Chatham 2062852fd2
MAINT Move some flags from LDFLAGS_BASE to LDFLAGS_MAIN (#3892)
These flags are not needed when building packages.
2023-06-01 21:14:13 -07:00
Hood Chatham f8c6b8ade6
Emscripten 3.1.38 (#3889) 2023-05-31 13:44:51 -07:00