# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           perl5 1.0

name                metasploit2
conflicts           metasploit3
version             2.7
revision            6
categories          security
license             {Artistic-1 GPL-2} GPL-2+ APSL-1.1 Noncommercial Restrictive
maintainers         nomaintainer
homepage            https://metasploit.com/

description         Tools and information for security research and pentesting
long_description    The Metasploit Project goal is to provide useful information to people \
                    who perform penetration testing, IDS signature development, and exploit \
                    research. This framework was created to fill the gaps in the information \
                    publicly available on various exploitation techniques and to create a \
                    useful resource for exploit developers. The tools and information are \
                    provided for legal security research and testing purposes only.

# This no longer works. New versions are probably available under
# https://github.com/rapid7/metasploit-framework
# Maybe it's time to retire version 2 of this port anyway
#master_sites       http://www.metasploit.com/tools/
master_sites        macports_distfiles:metasploit2

distname            framework-${version}

checksums           rmd160  cfdf2705522c845bb4405413207a7df0f3873b94 \
                    sha256  516952772aaa8982628460b927c9119850925f870903c5a131a9c9f0390cf77f

perl5.branches      5.34

depends_run         port:perl${perl5.major} \
                    port:p${perl5.major}-net-ssleay \
                    port:p${perl5.major}-term-readline-gnu

use_configure       no

build {
    ## remove the .svn/ directories, no need to move them around
    system "cd ${worksrcpath} && find . -type d -name '\.svn' | xargs /bin/rm -rf"
    foreach file [glob -directory ${worksrcpath} msf*] {
        reinplace "s|#!/usr/bin/perl|#!${perl5.bin}|" $file
    }
}

destroot {
    set metasploitTargetDir "libexec/${name}"
    xinstall -d -m 755 ${destroot}${prefix}/${metasploitTargetDir}
    foreach file [glob -directory ${workpath}/${worksrcdir} *] {
        file copy ${file} ${destroot}${prefix}/${metasploitTargetDir}
    }
    foreach file [glob -directory ${destroot}${prefix}/${metasploitTargetDir} msf*] {
        set useFile [file tail ${file}]
## 'file link' doesn't play nice, it doesn't (seem) to want to do relative paths...
##              file link -symbolic ${useFile} ../${metasploitTargetDir}/${useFile}
## so use 'system "ln -s ..."' instead.
        system "cd ${destroot}${prefix}/sbin && /bin/ln -s ../${metasploitTargetDir}/${useFile} ${useFile}"
    }
}

livecheck.type      none