# Maintainer: Jesus E. pkgname=waf pkgver=2.0.22 pkgrel=1 pkgdesc='General-purpose build system modelled after Scons' url="https://waf.io/" arch=('any') license=('Modified-BSD') depends=('python') makedepends=('unzip') provides=('python-waf') source=("https://waf.io/${pkgname}-${pkgver}.tar.bz2"{,.asc}) sha512sums=('a3a275fd4c81c7b7385c2da001f3924d272105b8f33839265ebbb38708051b7cb13b9b9019e84325707d04513de0c13b032b1ad21458aec6586d10df4ed8d5f5' 'SKIP') validpgpkeys=('0B3972B2D9E32EAB423D2E0F22BE0C62FFBFA548') # Thomas Nagy prepare() { local _py_ver=$(python3 -c "import sys; print(str(sys.version_info.major)+'.'+str(sys.version_info.minor))") cd "$pkgname-$pkgver" # make waf find its waflib sed -e "/test(i/ s|dirname|'python${_py_ver}/site-packages/waf'|" -i waf-light # license needs to be extracted: # https://gitlab.com/ita1024/waf/issues/2251 head -n 30 waf | tail -n 28 | sed -e 's/# //g; s/"""//g' > LICENSE } build() { cd "$pkgname-$pkgver" ./waf-light \ configure --prefix=/usr \ build --make-waf # removing compiled in vendored library from executable sed -i '/^#==>$/,/^#<==$/d' waf } package() { local _py_ver=$(python3 -c "import sys; print(str(sys.version_info.major)+'.'+str(sys.version_info.minor))") cd "$pkgname-$pkgver" install -vDm 755 waf -t "$pkgdir/usr/bin" install -vDm 644 wscript -t "$pkgdir/usr/share/$pkgname" # installing, byte-compiling waflib and stripping pkgdir from it install -vDm 644 waflib/*.py \ -t "${pkgdir}/usr/lib/python${_py_ver}/site-packages/waf/waflib" install -vDm 644 waflib/Tools/*.py \ -t "${pkgdir}/usr/lib/python${_py_ver}/site-packages/waf/waflib/Tools" install -vDm 644 waflib/extras/*.py \ -t "${pkgdir}/usr/lib/python${_py_ver}/site-packages/waf/waflib/extras" python -m compileall -d "/usr/lib/python${_py_ver}" \ "${pkgdir}/usr/lib/python${_py_ver}" python -O -m compileall -d "/usr/lib/python${_py_ver}" \ "${pkgdir}/usr/lib/python${_py_ver}" install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" install -vDm 644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}" } # vim:set ts=2 sw=2 et: