felixaszx f47134cb6a
update xsimd/krtia to 13.2.0/5.2.11 (#25298)
* xsimd: update to 13.2.0
* krita: update to 5.2.11 and remove patches no longer needed
2025-08-31 05:46:27 +01:00

218 lines
7.6 KiB
Bash

# Maintainer: Alexey Kasatkin <alexeikasatkin@gmail.com>
# ArchLinux maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
# Contributor: William Rea <sillywilly@gmail.com>
# Contributor: Petri Moisio <petri.k.moisio@gmail.com>
_realname=gdal
pkgbase=mingw-w64-${_realname,,}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
"${MINGW_PACKAGE_PREFIX}-python-${_realname}")
pkgver=3.11.3
pkgrel=5
pkgdesc="A translator library for raster geospatial data formats (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://gdal.org/"
msys2_repository_url="https://github.com/OSGeo/gdal"
msys2_references=(
'archlinux: gdal'
"cpe: cpe:/a:gdal:gdal"
"cpe: cpe:/a:osgeo:gdal"
)
license=('spdx:MIT')
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-opencl-headers"
"${MINGW_PACKAGE_PREFIX}-python-numpy"
"${MINGW_PACKAGE_PREFIX}-python-setuptools"
"${MINGW_PACKAGE_PREFIX}-swig"
"${MINGW_PACKAGE_PREFIX}-xsimd")
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-armadillo"
"${MINGW_PACKAGE_PREFIX}-arrow"
"${MINGW_PACKAGE_PREFIX}-blosc"
"${MINGW_PACKAGE_PREFIX}-cfitsio"
"${MINGW_PACKAGE_PREFIX}-crypto++"
"${MINGW_PACKAGE_PREFIX}-curl"
"${MINGW_PACKAGE_PREFIX}-expat"
"${MINGW_PACKAGE_PREFIX}-geos"
"${MINGW_PACKAGE_PREFIX}-giflib"
"${MINGW_PACKAGE_PREFIX}-hdf4"
"${MINGW_PACKAGE_PREFIX}-hdf5"
"${MINGW_PACKAGE_PREFIX}-json-c"
"${MINGW_PACKAGE_PREFIX}-lerc"
"${MINGW_PACKAGE_PREFIX}-libaec"
"${MINGW_PACKAGE_PREFIX}-libarchive"
"${MINGW_PACKAGE_PREFIX}-libdeflate"
"${MINGW_PACKAGE_PREFIX}-libfreexl"
"${MINGW_PACKAGE_PREFIX}-libgeotiff"
"${MINGW_PACKAGE_PREFIX}-libheif"
"${MINGW_PACKAGE_PREFIX}-libiconv"
"${MINGW_PACKAGE_PREFIX}-libjpeg"
"${MINGW_PACKAGE_PREFIX}-libjxl"
"${MINGW_PACKAGE_PREFIX}-libkml"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-libmariadbclient"
"${MINGW_PACKAGE_PREFIX}-libspatialite"
"${MINGW_PACKAGE_PREFIX}-libtiff"
"${MINGW_PACKAGE_PREFIX}-libwebp"
"${MINGW_PACKAGE_PREFIX}-libxml2"
"${MINGW_PACKAGE_PREFIX}-lz4"
"${MINGW_PACKAGE_PREFIX}-netcdf"
"${MINGW_PACKAGE_PREFIX}-opencl-icd"
"${MINGW_PACKAGE_PREFIX}-openexr"
"${MINGW_PACKAGE_PREFIX}-openjpeg2"
"${MINGW_PACKAGE_PREFIX}-openssl"
"${MINGW_PACKAGE_PREFIX}-pcre2"
$([[ ${CARCH} == aarch64 ]] || echo "${MINGW_PACKAGE_PREFIX}-podofo")
"${MINGW_PACKAGE_PREFIX}-poppler"
"${MINGW_PACKAGE_PREFIX}-postgresql"
"${MINGW_PACKAGE_PREFIX}-proj"
"${MINGW_PACKAGE_PREFIX}-qhull"
"${MINGW_PACKAGE_PREFIX}-sfcgal"
"${MINGW_PACKAGE_PREFIX}-sqlite3"
#"${MINGW_PACKAGE_PREFIX}-tiledb"
"${MINGW_PACKAGE_PREFIX}-xerces-c"
"${MINGW_PACKAGE_PREFIX}-xz"
"${MINGW_PACKAGE_PREFIX}-zlib"
"${MINGW_PACKAGE_PREFIX}-zstd")
source=(https://github.com/OSGeo/gdal/releases/download/v${pkgver}/gdal-${pkgver}.tar.gz
001-fix-bindings-install-path.patch
002-remove-manual-soversion.patch)
sha256sums=('54638f6990f84c16142d93c9daaafaf1eab0a6a61538162095c334de086ef91f'
'bfb0b42c8562bd45ae5cff71d42b042e398dff9a9c1f5bb08d8717a7753d4f3f'
'fc815a58fe229db3c44bae15f405cafbeb82de91ec3f35564569c5bbecb1c3d7')
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying $_patch"
patch -Np1 -i "${srcdir}/$_patch"
done
}
prepare() {
cd "${srcdir}"/${_realname}-${pkgver}
apply_patch_with_msg \
001-fix-bindings-install-path.patch \
002-remove-manual-soversion.patch
}
build() {
declare -a _extra_config
if check_option "debug" "n"; then
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
if [[ ${CARCH} == x86_64 ]]; then
_extra_config+=("-DGDAL_USE_PODOFO=ON")
else
_extra_config+=("-DGDAL_USE_PODOFO=OFF")
fi
msg2 "Building static library"
mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${_extra_config[@]}" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_PYTHON_BINDINGS=OFF \
-DGDAL_USE_INTERNAL_LIBS=OFF \
-DGDAL_USE_HDFS=OFF \
-DGDAL_USE_MSSQL_ODBC=OFF \
-DGDAL_USE_POPPLER=ON \
-DBUILD_TESTING=OFF \
../${_realname}-${pkgver}
"${MINGW_PREFIX}"/bin/cmake.exe --build .
msg2 "Building shared library"
mkdir -p "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${_extra_config[@]}" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_DLL_NAME_WITH_SOVERSION=ON \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_PYTHON_BINDINGS=ON \
-DBUILD_JAVA_BINDINGS=OFF \
-DGDAL_USE_INTERNAL_LIBS=OFF \
-DGDAL_USE_HDFS=OFF \
-DGDAL_USE_MSSQL_ODBC=OFF \
-DGDAL_USE_POPPLER=ON \
-DBUILD_TESTING=OFF \
-DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python \
../${_realname}-${pkgver}
"${MINGW_PREFIX}"/bin/cmake.exe --build .
}
check () {
cd "${srcdir}/build-${MSYSTEM}-shared"
"${MINGW_PREFIX}"/bin/cmake.exe -DBUILD_TESTING=ON ../${_realname}-${pkgver}
"${MINGW_PREFIX}"/bin/cmake.exe --build .
"${MINGW_PREFIX}"/bin/ctest.exe .
}
package_gdal() {
msg2 "Installing static library"
cd "${srcdir}/build-${MSYSTEM}-static"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install .
msg2 "Installing shared library"
cd "${srcdir}/build-${MSYSTEM}-shared"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install .
# install license
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.TXT" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
# Move python stuff
mkdir -p "${srcdir}"/build-${MSYSTEM}-shared/{bin,lib}
mv "${pkgdir}"${MINGW_PREFIX}/bin/*py "${srcdir}"/build-${MSYSTEM}-shared/bin
mv "${pkgdir}"${MINGW_PREFIX}/lib/python* "${srcdir}"/build-${MSYSTEM}-shared/lib
}
package_python-gdal() {
pkgdesc="Python bindings for GDAL (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}"
"${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-python-psycopg2"
"${MINGW_PACKAGE_PREFIX}-python-numpy")
msg2 "Installing Python bindings"
cd "${srcdir}/build-${MSYSTEM}-shared"
install -d "${pkgdir}"${MINGW_PREFIX}/{bin,lib}
mv "${srcdir}"/build-${MSYSTEM}-shared/bin/* "${pkgdir}"${MINGW_PREFIX}/bin
mv "${srcdir}"/build-${MSYSTEM}-shared/lib/* "${pkgdir}"${MINGW_PREFIX}/lib
# fix python command in files
local _mingw_prefix=$(cygpath -am ${MINGW_PREFIX})
for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do
sed -e "s|${_mingw_prefix}/bin/|/usr/bin/env |g" -i ${_f}
done
}
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :
# generate wrappers
for _name in "${pkgname[@]}"; do
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
_func="$(declare -f "${_short}")"
eval "${_func/#${_short}/package_${_name}}"
done
# template end;