aboutsummaryrefslogblamecommitdiffstats
path: root/community/afl/APKBUILD
blob: 5f36e9aaa558e6392f53dc2cb0bf9fabfa524664 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                   
           

            
                                                                     
                                     
               
                    
                                    

                                




                                                                                       

         

                                                  


           
                                                               
                                              
                                                                 
 





                                                                                       

 




















                                                                                                                                                               
# Contributor: Marian <marian.buschsieweke@ovgu.de>
# Maintainer: Marian <marian.buschsieweke@ovgu.de>
pkgname=afl
pkgver=2.56b
pkgrel=0
pkgdesc="Fuzzer relying on genetic algorithms instead of brute force"
url="http://lcamtuf.coredump.cx/afl/"
arch="all !x86"
license="Apache-2.0"
options="!check" # no tests provided
depends="clang llvm"
makedepends="clang-dev llvm-dev"
subpackages="$pkgname-doc $pkgname-clang:_clang $pkgname-gcc:_gcc"
source="$pkgname-$pkgver.tar.gz::https://github.com/google/AFL/archive/v$pkgver.tar.gz"
builddir="$srcdir/AFL-$pkgver"

CC=clang

build() {
	make AFL_NO_X86=1 PREFIX=/usr
	make -C llvm_mode AFL_NO_X86=1 PREFIX=/usr
}

package() {
	make AFL_NO_X86=1 PREFIX=/usr DESTDIR="$pkgdir" install
	install -Dm644 llvm_mode/README.llvm \
		"$pkgdir"/usr/share/doc/$pkgname/README.llvm_mode

	# small_exec.elf is an Intel binary which causes an error during
	# the strip() process on non Intel plattforms.
	case "$CARCH" in
		x86*) ;;
		*) rm -f "$pkgdir"/usr/share/afl/testcases/others/elf/small_exec.elf ;;
	esac
}

_clang() {
	description="$pkgdesc - CLang instrumention support"
	depends="clang"

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/afl-clang \
		"$pkgdir"/usr/bin/afl-clang++ \
		"$subpkgdir"/usr/bin
}

_gcc() {
	description="$pkgdesc - GCC instrumention support"
	depends="gcc"

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/afl-gcc \
		"$pkgdir"/usr/bin/afl-g++ \
		"$subpkgdir"/usr/bin
}

sha512sums="4e76fc503fe615aac4d0bbd8e3632d5cfbb7a3ac107be03c399afc024a8ad364dba933875d50a9b65083159faf6ebef5e13c39b25db977b01bd29b6340cad162  afl-2.56b.tar.gz"