diff options
Diffstat (limited to 'community/gdal/APKBUILD')
-rw-r--r-- | community/gdal/APKBUILD | 380 |
1 files changed, 306 insertions, 74 deletions
diff --git a/community/gdal/APKBUILD b/community/gdal/APKBUILD index 8e8e028a6ce..d0d92d666b4 100644 --- a/community/gdal/APKBUILD +++ b/community/gdal/APKBUILD @@ -1,50 +1,59 @@ # Contributor: Trevor R.H. Clarke <trevor@notcows.com> # Maintainer: Holger Jaekel <holger.jaekel@gmx.de> pkgname=gdal -pkgver=3.2.2 -pkgrel=4 +pkgver=3.8.5 +pkgrel=1 pkgdesc="A translator library for raster and vector geospatial data formats" url="https://gdal.org/" -arch="all !s390x !mips !mips64" +arch="all" license="MIT" -depends_dev="gdal" - -# Optional dependency netcdf-dev is not available on armv7, armhf and s390x -case "$CARCH" in - armv7|armhf|s390x) ;; - *) netcdfdeps="netcdf-dev" ;; -esac - makedepends=" - apache-ant + armadillo-dev + basisu-dev + bison + blosc-dev + brunsli-dev cfitsio-dev - charls-dev - chrpath + cmake curl-dev expat-dev freexl-dev geos-dev giflib-dev + gnu-libiconv-dev hdf5-dev json-c-dev - libdap-dev + kealib-dev + libaec-dev + libarchive-dev + libdeflate-dev + libgeotiff-dev libheif-dev + libjpeg-turbo-dev libkml-dev libpng-dev + libpq-dev + libspatialite-dev + libtirpc-dev libwebp-dev libxml2-dev linux-headers + lz4-dev mariadb-dev - $netcdfdeps + odbc-cpp-wrapper-dev + ogdi-dev openexr-dev - openjdk8 openjpeg-dev + openssl-dev poppler-dev - postgresql-dev proj-dev py3-numpy py3-numpy-dev + py3-setuptools python3-dev + qhull-dev + samurai + sfcgal-dev sqlite-dev swig tiff-dev @@ -57,104 +66,327 @@ checkdepends=" pytest " subpackages=" - $pkgname-static $pkgname-dev + py3-$pkgname-pyc py3-$pkgname:_py3 - java-$pkgname:_java $pkgname-tools + $pkgname-doc + $pkgname-bash-completion + $pkgname-driver-all:_gdal_driver_all:noarch " -source=" - $pkgname-$pkgver.tar.gz::https://github.com/OSGeo/gdal/archive/v$pkgver.tar.gz +source="https://github.com/OSGeo/gdal/releases/download/v$pkgver/gdal-$pkgver.tar.gz 10-atoll.patch - 20-userfaultfd-detection.patch + 20-java-version.patch " -build() { - cd "$builddir"/gdal - - CPPFLAGS="$CPPFLAGS -I/usr/include/mysql/server -I/usr/include/tirpc" ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --with-cfitsio=/usr \ - --with-cpp14 \ - --with-dods-root=/usr \ - --with-poppler \ - --with-mysql \ - --with-java=/usr/lib/jvm/java-1.8-openjdk/ - make - - cd "$builddir/gdal/swig/python" - python3 setup.py build - - cd "$builddir/gdal/swig/java" - make +# Print value of the specified variable, or the default if empty or not defined. +getvar() { + eval "printf '%s\n' \"\${$1:-$2}\"" } -package() { - cd "$builddir"/gdal +_all_drivers="" +_add_driver() { + local name="$1" typ="$2" descr="$3" + local varprefix="_${name//-/_}" + + eval "${varprefix}_typ='$typ'; ${varprefix}_descr='$descr'" + subpackages="$subpackages $pkgname-driver-$name:_driver" + _all_drivers="$_all_drivers $pkgname-driver-$name=$pkgver-r$pkgrel" +} + +# Optional dependency netcdf-dev is not available on s390x +_with_netcdf="OFF" +case "$CARCH" in + s390x) ;; + *) + makedepends="$makedepends netcdf-dev" + _with_netcdf="ON";; +esac + +# Optional dependency apache-arrow-dev is not available on s390x +_with_apache_arrow="OFF" +case "$CARCH" in + s390x) ;; + *) + makedepends="$makedepends apache-arrow-dev" + _with_apache_arrow="ON";; +esac + +# Optional dependency lerc-dev is not available on s390x +_with_lerc="OFF" +case "$CARCH" in + s390x) ;; + *) + makedepends="$makedepends lerc-dev" + _with_lerc="ON";; +esac + +# Optional dependency libjxl-dev is not available on s390x +_with_jxl="OFF" +case "$CARCH" in +s390x) ;; +*) + makedepends="$makedepends libjxl-dev" + _add_driver JPEGXL gdal "JPEG-XL File Format" + _with_jxl="ON" + ;; +esac + +# Optional dependency librasterlite2-dev is only available on x86 and x86_64 +_with_librasterlite2="OFF" +case "$CARCH" in + x86|x86_64) + makedepends="$makedepends librasterlite2-dev" + _with_librasterlite2="ON" + ;; +esac + +# Optional dependency java-jdk is not available on riscv64 +case "$CARCH" in + riscv64) + _with_java="OFF" + ;; + *) + makedepends="$makedepends apache-ant java-jdk" + subpackages="$subpackages java-$pkgname:_java" + _with_java="ON" + JAVA_HOME="/usr/lib/jvm/default-jvm" + JAVA_INCLUDE_PATH="$JAVA_HOME/include" + JAVA_INCLUDE_PATH2="$JAVA_HOME/include/linux" + JAVA_AWT_LIBRARY="$JAVA_HOME/lib/libjawt.so" + JAVA_JVM_LIBRARY="$JAVA_HOME/lib/server/libjvm.so" + ;; +esac + +# Optional dependency tiledb-dev is not available on s390x and 32-bit platforms +_with_tiledb="OFF" +case "$CARCH" in +armhf|armv7|x86|s390x) ;; +*) + makedepends="$makedepends tiledb-dev" + _with_tiledb="ON" + ;; +esac + - make DESTDIR="$pkgdir" install - chmod -x "$pkgdir"/usr/include/*.h +_add_driver BASISU_KTX2 gdal "Basis Universal" +_add_driver EXR gdal "Extended Dynamic Range Image File Format" +_add_driver FITS gdal "Flexible Image Transport System" +_add_driver HDF5 gdal "Hierarchical Data Format Release 5 (HDF5)" +_add_driver HEIF gdal "ISO/IEC 23008-12:2017 High Efficiency Image File Format" +_add_driver JP2OpenJPEG gdal "JPEG2000 driver based on OpenJPEG library" +_add_driver KEA gdal "KEA" +_add_driver PCIDSK gdal "PCI Geomatics Database File" +_add_driver PCRaster gdal "PCRaster raster file format" +_add_driver PDF gdal "Geospatial PDF" +_add_driver PNG gdal "Portable Network Graphics" +_add_driver PostGISRaster gdal "PostGIS Raster driver" +_add_driver WEBP gdal "WEBP" +_add_driver WMS gdal "Web Map Services" +_add_driver CAD ogr "AutoCAD DWG" +_add_driver Carto ogr "Carto" +_add_driver Elastic ogr "Elasticsearch: Geographically Encoded Objects for Elasticsearch" +_add_driver GMLAS ogr "Geography Markup Language (GML) driven by application schemas" +_add_driver HANA ogr "SAP HANA" +_add_driver LIBKML ogr "LIBKML Driver (.kml .kmz)" +_add_driver MSSQLSpatial ogr "Microsoft SQL Server Spatial Database" +_add_driver MySQL ogr "MySQL" +_add_driver ODBC ogr "ODBC RDBMS" +_add_driver OGDI ogr "OGDI Vectors" +_add_driver PG ogr "PostgreSQL / PostGIS" +_add_driver PLSCENES ogr "PLScenes (Planet Labs Scenes/Catalog API)" +_add_driver VFK ogr "Czech Cadastral Exchange Data Format" +_add_driver XLS ogr "MS Excel format" +if [ "$_with_apache_arrow" = "ON" ]; then + _add_driver Arrow ogr "(Geo)Arrow IPC File Format / Stream" + _add_driver Parquet ogr "(Geo)Parquet" +fi +if [ "$_with_netcdf" = "ON" ]; then + _add_driver netCDF gdal "NetCDF: Network Common Data Form" +fi +if [ "$_with_tiledb" = "ON" ]; then + _add_driver TileDB gdal "TileDB tiledb.io" +fi - cd "$pkgdir/usr/bin" - mv gdal-config .. - rm -rf "$pkgdir/usr/bin/"* - mv ../gdal-config . +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=MinSizeRel \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DENABLE_IPO=OFF \ + -DGDAL_USE_ARMADILLO=ON \ + -DGDAL_USE_ARROW=$_with_apache_arrow \ + -DGDAL_USE_BASISU=ON \ + -DGDAL_USE_BLOSC=ON \ + -DGDAL_USE_BRUNSLI=ON \ + -DGDAL_USE_CFITSIO=ON \ + -DGDAL_USE_CRNLIB=OFF \ + -DGDAL_USE_CRYPTOPP=OFF \ + -DGDAL_USE_CURL=ON \ + -DGDAL_USE_DEFLATE=ON \ + -DGDAL_USE_EXPAT=ON \ + -DGDAL_USE_FILEGDB=OFF \ + -DGDAL_USE_FREEXL=ON \ + -DGDAL_USE_FYBA=OFF \ + -DGDAL_USE_GEOS=ON \ + -DGDAL_USE_GEOTIFF=ON \ + -DGDAL_USE_GIF=ON \ + -DGDAL_USE_GTA=OFF \ + -DGDAL_USE_HDF4=OFF \ + -DGDAL_USE_HDF5=ON \ + -DGDAL_USE_HDFS=OFF \ + -DGDAL_USE_HEIF=ON \ + -DGDAL_USE_ICONV=ON \ + -DGDAL_USE_IDB=OFF \ + -DGDAL_USE_JPEG=ON \ + -DGDAL_USE_JSONC=ON \ + -DGDAL_USE_JXL=$_with_jxl \ + -DGDAL_USE_KDU=OFF \ + -DGDAL_USE_KEA=ON \ + -DGDAL_USE_LERC=$_with_lerc \ + -DGDAL_USE_LIBKML=ON \ + -DGDAL_USE_LIBLZMA=ON \ + -DGDAL_USE_LIBXML2=ON \ + -DGDAL_USE_LURATECH=OFF \ + -DGDAL_USE_LZ4=ON \ + -DGDAL_USE_MONGOCXX=OFF \ + -DGDAL_USE_MRSID=OFF \ + -DGDAL_USE_MSSQL_NCLI=OFF \ + -DGDAL_USE_MSSQL_ODBC=OFF \ + -DGDAL_USE_MYSQL=ON \ + -DGDAL_USE_NETCDF=$_with_netcdf \ + -DGDAL_USE_ODBC=ON \ + -DGDAL_USE_ODBCCPP=ON \ + -DGDAL_USE_OGDI=ON \ + -DGDAL_USE_OPENCAD=OFF \ + -DGDAL_USE_OPENCL=OFF \ + -DGDAL_USE_OPENEXR=ON \ + -DGDAL_USE_OPENJPEG=ON \ + -DGDAL_USE_OPENSSL=ON \ + -DGDAL_USE_ORACLE=OFF \ + -DGDAL_USE_PARQUET=$_with_apache_arrow \ + -DGDAL_USE_PCRE2=ON \ + -DGDAL_USE_PDFIUM=OFF \ + -DGDAL_USE_PNG=ON \ + -DGDAL_USE_POPPLER=ON \ + -DGDAL_USE_POSTGRESQL=ON \ + -DGDAL_USE_QHULL=ON \ + -DGDAL_USE_RASTERLITE2=$_with_librasterlite2 \ + -DGDAL_USE_RDB=OFF \ + -DGDAL_USE_SFCGAL=ON \ + -DGDAL_USE_SPATIALITE=ON \ + -DGDAL_USE_SQLITE3=ON \ + -DGDAL_USE_TEIGHA=OFF \ + -DGDAL_USE_TIFF=ON \ + -DGDAL_USE_TILEDB=$_with_tiledb \ + -DGDAL_USE_WEBP=ON \ + -DGDAL_USE_XERCESC=ON \ + -DGDAL_USE_ZLIB=ON \ + -DGDAL_USE_ZSTD=ON \ + -DGDAL_ENABLE_PLUGINS=ON \ + -DBUILD_PYTHON_BINDINGS=ON \ + -DBUILD_CSHARP_BINDINGS=OFF \ + -DBUILD_JAVA_BINDINGS=$_with_java \ + -DJAVA_HOME="$JAVA_HOME" \ + -DJAVA_INCLUDE_PATH="$JAVA_INCLUDE_PATH" \ + -DJAVA_INCLUDE_PATH2="$JAVA_INCLUDE_PATH2" \ + -DJAVA_AWT_LIBRARY="$JAVA_AWT_LIBRARY" \ + -DJAVA_JVM_LIBRARY="$JAVA_JVM_LIBRARY" \ + -DGDAL_USE_TIFF_INTERNAL=ON \ + -DGDAL_USE_GEOTIFF_INTERNAL=ON \ + -DIconv_INCLUDE_DIR=/usr/include/gnu-libiconv \ + -DIconv_LIBRARY=/usr/lib/libiconv.so \ + $CMAKE_CROSSOPTS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build } _py3() { pkgdesc="$pkgdesc (Python3 bindings)" depends="py3-numpy" - mkdir -p "$subpkgdir"/usr/lib/ - cd "$builddir"/gdal/swig/python - python3 setup.py install --prefix=/usr --root="$subpkgdir" - rm -rf "$subpkgdir/usr/bin" + amove usr/lib/python3* } _java() { pkgdesc="$pkgdesc (Java bindings)" - cd "$builddir"/gdal/swig/java - make - - mkdir -p "$subpkgdir/usr/lib" "$subpkgdir/usr/share/java/" - chrpath -d .libs/*.so* - mv .libs/*.so* "$subpkgdir/usr/lib" - cp gdal.jar "$subpkgdir/usr/share/java/gdal-$pkgver.jar" + amove "usr/share/java/gdal-$pkgver.jar" cd "$subpkgdir/usr/share/java/" ln -s gdal-$pkgver.jar gdal.jar + + mv "$pkgdir/usr/lib/jni/libgdalalljni.so" "$pkgdir/usr/lib/libgdalalljni.so" + amove "usr/lib/libgdalalljni.so" +} + +_driver() { + local name="${subpkgname#"$pkgname"-driver-}"; name="${name//-/_}" + local typ=$(getvar _${name}_typ) + local descr=$(getvar _${name}_descr) + pkgdesc="$pkgdesc ($descr driver)" + + amove usr/lib/gdalplugins/${typ}_$name.so +} + +_gdal_driver_all() { + pkgdesc="$pkgdesc (all drivers)" + depends="$_all_drivers" + + mkdir -p "$subpkgdir" } tools() { pkgdesc="$pkgdesc (command line utilities)" depends="py3-$pkgname" - cd "$builddir"/gdal/swig/python + cd "$builddir"/swig/python/gdal-utils chmod a+x scripts/* install -d "$subpkgdir/usr/bin" install -m755 scripts/*.py "$subpkgdir/usr/bin/" - cd "$builddir"/gdal - make DESTDIR="$subpkgdir" install - rm -rf "$subpkgdir/usr/include" "$subpkgdir/usr/lib" "$subpkgdir/usr/share" "$subpkgdir/usr/bin/gdal-config" + for b in "$pkgdir"/usr/bin/*; do + amove usr/bin/"$(basename $b)" + done } check() { # TODO: https://trac.osgeo.org/gdal/wiki/TestingNotes - cd "$builddir"/gdal - apps/gdal-config --version | grep "$pkgver" + chmod a+x build/apps/gdal-config + build/apps/gdal-config --version | grep -q "$pkgver" # confirms MBTiles support - apps/gdal_translate --formats | grep "MBTiles -raster,vector- (rw+v): MBTiles" + build/apps/gdal_translate --formats | grep "MBTiles -raster,vector- (rw+v): MBTiles" +} + +dev() { + default_dev - # confirms PostgreSQL/PostGIS support - apps/ogr2ogr --formats | grep "PostgreSQL -vector- (rw+): PostgreSQL/PostGIS" + if [ "$_with_java" = "ON" ]; then + amove usr/share/java/gdal-*.pom + fi +} + +doc() { + default_doc + if [ "$_with_java" = "ON" ]; then + amove usr/share/java/gdal-*-javadoc.jar + amove usr/share/java/gdal-*-sources.jar + fi } -sha512sums="bdb30cecbade68ee2c416be6129d6971d9bf82e6836a3e88b5f98948e72d22c607f6526156a5e6d5d7a6fc0843c2bbd1fd397ea57390fb616c75e4b845c1014d gdal-3.2.2.tar.gz -14d080b80a5e499840e7b356acd0a7f6afaec6c65a10d9df864011d89e93310bd3dac22e59ca7c0cd93e6fd2277f85a71920a91ed5afdb352c18e953b2b4783b 10-atoll.patch -4741d6f9f2aaaa80c1ad590073d0b960d4389b8908682de224b476136cc5dd898375ca67498568fac4537a2c23f00e42998618a4a9121ac6d9f82dd61eda15d8 20-userfaultfd-detection.patch" + +sha512sums=" +7e5c77746cf143bb6545bc812588ad726d73dbfe15c3ac3a8b5046af9d697294fa34a818e3161dcee325aa48d807201b3bbf1f222fb874fdaa4b0bd9ea7dadd7 gdal-3.8.5.tar.gz +d2cf59a3c6fe410fb4bc5cd70c6d21323f0ac4f3cc6418ae09ec5b65264c405d1baefe371d74b134058ba9e7df88cbd0a5a1a5aa2998f9884fe8e638c8e33b22 10-atoll.patch +55cd5b466e45182699a8442461f95caa250521e21a77c9367ddfd6cdd04ed485a106b725144ef23e284f6505ce39ec4a266ded7932e41d6c535c5eb47a8724fa 20-java-version.patch +" |