diff options
author | Thomas White <taw@physics.org> | 2022-06-17 15:06:26 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-06-20 15:18:42 +0200 |
commit | 4889ce3afb92cb8f385dd92f9f0601a07f3751f0 (patch) | |
tree | 1c65eecf717eca94bb6bbf4d5023fc91b46c5ac7 /Dockerfile | |
parent | 889ed82d2e9d37f59e6872401eea4fed78265ab5 (diff) |
Add Dockerfile and CI config for building image
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..de9a3f2f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,91 @@ +FROM debian:buster + +RUN apt-get update && apt-get install -y \ + pkg-config \ + cmake \ + build-essential \ + libhdf5-dev \ + libgsl-dev \ + libgtk-3-dev \ + libcairo2-dev \ + libeigen3-dev \ + libpango1.0-dev \ + libgdk-pixbuf2.0-dev \ + libfftw3-dev \ + libncurses-dev \ + libpng-dev \ + libtiff5-dev \ + git \ + flex \ + bison \ + libzmq3-dev \ + libmsgpack-dev \ + python3-dev \ + python3-pip \ + unzip \ + wget \ + curl \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +RUN cd /usr/local/include && ln -sf eigen3/Eigen Eigen +RUN cd /usr/local/include && ln -sf eigen3/unsupported unsupported + +WORKDIR /root +RUN pip3 install meson + + +RUN curl -L -O https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip +#wget https://github-releases.githubusercontent.com/ninja-linux.zip +RUN unzip ninja-linux.zip +RUN mv ninja /usr/local/bin + +WORKDIR /home/crystfel-build +# Xgandalf +RUN git clone https://gitlab.desy.de/thomas.white/xgandalf.git +RUN mkdir xgandalf/build +RUN cd xgandalf && meson build/ +RUN cd xgandalf && ninja -C build/ +RUN cd xgandalf && ninja -C build/ install + +# Fastdiffractionimageprocessing +RUN git clone https://stash.desy.de/scm/~gevorkov/fastdiffractionimageprocessing.git +RUN mkdir fastdiffractionimageprocessing/build +RUN cd fastdiffractionimageprocessing/build && cmake .. +RUN cd fastdiffractionimageprocessing && make -C build +RUN cd fastdiffractionimageprocessing && make -C build install + +# Mosflm +RUN wget https://www.mrc-lmb.cam.ac.uk/mosflm/imosflm/ver740/downloads/imosflm-7.4.0-linux-64.zip +RUN unzip imosflm-7.4.0-linux-64.zip +RUN mv imosflm /usr/local/ +RUN ln -sf ../imosflm/bin/mosflm /usr/local/bin/mosflm + +# CrystFEL +RUN git clone --branch container https://gitlab.desy.de/silvan.schoen/crystfel.git +RUN mkdir crystfel/build +RUN cd crystfel && meson build/ +RUN cd crystfel && ninja -C build/ +RUN cd crystfel && ninja -C build/ install + +## Stage 2 +FROM debian:buster-slim +RUN apt-get update && apt-get install -y \ + libhdf5-103 \ + libgsl23 \ + libgtk-3-0 \ + libcairo2 \ + libpango1.0 \ + libgdk-pixbuf2.0 \ + libfftw3-double3 \ + libncurses6 \ + libpng16-16 \ + libtiff5 \ + libzmq5 \ + libmsgpackc2 \ + && apt-get clean && rm -rf /var/lib/apt/lists/* +COPY --from=0 /usr/local /usr/local +ENV CLIBD=/usr/local/imosflm +ENV CINCL=/usr/local/imosflm +ENV CCP4_SCR=/usr/local/imosflm/src +RUN ldconfig + |