aboutsummaryrefslogtreecommitdiff
path: root/deployment/docker/Dockerfile_fedora
blob: 52b9fb0311ac21a49151742478dc333adec91350 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
FROM  fedora:latest

ENV CFPREFIX=/software/crystfel/devel
ENV PKG_CONFIG_PATH=$CFPREFIX/lib64/pkgconfig:$CFPREFIX/lib/pkgconfig
ENV LD_LIBRARY_PATH=$CFPREFIX/lib64:$CFPREFIX/lib
ENV LD_RUN_PATH=$CFPREFIX/lib64:$CFPREFIX/lib
ENV PATH=$CFPREFIX/bin:$PATH

RUN    dnf -y install epel-release ; \
       dnf -y update ; \
       dnf -y group install development-tools; \
       dnf -y install  gsl-devel flex bison gcc-c++  gtk3-devel cairo-devel \
              pango-devel gdk-pixbuf2-devel fftw-devel libpng-devel diffutils \
              hdf5-devel zeromq-devel python3-devel which wget lz4 lz4-devel \
              bzip2-libs bzip2-devel libcurl-devel openssh-clients krb5-workstation cmake \
              gcc-gfortran
RUN    sed -i -E '/default_ccache_name/s//# default_ccache_name/g' /etc/krb5.conf ; \
       sed -i -E '/#\s+default_realm\s* =\s*EXAMPLE.COM\s*/s//default_realm = DESY.DE/g' /etc/krb5.conf ; \
       if [ ! -d ~/.ssh ]; then \
             mkdir -p ~/.ssh; \ 
             chmod 700 ~/.ssh; \
       fi;  \
       wget -q https://wims.desy.de/system/ALL_afs/etc/ssh_known_hosts2 -O ~/.ssh/known_hosts
RUN    python3 -m ensurepip --upgrade && python3 -m pip  install meson ninja

# HDF5 filter plugins
RUN    git clone --depth 1 https://github.com/nexusformat/HDF5-External-Filter-Plugins.git ; \
       pushd HDF5-External-Filter-Plugins; \
       mkdir build; \
       pushd build; \
       cmake .. -DCMAKE_INSTALL_PREFIX=$CFPREFIX \
                -DENABLE_BITSHUFFLE_PLUGIN=yes \
                -DENABLE_LZ4_PLUGIN=yes \
                -DENABLE_BZIP2_PLUGIN=yes \
                -DCMAKE_BUILD_TYPE=Release ; \
       popd; \
       make -C build -j 32; \
       make -C build install; \
       popd # HDF5-External-Filter-Plugins

# MsgPack
RUN    wget -nv https://github.com/msgpack/msgpack-c/releases/download/cpp-3.3.0/msgpack-3.3.0.tar.gz ; \
       tar -xzf msgpack-3.3.0.tar.gz ;  \
       pushd msgpack-3.3.0; \
       mkdir build; \
       pushd build; \
       cmake .. -DCMAKE_INSTALL_PREFIX=$CFPREFIX \
                -DMSGPACK_BUILD_EXAMPLES=OFF \
                -DMSGPACK_ENABLE_CXX=OFF \
                -DCMAKE_BUILD_TYPE=Release ; \
       popd ; \
       make -C build -j 32 ; \
       make -C build install ; \
       popd # msgpack-3.3.0

# ASAP::O
RUN    git clone https://gitlab.desy.de/asapo/asapo.git ; \
       pushd asapo ; \
       git checkout 23.12.0-alpha ; \
       mkdir build ; \
       pushd build ; \
       cmake .. -GNinja -DBUILD_CLIENTS_ONLY=ON -DBUILD_PYTHON=OFF \
                -DCMAKE_INSTALL_PREFIX=$CFPREFIX \
                -DCMAKE_BUILD_TYPE=RelWithDebInfo ; \
       popd ; \
       ninja -C build ; \
       ninja -C build install  ; \
       popd

# Seedee
RUN    git clone https://gitlab.desy.de/fs-sc/seedee.git ; \
       pushd seedee ; \
       mkdir build ; \
       cd build ; \
       cmake .. -GNinja -DCMAKE_INSTALL_PREFIX=$CFPREFIX -DCMAKE_BUILD_TYPE=RelWithDebInfo ; \
       cd .. ; \
       ninja -C build ; \
       ninja -C build install ; \
       popd