# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Ebubekir KARUL <ebubekirkarul@yandex.com>
# Contributor: s1gma,shirokuro

pkgbase=scapy
pkgname=('scapy' 'python-scapy')
pkgver=2.6.1
pkgrel=3
pkgdesc='Powerful interactive packet manipulation program written in Python'
url='http://www.secdev.org/projects/scapy/'
arch=('any')
license=('GPL2')
makedepends=(
  tcpdump
  python-build
  python-installer
  python-setuptools
  python-wheel
  python-sphinx
)
checkdepends=('python-cryptography' 'python-pyx' 'python-matplotlib'
              'graphviz' 'sox')
source=(https://github.com/secdev/scapy/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz)
sha256sums=('a580a4cf6bbbaf72e64e082d3ee8e5afd4e06becb21eecd24c22d1ef2da58ef3')
sha512sums=('4ab02f5b9dfcf329ee4f4837655066227b1e162e695d6cbe84ada4e2ff44589462a9843b0f16699ec974dcf6e0a81af3c5b088ceac48a679e9591f4cec0eedc8')

build() {
  cd ${pkgbase}-${pkgver}
  python -m build --wheel --no-isolation
}

check() {
  # Run only main tests, without network access
  cd ${pkgbase}-${pkgver}/test
  ./run_tests -K netaccess -F
}

package_scapy() {
  depends=('python' 'python-scapy')
  pkgdesc+=' (tools)'
  cd ${pkgbase}-${pkgver}
  python -m installer --destdir="$pkgdir" dist/*.whl
  install -d "${pkgdir}/usr/share/doc"
  ln -sf /usr/share/doc/python-scapy "${pkgdir}/usr/share/doc/${pkgname}"
  rm -r "${pkgdir}/usr/lib"
}

package_python-scapy() {
  pkgdesc+=' (library)'
  depends=('tcpdump' 'python')
  # TODO: clenup optdeps
  optdepends=('python-cryptography: WEP, IPsec and SSL/TLS support'
              'python-pyx: psdump() and pdfdump() functions'
              'python-matplotlib: plotting support'
              'graphviz: conversations() method support'
              'sox: for VOIP support'
              'python-prompt_toolkit: expore function')
  cd ${pkgbase}-${pkgver}
  python -m installer --destdir="$pkgdir" dist/*.whl
  install -Dm 644 doc/scapy/*.rst -t "${pkgdir}/usr/share/doc/${pkgname}"
  rm -r "${pkgdir}"/usr/{bin,share/man}
}

# vim: ts=2 sw=2 et:
