Repository navigation
Expand file tree
/
Copy pathDockerfile.dev
More file actions
68 lines (59 loc) · 2.57 KB
/
Copy pathDockerfile.dev
File metadata and controls
68 lines (59 loc) · 2.57 KB
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
FROM debian:trixie-slim AS builder
RUN apt-get update && \
apt-get install -y git build-essential cmake ninja-build openssh-client swig doxygen lcov \
python3-dev python3-doc python3-venv python3-pip python3-setuptools python3-setuptools-scm python3-wheel \
python3-pytest python3-pytest-cov python3-pytest-xdist python3-numpy python3-cmake-build-extension \
python3-gdal gdal-bin \
curl zip unzip tar \
libglib2.0-dev \
libutfcpp-dev \
libproj-dev \
libgsf-1-dev \
libcurl4-openssl-dev \
libssl-dev \
zlib1g-dev \
libpulse-dev \
wget \
gdb
RUN pip install --break-system-packages \
sphinx==6.2.1 \
numpydoc \
breathe \
myst-parser \
sphinx-automodapi \
graphviz
# Install libxml2
RUN cd /tmp && \
wget https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.1.tar.xz && \
echo "c008bac08fd5c7b4a87f7b8a71f283fa581d80d80ff8d2efd3b26224c39bc54c libxml2-2.15.1.tar.xz" > libxml2.sum && \
shasum -a 256 -c libxml2.sum && \
tar xf libxml2-2.15.1.tar.xz && \
cd libxml2-2.15.1 && \
cmake -B build -G Ninja -S . -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DLIBXML2_WITH_ZLIB=ON -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_PYTHON=OFF && \
cmake --build build --target install
# Install newish version of Catch2
RUN cd /tmp && \
wget https://github.com/catchorg/Catch2/archive/refs/tags/v3.16.0.tar.gz && \
echo "0957cae5821b17ce07f0833aaa52b5137643a8382203221f363a8303c109af34 v3.16.0.tar.gz" > catch2.sum && \
shasum -a 256 -c catch2.sum && \
tar xf v3.16.0.tar.gz && \
cd Catch2-3.16.0 && \
cmake -B build -G Ninja -S . -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_TESTING:BOOL=OFF && \
cmake --build build --target install
# Install HDF5
RUN cd /tmp && \
wget https://github.com/HDFGroup/hdf5/releases/download/hdf5_1.14.5/hdf5-1.14.5.tar.gz && \
echo "ec2e13c52e60f9a01491bb3158cb3778c985697131fc6a342262d32a26e58e44 hdf5-1.14.5.tar.gz" > hdf5.sum && \
shasum -a 256 -c hdf5.sum && \
tar xf hdf5-1.14.5.tar.gz && \
cd hdf5-1.14.5 && \
cmake -B build -G Ninja -S . -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DHDF5_BUILD_CPP_LIB=ON -DHDF5_BUILD_TOOLS:BOOL=OFF -DBUILD_TESTING:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON \
-DHDF5_BUILD_HL_LIB:BOOL=ON -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON && \
cmake --build build --target install
RUN ldconfig
# Install Python dependencies not available from Debian
RUN python3 -m pip install --break-system-packages unittest-xml-reporting
WORKDIR /tmp/BAG
ENTRYPOINT ["/bin/bash", "-c"]