FROM python:3.12-slim WORKDIR /app RUN apt update && apt install -y --no-install-suggests --no-install-recommends \ libjpeg-dev \ zlib1g-dev \ build-essential \ ca-certificates \ curl \ gnupg \ cmake \ ninja-build \ git RUN apt install -y libjpeg62 libpng-dev libtiff-dev libz-dev libproj-dev liblzma-dev libjbig-dev libzstd-dev libgeotiff-dev libwebp-dev liblzma-dev nlohmann-json3-dev ENV GDAL_VERSION 3.12.2 ADD http://download.osgeo.org/gdal/${GDAL_VERSION}/gdal-${GDAL_VERSION}.tar.gz /usr/local/src/ RUN cd /usr/local/src && tar -xvf gdal-${GDAL_VERSION}.tar.gz && cd gdal-${GDAL_VERSION} \ && cmake -S . -B build \ -G Ninja \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DBUILD_SHARED_LIBS=ON \ && cmake --build build --config Release \ && cmake --install build \ && ldconfig #&& rm -Rf /usr/local/src/* RUN git clone https://github.com/LASzip/LASzip.git && cd LASzip \ && cmake -S . -B build \ -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DBUILD_SHARED_LIBS=ON \ && cmake --build build \ && cmake --install build --config Release \ && ldconfig RUN git clone https://github.com/PDAL/PDAL.git && cd PDAL \ && cmake -S . -B build \ -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_PREFIX_PATH=/usr/local \ -DBUILD_PLUGIN_LASZIP=ON \ -DGDAL_DIR=/usr/local/lib/cmake/gdal \ && cmake --build build \ && cmake --install build --config Release \ && ldconfig RUN git clone https://github.com/connormanning/entwine.git && cd entwine \ && cmake -S . -B build \ -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_PREFIX_PATH=/usr/local \ && cmake --build build \ && cmake --install build --config Release \ && ldconfig RUN apt remove -y libgeotiff-dev libpng-dev libtiff-dev libjpeg-dev libz-dev libproj-dev liblzma-dev libjbig-dev libzstd-dev libgeotiff-dev libwebp-dev liblzma-dev nlohmann-json3-dev ninja-build cmake build-essential zlib1g-dev \ && apt autoremove -y \ && rm -rf /usr/local/src/* /var/lib/apt/lists/* /tmp/* /var/tmp/*