# $Id: Portfile 66272 2010-04-08 06:03:51Z ryandesign@macports.org $

PortSystem          1.0
name                john
version             1.7.3.4
categories          sysutils security
maintainers         nomaintainer
description         Featureful Unix password cracker
long_description    John the Ripper is a UNIX password cracker, currently available for \
                    UNIX (tested with Linux x86, FreeBSD x86, Solaris 2.x SPARC, OSF/1 \
                    Alpha), DOS, WinNT/Win95.
homepage            http://www.openwall.com/john/
platforms           darwin
master_sites        http://www.openwall.com/john/f/ \
                    ftp://ftp2.msk.ru.openwall.com/pub/projects/john/${version}/ \
                    ftp://ftp.ibiblio.org/pub/linux/distributions/openwall/projects/john/${version}/ \
                    ftp://ftp.cert.dfn.de/pub/tools/net/Openwall/projects/john/${version}/ \
                    http://distro.ibiblio.org/pub/linux/distributions/openwall/projects/john/${version}/ \
                    ftp://ftp.mirrorgeek.com/openwall/projects/john/${version}/ \
                    http://mirrorgeek.com/openwall/projects/john/${version}/ \
                    ftp://ftp1.msk.ru.openwall.com/pub/projects/john/${version}/ \
                    ftp://ftp.spb.ru.openwall.com/pub/projects/john/${version}/ \
                    ftp://ftp.man.szczecin.pl/pub/Linux/Owl/projects/john/${version}/ \
                    ftp://ftp.se.openwall.com/pub/projects/john/${version}/ \
                    http://ftp.sunet.se/pub/security/tools/net/Openwall/projects/john/${version}/ \
                    ftp://ftp.sunet.se/pub/security/tools/net/Openwall/projects/john/${version}/ \
                    ftp://ftp.mathematik.uni-marburg.de/pub/mirror/openwall/projects/john/${version}/ \
                    ftp://ftp.wiretapped.net/pub/openwall/projects/john/${version}/ \
                    ftp://ftp.ua.openwall.com/pub/projects/john/${version}/ \
                    ftp://ftp.cz.openwall.com/pub/projects/john/${version}/
use_bzip2           yes

checksums           md5     2f2310c49961c3edea6f92b8dcd45ff4 \
                    sha1    3919cac037360512e6d72d04d72d492ee9673ded \
                    rmd160  a3a27c24eb71af8797bc02621ed02a8c9edd6b1d

patchfiles          patch-src-Makefile.diff \
                    patch-src-params.h.diff
post-patch {
    reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/src/params.h
}

use_configure       no

use_parallel_build  no

build.dir           ${worksrcpath}/src
build.args          CC=${configure.cc}
build.target        clean
switch ${configure.build_arch} {
    i386 {
        build.target-append macosx-x86-sse2
    }
    x86_64 {
        # x86_64 is only supported on Leopard and up
        if {${os.major} >= 9} {
            build.target-append macosx-x86-64
        } else {
            configure.build_arch i386
            build.target-append macosx-x86-sse2
        }
    }
    ppc {
        # Use altivec if available
        if {[exec sysctl -n hw.vectorunit] == 1} {
            build.target-append macosx-ppc32-altivec
        } else {
            build.target-append macosx-ppc32
        }
    }
    ppc64 {
        build.target-append macosx-ppc64
    }
}

destroot {
    file copy ${worksrcpath}/run ${destroot}${prefix}/share/john
    system "chmod -R a+rx ${destroot}${prefix}/share/john"
    system "ln -s ${prefix}/share/john/john ${destroot}${prefix}/bin/john"
    xinstall -d ${destroot}${prefix}/share/doc
    file copy ${worksrcpath}/doc ${destroot}${prefix}/share/doc/john
    system "chmod -R a+rx ${destroot}${prefix}/share/doc/john"
}

post-install {
    ui_msg  ""
    ui_msg  "You'll find the john files under ${prefix}/share/john/"
    ui_msg  ""
}

livecheck.type      regex
livecheck.regex     {Ripper ([0-9.]+) \(stable}
