mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
89 lines
2.1 KiB
Bash
89 lines
2.1 KiB
Bash
# Copyright 1999-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
DISTUTILS_USE_PEP517=setuptools
|
|
PYTHON_COMPAT=( python3_{11..14} )
|
|
inherit distutils-r1 readme.gentoo-r1
|
|
|
|
DESCRIPTION="A Python interactive packet manipulation program for mastering the network"
|
|
HOMEPAGE="https://scapy.net/ https://github.com/secdev/scapy"
|
|
SRC_URI="https://github.com/secdev/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
|
|
LICENSE="GPL-2"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 ~arm ~arm64 x86"
|
|
IUSE="test"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
BDEPEND="
|
|
test? (
|
|
app-arch/brotli[python,${PYTHON_USEDEP}]
|
|
dev-python/mock[${PYTHON_USEDEP}]
|
|
dev-python/zstandard[${PYTHON_USEDEP}]
|
|
net-libs/libpcap
|
|
)
|
|
"
|
|
|
|
DOC_CONTENTS="
|
|
Scapy has optional support for the following packages:
|
|
|
|
dev-python/cryptography
|
|
dev-python/ipython
|
|
dev-python/matplotlib
|
|
dev-python/pyx
|
|
media-gfx/graphviz
|
|
net-analyzer/tcpdump
|
|
net-analyzer/tcpreplay
|
|
net-libs/libpcap
|
|
virtual/imagemagick-tools
|
|
|
|
See also ""${EPREFIX}/usr/share/doc/${PF}/installation.rst""
|
|
"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}"/${PN}-2.6.1-skip-test.patch
|
|
"${FILESDIR}"/${PN}-2.6.1-missing-autorun-test-marker.patch
|
|
)
|
|
|
|
src_prepare() {
|
|
export SCAPY_VERSION=${PV}
|
|
|
|
# Timed out
|
|
rm test/tftp.uts || die
|
|
# Needs ipython
|
|
rm test/scapy/layers/dhcp.uts || die
|
|
# Import failures
|
|
rm test/contrib/isotp_native_socket.uts \
|
|
test/contrib/isotpscan.uts \
|
|
test/contrib/isotp_soft_socket.uts || die
|
|
|
|
distutils-r1_src_prepare
|
|
}
|
|
|
|
python_test() {
|
|
# https://scapy.readthedocs.io/en/latest/development.html#testing-with-utscapy
|
|
# https://github.com/secdev/scapy/blob/master/tox.ini
|
|
#
|
|
# netaccess: network access, obviously
|
|
# tshark, tcpdump: hangs
|
|
# samba: needs rpcdump (and too heavy of a test dep)
|
|
# interact, autorun: tests fail
|
|
"${EPYTHON}" -m scapy.tools.UTscapy -c ./test/configs/linux.utsc -N \
|
|
-K netaccess \
|
|
-K tshark \
|
|
-K tcpdump \
|
|
-K samba \
|
|
-K interact \
|
|
-K autorun \
|
|
-K ci_only || die "Tests failed with ${EPYTHON}"
|
|
}
|
|
|
|
src_install() {
|
|
distutils-r1_src_install
|
|
|
|
dodoc -r doc/${PN}/*
|
|
DISABLE_AUTOFORMATTING=1 readme.gentoo_create_doc
|
|
}
|