Skip to content

Commit 493b915

Browse files
committed
mega commit
WIP not working ``` /bin/sh: /opt/homebrew/lib/python3.11/site-packages/cmake/data/bin/cmake -E chdir /Users/tom/perspective/perspective/rust/target/debug/build/perspective-server-639831860500edae/out/build/arrow-src git apply /Users/tom/perspective/perspective/rust/perspective-server/cpp/perspective/patches/fix_arrow_libtool.patch: No such file or directory ``` switching off to arrow PR will also add the fix_flags.patch to this branch I think Signed-off-by: Tom Jakubowski <tom@prospective.dev> WIP, switch to BUNDLED arrow build failing because despite ARROW_JEMALLOC assuredly being OFF, the .so is ending up with missing arrow symbols referencing jemalloc ``` ImportError: dlopen(/Users/tom/perspective/perspective/rust/perspective-python/perspective/perspective.abi3.so, 0x0002): symbol not found in flat namespace '__ZN5arrow11memory_pool8internal17JemallocAllocator13ReleaseUnusedEv' ``` Signed-off-by: Tom Jakubowski <tom@prospective.dev> reorder arrow Signed-off-by: Tom Jakubowski <tom@prospective.dev> fix patch Signed-off-by: Tom Jakubowski <tom@prospective.dev> remove zstd dep Signed-off-by: Tom Jakubowski <tom@prospective.dev> remove traces of arrow deps moved into bundle Signed-off-by: Tom Jakubowski <tom@prospective.dev> annotate PATCH_COMMAND Signed-off-by: Tom Jakubowski <tom@prospective.dev> ignore .venv for prettier Signed-off-by: Tom Jakubowski <tom@prospective.dev> Better control over include directory ordering `psp_build_dep(name)` now exports in its parent scope a `${name}_INCLUDE_DIRS` variable which contains a list of include directories containing that dependency's header files. These variables are then joined into a list in CMakeLists.txt, which is then passed to `target_include_directories(psp)` There are no longer any calls to `include_directories()`. Some extra include paths were also removed, like `/usr/local/include` for Boost, which is better covered by `Boost_INCLUDE_DIRS`. Also removes `boost_system` from the list of Boost requirements; we only need Boost headers. closes #2792 Signed-off-by: Tom Jakubowski <tom@prospective.dev> more careful with Boost hoping won't need to restore the WIN32-sensitive ordering of the find_package(Boost) call Signed-off-by: Tom Jakubowski <tom@prospective.dev> remove unused CMAKE_ARGS Signed-off-by: Tom Jakubowski <tom@prospective.dev> perspective-server: parse CMAKE_ARGS from environ supports the conda build Signed-off-by: Tom Jakubowski <tom@prospective.dev> fix emscripten build Signed-off-by: Tom Jakubowski <tom@prospective.dev> make VCPKG_ROOT optional, but warn prevents need for fix-windows.diff patch Signed-off-by: Tom Jakubowski <tom@prospective.dev> oops fix typo Signed-off-by: Tom Jakubowski <tom@prospective.dev> replace find_package(Boost) with psp_build_dep This may make local builds from clean take slightly longer (since it won't use any latent Boost on the system), but should make CI builds faster since the "build boost" step of install-tools.mjs can be skipped. The headers in Boost's release tarballs can be used directly. Was also possible to update `find_package(Boost)` call to use `PATHS` to request the Emscripten build to look in system trees, which I tried first, but getting the paths to where FindBoost.cmake might be right on every environment was like whack-a-mole. This way is the same on every environment and makes Boost dependency consistent with the others Signed-off-by: Tom Jakubowski <tom@prospective.dev> conda-build: detect conda, use , add feature flag for abi3 subsumes fix_maturin.diff and disable_abi3.diff Signed-off-by: Tom Jakubowski <tom@prospective.dev> use explicit PSP_CPP_BUILD_DIR completes subsumption of fix_windows.diff Signed-off-by: Tom Jakubowski <tom@prospective.dev> use non-system includes for psp_INCLUDE_DIRS Signed-off-by: Tom Jakubowski <tom@prospective.dev> Remove install_tools.mjs Signed-off-by: Tom Jakubowski <tom@prospective.dev> fix re2 include_dirs export how was psp able to build like this? Signed-off-by: Tom Jakubowski <tom@prospective.dev> fixup install_tools Signed-off-by: Tom Jakubowski <tom@prospective.dev> pass include dirs to perspective_esm target also Signed-off-by: Tom Jakubowski <tom@prospective.dev>
1 parent 13b26d7 commit 493b915

28 files changed

+189
-271
lines changed

.github/actions/install-deps/action.yaml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ runs:
108108
# with:
109109
# key: ${{ github.job }}-${{ matrix.os }}
110110

111-
# TODO this should move to `install_tools.mjs`
112111
- name: Windows init steps (vc143)
113112
id: vcpkg-step
114113
shell: pwsh
@@ -205,17 +204,6 @@ runs:
205204
fi
206205
if: ${{ runner.os == 'Linux' && inputs.cpp == 'true' && inputs.javascript == 'false' }}
207206

208-
# TODO do this earlier?
209-
- name: Linux init steps
210-
shell: bash
211-
run: node tools/perspective-scripts/install_tools.mjs
212-
if: ${{ runner.os != 'Windows' && inputs.cpp == 'true' && inputs.manylinux == 'true' }}
213-
214-
- name: Linux init steps
215-
shell: bash
216-
run: sudo node tools/perspective-scripts/install_tools.mjs
217-
if: ${{ runner.os != 'Windows' && inputs.cpp == 'true' && inputs.manylinux == 'false' }}
218-
219207
- name: Install Python Pyodide dependencies
220208
shell: bash
221209
run: python -m pip install -r rust/perspective-python/requirements-pyodide.txt

.github/workflows/build.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ jobs:
204204
if: ${{ contains(matrix.os, 'windows') }}
205205
env:
206206
CARGO_TARGET_DIR: D:\psp-rust
207+
PSP_CPP_BUILD_DIR: D:\psp-build
207208
PSP_ROOT_DIR: ${{ github.workspace }}
208209
VCPKG_ROOT: ${{ steps.init-step.outputs.VCPKG_INSTALLATION_ROOT }}
209210
PACKAGE: "perspective-python"

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ ts-rs/
99
rust/perspective-python/perspective/labextension/
1010
rust/perspective-python/perspective.data/
1111
rust/perspective-python/*/data
12+
.venv*/

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmake/Pybind.txt.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@ ExternalProject_Add(pybind11
1212
BUILD_COMMAND ""
1313
INSTALL_COMMAND ""
1414
TEST_COMMAND ""
15-
CMAKE_ARGS " -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
1615
)

cmake/arrow.txt.in

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@ cmake_minimum_required(VERSION 3.7.2)
22

33
project(arrow-download NONE)
44

5-
# *******************************************************************
6-
# NOTE: this depedency's CMakeLists.txt is overloaded, make sure to
7-
# adjust if you update the tag
8-
# *******************************************************************
5+
# Makes GIT_SUBMODULES "" in ExternalProject_Add skip initializing submodules
6+
cmake_policy(SET CMP0097 NEW)
97

108
include(ExternalProject)
119
ExternalProject_Add(apachearrow
1210
GIT_REPOSITORY https://github.com/apache/arrow.git
1311
GIT_TAG apache-arrow-17.0.0
12+
GIT_SUBMODULES ""
13+
GIT_SHALLOW TRUE
1414
SOURCE_DIR "${CMAKE_BINARY_DIR}/arrow-src"
1515
BINARY_DIR "${CMAKE_BINARY_DIR}/arrow-build"
1616
SOURCE_SUBDIR "cpp"
1717
CONFIGURE_COMMAND ""
1818
BUILD_COMMAND ""
1919
INSTALL_COMMAND ""
2020
TEST_COMMAND ""
21-
CMAKE_ARGS "-DFLATBUFFERS_BUILD_TESTS=OFF -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
21+
# This patch is to work around https://github.com/apache/arrow/issues/44384
22+
# It can be removed when a version of Arrow is released with https://github.com/apache/arrow/pull/44385
23+
PATCH_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR> git apply ${CMAKE_SOURCE_DIR}/patches/fix_arrow_libtool.patch
2224
)

cmake/boost.txt.in

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
cmake_minimum_required(VERSION 3.7.2)
2+
3+
project(boost-download NONE)
4+
5+
# Makes GIT_SUBMODULES "" in ExternalProject_Add skip initializing submodules
6+
cmake_policy(SET CMP0097 NEW)
7+
8+
include(ExternalProject)
9+
ExternalProject_Add(apachearrow
10+
URL "https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.gz"
11+
SOURCE_DIR "${CMAKE_BINARY_DIR}/boost-src"
12+
BINARY_DIR "${CMAKE_BINARY_DIR}/boost-build"
13+
SOURCE_SUBDIR ""
14+
CONFIGURE_COMMAND ""
15+
BUILD_COMMAND ""
16+
INSTALL_COMMAND ""
17+
TEST_COMMAND ""
18+
)

cmake/date.txt.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@ ExternalProject_Add(date
1212
BUILD_COMMAND ""
1313
INSTALL_COMMAND ""
1414
TEST_COMMAND ""
15-
CMAKE_ARGS " -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
1615
)

cmake/double-conversion.txt.in

Lines changed: 0 additions & 16 deletions
This file was deleted.

cmake/exprtk.txt.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@ ExternalProject_Add(exprtk
1212
BUILD_COMMAND ""
1313
INSTALL_COMMAND ""
1414
TEST_COMMAND ""
15-
CMAKE_ARGS " -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
1615
)

0 commit comments

Comments
 (0)