diff --git a/containers/oneapi/onedev.Dockerfile b/containers/oneapi/onedev.Dockerfile index bdc29037e80b9605776e7217d25f3a8e5f252a31..e2eb45cbbf09c272ff8f17183aeded9b95d985eb 100644 --- a/containers/oneapi/onedev.Dockerfile +++ b/containers/oneapi/onedev.Dockerfile @@ -88,14 +88,20 @@ RUN --mount=type=cache,target=/var/cache/spack-mirror \ ARG CACHE_BUST="hash" ARG CACHE_NUKE="" -## Setup our custom environment and package overrides -COPY spack $SPACK_ROOT/eic-spack -RUN spack repo add --scope site "$SPACK_ROOT/eic-spack" \ - && mkdir /opt/spack-environment \ - && cd /opt/spack-environment \ - && mv $SPACK_ROOT/eic-spack/spack.yaml . \ - && rm -r /usr/local \ - && spack env activate . \ +## Setup our custom package overrides +ENV EICSPACK_ROOT=$SPACK_ROOT/var/spack/repos/eic-spack +ARG EICSPACK_VERSION="$SPACK_VERSION" +RUN git clone https://github.com/eic/eic-spack.git ${EICSPACK_ROOT} \ + && git -C ${EICSPACK_ROOT} checkout ${EICSPACK_VERSION} \ + && if [ -n "${EICSPACK_CHERRYPICKS}" ] ; then \ + git -C ${EICSPACK_ROOT} cherry-pick -n ${EICSPACK_CHERRYPICKS} ; \ + fi \ + && spack repo add --scope site "${EICSPACK_ROOT}" + +## Setup our custom environment +COPY spack.yaml /opt/spack-environment/ +RUN rm -r /usr/local \ + && spack env activate /opt/spack-environment/ \ && spack concretize