1e01aa904Sopenharmony_ciARG ubuntu_version=22.04
2e01aa904Sopenharmony_ciARG gcc_version=10.3.0
3e01aa904Sopenharmony_ciFROM ghcr.io/rse-ops/gcc-ubuntu-${ubuntu_version}:gcc-${gcc_version}
4e01aa904Sopenharmony_ci
5e01aa904Sopenharmony_ci# docker build -t ghcr.io/woodard/libabigail-ubuntu-22.04 .
6e01aa904Sopenharmony_ci
7e01aa904Sopenharmony_ci# Install Libabigail to its own view
8e01aa904Sopenharmony_ciWORKDIR /opt/abigail-env
9e01aa904Sopenharmony_ciRUN . /opt/spack/share/spack/setup-env.sh && \
10e01aa904Sopenharmony_ci    spack env create -d . && \
11e01aa904Sopenharmony_ci    spack env activate . && \
12e01aa904Sopenharmony_ci    spack add libabigail@master  && \
13e01aa904Sopenharmony_ci    spack --debug install
14e01aa904Sopenharmony_ci
15e01aa904Sopenharmony_ci# Prepare a source extraction of libabigail at /src (intended to be overwritten by user)
16e01aa904Sopenharmony_ciCOPY . /src
17e01aa904Sopenharmony_ci
18e01aa904Sopenharmony_ci# Second run - should have deps cached
19e01aa904Sopenharmony_ciRUN . /opt/spack/share/spack/setup-env.sh && \
20e01aa904Sopenharmony_ci
21e01aa904Sopenharmony_ci    # This adds metadata for libabigail to spack.yaml
22e01aa904Sopenharmony_ci    spack develop --path /src libabigail@master && \
23e01aa904Sopenharmony_ci    spack --debug install
24e01aa904Sopenharmony_ci    # At this point you can spack install, and bind the code to /code to develop
25e01aa904Sopenharmony_ci
26e01aa904Sopenharmony_ci# ensure libabigail stuffs always on the path
27e01aa904Sopenharmony_ciRUN cd /opt/abigail-env && \
28e01aa904Sopenharmony_ci    spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
29e01aa904Sopenharmony_ci
30e01aa904Sopenharmony_ciENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l", "-c"]
31