Skip to content

Commit

Permalink
fix: simplify build workflow, leverage login scripts (#8)
Browse files Browse the repository at this point in the history
  • Loading branch information
plexoos committed Mar 19, 2024
1 parent fa859aa commit fd974b4
Showing 1 changed file with 11 additions and 37 deletions.
48 changes: 11 additions & 37 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,15 @@ RUN apt update && apt install -y libglm-dev libglfw3-dev libimgui-dev libglew-de
# Strip all the binaries
#RUN find -L /spack/opt/spack -type f -exec readlink -f '{}' \; | xargs file -i | grep 'charset=binary' | grep 'x-executable\|x-archive\|x-sharedlib' | awk -F: '{print $1}' | xargs strip -S

RUN sed -i '/#!\/bin\/bash/c#!\/bin\/bash -l' /opt/nvidia/nvidia_entrypoint.sh
RUN sed -i '/ autoload: direct/c\ autoload: none' /spack/etc/spack/defaults/modules.yaml
RUN sed -i 's/ exec "\/bin\/bash"/ exec "\/bin\/bash" "-l"/g' /opt/nvidia/nvidia_entrypoint.sh
RUN sed -i 's/ autoload: direct/\ autoload: none/g' /spack/etc/spack/defaults/modules.yaml
RUN spack module tcl refresh -y
RUN cp -r /spack/share/spack/modules/$(spack arch) /opt/modules
RUN echo "module use --append /opt/modules" >> /etc/profile.d/z10_load_spack_modules.sh
RUN spack module tcl loads geant4 clhep boost cmake nlohmann-json >> /etc/profile.d/z10_load_spack_modules.sh

RUN git clone https://github.com/boost-cmake/bcm.git
RUN cmake -S bcm -B /build/bcm && cmake --build /build/bcm --parallel $(nproc) && cmake --install /build/bcm

RUN git clone https://github.com/SergiusTheBest/plog.git
RUN cmake -S plog -B /build/plog && cmake --build /build/plog --parallel $(nproc) && cmake --install /build/plog
RUN rm -fr /spack/share/spack/modules/$(spack arch)

RUN apt update && apt install -y libssl-dev python-is-python3
RUN apt update && apt install -y vim gdb

COPY NVIDIA-OptiX-SDK-7.6.0-linux64-x86_64.sh ./

Expand All @@ -53,38 +47,18 @@ ENV OPTICKS_PREFIX=/usr/local/opticks
ENV OPTICKS_CUDA_PREFIX=/usr/local/cuda
ENV OPTICKS_OPTIX_PREFIX=/usr/local/optix
ENV OPTICKS_COMPUTE_CAPABILITY=52
ENV PYTHONPATH=${OPTICKS_HOME}

COPY opticks $OPTICKS_HOME
COPY epic $HOME/epic
COPY opticks $HOME/opticks
COPY patches $HOME/patches
COPY .opticks_config $HOME/.opticks_config
COPY .opticks $HOME/.opticks

WORKDIR $OPTICKS_HOME

RUN mkdir -p $HOME
RUN echo "source $HOME/.opticks_config" >> ~/.bashrc
RUN patch -p1 CSGOptiX/OPT.h $HOME/patches/0001-fix-add-missing-support-for-OptiX-7.6.patch

RUN <<EOF
source $OPTICKS_HOME/opticks.bash

opticks-prepend-prefix $(spack find --format "{prefix}" clhep)
opticks-prepend-prefix $(spack find --format "{prefix}" xerces-c)
opticks-prepend-prefix $(spack find --format "{prefix}" geant4)
opticks-prepend-prefix $(spack find --format "{prefix}" boost)

export PYTHONPATH=$(dirname $OPTICKS_HOME)
RUN echo "source $OPTICKS_HOME/opticks.bash" >> ~/.bash_profile
RUN echo "opticks-" >> ~/.bash_profile

opticks-
opticks-full
EOF

RUN rm -fr /spack/share/spack/modules/$(spack arch)

WORKDIR $HOME

COPY .opticks .opticks
COPY epic epic

WORKDIR $HOME/opticks

RUN echo "source $HOME/.opticks_config" >> /etc/profile.d/z20_opticks.sh
RUN patch -p1 CSGOptiX/OPT.h $HOME/patches/0001-fix-add-missing-support-for-OptiX-7.6.patch
RUN opticks-full

0 comments on commit fd974b4

Please sign in to comment.