Skip to content

Discussing inline documentation/inspect request for lite #305

Open
@anutosh491

Description

@anutosh491

I just came across this today

Scenario 1 :

We use the recommended method from jupyterlite-xeus to build xeus-cpp-lite (https://jupyterlite-xeus.readthedocs.io/en/latest/#usage)

As can be seen in path/to/jupyterlite-xeus/biuld/_output/xeus/kernel_packages we would have

anutosh491@Anutoshs-MacBook-Air kernel_packages % ls
cppinterop-1.6.0-h0246c62_2.tar.gz              emscripten-abi-3.1.73-h267e887_10.tar.gz        nlohmann_json-3.12.0-h2072262_0.tar.gz          xeus-cpp-0.6.0-h2072262_5.tar.gz

anutosh491@Anutoshs-MacBook-Air kernel_packages % tar -tzf xeus-cpp-0.6.0-*.tar.gz
etc/xeus-cpp/tags.d/stl.json
lib/cmake/xeus-cpp/xeus-cppConfig.cmake
lib/cmake/xeus-cpp/xeus-cppConfigVersion.cmake
share/jupyter/kernels/xcpp20/kernel.json
share/jupyter/kernels/xcpp20/logo-32x32.png
share/jupyter/kernels/xcpp20/logo-64x64.png
share/jupyter/kernels/xcpp20/logo-svg.svg
share/xeus-cpp/tagfiles/cppreference-doxygen-web.tag
conda-meta/xeus-cpp-0.6.0-h2072262_5.json

This makes sure the tagfiles are not being filtered out by empack.

Scenario 2 :

If we do a local build using xeus-cpp's docs, somewhere here path/to/xeus-cpp/build/_output/xeus/kernel_packages, we would only have tarballs for packages we use.

(xeus-lite-host) anutosh491@Anutoshs-MacBook-Air kernel_packages % ls
boost-cpp-1.87.0-h7a4561d_1.tar.gz              emscripten-abi-3.1.73-h267e887_10.tar.gz        python_abi-3.13.1-0_cp313.tar.gz                xtensor-0.26.0-h2072262_2.tar.gz
bzip2-1.0.8-h7223423_8.tar.gz                   llvm-20.1.4-h7b9d542_0.tar.gz                   symengine-0.14.0-h07d2894_3.tar.gz              xtl-0.8.0-h2072262_0.tar.gz
cpp-argparse-3.2-hc1ca833_1.tar.gz              nlohmann_json-3.12.0-h2072262_0.tar.gz          xeus-5.2.2-h2072262_0.tar.gz
cppinterop-1.6.0-h0246c62_2.tar.gz              openblas-0.3.26-he2bab3c_13.tar.gz              xeus-lite-3.2.0-h2072262_0.tar.gz
doctest-2.4.12-h2072262_0.tar.gz                pugixml-1.15-hc1ca833_0.tar.gz                  xsimd-13.2.0-py313h1913ddd_1.tar.gz

This means we won't have access to conda-meta/xeus-cpp-0.6.0-h2072262_5.json which empacks needs to understand what to pack.

This is the reason we have been preloading the tagfiles in our cmakelists.txt

xeus-cpp/CMakeLists.txt

Lines 442 to 443 in 98585e8

PUBLIC "SHELL: --preload-file ${XEUS_CPP_DATA_DIR}@/share/xeus-cpp"
PUBLIC "SHELL: --preload-file ${XEUS_CPP_CONF_DIR}@/etc/xeus-cpp"

This introduces inconsistency in the builds

  1. xeus-cpp through emscripten-forge would use empack based mechanism for the inspect request
  2. building locally would end up adding the tagfiles to xcpp.data which is loaded at runtime for making the tagfiles accessible.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions