aboutsummaryrefslogtreecommitdiffstats
path: root/community/gdal/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/gdal/APKBUILD')
-rw-r--r--community/gdal/APKBUILD332
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
"