# Contributor: Marian # Maintainer: Marian pkgname=afl pkgver=2.39b pkgrel=0 pkgdesc="american fuzzy lop is a fuzzer relying on genetic algorithms instead brute force" url="http://lcamtuf.coredump.cx/afl/" arch="all" license="ASL 2.0" depends="clang clang-libs llvm llvm-libs" depends_dev="" makedepends="llvm-dev clang-dev" install="" subpackages="$pkgname-doc" source="http://lcamtuf.coredump.cx/$pkgname/releases/$pkgname-$pkgver.tgz" builddir="$srcdir/"$pkgname-$pkgver build() { local dir= for dir in "$builddir" "$builddir"/llvm_mode; do make -C "$dir" PREFIX=/usr CC=clang \ AFL_NO_X86=1 || return 1 done } package() { cd "$builddir" make AFL_NO_X86=1 PREFIX=/usr \ DESTDIR="$pkgdir" install || return 1 install -Dm644 llvm_mode/README.llvm \ "$pkgdir"/usr/share/doc/$pkgname/README.llvm_mode \ || return 1 # Only install the llvm_mode of afl. Even though this is still # considered experimental it faster than the gcc mode and portable to # non-x86 platforms. Therefore only support the llvm_mode is the only # way to make this package work on all platforms. rm -f "${pkgdir}/usr/bin/afl-clang" "${pkgdir}/usr/bin/afl-clang++" \ "${pkgdir}/usr/bin/afl-gcc" "${pkgdir}/usr/bin/afl-g++" } sha512sums="0df37fc8dea65d4130bc0fc8aaa23525bde4832c7202efb78ebe740d661546adee575b48fb94d851ef26293ca28a6ff818ab1dfd643c8e688aceb520e11229d0 afl-2.39b.tgz"