# -*- 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 python 1.0 PortGroup select 1.0 name py-scapy version 2.5.0 revision 0 categories-append net security license GPL-2 platforms {darwin any} supported_archs noarch maintainers {michaelld @michaelld} {@catap korins.ky:kirill} openmaintainer homepage http://www.secdev.org/projects/scapy description A powerful packet manipulation tool long_description \ Scapy is a powerful interactive packet manipulation program. It is \ able to forge or decode packets of a wide number of protocols, send \ them on the wire, capture them, match requests and replies, and much \ more. It can easily handle most classical tasks like scanning, \ tracerouting, probing, unit tests, attacks or network discovery (it \ can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, \ tethereal, p0f, etc.). It also performs very well at a lot of other \ specific tasks that most other tools can't handle, like sending \ invalid frames, injecting your own 802.11 frames, combining technics \ (VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted \ channel, ...), etc. checksums rmd160 1c5576ae4282cd17cd9512382f5e4987bf8ef2e3 \ sha256 5b260c2b754fd8d409ba83ee7aee294ecdbb2c235f9f78fe90bc11cb6e5debc2 \ size 1279162 # NOTE: 2.5.0 is the last version of scapy which support Python 2 set devel_python_versions {38 39 310 311 312} python.versions 27 {*}${devel_python_versions} foreach pver [list {*}${devel_python_versions} ""] { subport py${pver}-scapy-devel { PortGroup github 1.0 github.setup secdev scapy 0dd08cd064134bcbf7c6bfbdbd356b69cdee05ac github.tarball_from archive version 20231209 revision 0 checksums rmd160 a0f49d2b5ed36a8be6a17942271767bf35d066c3 \ sha256 30ce2e78a788d9574665640da2bd01f01ae5f5818747dd6dbadf3e8b7599f5ff \ size 6107144 long_description ${long_description} \ This port is kept up with the ${name} GIT 'master' branch, is typically updated weekly to monthly. conflicts py${pver}-scapy if {${pver} ne ""} { livecheck.type none } else { PortGroup stub 1.0 } } conflicts py${pver}-scapy-devel } if {${subport} ni [list ${name} ${name}-devel]} { depends_build-append port:py${python.version}-setuptools depends_lib-append port:libpcap \ port:py${python.version}-cryptography default_variants +matplotlib +graphviz ## https://scapy.readthedocs.io/en/latest/installation.html#optional-dependencies variant pyx description { "With PyX for creating PostScript figures" } { depends_lib-append port:py${python.version}-pyx } variant matplotlib description { "With matplotlib export" } { depends_run-append port:py${python.version}-matplotlib } variant graphviz description { "With graphviz export" } { depends_run-append path:bin/dot:graphviz port:ImageMagick } variant sox description { "With sox export for VoIP" } { depends_run-append port:sox } depends_run-append port:scapy_select select.group scapy select.file ${filespath}/${subport} notes " To make the Python ${python.branch} version of scapy the one that is run when\ you execute the commands without a version suffix, e.g. 'scapy', run: port select --set ${select.group} [file tail ${select.file}] " }