PKGBUILDs/extra/python-pwntools/PKGBUILD
2024-09-30 17:56:03 +00:00

82 lines
2.6 KiB
Bash

# 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: