Commit Graph

11 Commits

Author SHA1 Message Date
Hood Chatham 48309e65db
Run make -C packages update-all (#3348)
Upgrade 75 packages. The following packages have not been upgraded
because of test failures:

* matplotlib
* packaging
* Pillow
* rebound
* reboundx
* xgboost
* yt
* zarr
2022-12-15 15:08:24 -08:00
Gyeongjae Choi 555f7828f4
Parse top-level import name from wheel file (#3006) 2022-09-06 15:20:04 +09:00
Roman Yurchak c85e00806b
MAINT Switch to pytest-pyodide (#2893)
Co-authored-by: ryanking13 <def6488@gmail.com>
2022-07-31 19:00:45 +09:00
Hood Chatham 36dee13657
MAINT run_in_pyodide function should take selenium fixture as an explicit argument (#2617)
This updates run_in_pyodide to assume that the first argument of the function will be a selenium fixture.
2022-05-25 19:47:43 -07:00
Hood Chatham e732cb9dd7
meta.yaml keys for cross-build environment (#2536)
This moves unisolation into a package key. `cross-build-env: true` means the package
is part of the cross build environment and should be unisolated. `cross-build-files`
gives a list of files that should be copied from the built copy of the package into the host
copy of the package.

This will allow us to construct a cross build environment automatically as part of building
packages. If we have these files and the Python include directory, this is sufficient for 
cross-building binary packages.
2022-05-11 20:31:16 -07:00
Gyeongjae Choi b20b43bd66
MAINT Split conftest.py into modules (#2418) 2022-05-08 16:52:08 +09:00
Hood Chatham eabfa8101e
Use pypa/build (#2272)
This resolves #2189.

> build isolation would be a bit difficult to use in our case, as for instance
> when building scipy we need the patched numpy on the host and not the numpy
> version specified in pyproject.toml (which would be unpatched)

This is indeed the case, certain packages cannot be isolated. My strategy is to
make a list of packages that shouldn't be isolated and add symlinks from the
isolated build environment into the `.artifacts` directory to "unisolate" them.
Then we remove the unisolated package requirements from the list of packages to
install, in case pesky constraints aren't satisfied. In particular, packages
that expect to be used with `pypa/build` often feel free to put very specific
constraints on their build dependencies (often asking them to be == to a
particular version). Specific version constraints is good for build
reproducibility and with build isolation doesn't cost anything. So we just
ignore the constraints. Hopefully nothing goes wrong.

In particular, any package that does stuff both at build time and at runtime and
requires synchronization between the build time and run time environments needs
the unisolation. This includes cffi with `_cffi_backend.so`, and of course numpy
and scipy. pycparser needs to be unisolated because it is a dependency of cffi.

Currently I have also unisolated pythran and cython, though these are build time
only tools and do not really need to be unisolated. Cython I unisolated
specifically because numcodecs needs it but it isn't in the numcodecs build
dependencies. Pythran I unisolated because of a problem with the scipy build
which I don't fully understand (some problem with long double feature
detection).
2022-03-21 22:05:30 -07:00
Henry Schreiner e065454c35
chore: some package updates (#2230) 2022-02-28 20:55:28 -08:00
Gyeongjae Choi ea92661365
Replace "PyPi" to "PyPI" in docs and yaml (#1962) 2021-11-15 10:26:55 +01:00
Hood Chatham a47cd930cc
Fix string conversion from javascript to python (#1806) 2021-08-30 18:17:30 +02:00
Hood Chatham 4cf245aa55
Add cffi package (#1761) 2021-08-01 16:12:14 +02:00