# $Id: Portfile 78051 2011-04-21 05:19:29Z l2g@macports.org $

PortSystem 1.0

name		  zzuf
version		  0.13
revision	  2
categories	  security
platforms	  darwin
maintainers	  pmq

description	  zzuf is a transparent application input fuzzer
long_description  zzuf is a transparent application input fuzzer. Its purpose \
		  is to find bugs in applications by corrupting their \
		  user-contributed data (which more than often comes from \
		  untrusted sources on the Internet). It works by intercepting \
		  file and network operations and changing random bits in the \
		  program's input. zzuf's behaviour is deterministic, making it \
		  easier to reproduce bugs.

homepage	  http://libcaca.zoy.org/wiki/${name}/
master_sites	  http://libcaca.zoy.org/files/${name}/

checksums	  sha1 19f904d63d045194885639c381a607ca86a319b5 \
              rmd160 ef9988a6d97f213090227a0b6d87e4d942ed8c15

# This is a patch from upstream to fix a bug with checking free memory in
# OS X. Source: http://caca.zoy.org/changeset/4314/zzuf/trunk
patchfiles      patch-src-libzzuf-lib--mem.c.diff
patch.pre_args  -p3

# zzcat conflicts with libzzip; zzuff upstream has renamed it
# to 'zzat', but a new release is not yet available.
# See also: http://caca.zoy.org/ticket/86
#
post-patch {
        reinplace "s|zzcat|zzat|g" "${worksrcpath}/doc/zzcat.1.in"
}

post-destroot {
        file rename "${destroot}/${prefix}/bin/zzcat" "${destroot}/${prefix}/bin/zzat"
        file rename "${destroot}/${prefix}/share/man/man1/zzcat.1" "${destroot}/${prefix}/share/man/man1/zzat.1"
}
