@ai-ecoverse/wasix-python 3.14.2-20 → 3.14.2-21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,6 +18,19 @@ CPython 3.14 for slicc WASIX (`commands` `python` / `python3`).
18
18
 
19
19
  Since 3.14.2-12 the package is cross-built from source in CI (`build.sh`); see `THIRD-PARTY-NOTICES.md` for the statically linked libraries.
20
20
 
21
+ Since 3.14.2-21 (wasix-sysroot -30):
22
+
23
+ - `multiprocessing` works with the `spawn` start method (the default):
24
+ `Pool`, `Queue`, `Lock`, `Semaphore` and the other synchronisation
25
+ primitives, across processes. Its named semaphores are kept by slicc-kernel
26
+ (≥ 1.99.0). `shared_memory` and shared ctypes (`Value`/`Array` with
27
+ `lock=False`) don't work, because processes don't share memory. There is
28
+ no `fork` start method (no `os.fork`).
29
+ - `fcntl.lockf`/`fcntl.fcntl` record locks and `os.lockf` go through the libc
30
+ to slicc-kernel (slicc-kernel#722) and hold against other processes, such as
31
+ a second python or the sqlite3 CLI on the same database. On an older kernel
32
+ every lock is granted locally, as before. `fcntl.flock` is still a no-op.
33
+
21
34
  Since 3.14.2-20 (wasix-sysroot -29):
22
35
 
23
36
  - `select.poll` takes a file descriptor registered with no events. Up to -19
@@ -26,9 +39,7 @@ Since 3.14.2-20 (wasix-sysroot -29):
26
39
  `unregister` of an unregistered fd is ENOENT. Up to -19 both succeeded
27
40
  silently. asyncio uses `EpollSelector` on slicc-kernel ≥ 1.95.0 (WASIX
28
41
  epoll) and `PollSelector` on older kernels.
29
- - `multiprocessing` still has no `_multiprocessing`: named semaphores and
30
- POSIX shared memory need slicc-kernel support (`/dev/shm` and memory shared
31
- between processes).
42
+ - `multiprocessing` had no `_multiprocessing` (fixed in -21).
32
43
 
33
44
  Since 3.14.2-19 (wasix-sysroot -28):
34
45
  - signal masks are real: `signal.pthread_sigmask` blocks and unblocks
@@ -13,7 +13,7 @@ bin/python.wasm statically links the components below. The table lists them; eac
13
13
  | GNU Readline | 8.3 | GPL-3.0-or-later | gnu.org/software/readline |
14
14
  | ncurses (tinfo) | 6.5 | X11 | invisible-island.net/ncurses |
15
15
  | libffi | 3.5.1 (wasix-org 09cbf7d + patches/libffi-wasix-varargs.patch) | MIT | github.com/wasix-org/libffi |
16
- | wasix-libc | wasix-sysroot 2025.9.30-29 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
16
+ | wasix-libc | wasix-sysroot 2025.9.30-30 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
17
17
  | libc++, libc++abi, libunwind | wasix-libc v2026-07-03.1 sysroot-ehpic (LLVM 20.1) | Apache-2.0 WITH LLVM-exception | github.com/wasix-org/wasix-libc |
18
18
 
19
19
  GNU Readline is licensed under the GPL-3.0-or-later and is linked statically, so bin/python.wasm as a whole (a combined work with CPython, whose PSF-2.0 licence is GPL-compatible, and the other components above, all under GPL-compatible licences) is distributed under the terms of the GPL-3.0-or-later; hence the package licence PSF-2.0 AND GPL-3.0-or-later. Redistributors pass on its Corresponding Source: the homescoop repository (https://github.com/ai-ecoverse/homescoop) at the commit this release was built from, plus the sha256-pinned upstream archives and dev packages its recipe.yaml lists, which homescoop keeps available.
@@ -2022,7 +2022,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2022
2022
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2023
2023
  ```
2024
2024
 
2025
- ## wasix-libc (@ai-ecoverse/wasix-sysroot 2025.9.30-29; files from tag v2025-09-02.1)
2025
+ ## wasix-libc (@ai-ecoverse/wasix-sysroot 2025.9.30-30; files from tag v2025-09-02.1)
2026
2026
 
2027
2027
  ```text
2028
2028
  wasi-libc as a whole is multi-licensed under the
package/bin/python.wasm CHANGED
Binary file
@@ -780,7 +780,7 @@
780
780
  #define HAVE_LISTEN 1
781
781
 
782
782
  /* Define to 1 if you have the 'lockf' function. */
783
- /* #undef HAVE_LOCKF */
783
+ #define HAVE_LOCKF 1
784
784
 
785
785
  /* Define to 1 if you have the 'log1p' function. */
786
786
  #define HAVE_LOG1P 1
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/lib/libpython3.14.a
3
- size: 59362794 bytes
4
- sha256: 4e66bda99fd67aa10c3914635ddbbd4d0a51d71c4cfe2da72851be8d7849a53b
3
+ size: 59668280 bytes
4
+ sha256: 48c633745276bc36c59b7b161b9e3e3d58e8fbffd689d466da59bddcb3076ab3
@@ -8,6 +8,6 @@ Name: Python
8
8
  Description: Embed Python into an application
9
9
  Requires:
10
10
  Version: 3.14
11
- Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
11
+ Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--export=__wrap_flock -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
12
12
  Libs: -L${libdir} -lpython3.14
13
13
  Cflags: -I${includedir}/python3.14
@@ -8,6 +8,6 @@ Name: Python
8
8
  Description: Build a C extension for Python
9
9
  Requires:
10
10
  Version: 3.14
11
- Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
11
+ Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--export=__wrap_flock -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
12
12
  Libs: -L${libdir}
13
13
  Cflags: -I${includedir}/python3.14
@@ -331,7 +331,7 @@
331
331
  "HAVE_LINUX_VM_SOCKETS_H": 0,
332
332
  "HAVE_LINUX_WAIT_H": 0,
333
333
  "HAVE_LISTEN": 1,
334
- "HAVE_LOCKF": 0,
334
+ "HAVE_LOCKF": 1,
335
335
  "HAVE_LOG1P": 1,
336
336
  "HAVE_LOG2": 1,
337
337
  "HAVE_LOGIN_TTY": 0,
@@ -708,7 +708,7 @@
708
708
  "LLVM_PROF_FILE": "LLVM_PROFILE_FILE=\"$(shell pwd)/code-%p.profclangr\"",
709
709
  "LLVM_PROF_MERGER": "",
710
710
  "LN": "ln",
711
- "LOCALMODLIBS": "-lm -lm -lm -lm Modules/_decimal/libmpdec/libmpdec.a -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lbz2 -L/tmp/homescoop-wasix-python/deps/lib -llzma -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lreadline -ltinfo Modules/_hacl/libHacl_Hash_MD5.a Modules/_hacl/libHacl_Hash_SHA1.a Modules/_hacl/libHacl_Hash_SHA2.a Modules/_hacl/libHacl_Hash_SHA3.a Modules/_hacl/libHacl_Hash_BLAKE2.a Modules/_hacl/libHacl_HMAC.a -lm Modules/expat/libexpat.a -L/tmp/homescoop-wasix-python/deps/lib -lffi -ldl -L/tmp/homescoop-wasix-python/deps/lib -lsqlite3 -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lssl -lcrypto -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lcrypto -lm",
711
+ "LOCALMODLIBS": "-lm -lm -lm -lm Modules/_decimal/libmpdec/libmpdec.a -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lbz2 -L/tmp/homescoop-wasix-python/deps/lib -llzma -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lreadline -ltinfo Modules/_hacl/libHacl_Hash_MD5.a Modules/_hacl/libHacl_Hash_SHA1.a Modules/_hacl/libHacl_Hash_SHA2.a Modules/_hacl/libHacl_Hash_SHA3.a Modules/_hacl/libHacl_Hash_BLAKE2.a Modules/_hacl/libHacl_HMAC.a -lm Modules/expat/libexpat.a -L/tmp/homescoop-wasix-python/deps/lib -lffi -ldl -L/tmp/homescoop-wasix-python/deps/lib -lsqlite3 -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lssl -lcrypto -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lcrypto -lm",
712
712
  "MACHDEP": "wasi",
713
713
  "MACHDEP_OBJS": "",
714
714
  "MACHDESTLIB": "/tmp/homescoop-wasix-python/prefix/lib/python3.14",
@@ -719,10 +719,10 @@
719
719
  "MANDIR": "/tmp/homescoop-wasix-python/prefix/share/man",
720
720
  "MIMALLOC_HEADERS": "\\",
721
721
  "MKDIR_P": "/usr/bin/mkdir -p",
722
- "MODBUILT_NAMES": "array _asyncio _bisect _csv _heapq _json _lsprof _pickle _queue _random _struct _zoneinfo math cmath _statistics _decimal binascii _bz2 _lzma zlib readline _md5 _sha1 _sha2 _sha3 _blake2 _hmac pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata fcntl grp mmap resource select _socket termios _ctypes _sqlite3 _ssl _hashlib atexit faulthandler posix _signal _tracemalloc _suggestions _datetime _codecs _collections errno _io itertools _sre _sysconfig _thread time _types _typing _weakref _abc _functools _locale _opcode _operator _stat _symtable pwd",
722
+ "MODBUILT_NAMES": "array _asyncio _bisect _csv _heapq _json _lsprof _pickle _queue _random _struct _zoneinfo math cmath _statistics _decimal binascii _bz2 _lzma zlib readline _md5 _sha1 _sha2 _sha3 _blake2 _hmac pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata fcntl grp mmap resource select _socket termios _posixshmem _multiprocessing _ctypes _sqlite3 _ssl _hashlib atexit faulthandler posix _signal _tracemalloc _suggestions _datetime _codecs _collections errno _io itertools _sre _sysconfig _thread time _types _typing _weakref _abc _functools _locale _opcode _operator _stat _symtable pwd",
723
723
  "MODDISABLED_NAMES": "",
724
- "MODLIBS": "-lm -lm -lm -lm Modules/_decimal/libmpdec/libmpdec.a -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lbz2 -L/tmp/homescoop-wasix-python/deps/lib -llzma -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lreadline -ltinfo Modules/_hacl/libHacl_Hash_MD5.a Modules/_hacl/libHacl_Hash_SHA1.a Modules/_hacl/libHacl_Hash_SHA2.a Modules/_hacl/libHacl_Hash_SHA3.a Modules/_hacl/libHacl_Hash_BLAKE2.a Modules/_hacl/libHacl_HMAC.a -lm Modules/expat/libexpat.a -L/tmp/homescoop-wasix-python/deps/lib -lffi -ldl -L/tmp/homescoop-wasix-python/deps/lib -lsqlite3 -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lssl -lcrypto -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lcrypto -lm",
725
- "MODOBJS": "Modules/arraymodule.o Modules/_asynciomodule.o Modules/_bisectmodule.o Modules/_csv.o Modules/_heapqmodule.o Modules/_json.o Modules/_lsprof.o Modules/rotatingtree.o Modules/_pickle.o Modules/_queuemodule.o Modules/_randommodule.o Modules/_struct.o Modules/_zoneinfo.o Modules/mathmodule.o Modules/cmathmodule.o Modules/_statisticsmodule.o Modules/_decimal/_decimal.o Modules/binascii.o Modules/_bz2module.o Modules/_lzmamodule.o Modules/zlibmodule.o Modules/readline.o Modules/md5module.o Modules/sha1module.o Modules/sha2module.o Modules/sha3module.o Modules/blake2module.o Modules/hmacmodule.o Modules/pyexpat.o Modules/_elementtree.o Modules/cjkcodecs/_codecs_cn.o Modules/cjkcodecs/_codecs_hk.o Modules/cjkcodecs/_codecs_iso2022.o Modules/cjkcodecs/_codecs_jp.o Modules/cjkcodecs/_codecs_kr.o Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o Modules/unicodedata.o Modules/fcntlmodule.o Modules/grpmodule.o Modules/mmapmodule.o Modules/resource.o Modules/selectmodule.o Modules/socketmodule.o Modules/termios.o Modules/_ctypes/_ctypes.o Modules/_ctypes/callbacks.o Modules/_ctypes/callproc.o Modules/_ctypes/stgdict.o Modules/_ctypes/cfield.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o Modules/_ssl.o Modules/_hashopenssl.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_suggestions.o Modules/_datetimemodule.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_sysconfig.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typesmodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_opcode.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o",
724
+ "MODLIBS": "-lm -lm -lm -lm Modules/_decimal/libmpdec/libmpdec.a -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lbz2 -L/tmp/homescoop-wasix-python/deps/lib -llzma -L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic -lz -L/tmp/homescoop-wasix-python/deps/lib -lreadline -ltinfo Modules/_hacl/libHacl_Hash_MD5.a Modules/_hacl/libHacl_Hash_SHA1.a Modules/_hacl/libHacl_Hash_SHA2.a Modules/_hacl/libHacl_Hash_SHA3.a Modules/_hacl/libHacl_Hash_BLAKE2.a Modules/_hacl/libHacl_HMAC.a -lm Modules/expat/libexpat.a -L/tmp/homescoop-wasix-python/deps/lib -lffi -ldl -L/tmp/homescoop-wasix-python/deps/lib -lsqlite3 -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lssl -lcrypto -L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic -lcrypto -lm",
725
+ "MODOBJS": "Modules/arraymodule.o Modules/_asynciomodule.o Modules/_bisectmodule.o Modules/_csv.o Modules/_heapqmodule.o Modules/_json.o Modules/_lsprof.o Modules/rotatingtree.o Modules/_pickle.o Modules/_queuemodule.o Modules/_randommodule.o Modules/_struct.o Modules/_zoneinfo.o Modules/mathmodule.o Modules/cmathmodule.o Modules/_statisticsmodule.o Modules/_decimal/_decimal.o Modules/binascii.o Modules/_bz2module.o Modules/_lzmamodule.o Modules/zlibmodule.o Modules/readline.o Modules/md5module.o Modules/sha1module.o Modules/sha2module.o Modules/sha3module.o Modules/blake2module.o Modules/hmacmodule.o Modules/pyexpat.o Modules/_elementtree.o Modules/cjkcodecs/_codecs_cn.o Modules/cjkcodecs/_codecs_hk.o Modules/cjkcodecs/_codecs_iso2022.o Modules/cjkcodecs/_codecs_jp.o Modules/cjkcodecs/_codecs_kr.o Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o Modules/unicodedata.o Modules/fcntlmodule.o Modules/grpmodule.o Modules/mmapmodule.o Modules/resource.o Modules/selectmodule.o Modules/socketmodule.o Modules/termios.o Modules/_multiprocessing/posixshmem.o Modules/_multiprocessing/multiprocessing.o Modules/_multiprocessing/semaphore.o Modules/_ctypes/_ctypes.o Modules/_ctypes/callbacks.o Modules/_ctypes/callproc.o Modules/_ctypes/stgdict.o Modules/_ctypes/cfield.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o Modules/_ssl.o Modules/_hashopenssl.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_suggestions.o Modules/_datetimemodule.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_sysconfig.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typesmodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_opcode.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o",
726
726
  "MODSHARED_NAMES": "",
727
727
  "MODULE_ARRAY_LDFLAGS": "",
728
728
  "MODULE_ARRAY_STATE": "yes",
@@ -870,12 +870,16 @@
870
870
  "MODULE__MULTIBYTECODEC_DEPS": "../../Modules/cjkcodecs/multibytecodec.h",
871
871
  "MODULE__MULTIBYTECODEC_LDFLAGS": "",
872
872
  "MODULE__MULTIBYTECODEC_STATE": "yes",
873
- "MODULE__MULTIPROCESSING_STATE": "n/a",
873
+ "MODULE__MULTIPROCESSING_CFLAGS": "-I../../Modules/_multiprocessing",
874
+ "MODULE__MULTIPROCESSING_LDFLAGS": "",
875
+ "MODULE__MULTIPROCESSING_STATE": "yes",
874
876
  "MODULE__OPCODE_LDFLAGS": "",
875
877
  "MODULE__OPERATOR_LDFLAGS": "",
876
878
  "MODULE__PICKLE_LDFLAGS": "",
877
879
  "MODULE__PICKLE_STATE": "yes",
878
- "MODULE__POSIXSHMEM_STATE": "n/a",
880
+ "MODULE__POSIXSHMEM_CFLAGS": "-I../../Modules/_multiprocessing",
881
+ "MODULE__POSIXSHMEM_LDFLAGS": "",
882
+ "MODULE__POSIXSHMEM_STATE": "yes",
879
883
  "MODULE__POSIXSUBPROCESS_STATE": "n/a",
880
884
  "MODULE__QUEUE_LDFLAGS": "",
881
885
  "MODULE__QUEUE_STATE": "yes",
@@ -372,7 +372,7 @@ build_time_vars = {'ABIFLAGS': '',
372
372
  'HAVE_LINUX_VM_SOCKETS_H': 0,
373
373
  'HAVE_LINUX_WAIT_H': 0,
374
374
  'HAVE_LISTEN': 1,
375
- 'HAVE_LOCKF': 0,
375
+ 'HAVE_LOCKF': 1,
376
376
  'HAVE_LOG1P': 1,
377
377
  'HAVE_LOG2': 1,
378
378
  'HAVE_LOGIN_TTY': 0,
@@ -804,8 +804,9 @@ build_time_vars = {'ABIFLAGS': '',
804
804
  'Modules/_hacl/libHacl_Hash_MD5.a Modules/_hacl/libHacl_Hash_SHA1.a '
805
805
  'Modules/_hacl/libHacl_Hash_SHA2.a Modules/_hacl/libHacl_Hash_SHA3.a '
806
806
  'Modules/_hacl/libHacl_Hash_BLAKE2.a Modules/_hacl/libHacl_HMAC.a -lm '
807
- 'Modules/expat/libexpat.a -L/tmp/homescoop-wasix-python/deps/lib '
808
- '-lffi -ldl -L/tmp/homescoop-wasix-python/deps/lib -lsqlite3 '
807
+ 'Modules/expat/libexpat.a '
808
+ '-L/tmp/homescoop-wasix-python/deps/lib -lffi -ldl '
809
+ '-L/tmp/homescoop-wasix-python/deps/lib -lsqlite3 '
809
810
  '-L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic '
810
811
  '-lssl -lcrypto '
811
812
  '-L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic '
@@ -825,11 +826,11 @@ build_time_vars = {'ABIFLAGS': '',
825
826
  '_bz2 _lzma zlib readline _md5 _sha1 _sha2 _sha3 _blake2 _hmac '
826
827
  'pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp '
827
828
  '_codecs_kr _codecs_tw _multibytecodec unicodedata fcntl grp mmap '
828
- 'resource select _socket termios _ctypes _sqlite3 _ssl _hashlib atexit '
829
- 'faulthandler posix _signal _tracemalloc _suggestions _datetime _codecs '
830
- '_collections errno _io itertools _sre _sysconfig _thread time _types '
831
- '_typing _weakref _abc _functools _locale _opcode _operator _stat '
832
- '_symtable pwd',
829
+ 'resource select _socket termios _posixshmem _multiprocessing _ctypes '
830
+ '_sqlite3 _ssl _hashlib atexit faulthandler posix _signal _tracemalloc '
831
+ '_suggestions _datetime _codecs _collections errno _io itertools _sre '
832
+ '_sysconfig _thread time _types _typing _weakref _abc _functools '
833
+ '_locale _opcode _operator _stat _symtable pwd',
833
834
  'MODDISABLED_NAMES': '',
834
835
  'MODLIBS': '-lm -lm -lm -lm Modules/_decimal/libmpdec/libmpdec.a '
835
836
  '-L/tmp/homescoop-wasix-python/deps/wasix-zlib/package/lib-pic/pkgconfig/../../lib-pic '
@@ -840,7 +841,7 @@ build_time_vars = {'ABIFLAGS': '',
840
841
  'Modules/_hacl/libHacl_Hash_MD5.a Modules/_hacl/libHacl_Hash_SHA1.a '
841
842
  'Modules/_hacl/libHacl_Hash_SHA2.a Modules/_hacl/libHacl_Hash_SHA3.a '
842
843
  'Modules/_hacl/libHacl_Hash_BLAKE2.a Modules/_hacl/libHacl_HMAC.a -lm '
843
- 'Modules/expat/libexpat.a -L/tmp/homescoop-wasix-python/deps/lib '
844
+ 'Modules/expat/libexpat.a -L/tmp/homescoop-wasix-python/deps/lib '
844
845
  '-lffi -ldl -L/tmp/homescoop-wasix-python/deps/lib -lsqlite3 '
845
846
  '-L/tmp/homescoop-wasix-python/deps/wasix-openssl/package/lib-pic/pkgconfig/../../lib-pic '
846
847
  '-lssl -lcrypto '
@@ -861,10 +862,12 @@ build_time_vars = {'ABIFLAGS': '',
861
862
  'Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o '
862
863
  'Modules/unicodedata.o Modules/fcntlmodule.o Modules/grpmodule.o '
863
864
  'Modules/mmapmodule.o Modules/resource.o Modules/selectmodule.o '
864
- 'Modules/socketmodule.o Modules/termios.o Modules/_ctypes/_ctypes.o '
865
- 'Modules/_ctypes/callbacks.o Modules/_ctypes/callproc.o Modules/_ctypes/stgdict.o '
866
- 'Modules/_ctypes/cfield.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o '
867
- 'Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o '
865
+ 'Modules/socketmodule.o Modules/termios.o Modules/_multiprocessing/posixshmem.o '
866
+ 'Modules/_multiprocessing/multiprocessing.o Modules/_multiprocessing/semaphore.o '
867
+ 'Modules/_ctypes/_ctypes.o Modules/_ctypes/callbacks.o Modules/_ctypes/callproc.o '
868
+ 'Modules/_ctypes/stgdict.o Modules/_ctypes/cfield.o Modules/_sqlite/blob.o '
869
+ 'Modules/_sqlite/connection.o Modules/_sqlite/cursor.o '
870
+ 'Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o '
868
871
  'Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o '
869
872
  'Modules/_sqlite/util.o Modules/_ssl.o Modules/_hashopenssl.o '
870
873
  'Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o '
@@ -1080,12 +1083,16 @@ build_time_vars = {'ABIFLAGS': '',
1080
1083
  'MODULE__MULTIBYTECODEC_DEPS': '../../Modules/cjkcodecs/multibytecodec.h',
1081
1084
  'MODULE__MULTIBYTECODEC_LDFLAGS': '',
1082
1085
  'MODULE__MULTIBYTECODEC_STATE': 'yes',
1083
- 'MODULE__MULTIPROCESSING_STATE': 'n/a',
1086
+ 'MODULE__MULTIPROCESSING_CFLAGS': '-I../../Modules/_multiprocessing',
1087
+ 'MODULE__MULTIPROCESSING_LDFLAGS': '',
1088
+ 'MODULE__MULTIPROCESSING_STATE': 'yes',
1084
1089
  'MODULE__OPCODE_LDFLAGS': '',
1085
1090
  'MODULE__OPERATOR_LDFLAGS': '',
1086
1091
  'MODULE__PICKLE_LDFLAGS': '',
1087
1092
  'MODULE__PICKLE_STATE': 'yes',
1088
- 'MODULE__POSIXSHMEM_STATE': 'n/a',
1093
+ 'MODULE__POSIXSHMEM_CFLAGS': '-I../../Modules/_multiprocessing',
1094
+ 'MODULE__POSIXSHMEM_LDFLAGS': '',
1095
+ 'MODULE__POSIXSHMEM_STATE': 'yes',
1089
1096
  'MODULE__POSIXSUBPROCESS_STATE': 'n/a',
1090
1097
  'MODULE__QUEUE_LDFLAGS': '',
1091
1098
  'MODULE__QUEUE_STATE': 'yes',
@@ -516,6 +516,16 @@ def _flush_std_streams():
516
516
  #
517
517
 
518
518
  def spawnv_passfds(path, args, passfds):
519
+ if sys.platform == "wasi":
520
+ passfds = tuple(sorted(map(int, passfds)))
521
+ was = [os.get_inheritable(fd) for fd in passfds]
522
+ for fd in passfds:
523
+ os.set_inheritable(fd, True)
524
+ try:
525
+ return os.posix_spawn(path, args, os.environ)
526
+ finally:
527
+ for fd, inh in zip(passfds, was):
528
+ os.set_inheritable(fd, inh)
519
529
  import _posixsubprocess
520
530
  passfds = tuple(sorted(map(int, passfds)))
521
531
  errpipe_read, errpipe_write = os.pipe()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/wasix-python",
3
- "version": "3.14.2-20",
3
+ "version": "3.14.2-21",
4
4
  "description": "CPython 3.14 for slicc WASIX (commands python, python3; cross-built in CI on wasix-sysroot)",
5
5
  "license": "PSF-2.0 AND GPL-3.0-or-later",
6
6
  "engines": {