Skip to content

Commit 7d782d3

Browse files
Fix rich results display
1 parent 0de88f2 commit 7d782d3

File tree

4 files changed

+46
-27
lines changed

4 files changed

+46
-27
lines changed

CMakeLists.txt

+13
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,14 @@ find_package(Python COMPONENTS Interpreter Development)
161161
# ============
162162

163163
set(XEUS_CPP_HEADERS
164+
include/xeus-cpp/xbuffer.hpp
165+
include/xeus-cpp/xholder.hpp
166+
include/xeus-cpp/xmagics.hpp
167+
include/xeus-cpp/xoptions.hpp
164168
include/xeus-cpp/xeus_cpp_config.hpp
165169
include/xeus-cpp/xinterpreter.hpp
170+
include/xeus-cpp/xmanager.hpp
171+
include/xeus-cpp/xpreamble.hpp
166172
)
167173

168174
set(XEUS_CPP_SRC
@@ -171,6 +177,13 @@ set(XEUS_CPP_SRC
171177
src/xinterpreter.cpp
172178
src/xoptions.cpp
173179
src/xparser.cpp
180+
src/xdemangle.hpp
181+
src/xinspect.hpp
182+
src/xsystem.hpp
183+
src/xparser.hpp
184+
src/xmagics/os.hpp
185+
src/xmagics/os.cpp
186+
src/xmagics/pythonexec.hpp
174187
src/xmagics/pythonexec.cpp
175188
)
176189

Dockerfile

+31-26
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,39 @@ RUN sed -i '2 i source /home/jovyan/.conda.init && conda activate .venv' /usr/lo
7777
# Switch back to jovyan to avoid accidental container runs as root
7878
USER ${NB_UID}
7979

80+
WORKDIR "${HOME}"
81+
8082
ENV NB_PYTHON_PREFIX=${CONDA_DIR} \
8183
KERNEL_PYTHON_PREFIX=${CONDA_DIR} \
82-
# CPLUS_INCLUDE_PATH="${CONDA_DIR}/include:/home/${NB_USER}/include:/home/runner/work/xeus-clang-repl/xeus-clang-repl/clang-dev/clang/include:/home/jovyan/clad/include:/home/jovyan/CppInterOp/include"
83-
CPLUS_INCLUDE_PATH="${CONDA_DIR}/include:/home/jovyan/clad/include:/home/jovyan/CppInterOp/include"
84-
85-
WORKDIR "${HOME}"
84+
VENV=${CONDA_DIR}/envs/.venv \
85+
# CUDA
86+
NVIDIA_VISIBLE_DEVICES=all \
87+
NVIDIA_DRIVER_CAPABILITIES=compute,utility \
88+
NVIDIA_REQUIRE_CUDA="cuda>=12.1.1 driver>=530" \
89+
#
90+
PATH=/opt/conda/envs/.venv/bin:/opt/conda/bin:/opt/conda/envs/.venv/bin:/opt/conda/condabin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
91+
LD_LIBRARY_PATH=/home/jovyan/cppyy-backend/python/cppyy_backend/lib:/opt/conda/envs/.venv/lib:/opt/conda/lib:/home/jovyan/cppyy-backend/python/cppyy_backend/lib:/opt/conda/envs/.venv/lib \
92+
PYTHONPATH=/home/jovyan/CPyCppyy/build:/home/jovyan/cppyy-backend/python:/home/jovyan \
93+
CPLUS_INCLUDE_PATH=/opt/conda/envs/.venv/include:\
94+
/opt/conda/envs/.venv/include/python3.10:\
95+
/home/jovyan/clad/include:\
96+
/home/jovyan/CPyCppyy/include:\
97+
/home/jovyan/cppyy-backend/python/cppyy_backend/include:\
98+
/opt/conda/envs/.venv/include/llvm:\
99+
/opt/conda/envs/.venv/include/clang:\
100+
/opt/conda/include:\
101+
/home/jovyan/clad/include:\
102+
/home/jovyan/CppInterOp/include:\
103+
/opt/conda/include:\
104+
#
105+
/opt/conda/envs/.venv/lib/gcc/x86_64-conda-linux-gnu/12.3.0/include:\
106+
/opt/conda/envs/.venv/lib/gcc/x86_64-conda-linux-gnu/12.3.0/include-fixed:\
107+
/opt/conda/envs/.venv/lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/include:\
108+
/opt/conda/envs/.venv/x86_64-conda-linux-gnu/include/c++/12.3.0:\
109+
/opt/conda/envs/.venv/x86_64-conda-linux-gnu/include/c++/12.3.0/x86_64-conda-linux-gnu:\
110+
/opt/conda/envs/.venv/x86_64-conda-linux-gnu/include/c++/12.3.0/backward:\
111+
/opt/conda/envs/.venv/x86_64-conda-linux-gnu/sysroot/usr/include
86112

87-
# CUDA
88-
ENV NVIDIA_VISIBLE_DEVICES=all
89-
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
90-
ENV NVIDIA_REQUIRE_CUDA "cuda>=12.1.1 driver>=530"
91113

92114
# VENV
93115

@@ -162,20 +184,14 @@ RUN \
162184
source /home/jovyan/.conda.init && \
163185
conda activate .venv && \
164186
#
165-
export VENV=${CONDA_DIR}/envs/.venv && \
166187
export PATH_TO_LLVM_BUILD=${VENV} && \
167188
#export PATH=${VENV}/bin:${CONDA_DIR}/bin:$PATH_TO_LLVM_BUILD/bin:$PATH && \
168189
export PATH=${VENV}/bin:${CONDA_DIR}/bin:$PATH && \
169-
export LD_LIBRARY_PATH=$PATH_TO_LLVM_BUILD/lib:$LD_LIBRARY_PATH && \
170-
echo "export VENV=$VENV" >> ~/.profile && \
171-
echo "export PATH=$PATH" >> ~/.profile && \
172190
echo "export EDITOR=emacs" >> ~/.profile && \
173191
#
174192
# Build CppInterOp
175193
#
176-
sys_incs=$(LC_ALL=C c++ -xc++ -E -v /dev/null 2>&1 | LC_ALL=C sed -ne '/starts here/,/End of/p' | LC_ALL=C sed '/^ /!d' | cut -c2- | tr '\n' ':') && \
177-
#/usr/include/x86_64-linux-gnu:/usr/include:
178-
export CPLUS_INCLUDE_PATH="${PATH_TO_LLVM_BUILD}/include/llvm:${PATH_TO_LLVM_BUILD}/include/clang:$CPLUS_INCLUDE_PATH:${sys_incs%:}" && \
194+
#sys_incs=$(LC_ALL=C c++ -xc++ -E -v /dev/null 2>&1 | LC_ALL=C sed -ne '/starts here/,/End of/p' | LC_ALL=C sed '/^ /!d' | cut -c2- | tr '\n' ':') && \
179195
git clone https://github.com/compiler-research/CppInterOp.git && \
180196
export CB_PYTHON_DIR="$PWD/cppyy-backend/python" && \
181197
export CPPINTEROP_DIR="$CB_PYTHON_DIR/cppyy_backend" && \
@@ -186,9 +202,6 @@ RUN \
186202
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSE_CLING=OFF -DUSE_REPL=ON -DLLVM_DIR=$PATH_TO_LLVM_BUILD -DLLVM_CONFIG_EXTRA_PATH_HINTS=${PATH_TO_LLVM_BUILD}/lib -DLLVM_USE_LINKER=gold -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$CPPINTEROP_DIR .. && \
187203
cmake --build . --parallel $(nproc --all) && \
188204
#make install -j$(nproc --all)
189-
export CPLUS_INCLUDE_PATH="$CPPINTEROP_DIR/include:$CPLUS_INCLUDE_PATH" && \
190-
export LD_LIBRARY_PATH="${VENV}/lib:${CONDA_DIR}/lib:$CPPINTEROP_DIR/lib:$LD_LIBRARY_PATH" && \
191-
echo "export LD_LIBRARY_PATH=$CPPINTEROP_DIR/lib:$LD_LIBRARY_PATH" >> ~/.profile && \
192205
cd ../.. && \
193206
#
194207
# Build and Install cppyy-backend
@@ -224,20 +237,12 @@ RUN \
224237
cd .. && \
225238
# Run cppyy
226239
#TODO: Fix cppyy path (/home/jovyan) to path to installed module
227-
export PYTHONPATH=$PYTHONPATH:$CPYCPPYY_DIR:$CB_PYTHON_DIR:/home/jovyan && \
228-
echo "export PYTHONPATH=$PYTHONPATH" >> ~/.profile && \
229-
export CPLUS_INCLUDE_PATH="/home/jovyan/CPyCppyy/include/:$CPLUS_INCLUDE_PATH" && \
230-
# FIXME: Remove the hardcoded version of python here.
231-
export CPLUS_INCLUDE_PATH="/home/jovyan/clad/include:$CPLUS_INCLUDE_PATH" && \
232-
export CPLUS_INCLUDE_PATH="${VENV}/include:${VENV}/include/python3.10:$CPLUS_INCLUDE_PATH" && \
233240
python -c "import cppyy" && \
234241
#
235242
# Build and Install xeus-cpp
236243
#
237244
mkdir build && \
238245
cd build && \
239-
echo "export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH" >> ~/.profile && \
240-
##echo "conda activate .venv" >> ~/.profile
241246
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH=$KERNEL_PYTHON_PREFIX -DCMAKE_INSTALL_PREFIX=$KERNEL_PYTHON_PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCPPINTEROP_DIR=$CPPINTEROP_BUILD_DIR .. && \
242247
make install -j$(nproc --all) && \
243248
cd .. && \

src/xinterpreter.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ namespace xcpp
5151
{
5252
void interpreter::configure_impl()
5353
{
54+
xeus::register_interpreter(this);
5455
}
5556

5657
interpreter::interpreter(int argc, const char* const* argv)

src/xmagics/os.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace xcpp
2121
{
2222
argparser writefile::get_options()
2323
{
24-
argparser argpars("file", XEUS_CLING_VERSION, argparse::default_arguments::none);
24+
argparser argpars("file", XEUS_CPP_VERSION, argparse::default_arguments::none);
2525
argpars.add_description("write file");
2626
argpars.add_argument("-a", "--append").help("append").default_value(false).implicit_value(true);
2727
argpars.add_argument("filename").help("filename").required();

0 commit comments

Comments
 (0)