Commit Graph

202 Commits

Author SHA1 Message Date
Hood Chatham f144514534 Revert "Version 0.22.0a3"
This reverts commit 0b4e19dbe1.
2022-11-10 11:15:57 -08:00
Hood Chatham 0b4e19dbe1 Version 0.22.0a3
Only difference between this and 0.22.0a2 is the sys.exit fix for
the command line runner (#3241). Just trying to get Pyodide working
in numpy CI...
2022-11-10 07:25:29 -08:00
Hood Chatham 9952a86f0f Revert "Version 0.22.0a2"
This reverts commit ef64c06f5b.
2022-11-09 19:15:51 -08:00
Hood Chatham ef64c06f5b Version 0.22.0a2 2022-11-09 13:09:59 -08:00
Hood Chatham 2cd616d441
Add support for loading .so files in command line runner (#3098)
This is needed to finish getting numpy tests working.

It won't work for packages that need shared libraries without some extra intervention.
ryanking's work in #3234 would help to fix this.

pip install scipy makes the command line runner extremely slow. Without scipy installed,
python -c 'print(1)' runs in about 1 second, but with it installed it takes more like 10 seconds
(time to load clapack_all.so and 111 different .so files in scipy, totaling 20 megabytes). We
have to load all of this despite the fact that we won't use any of it.
2022-11-09 13:05:01 -08:00
Gyeongjae Choi af206d159c
Add vendor-sharedlib key in meta.yaml spec (#3234) 2022-11-09 20:18:44 +09:00
Hood Chatham 3dfe5b35ef
Emscripten 3.1.23 (#3148) 2022-11-07 08:51:24 -08:00
Gyeongjae Choi 3bb7b95b98
Fix CLAPACK install path (#3224) 2022-11-04 11:04:50 +09:00
Gyeongjae Choi f7bb2489f9
Fix copying shared libraries after build (#3212)
This fixes two minor bugs when building packages:

- Shared libraries are not copied into dist directory when it is already built.
- When build fails, the shared library zip file remains in the package directory.

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2022-11-01 10:41:44 +09:00
Gyeongjae Choi f48893c33a
Add _hashlib to unvendored stdlib (#3206) 2022-10-26 10:59:01 +09:00
Gyeongjae Choi b610f2c7e0
Add `pyodide skeleton` command (#3175) 2022-10-25 14:52:11 +09:00
Gyeongjae Choi 6214bafe5d
BLD Retry when package download fails (#3157) 2022-10-05 14:23:13 +09:00
Gyeongjae Choi d2fce73291
Prevent backend-flags from propagating to dependencies (#3153) 2022-10-04 08:57:24 +09:00
Gyeongjae Choi 90e20badd7
Prevent from searching meta.yaml recursively inside extracted package source directory (#3162)
This fixes the behavior of searching meta.yaml recursively inside the extracted package source directory.
It sometimes cause error on packages that contain local meta.yaml file due to conda support.
2022-09-30 15:09:45 +09:00
Gyeongjae Choi 83ba807b10
Handle shared libraries with version suffix (#3154) 2022-09-30 11:06:41 +09:00
Yizhi Liu f28bf95c84
Add lightgbm package (#3138) 2022-09-27 10:14:11 +09:00
Hood Chatham 9a3365a6d0 Revert "0.22.0a1"
This reverts commit 13526ac8ff.
2022-09-24 18:37:03 -07:00
Hood Chatham 13526ac8ff 0.22.0a1 2022-09-24 18:36:46 -07:00
Gyeongjae Choi c54328cb1b
Use pyodide-cli entrypoint for out-of-tree CLI (#3140) 2022-09-24 18:34:36 -07:00
Gyeongjae Choi a916ea0b34
BLD simplify building CMake based packages (#3128)
This PR makes building CMake based packages easier.
- Introduce a custom toolchain file for Pyodide. It inherits most of settings from the original Emscripten toolchain file with some modifications. Packages built by pyodide-build will automatically use that toolchain file.
- Proxy cmake in pywasmcross.py, in order to proxy other compiler toolchains.
2022-09-22 10:42:26 +09:00
Gyeongjae Choi 024dcbe8f0
CI Fix ccache in package build (#3104) 2022-09-21 09:30:09 +02:00
Hood Chatham 09af24b3b5
DOCS Add docs for out of tree builds (#3109) 2022-09-18 17:36:12 -07:00
Hood Chatham 3765b51841
Fix pyodide venv install from local file system for pure Python packages (#3108)
Currently `pip` can't invoke the Pyodide build backend, but it should still be
able to build pure Python packages from source. To allow this, we need to
restore `_PYTHON_SYSCONFIGDATA_NAME` so that it isn't inherited by
subprocesses. Otherwise, they will fail to import `sysconfig` because the
subprocess doesn't have our altered `sys.path`. Annoyingly, when pip invokes
the subprocess it seems to pass `_PYTHON_SYSCONFIGDATA_NAME` down
but not `PYTHONPATH` so just setting the `PYTHONPATH` isn't good enough.
2022-09-18 09:21:02 -07:00
Hood Chatham fc8503d2de
Add create_index to create a pypa simple index and use it with xbuildenv (#3096)
Pyodide virtual environments created from release versions of Pyodide
will use this package index to install packages from jsdelivr.
2022-09-13 20:19:01 -07:00
pre-commit-ci[bot] efcca8be91
[pre-commit.ci] pre-commit autoupdate (#2928) 2022-09-13 15:12:40 -07:00
Gyeongjae Choi 2dc937c0b6
Enable libhdf5 and h5py (#2812) 2022-09-13 16:17:52 +09:00
Gyeongjae Choi 6d5de461a5
Proxy ranlib and strip (#3082) 2022-09-13 13:19:44 +09:00
Hood Chatham b6d3281d67
Add command to create Pyodide virtual environment (#2976)
Inside the generated virtual environment, `python` will use node to run Pyodide.
Pip can be used to install packages into the environment.
2022-09-12 11:18:40 -07:00
Roman Yurchak 4dd8a3e0cb
Switch to meta.yaml parsing with pydantic (#3079) 2022-09-11 09:20:56 +02:00
Gyeongjae Choi 555f7828f4
Parse top-level import name from wheel file (#3006) 2022-09-06 15:20:04 +09:00
Hood Chatham 525b5a1785
Update scipy to 1.9.1 (no meson) (#3043)
This updates scipy to v1.9.1. This was mercifully easy:

* for now we disable meson
* we dropped `patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch` since it was upstreamed
* we had to add a patch to put fitpack back into a shape that makes f2c happy
* we need one more `-Wincompatible-function-pointer-types` fix upstream PR: https://github.com/scipy/scipy/pull/16934
2022-09-04 22:39:32 -07:00
Gyeongjae Choi e4bc821d35
Raise error when static libraries are specified as a runtime dependency (#3055) 2022-09-04 12:53:09 +02:00
Gyeongjae Choi 09aa16a9a0
Load packages in a topologically sorted order (#3020)
This commit changes how we load packages.

Before, we loaded all shared libraries first then all Python packages.
All shared libraries / Python packages were loaded in a random order,
which might cause a problem if there is a load-time dependency between libraries or between packages.

Now we load them in a topologically sorted order regarding dependencies.
2022-09-02 10:19:42 +09:00
Hood Chatham e6e7d56752
MAINT Remove custom setuptools_rust commit (#3045) 2022-08-30 17:29:25 -07:00
Gyeongjae Choi 6964672556
Fix incorrect package name of ruamel.yaml (#3036) 2022-08-30 16:25:13 +09:00
Gyeongjae Choi ad128337e8
Unpin setuptools version (#3010) 2022-08-24 08:32:26 +02:00
Gyeongjae Choi b4433e1b4a
Do not load unvendored stdlibs by default (#2998)
As discussed in #2940, this PR changes the default value of the fullStdLib flag in loadPyodide to false.
This is a breaking change because for now distutils is not loaded by default.
Also, when fullStdLib is set to true, it loads all unvendored stdlibs except for test.

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2022-08-23 11:52:27 +09:00
Roman Yurchak 62de53f5a8
Add build dependencies to meta.yaml (#2132)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
2022-08-22 13:35:27 +09:00
Gyeongjae Choi 26535e33cd
Unvendor sqlite3 from stdlib (#2946)
Unvendor the standard library sqlite3 to reduce the size of the main module. It reduces the size of pyodide.asm.wasm around ~1.4MB.

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2022-08-22 08:52:50 +09:00
Gyeongjae Choi 5b35c272a0
Fix emscripten version check test (#2990) 2022-08-20 02:56:20 +02:00
Hood Chatham b1ab8f0de4
Add an Emscripten version check for out of tree builds (#2975)
The out of tree build system applies an abi tag based on `PYODIDE_EMSCRIPTEN_VERSION`
in `Makefile.envs`. Prior to this PR, it will happily accept the version of emscripten (say 3.1.18)
and produce a wheel tagged like it was produced from the expected Emscripten version (say 3.1.14).
This causes confusing errors due to ABI mismatch see igraph/python-igraph#560. This error message
should help prevent such confusion.
2022-08-18 09:28:10 +02:00
Gyeongjae Choi 26e45657a7
MAINT Build test and distutils stdlib modules with pyodide-build (#2979) 2022-08-18 13:55:16 +09:00
Gyeongjae Choi 6acd1dd02b
Add an import hook for unvendored and removed stdlibs (#2973) 2022-08-17 22:03:21 +02:00
Gyeongjae Choi 757b54e398
Pin setuptools version temporarily (#2972) 2022-08-16 11:32:03 +09:00
Gyeongjae Choi b497ce26ed
Add lzma (#2939) 2022-08-11 17:52:23 +09:00
Hood Chatham 3eef0ed275 Bump version to 0.22.0.dev0 2022-08-09 21:49:23 +02:00
Gyeongjae Choi 5e412795ed
0.21.0 (#2935) 2022-08-09 15:36:10 +02:00
Hanno Rein 8a9feaac51
Add REBOUNDx package (#2909) 2022-08-08 14:02:43 +02:00
Gyeongjae Choi 88232d7639
BLD Pin cmake version temporarily (#2945) 2022-08-08 11:23:44 +09:00
Hood Chatham 4c8d99451b
Report wrong checksum when there is a checksum mismatch in a package build (#2943) 2022-08-06 12:41:11 +09:00