diff options
Diffstat (limited to 'community/gdal/APKBUILD')
-rw-r--r-- | community/gdal/APKBUILD | 332 |
1 files changed, 273 insertions, 59 deletions
diff --git a/community/gdal/APKBUILD b/community/gdal/APKBUILD index 1a33e081c54..d0d92d666b4 100644 --- a/community/gdal/APKBUILD +++ b/community/gdal/APKBUILD @@ -1,44 +1,59 @@ # Contributor: Trevor R.H. Clarke <trevor@notcows.com> # Maintainer: Holger Jaekel <holger.jaekel@gmx.de> pkgname=gdal -pkgver=3.4.0 -pkgrel=2 +pkgver=3.8.5 +pkgrel=1 pkgdesc="A translator library for raster and vector geospatial data formats" url="https://gdal.org/" arch="all" license="MIT" -depends_dev="gdal" makedepends=" 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 + odbc-cpp-wrapper-dev ogdi-dev openexr-dev openjpeg-dev + openssl-dev poppler-dev - libpq-dev proj-dev py3-numpy py3-numpy-dev py3-setuptools python3-dev qhull-dev - libspatialite-dev + samurai + sfcgal-dev sqlite-dev swig tiff-dev @@ -51,97 +66,281 @@ checkdepends=" pytest " subpackages=" - $pkgname-static $pkgname-dev + py3-$pkgname-pyc py3-$pkgname:_py3 $pkgname-tools + $pkgname-doc + $pkgname-bash-completion + $pkgname-driver-all:_gdal_driver_all:noarch " -source=" - https://github.com/OSGeo/gdal/releases/download/v$pkgver/gdal-$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 " +# Print value of the specified variable, or the default if empty or not defined. +getvar() { + eval "printf '%s\n' \"\${$1:-$2}\"" +} + +_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 netcdf-dev" ;; + *) + 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="no" +_with_librasterlite2="OFF" case "$CARCH" in x86|x86_64) makedepends="$makedepends librasterlite2-dev" - _with_librasterlite2="yes" + _with_librasterlite2="ON" ;; esac # Optional dependency java-jdk is not available on riscv64 -_with_java="" case "$CARCH" in riscv64) - _with_java="no" + _with_java="OFF" ;; *) makedepends="$makedepends apache-ant java-jdk" subpackages="$subpackages java-$pkgname:_java" - _with_java="--with-java=/usr/lib/jvm/default-jvm" + _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 + + +_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 + build() { - CPPFLAGS="$CPPFLAGS -I/usr/include/mysql/server -I/usr/include/tirpc" ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --with-cfitsio=/usr \ - --with-armadillo=yes \ - --with-spatialite=yes \ - --with-rasterlite2=$_with_librasterlite2 \ - --with-cpp14 \ - --with-dods-root=/usr \ - --with-poppler \ - $_with_java \ - --with-mysql - make - - cd "$builddir/swig/python" - python3 setup.py build - - if [ "$_with_java" != "no" ]; then - cd "$builddir/swig/java" - make + 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() { - make DESTDIR="$pkgdir" install - chmod -x "$pkgdir"/usr/include/*.h + DESTDIR="$pkgdir" cmake --install build } _py3() { pkgdesc="$pkgdesc (Python3 bindings)" depends="py3-numpy" - mkdir -p "$subpkgdir"/usr/lib/ - cd "$builddir"/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"/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() { @@ -162,17 +361,32 @@ tools() { check() { # TODO: https://trac.osgeo.org/gdal/wiki/TestingNotes - 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" +} - # confirms PostgreSQL/PostGIS support - apps/ogr2ogr --formats | grep "PostgreSQL -vector- (rw+): PostgreSQL/PostGIS" +dev() { + default_dev + 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=" -e363258172cff9647804be11f28ebec1614ddfbfc6eed72d44700c23aea674267e413099555d25e784d567ea915b5fb9092ff74b98d890dfcb8aae56b0575eb6 gdal-3.4.0.tar.gz -63ab07b2de79a5ff95c7a33bd7b431fd4f3d0407cfc9d47df55eaff858064a9869b241bae7d93b4b86fc2995d65cb2bed3e3767659ed9a6d92e00771910cf72c 10-atoll.patch -15d8c25f1fdbb050ffa4082e16c7f506a50dd2827d947b663e532876c9d303982b6effb10c2eff50323aab867f5e48215736679d6a5b92f0e2266a09ad5aac53 20-userfaultfd-detection.patch +7e5c77746cf143bb6545bc812588ad726d73dbfe15c3ac3a8b5046af9d697294fa34a818e3161dcee325aa48d807201b3bbf1f222fb874fdaa4b0bd9ea7dadd7 gdal-3.8.5.tar.gz +d2cf59a3c6fe410fb4bc5cd70c6d21323f0ac4f3cc6418ae09ec5b65264c405d1baefe371d74b134058ba9e7df88cbd0a5a1a5aa2998f9884fe8e638c8e33b22 10-atoll.patch +55cd5b466e45182699a8442461f95caa250521e21a77c9367ddfd6cdd04ed485a106b725144ef23e284f6505ce39ec4a266ded7932e41d6c535c5eb47a8724fa 20-java-version.patch " |