diff --git a/dynarmic/PKGBUILD b/dynarmic/PKGBUILD new file mode 100644 index 0000000..7b0431d --- /dev/null +++ b/dynarmic/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: George Rawlinson +# Contributor: Alexandre Bouvier + +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" +}