Commit Graph

24 Commits

Author SHA1 Message Date
Gyeongjae Choi 11ce02fb3d
BLD Run build/post script inside the unpacked wheel directory (#4481) 2024-02-08 20:15:47 +09:00
Loïc Estève 7193109f4d
Package OpenBLAS and use OpenBLAS in scipy (#3331) 2023-04-11 21:30:07 -07:00
Gyeongjae Choi 994ce5111f
BLD Add DISTDIR variable (#3584) 2023-02-17 08:25:42 +09:00
Hood Chatham 20e92c37ca
DOCS, MAINT: Replace :any: xrefs with more specific types (#3531)
This leads to more consistent rendering (functions and methods get parens after
them) and reduces chances of warnings about getting the wrong link. It is also
possible to use `~fully.quallified.name` to just show `name` if we use a specific
reference type, but it doesn't work with `any` for some reason.
2023-02-01 11:00:58 -08:00
Gyeongjae Choi 328a9ffc34
Add tag key in meta.yaml spec (#3444)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2023-01-27 13:31:26 +09:00
Gyeongjae Choi cc7a734c49
Add `requirements/executable` key in meta.yaml spec (#3300)
Adds a new key in meta.yaml spec: requirements/executable which specifies the list of executables required to build a package. Unlike conda, we don't build or install these executables. This key exists just to halt build earlier

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2022-11-30 16:40:36 +09:00
Gyeongjae Choi 3ad41f13c7
Merge library and sharedlibrary key to build/type (#3238) 2022-11-13 12:31:14 +09:00
Gyeongjae Choi af206d159c
Add vendor-sharedlib key in meta.yaml spec (#3234) 2022-11-09 20:18:44 +09:00
Gyeongjae Choi 2dc937c0b6
Enable libhdf5 and h5py (#2812) 2022-09-13 16:17:52 +09: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
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
Hood Chatham 61c062f5aa
Remove replace_libs (#2822)
We don't use this feature anymore.
2022-07-02 06:53:16 -07:00
Hood Chatham 49807b699c
ENH Add flag to run bash script in cross build environment (#2734)
This script will run with the target environment variables and
sysconfigdata and with the pywasmcross compiler symlinks.
Any changes to the environment will persist to the main build
step but will not be seen in the post step (or anything else
done outside of the cross build environment). The working
directory for this script is the source directory.
2022-06-27 21:05:53 -07:00
Hood Chatham 19b2dcf77b
Fix error message for invalid exports meta.yaml key (#2777) 2022-06-23 21:23:47 -07:00
Hood Chatham fac51bdcf0
Default to -sSIDE_MODULE=2 in packages (#2712)
Drops the size of the dist directory from 271mb to 226 mb which is a 17% size reduction.
2022-06-23 07:15:21 -07:00
Hood Chatham 2d056ed253
Add support for backend flags to buildpkg (#2690)
And use it to disable numpy optimization by passing the `--disable-optimization` 
flag instead of patching numpy.
2022-06-13 16:40:48 -07:00
Hood Chatham f7b0f8c5cb
No replay (#2256)
Our package build process currently has a significant flaw: we first run setup.py, recording all compilation commands, then we rewrite these compilation commands to invoke emcc and replay them, and then we pray that the cross compiled executables ended up in the right place to go into the wheel. This is not a good strategy because the build script is allowed to implement arbitrary logic, and if it moves, renames, etc any of the output files then we lose track of them. This has repeatedly caused difficulty for us.

However, we also make no particularly significant use of the two pass approach. We can just do the simpler thing: capture the compiler commands as they occur, modify them as needed, and then run the fixed command.

I also added a patch to fix the numpy feature detection for wasm so that we don't have to include _npyconfig.h and config.h, numpy can generate them in the way it would for a native build. I opened a numpy PR that would fix the detection for us upstream:
numpy/numpy#21154

This clears the way for us to switch to using pypa/build (as @henryiii has suggested) by removing our dependence on specific setuptools behavior.

This is on top of #2238.
2022-03-13 11:39:06 -07:00
Gyeongjae Choi ce2746b690
DOCS Documentation cleanup [skip ci] (#2070)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
Co-authored-by: Sylvain Riondet <sylvain.riondet@emailtree.ai>
Co-authored-by: Sylvain <sylvainriondet@gmail.com>
2022-01-04 16:46:00 +01:00
Roman Yurchak 20d760ea7c
Typo and grammar fixes (#1959) 2021-11-14 21:47:49 +01:00
Gyeongjae Choi a7e17e0985
DOC Update outdated descriptions about building pkgs [skip ci] (#1885) 2021-10-13 17:14:49 +02:00
Roman Yurchak d25bbb70fe
ENH Unvendor unit tests from packages (#1834) 2021-09-21 08:47:48 +02:00
Hood Chatham 49b33b5442
Add package config for pyodide package (#1848) 2021-09-21 08:46:44 +02:00
Roman Yurchak 3b93e3d1bb
DOC Add tutorial for adding a new package (#1829)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2021-09-14 09:05:44 +02:00