liblas: Fix building on clangarm64

This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2022-11-26 11:06:39 +01:00
parent 1b084cd621
commit beffd0ba97
2 changed files with 39 additions and 23 deletions

View File

@@ -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}

View 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