`Path::parent()` returns `None` for root and empty paths, so handle it
by panicking in this case. In this case it should never happen under
non-contrived circumstances.
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
- Simplify arch detection in cmake
- Try not reinstalling rustup
- Use the existing method of installing protoc correctly
Signed-off-by: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com>
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
- Ensure rustup gets the version appropriate for the architecture
- Add a manylinux container for arm
- Fix target for native arm compilation
- Fix cmake install in pagmo2/arm64
- Fix protoc arch in cmake
Signed-off-by: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com>
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
This modifies the CI to upload artifacts on every commit to master so
that we can store pull them nightly to release elsewhere.
Signed-off-by: Timothy Bess <timbessmail@gmail.com>
Did this work a bit out of order so squashed it all into one commit.
Conda related:
- switch to BUNDLED arrow dependency source
- this lets us remove our direct deps on lz4, flatbuffers, zstd
- add abi3 feature to crate + enable unless CONDA_BUILD is set
- when CONDA_BUILD is set, pass PYTHON to maturin build
--interpeter flag
- remove vestigal use of CMAKE_ARGS from .txt.in files
- parse CMAKE_ARGS from environment (unrelated to above item)
- this is so we pick up the cross-compiling toolchain (i.e.
CMAKE_LIBTOOL) in conda
Not conda related:
- switch away from global include_directories() calls
- these add include paths to every target, including our dependencies
- instead, export lists of INCLUDE_DIRS from every dependency,
and then assemble them into a list to be passed to
`target_include_directories` on the psp and perspective_esm targets
- decouples order of psp_build_dep() calls and order of include
directories
- switch Boost from a system dependency to psp_build_dep
- eventually, to support Conda, we'll add a "use system dependency"
feature to psp_build_dep for all dependencies
- caveat: the boost download is a bit slow
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
Integration/smoke tests for the Pyodide wheel, which run for the
perspective-pyodide virtual package and in the Pyodide CI actions.
Some changes which support installing the wheels in a pytest-pyodide
environment:
- Defer some third-party imports to "run time" by moving them deeper
than module scope
- Add try/except guards to widget re-exports so that wheel can be used
without Jupyter being installed
- Move Jupyter deps in pyproject.toml to an optional-dependencies group
Signed-off-by: Tom Jakubowski <tom@prospective.dev>