liblas: Fix building on clangarm64
This commit is contained in:
@@ -4,63 +4,69 @@ _realname=liblas
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
pkgver=1.8.1
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
pkgdesc="ASPRS LiDAR data translation toolset (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
|
||||
url="https://liblas.org/"
|
||||
license=('BSD')
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake")
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja")
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-gdal"
|
||||
"${MINGW_PACKAGE_PREFIX}-laszip")
|
||||
source=("${_realname}-${pkgver}.tar.gz::https://codeload.github.com/libLAS/libLAS/tar.gz/${pkgver}"
|
||||
source=("${_realname}-${pkgver}.tar.gz::https://github.com/libLAS/libLAS/archive/${pkgver}.tar.gz"
|
||||
"${_realname}-1.8.1.patch"
|
||||
"liblas-upstream-fixes.patch")
|
||||
"liblas-upstream-fixes.patch"
|
||||
"support-aarch64.patch")
|
||||
sha256sums=('31cff4fd235f9397df8c3086b0aefc50a047d2be0e9ce39f0cddfc662633fa93'
|
||||
'1a04a04ee064e54a86b229826336d34239ec6e178c23b67b57bba01933df8592'
|
||||
'cbcb261f4bf4b2f9f2c82810f66791ebcb4f11008333becf7de7219c57ca521b')
|
||||
'cbcb261f4bf4b2f9f2c82810f66791ebcb4f11008333becf7de7219c57ca521b'
|
||||
'b02d648c3da85fb3fbc47b3c6682de094031ef14da785496ac0e97e9d283173a')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_realname}-${pkgver}"
|
||||
patch -Np1 -i "${srcdir}/${_realname}-1.8.1.patch"
|
||||
patch -Np1 -i "${srcdir}/liblas-upstream-fixes.patch"
|
||||
patch -Np1 -i "${srcdir}/support-aarch64.patch"
|
||||
}
|
||||
|
||||
build() {
|
||||
declare -a _btype
|
||||
if check_option "debug" "y"; then
|
||||
_btype=Debug
|
||||
else
|
||||
_btype=Release
|
||||
fi
|
||||
[[ -d "${srcdir}"/build-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-${MSYSTEM}
|
||||
mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
||||
|
||||
rm -rf "${srcdir}/build-${MINGW_CHOST}"
|
||||
mkdir "${srcdir}/build-${MINGW_CHOST}"
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
declare -a _extra_config
|
||||
if check_option "debug" "n"; then
|
||||
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
|
||||
else
|
||||
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
|
||||
fi
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
${MINGW_PREFIX}/bin/cmake.exe \
|
||||
-G"MSYS Makefiles" \
|
||||
-DCMAKE_BUILD_TYPE=${_btype} \
|
||||
-G"Ninja" \
|
||||
${_extra_config[@]} \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
-DBUILD_OSGEO4W=ON \
|
||||
-DWITH_LASZIP=ON \
|
||||
-DWITH_PKGCONFIG=ON \
|
||||
-DWITH_TESTS=OFF \
|
||||
"../${_realname}-${pkgver}"
|
||||
|
||||
make
|
||||
${MINGW_PREFIX}/bin/cmake --build .
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
export GDAL_DATA="${MINGW_PREFIX}/share/gdal"
|
||||
make test
|
||||
cd "${srcdir}/build-${MSYSTEM}"
|
||||
${MINGW_PREFIX}/bin/cmake ../${_realname}-${pkgver} -DWITH_TESTS=ON
|
||||
${MINGW_PREFIX}/bin/cmake --build .
|
||||
GDAL_DATA="${MINGW_PREFIX}/share/gdal" ${MINGW_PREFIX}/bin/ctest
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
make DESTDIR="${pkgdir}" install
|
||||
|
||||
cd "${srcdir}/build-${MSYSTEM}"
|
||||
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
|
||||
|
||||
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
|
||||
for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/libLAS/*.cmake; do
|
||||
sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f}
|
||||
|
||||
10
mingw-w64-liblas/support-aarch64.patch
Normal file
10
mingw-w64-liblas/support-aarch64.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/include/liblas/detail/endian.hpp
|
||||
+++ b/include/liblas/detail/endian.hpp
|
||||
@@ -88,6 +88,7 @@
|
||||
|| defined(_M_ALPHA) || defined(__amd64) \
|
||||
|| defined(__amd64__) || defined(_M_AMD64) \
|
||||
|| defined(__x86_64) || defined(__x86_64__) \
|
||||
+ || defined(__arm64) || defined(__arm64__) \
|
||||
|| defined(_M_X64)
|
||||
|
||||
# define LIBLAS_LITTLE_ENDIAN
|
||||
Reference in New Issue
Block a user