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

PortSystem          1.0
PortGroup           golang 1.0

go.setup            github.com/bettercap/bettercap 2.41.4 v
revision            0

homepage            https://www.bettercap.org

description         The Swiss Army knife for 802.11, BLE and Ethernet \
                    networks reconnaissance and MITM attacks.

long_description    bettercap is a powerful, easily extensible and portable \
                    framework written in Go which aims to offer to security \
                    researchers, red teamers and reverse engineers an easy to \
                    use, all-in-one solution with all the features they might \
                    possibly need for performing reconnaissance and attacking \
                    WiFi networks, Bluetooth Low Energy devices, wireless HID \
                    devices and Ethernet networks.

categories          net security
installs_libs       no
license             GPL-3
maintainers         {gmail.com:herby.gillot @herbygillot} \
                    openmaintainer

set ui_commit       6e126c470e97542d724927ba975011244127dbb1
set ui_distfile     ${ui_commit}${extract.suffix}
set main_distfile   ${distfiles}
master_sites-append https://github.com/bettercap/ui/archive/:ui
distfiles-append    ${ui_distfile}:ui

checksums           ${main_distfile} \
                    rmd160  d5d6c8f5ec9b0ef5e20513b21f3f71144fb89bca \
                    sha256  384848630f594fadd48e80406f4cf8ceccfe3f32dd9182f7e18c20240e74a5fd \
                    size    12378914 \
                    ${ui_distfile} \
                    rmd160  c2121635595a241e20dbb48b8e2d86f333af8b01 \
                    sha256  8006a844d2e6a9678fe48c1e719022c2600b9fc8941bd5ee6c5777309edecc07 \
                    size    11308073

post-extract {
    delete ${worksrcpath}/modules/ui/ui
    move ${workpath}/ui-${ui_commit} ${worksrcpath}/modules/ui/ui
}

depends_build-append \
                    port:pkgconfig

depends_lib-append  port:libpcap \
                    path:lib/pkgconfig/libusb-1.0.pc:libusb

go.offline_build    no

post-patch {
    reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/caplets/env.go
}

build.cmd           make
build.target        build

destroot {
    system -W ${worksrcpath} "make -w PREFIX=${destroot}${prefix} install"
}
