Commit Graph

190 Commits

Author SHA1 Message Date
Hood Chatham eeaa3c3ecf
runPython refactoring (#923)
Co-authored-by: Dexter Chua <dec41@srcf.net>
2021-01-02 23:44:24 +01:00
Dexter Chua 869044ba2e
Build six using usual build system (#1010) 2021-01-02 16:59:28 +08:00
Dexter Chua 2dfeba4c05
Build with -fPIC (#1008)
This is needed for the upstream backend, and I believe is a noop under
the fastcomp backend

Co-authored-by: Michael Droettboom <mdboom@gmail.com>
Co-authored-by: Joe Marshall <joe.marshall@nottingham.ac.uk>
2021-01-02 09:17:14 +01:00
Dexter Chua 4ae245855d
Install uglifyjs and lessc via npm (#1002)
The installation is very fast, and this avoids having two copies of node
around. In particular, this avoids the need to monkey-patch uglify-js to
use the system node.

This can be further streamlined when #792 is merged
2021-01-01 23:43:48 +08:00
Dexter Chua 4e39fd39d6
Remove unused variable in Makefile (#1001) 2021-01-01 21:19:27 +08:00
Dexter Chua 27e2800120
Use upstream file packager instead of fork (#991) 2021-01-01 08:48:28 +01:00
Dexter Chua 8cc3c33550
Remove SWAPPABLE_ASM_MODULE setting (#968)
This is removed in emscripten 1.39.16, and for the wasm backend, was
broken since 1.39.6. Eliminating the setting will make it easier to
upgrade in the future.
2020-12-31 11:45:44 +01:00
Dexter Chua 5d31bcbee4
Remove EMULATED_FUNCTION_POINTERS setting (#970)
According to pmp-p it is no longer needed, and this setting is
unavailable when using the upstream backend.

https://github.com/iodide-project/pyodide/issues/476#issuecomment-533285690
2020-12-31 11:43:49 +01:00
Dexter Chua 64d0b7cd00
BLD Remove TEXTDECODE=0 build flag (#962)
This was introduced in #96 to bypass a Chrome bug introduced in Chrome
69 and fixed in Chrome 70. Chrome 69 supposedly has a market share of
0.09%, so I think it is safe to drop support.
2020-12-31 11:01:04 +01:00
Hood Chatham c9c4499a0d
Maint: precommit clang-format (#942)
This resolves #935. I also changed the lint make recipe to use find which is more resilient to changes in directory structure and doesn't output those annoying No such file or directory messages to stdout.

I changed the name of the apply-lints recipe to apply-lint for consistency, and I updated it to only apply lints to files with staged changes.
2020-12-31 09:57:41 +08:00
Hood Chatham a4f4f458de
Added minimal make recipe (#928)
* Added minimal rule.

* Added trailing newline to makefile
2020-12-31 08:42:02 +08:00
Hood Chatham aacaac8494
Use the C type system in hiwire (#971)
Before this PR, hiwire effectively opts out of the C type system entirely by declaring everything as int. A char*? Cast it to int. What about a PyObject*? Better cast it to int too. This makes the calling code more verbose (at least if the calling code uses the type system) and is not good for maintainability.

I made a NewType called HwObject for hiwire keys. If you google how to make a NewType in C, people recommend a single field struct. However, EM_JS does not convert that compatibly: it converts any struct to the address of the struct, but an integer to the value of the integer. This created trouble. I decided instead to make a dummy empty struct and work with pointers to that struct. To ensure that converting to and from the NewType always requires an explicit cast, I added -Werror=int-conversion -Werror=incompatible-pointer-types to the compiler options. (I like this setting better in any case.)

I added asserts to main.c checking that HwObject has the same alignment and size as int. Hopefully this will prevent confusing bugs if that ever changes.
2020-12-31 07:36:00 +08:00
Dexter Chua 8588b0a4d6
Remove BINARYEN_METHOD flag (#966)
This has been removed since 1.38.23, and is always set to native-wasm
when we set WASM=1.

See https://github.com/emscripten-core/emscripten/pull/7836
2020-12-28 13:30:25 +08:00
Dexter Chua 8de2ed1202
Build C libraries via buildall.py (#927)
This addresses part of #713, by listing and building C libraries as
dependencies. This means we automatically build CLAPACK when needed, and
`lxml`'s C dependencies are not built if lxml is not. In particular,
building "core" should now be faster.

The building itself is still performed by Makefile.
2020-12-23 14:24:32 +01:00
Hood Chatham 12a86812d9
Added "apply-lints" recipe to Makefile that modifies files in place to apply lints. (#925) 2020-12-23 11:05:58 +01:00
Roman Yurchak ce96a51d38
Create a pyodide-py package (#909) 2020-12-22 08:47:22 +01:00
Dexter Chua 77b2a99697
Test emsdk patches (#905) 2020-12-21 11:20:11 +08:00
Roman Yurchak 641ce219b8
Use PYODIDE_BASE_URL for the deployment location (#855) 2020-12-18 13:23:45 +01:00
Dexter Chua 0de8ddb0cf
MAINT Move all lint commands to Makefile (#879) 2020-12-17 10:54:23 +01:00
Dexter Chua 34026265fc
Remove lz4_c patch (#851) 2020-12-13 12:41:22 +01:00
Dexter Chua 9e050c143c
Remove clang-format symlink in config.yml (#837) 2020-12-08 09:01:58 +01:00
Dexter Chua 3a2719369e
PKG Downgrade parso to 0.7.1 (#822)
This is what jedi 0.17.2 wants
2020-12-05 13:09:46 +01:00
Dexter Chua a780abcae1
PKG Update jedi and parso to 0.17.2 and 0.8.0 resp (#807) 2020-12-03 19:33:13 +01:00
Roman Yurchak f7adad7eb3
Upgrade to emscripten 1.38.34 with fastcomp (#480)
Co-authored-by: Dexter Chua <dec41@srcf.net>
2020-11-30 18:54:35 +01:00
Roman Yurchak 8c22c98a43
MAINT Reorganize src/ and tests/ folders (#786) 2020-11-09 13:28:02 +01:00
Roman Yurchak 7d168d05af
Use JsDelivr for distributing pyodide packages (#779) 2020-10-30 21:10:33 +01:00
Roman Yurchak bcc4f6b521
MNT Clean-up root folder (#714)
* Move six

* Move jedi and parso

* Move lz4

* Move CLAPACK

* Move zlib and libxslt

* Move libiconv and libxml

* Remobe netlify/state.json and move remove_modules to cpython

* Move bumpversion.cfg to setup.cfg

* Reset cache

* Fix test_common.py
2020-07-08 16:58:10 +02:00
Roman Yurchak fc5495ffdb
Update to Python 3.8.2 (#712)
* Updating to CPython 3.8

* More fixes

* Skip python headers check in tools/dependency-check.sh

* Fix checksum

* Fix packages

* Fix syntax error

* Fix benchmark path

* Update CPython tests

* More test fixes

* Fix PyStone

* More Cpython test fixes

* Update docs

* Fix issue in conftest

* Add documentation

* Upload updated Docker image
2020-07-07 16:21:33 +02:00
Jay Harris d1a5cfeb25
Compile python lxml (#544)
Co-authored-by: Luiz Silva <luizfrdasilva@gmail.com>
2020-06-30 18:37:22 +02:00
Roman Yurchak 9afc7a1617
STY Apply black for code style (#702)
* Apply black

* A few fixes

* Relax flake8 checks

* Exclude tools/file_packager.py from black
2020-06-28 20:24:40 +02:00
Roman Yurchak 0e26ca0642
BLD Build CLAPACK, cpython and lz4 in parallel (#701) 2020-06-28 15:51:46 +02:00
Roman Yurchak 4ee8dedeed
Update to emscripten 1.38.31 (#674)
Co-authored-by: Michael Droettboom <mdboom@gmail.com>
2020-05-28 18:13:51 +02:00
Roman Yurchak 94000642d5 Bump version: 0.14.3 → 0.15.0 2020-05-20 21:11:50 +02:00
Roman Yurchak dd4d788694
Update changelog, minor doc fixes and CDN URL updates (#668) 2020-05-20 18:58:43 +02:00
Jan Max Meyer e8d2d82c1b
Merge pull request #645 from rth/partial-build
Support partial builds
2020-05-12 14:53:17 +02:00
Roman Yurchak d02a96ece4 Fix Makefile syntax 2020-05-09 12:48:35 +02:00
Roman Yurchak f3f596f0c1 Do no build CLAPACK if PYODIDE_PACKAGES is defined 2020-05-09 12:40:35 +02:00
Roman Yurchak ea74555209
BLD include lz4 in `make clean` (#641) 2020-05-08 22:09:22 +02:00
Kevin Howell c48ed60d69
ENH Reduce TOTAL_MEMORY to 5MiB (#600) 2020-02-03 12:47:47 +01:00
Dorian Pula a1663e77e0 Add dependency check for the builds. (#568)
* Add dependency check for the builds.

* Use Python 3 specifically.

* Use the right target.
2019-11-19 16:51:45 -05:00
Sergio bd38722f2d Cleanup makefile (#563)
* Fix whilespace in makefile

* Add happy message after build-all
2019-11-18 16:32:05 -05:00
William Lachance bbc6d8ddce Remove various linux-isms in pyodide makefile 2019-10-21 12:27:18 -04:00
William Lachance dd8faf5164 Insist on using bash shell for building pyodide
bash may not be the default on Mac
2019-10-21 12:27:18 -04:00
Marc Abramowitz c49249854e Build _bz2 module (#364) 2019-08-22 07:43:18 -04:00
Marc Abramowitz 5f7e4dacdf Add "env" make target (#505)
I found this useful while debugging #501, because it let me print
environment variables like `EMSCRIPTEN_VERSION` and `PATH`.
2019-08-14 12:08:17 -04:00
Michael Droettboom 5db6017070
Add support for completions based on jedi (#504) 2019-08-14 10:16:12 -04:00
Jan Max Meyer b30fa5cd3b Fixing Makefile to check for existing symlinks (#483)
Call of `make` reported "ln: failed to create symbolic link '$(PYODIDE_ROOT)/ccache/emcc': File exists". This solves this issue.
2019-07-04 17:05:49 -04:00
Roman Yurchak 2cf8639973 MAINT Move package tests under packages/ dir (#471)
* Move package tests under the packages/ folder

* Fix tests
2019-06-19 14:26:08 -04:00
Michael Droettboom 6707647fa7 Update URL 2019-06-03 15:57:17 -04:00
Michael Droettboom 100e81f141
Update URL and document using Pyodide with Iodide (#455)
* Update URL and document using Pyodide with Iodide

* Update docs/using_pyodide_from_iodide.md

Co-Authored-By: Carol Willing <carolcode@willingconsulting.com>

* Update docs/using_pyodide_from_iodide.md

Co-Authored-By: Carol Willing <carolcode@willingconsulting.com>
2019-06-03 15:46:14 -04:00