packages/highway/PKGBUILD

68 lines
2.0 KiB
Bash

# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Daniel Bermond <dbermond@archlinux.org>
pkgname=highway
pkgver=1.2.0
pkgrel=1.2
pkgdesc='A C++ library that provides portable SIMD/vector intrinsics'
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
url='https://github.com/google/highway/'
license=('Apache-2.0' 'BSD-3-Clause')
depends=('gcc-libs')
makedepends=('cmake' 'git')
makedepends_powerpc64le=('gtest')
makedepends_x86_64=('gtest')
case "${CARCH}" in
riscv64) options=(!lto) ;;
esac
source=("https://github.com/google/highway/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz"
"highway-disable-RVV-runtime-dispatch.patch::https://github.com/google/highway/commit/c95cc0237d2f7a0f5ca5dc3fb4b5961b2b1dcdfc.patch")
sha256sums=('7e0be78b8318e8bdbf6fa545d2ecb4c90f947df03f7aadc42c1967f019e63343'
'81d2248de29b07fce1a949f7c251d8279687ee38fe8646e131ca7d1ea8a72d6a')
prepare() {
cd "${pkgname}-${pkgver}"
patch -p1 -i "${srcdir}/highway-disable-RVV-runtime-dispatch.patch"
}
build() {
case "${CARCH}" in
powerpc|powerpc64)
export CXXFLAGS+=' -DHWY_COMPILE_ONLY_SCALAR -latomic'
_cmake_options=(
-DBUILD_TESTING:BOOL='OFF'
-DHWY_WARNINGS_ARE_ERRORS:BOOL='OFF'
)
;;
riscv64)
_cmake_options=(
-DBUILD_TESTING:BOOL='OFF'
-DHWY_WARNINGS_ARE_ERRORS:BOOL='OFF'
-DHWY_CMAKE_RVV:BOOL='OFF'
)
;;
*)
_cmake_options=(
-DWHY_SYSTEM_GTEST:BOOL='ON'
)
;;
esac
cmake -B build -S "${pkgname}-${pkgver}" \
-G 'Unix Makefiles' \
-DCMAKE_BUILD_TYPE:STRING='None' \
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
-DBUILD_SHARED_LIBS:BOOL='ON' \
-Wno-dev ${_cmake_options[@]}
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -D -m644 "${pkgname}-${pkgver}/LICENSE-BSD3" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}