arch-pkgs/dynarmic/PKGBUILD

70 lines
1.5 KiB
Bash

# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Alexandre Bouvier <contact@amb.tf>
pkgname=dynarmic
pkgver=6.2.3
pkgrel=1
pkgdesc='An ARM dynamic recompiler'
arch=('x86_64')
url='https://github.com/merryhime/dynarmic'
license=('BSD')
depends=('gcc-libs' 'fmt') # 'zydis')
makedepends=(
'git'
'boost'
'cmake'
'robin-map'
'xbyak'
'neovim'
)
checkdepends=('catch2')
_commit='2d4602a6516c67d547000d4c80bcc5f74976abdd'
source=("$pkgname::git+$url#commit=$_commit")
b2sums=('SKIP')
pkgver() {
cd "$pkgname"
git describe --tags | sed 's/^v//'
}
prepare() {
cd "$pkgname"
# fix FTBFS for zydis >4
#sed \
# -e 's/ZYDIS_ADDRESS_WIDTH_64/ZYDIS_STACK_WIDTH_64/g' \
# -e 's/ZydisDecoderDecodeBuffer/ZydisDecoderDecodeFull/g' \
# -i src/dynarmic/common/x64_disassemble.cpp
}
build() {
cmake \
-B build \
-S "$pkgname" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DDYNARMIC_IGNORE_ASSERTS=ON \
-DDYNARMIC_NO_BUNDLED_CATCH=ON \
-DDYNARMIC_NO_BUNDLED_FMT=ON \
-DDYNARMIC_NO_BUNDLED_ROBIN_MAP=ON \
-DDYNARMIC_NO_BUNDLED_XBYAK=ON \
-DDYNARMIC_NO_BUNDLED_ZYDIS=OFF \
-DDYNARMIC_TESTS="$CHECKFUNC" \
-Wno-dev
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
# license
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$pkgname/LICENSE.txt"
}