aboutsummaryrefslogtreecommitdiffstats
path: root/community/gdal/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/gdal/APKBUILD')
-rw-r--r--community/gdal/APKBUILD388
1 files changed, 300 insertions, 88 deletions
diff --git a/community/gdal/APKBUILD b/community/gdal/APKBUILD
index 74b80084ab7..d0d92d666b4 100644
--- a/community/gdal/APKBUILD
+++ b/community/gdal/APKBUILD
@@ -1,65 +1,59 @@
# Contributor: Trevor R.H. Clarke <trevor@notcows.com>
# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
pkgname=gdal
-pkgver=3.3.1
+pkgver=3.8.5
pkgrel=1
pkgdesc="A translator library for raster and vector geospatial data formats"
url="https://gdal.org/"
-# mips64 and riscv64 blocked by java-jdk
-arch="all !s390x !mips64 !riscv64"
+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
-
-# Optional dependency librasterlite2-dev is only available on x86 and x86_64
-_with_librasterlite2="no"
-case "$CARCH" in
- x86|x86_64)
- librasterlite2deps="librasterlite2-dev"
- _with_librasterlite2="yes"
- ;;
-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
- java-jdk
json-c-dev
- libdap-dev
+ kealib-dev
+ libaec-dev
+ libarchive-dev
+ libdeflate-dev
+ libgeotiff-dev
libheif-dev
+ libjpeg-turbo-dev
libkml-dev
libpng-dev
- $librasterlite2deps
+ 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
openjpeg-dev
+ openssl-dev
poppler-dev
- postgresql-dev
proj-dev
py3-numpy
py3-numpy-dev
+ py3-setuptools
python3-dev
qhull-dev
- libspatialite-dev
+ samurai
+ sfcgal-dev
sqlite-dev
swig
tiff-dev
@@ -72,109 +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-armadillo=yes \
- --with-spatialite=yes \
- --with-rasterlite2=$_with_librasterlite2 \
- --with-cpp14 \
- --with-dods-root=/usr \
- --with-poppler \
- --with-mysql \
- --with-java=/usr/lib/jvm/default-jvm/
- 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//-/_}"
- make DESTDIR="$pkgdir" install
- chmod -x "$pkgdir"/usr/include/*.h
+ eval "${varprefix}_typ='$typ'; ${varprefix}_descr='$descr'"
+ subpackages="$subpackages $pkgname-driver-$name:_driver"
+ _all_drivers="$_all_drivers $pkgname-driver-$name=$pkgver-r$pkgrel"
+}
- cd "$pkgdir/usr/bin"
- mv gdal-config ..
- rm -rf "$pkgdir/usr/bin/"*
- mv ../gdal-config .
+# 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
+
+
+_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() {
+ 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/gdal-utils
+ 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"
+}
- # 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="
-c13d8fa1eeaea55383a507fd77203281d675155093dd65ed91425e6188e906fec9c51c3756794a83a050c59d352cf8a8fd3e42c4e379548619668b5099ed8e51 gdal-3.3.1.tar.gz
-14d080b80a5e499840e7b356acd0a7f6afaec6c65a10d9df864011d89e93310bd3dac22e59ca7c0cd93e6fd2277f85a71920a91ed5afdb352c18e953b2b4783b 10-atoll.patch
-4741d6f9f2aaaa80c1ad590073d0b960d4389b8908682de224b476136cc5dd898375ca67498568fac4537a2c23f00e42998618a4a9121ac6d9f82dd61eda15d8 20-userfaultfd-detection.patch
+7e5c77746cf143bb6545bc812588ad726d73dbfe15c3ac3a8b5046af9d697294fa34a818e3161dcee325aa48d807201b3bbf1f222fb874fdaa4b0bd9ea7dadd7 gdal-3.8.5.tar.gz
+d2cf59a3c6fe410fb4bc5cd70c6d21323f0ac4f3cc6418ae09ec5b65264c405d1baefe371d74b134058ba9e7df88cbd0a5a1a5aa2998f9884fe8e638c8e33b22 10-atoll.patch
+55cd5b466e45182699a8442461f95caa250521e21a77c9367ddfd6cdd04ed485a106b725144ef23e284f6505ce39ec4a266ded7932e41d6c535c5eb47a8724fa 20-java-version.patch
"