1 # Maintainer: George Rawlinson <grawlinson@archlinux.org>
2 # Contributor: Thibaut PĂ©rami <thibaut.perami@cl.cam.ac.uk>
7 pkgdesc='Fast and lightweight x86/x86-64 disassembler and code generation library'
11 depends=('gcc-libs' 'zycore-c')
12 makedepends=('git' 'cmake' 'ruby-ronn-ng' 'doxygen')
13 checkdepends=('python')
14 provides=('libZydis.so')
15 _commit='1ba75aeefae37094c7be8eba07ff81d4fe0f1f20'
16 source=("git+https://github.com/zyantific/zydis.git#commit=$_commit")
22 git describe --tags | sed -e 's/^v//' -e 's/-/./g'
26 # https://archlinux.org/todo/lto-fat-objects/
27 export CFLAGS+=" -ffat-lto-objects"
29 # https://github.com/zyantific/zydis#-fpic-for-shared-library-builds
34 -D CMAKE_BUILD_TYPE='None' \
35 -D CMAKE_INSTALL_PREFIX=/usr \
36 -D CMAKE_POSITION_INDEPENDENT_CODE=ON \
37 -D ZYDIS_BUILD_SHARED_LIB=ON \
38 -D ZYAN_SYSTEM_ZYCORE=ON \
45 # test suite extracted from .github/workflows/main.yml
48 # regression tests (decoder)
49 python regression.py test "$srcdir/build/ZydisInfo"
51 # regression tests (encoder)
52 python regression_encoder.py \
53 "$srcdir/build/ZydisFuzzReEncoding" \
54 "$srcdir/build/ZydisFuzzEncoder" \
55 "$srcdir/build/ZydisTestEncoderAbsolute"
59 DESTDIR="$pkgdir" cmake --install build
64 install -vDm644 -t "$pkgdir/usr/share/doc/Zydis" README.md
65 cp -vr examples "$pkgdir/usr/share/doc/Zydis"
67 # move man pages to correct directory
68 install -vd "$pkgdir/usr/share/man/man1"
69 mv "$pkgdir/usr/share/man/"*.1 "$pkgdir/usr/share/man/man1"
72 install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE