# Maintainer: Alexey Pavlov _realname=waf pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.1.9 pkgrel=3 pkgdesc="General-purpose build system modelled after Scons (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://waf.io/" msys2_repository_url="https://gitlab.com/ita1024/waf" msys2_changelog_url='https://gitlab.com/ita1024/waf/-/blob/master/ChangeLog' license=('spdx:BSD-3-Clause') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-cc") options=('!emptydirs') source=("https://waf.io/${_realname}-${pkgver}.tar.bz2"{,.asc}) validpgpkeys=('8AF22DE5A06822E3474F3C7049B4C67C05277AAA' '0B3972B2D9E32EAB423D2E0F22BE0C62FFBFA548' # "Thomas Nagy " '8C7EB2F93B0C45F5732FE5D11BAC571DCD772295') # Waf Project sha256sums=('4a47a431b86d5c42fa23b8474aaf752384dcaed65fe9e6aa1f518c103d38a7d1' 'SKIP') prepare() { cd "${srcdir}/${_realname}-${pkgver}" # Extract license head -n 30 waf-light | tail -n 25 > LICENSE } build() { cd "${srcdir}/${_realname}-${pkgver}" plain "Configure ..." ${MINGW_PREFIX}/bin/python ./waf-light configure --prefix=${MINGW_PREFIX} plain "Make waf ..." ${MINGW_PREFIX}/bin/python ./waf-light --make-waf } package() { cd "${srcdir}/${_realname}-${pkgver}" prelude=$(cat <<'EOF' import waflib.Tools.compiler_c, waflib.Tools.compiler_cxx waflib.Tools.compiler_c.c_compiler['win32'] = ['gcc', 'clang', 'msvc'] waflib.Tools.compiler_cxx.cxx_compiler['win32'] = ['g++', 'clang++', 'msvc'] EOF ) ${MINGW_PREFIX}/bin/python ./waf-light install -f --destdir="${pkgdir}" \ --prelude="${prelude}" \ --tools='compat,compat15,ocaml,go,cython,scala,erlang,cuda,gcj,boost,pep8,eclipse,unity,clang_compilation_database' install -Dm755 waf "${pkgdir}${MINGW_PREFIX}/bin/waf" install -Dm755 waf.bat "${pkgdir}${MINGW_PREFIX}/bin/waf.bat" # Force the generation of .waf.admin files cd "${srcdir}/${_realname}-${pkgver}/demos/c" CC_NAME=${CC} CC="${MINGW_PREFIX}/bin/${CC}.exe" \ CXX_NAME=${CXX} CXX="${MINGW_PREFIX}/bin/${CXX}.exe" \ "${pkgdir}${MINGW_PREFIX}/bin/waf" configure build # Fix weird directory placement (FS#38216, FS#38300) mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/waf" mv "${pkgdir}${MINGW_PREFIX}/bin/waf3-${pkgver}-"* "${pkgdir}${MINGW_PREFIX}/lib/waf/" sed -s "s|INSTALL=''|INSTALL='${MINGW_PREFIX}/lib/waf'|g" -i "${pkgdir}${MINGW_PREFIX}/bin/waf" cd "${srcdir}/${_realname}-${pkgver}" install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" }