|
| 1 | +FROM lambci/lambda:build-python3.6 as builder |
| 2 | + |
| 3 | +ARG http_proxy |
| 4 | +ARG CURL_VERSION=7.63.0 |
| 5 | +ARG GDAL_VERSION=2.4.0 |
| 6 | +ARG GEOS_VERSION=3.7.1 |
| 7 | +ARG PROJ_VERSION=5.1.0 |
| 8 | +ARG LASZIP_VERSION=3.2.9 |
| 9 | +ARG GEOTIFF_VERSION=1.4.3 |
| 10 | +ARG PDAL_VERSION=1.8.0 |
| 11 | +ARG DESTDIR="/build" |
| 12 | +ARG PREFIX="/usr" |
| 13 | + |
| 14 | +RUN \ |
| 15 | + rpm --rebuilddb && \ |
| 16 | + yum makecache fast && \ |
| 17 | + yum install -y \ |
| 18 | + automake16 \ |
| 19 | + libpng-devel \ |
| 20 | + nasm wget tar gcc zlib-devel gcc-c++ curl-devel zip libjpeg-devel rsync git ssh bzip2 automake \ |
| 21 | + glib2-devel libtiff-devel pkg-config libcurl-devel; # required for pkg-config |
| 22 | + |
| 23 | +RUN \ |
| 24 | + wget https://github.com/Kitware/CMake/releases/download/v3.13.2/cmake-3.13.2.tar.gz; \ |
| 25 | + tar -zxvf cmake-3.13.2.tar.gz; \ |
| 26 | + cd cmake-3.13.2; \ |
| 27 | + ./bootstrap --prefix=/usr ;\ |
| 28 | + make ;\ |
| 29 | + make install DESTDIR=/ |
| 30 | + |
| 31 | + |
| 32 | +RUN \ |
| 33 | + wget https://github.com/LASzip/LASzip/releases/download/$LASZIP_VERSION/laszip-src-$LASZIP_VERSION.tar.gz; \ |
| 34 | + tar -xzvf laszip-src-$LASZIP_VERSION.tar.gz; \ |
| 35 | + cd laszip-src-$LASZIP_VERSION;\ |
| 36 | + cmake -DCMAKE_BUILD_TYPE=Release \ |
| 37 | + -DCMAKE_INSTALL_PREFIX=$PREFIX \ |
| 38 | + -DBUILD_SHARED_LIBS=ON \ |
| 39 | + -DBUILD_STATIC_LIBS=OFF \ |
| 40 | + -DCMAKE_INSTALL_LIBDIR=lib \ |
| 41 | + ; \ |
| 42 | + make; make install; make install DESTDIR= ; cd ..; \ |
| 43 | + rm -rf laszip-src-${LASZIP_VERSION} laszip-src-$LASZIP_VERSION.tar.gz; |
| 44 | + |
| 45 | +RUN \ |
| 46 | + wget http://download.osgeo.org/geos/geos-$GEOS_VERSION.tar.bz2; \ |
| 47 | + tar xjf geos*bz2; \ |
| 48 | + cd geos*; \ |
| 49 | + ./configure --prefix=$PREFIX CFLAGS="-O2 -Os"; \ |
| 50 | + make; make install; make install DESTDIR= ;\ |
| 51 | + cd ..; \ |
| 52 | + rm -rf geos*; |
| 53 | + |
| 54 | +RUN \ |
| 55 | + wget http://download.osgeo.org/proj/proj-$PROJ_VERSION.tar.gz; \ |
| 56 | + tar -zvxf proj-$PROJ_VERSION.tar.gz; \ |
| 57 | + cd proj-$PROJ_VERSION; \ |
| 58 | + ./configure --prefix=$PREFIX; \ |
| 59 | + make; make install; make install DESTDIR=; cd ..; \ |
| 60 | + rm -rf proj-$PROJ_VERSION proj-$PROJ_VERSION.tar.gz |
| 61 | + |
| 62 | +RUN \ |
| 63 | + wget https://download.osgeo.org/geotiff/libgeotiff/libgeotiff-$GEOTIFF_VERSION.tar.gz; \ |
| 64 | + tar -xzvf libgeotiff-$GEOTIFF_VERSION.tar.gz; \ |
| 65 | + cd libgeotiff-$GEOTIFF_VERSION; \ |
| 66 | + ./configure \ |
| 67 | + --prefix=$PREFIX --with-proj=/build/usr ;\ |
| 68 | + make; make install; make install DESTDIR=; cd ..; \ |
| 69 | + rm -rf libgeotiff-$GEOTIFF_VERSION.tar.gz libgeotiff-$GEOTIFF_VERSION; |
| 70 | + |
| 71 | +# GDAL |
| 72 | +RUN \ |
| 73 | + wget http://download.osgeo.org/gdal/$GDAL_VERSION/gdal-$GDAL_VERSION.tar.gz; \ |
| 74 | + tar -xzvf gdal-$GDAL_VERSION.tar.gz; \ |
| 75 | + cd gdal-$GDAL_VERSION; \ |
| 76 | + ./configure \ |
| 77 | + --prefix=$PREFIX \ |
| 78 | + --with-geotiff=$DESTDIR/usr \ |
| 79 | + --with-tiff=/usr \ |
| 80 | + --with-curl=yes \ |
| 81 | + --without-python \ |
| 82 | + --with-geos=$DESTDIR/usr/bin/geos-config \ |
| 83 | + --with-hide-internal-symbols=yes \ |
| 84 | + CFLAGS="-O2 -Os" CXXFLAGS="-O2 -Os"; \ |
| 85 | + make ; make install; make install DESTDIR= ; \ |
| 86 | + cd $BUILD; rm -rf gdal-$GDAL_VERSION* |
| 87 | + |
| 88 | +RUN \ |
| 89 | + git clone https://github.com/PDAL/PDAL.git; \ |
| 90 | + cd PDAL; \ |
| 91 | + mkdir -p _build; \ |
| 92 | + cd _build; \ |
| 93 | + cmake .. \ |
| 94 | + -G "Unix Makefiles" \ |
| 95 | + -DCMAKE_BUILD_TYPE=Release \ |
| 96 | + -DCMAKE_CXX_FLAGS="-std=c++11" \ |
| 97 | + -DCMAKE_MAKE_PROGRAM=make \ |
| 98 | + -DBUILD_PLUGIN_I3S=ON \ |
| 99 | + -DWITH_LASZIP=ON \ |
| 100 | + -DCMAKE_LIBRARY_PATH:FILEPATH="$DESTDIR/usr/lib" \ |
| 101 | + -DCMAKE_INCLUDE_PATH:FILEPATH="$DESTDIR/usr/include" \ |
| 102 | + -DCMAKE_INSTALL_PREFIX=$PREFIX \ |
| 103 | + -DWITH_TESTS=OFF \ |
| 104 | + -DCMAKE_INSTALL_LIBDIR=lib \ |
| 105 | + ; \ |
| 106 | + make ; make install; make install DESTDIR= ; |
| 107 | + |
| 108 | +RUN rm /build/usr/lib/*.la ; rm /build/usr/lib/*.a |
| 109 | +RUN ldconfig |
| 110 | +ADD package-pdal.sh / |
| 111 | + |
0 commit comments