# Maintainer: kpcyrd <kpcyrd[at]archlinux[dot]org>
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Ding Xiao <tinocodfcdsa10@mails.tsinghua.edu.cn>
# Contributor: Firmy <firmianay@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - removed makedepend on pandoc

pkgname=python-pwntools
_pyname=pwntools
pkgver=4.13.1
pkgrel=1
pkgdesc='CTF framework and exploit development library'
url='https://github.com/Gallopsled/pwntools'
arch=('any')
license=('BSD-2-Clause AND GPL-2.0-or-later AND GPL-3.0-or-later AND MIT')
depends=(
  'python'
  'python-capstone'
  'python-colored-traceback'
  'python-dateutil'
  'python-intervaltree'
  'python-mako'
  'python-packaging'
  'python-paramiko'
  'python-pip'
  'python-psutil'
  'python-pyelftools'
  'python-pygments'
  'python-pyserial'
  'python-pysocks'
  'python-requests'
  'python-rpyc'
  'python-six'
  'python-sortedcontainers'
  'python-unicorn'
  'python-zstandard'
  'ropgadget'
)
makedepends=(
  'python-build'
  'python-installer'
)
backup=('etc/pwn.conf')
source=(https://github.com/Gallopsled/pwntools/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz
        pwn.conf)
sha256sums=('0a7982f5a6a92b3e5a98591cf91a55fee16ea713c1b364ab0fdc2afcad4a030c'
            '50916e4e45d026422cd6bfe8de50e7246c61b0b1e0007571e7c04a994282fe89')
b2sums=('e7f83e877f4f5b870bc7d2036d22746d997877c9de6bb76bf21010c6c5052d617670424d6a347455547085d385a165b7d00ca5c16b9789817690e5b128ba66d9'
        'cac0a12eea8abd3d2ee21632e7f2281e7e35c2d7839cfbcba83ae5d0e8f427e9cc2462a6d17d187252b99d9dbbb14393b9d5a63996c42043f553e9b66bfe9e07')

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

check() {
  local _site_packages=$(python -c "import site; print(site.getsitepackages()[0])")

  cd ${_pyname}-${pkgver}
  python -m installer --destdir=test_dir dist/*.whl

  PYTHONPATH="test_dir/$_site_packages:$PYTHONPATH" PWNLIB_NOTERM=true python -c 'import pwn'
}

package() {
  cd ${_pyname}-${pkgver}
  python -m installer --destdir="${pkgdir}" dist/*.whl
  find "${pkgdir}/usr/bin" -type f ! -name pwn -delete

  install -Dm 644 "${srcdir}/pwn.conf" -t "${pkgdir}/etc"
  install -Dm 644 LICENSE-pwntools.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"

  # https://github.com/Gallopsled/pwntools/issues/2150
  install -d "${pkgdir}/usr/share/doc/"
  mv -v "${pkgdir}/usr/pwntools-doc" "${pkgdir}/usr/share/doc/"

  install -Dm 644 extra/bash_completion.d/pwn -t  "${pkgdir}/usr/share/bash-completion/completions/"
  install -Dm 644 extra/zsh_completion/_pwn -t "${pkgdir}/usr/share/zsh/site-functions/"
}

# vim:set ts=2 sw=2 et: