Date: Monday, February 6, 2023 @ 02:43:14
  Author: grawlinson
Revision: 1393810

addpkg: zydis 4.0.0-2

Added:
  zydis/
  zydis/repos/
  zydis/trunk/
  zydis/trunk/PKGBUILD

----------+
 PKGBUILD |   72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

Added: zydis/trunk/PKGBUILD
===================================================================
--- zydis/trunk/PKGBUILD                                (rev 0)
+++ zydis/trunk/PKGBUILD        2023-02-06 02:43:14 UTC (rev 1393810)
@@ -0,0 +1,72 @@
+# Maintainer: George Rawlinson <[email protected]>
+# Contributor: Thibaut PĂ©rami <[email protected]>
+
+pkgname=zydis
+pkgver=4.0.0
+pkgrel=2
+pkgdesc='Fast and lightweight x86/x86-64 disassembler and code generation 
library'
+arch=('x86_64')
+url='https://zydis.re'
+license=('MIT')
+depends=('gcc-libs' 'zycore-c')
+makedepends=('git' 'cmake' 'ruby-ronn-ng' 'doxygen')
+checkdepends=('python')
+_commit='1ba75aeefae37094c7be8eba07ff81d4fe0f1f20'
+source=("git+https://github.com/zyantific/zydis.git#commit=$_commit";)
+b2sums=('SKIP')
+
+pkgver() {
+  cd "$pkgname"
+
+  git describe --tags | sed -e 's/^v//' -e 's/-/./g'
+}
+
+build() {
+  # https://archlinux.org/todo/lto-fat-objects/
+  export CFLAGS+=" -ffat-lto-objects"
+
+  # https://github.com/zyantific/zydis#-fpic-for-shared-library-builds
+  cmake \
+    -S "$pkgname" \
+    -B build \
+    -W no-dev \
+    -D CMAKE_BUILD_TYPE='None' \
+    -D CMAKE_INSTALL_PREFIX=/usr \
+    -D CMAKE_POSITION_INDEPENDENT_CODE=ON \
+    -D ZYDIS_BUILD_SHARED_LIB=ON \
+    -D ZYAN_SYSTEM_ZYCORE=ON \
+    -D ZYDIS_BUILD_MAN=ON
+
+  cmake --build build
+}
+
+check() {
+  # test suite extracted from .github/workflows/main.yml
+  cd "$pkgname/tests"
+
+  # regression tests (decoder)
+  python regression.py test "$srcdir/build/ZydisInfo"
+
+  # regression tests (encoder)
+  python regression_encoder.py \
+    "$srcdir/build/ZydisFuzzReEncoding" \
+    "$srcdir/build/ZydisFuzzEncoder" \
+    "$srcdir/build/ZydisTestEncoderAbsolute"
+}
+
+package() {
+  DESTDIR="$pkgdir" cmake --install build
+
+  cd "$pkgname"
+
+  # documentation
+  install -vDm644 -t "$pkgdir/usr/share/doc/Zydis" README.md
+  cp -vr examples "$pkgdir/usr/share/doc/Zydis"
+
+  # move man pages to correct directory
+  install -vd "$pkgdir/usr/share/man/man1"
+  mv "$pkgdir/usr/share/man/"*.1 "$pkgdir/usr/share/man/man1"
+
+  # license
+  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}

Reply via email to