source: scripts/get_waf.sh @ 49688ef

feature/crepe
Last change on this file since 49688ef was b540b22, checked in by Paul Brossier <piem@piem.org>, 3 years ago

[waf] fetch public key matching requested waf version (closes gh-340)

  • Property mode set to 100755
File size: 1017 bytes
Line 
1#! /usr/bin/env bash
2
3set -e
4#set -x
5
6WAFVERSION=2.0.23
7WAFTARBALL=waf-$WAFVERSION.tar.bz2
8WAFURL=https://waf.io/$WAFTARBALL
9WAFUPSTREAMKEY=https://gitlab.com/ita1024/waf/-/raw/waf-$WAFVERSION/utils/pubkey.asc
10
11WAFBUILDDIR=`mktemp -d`
12
13function cleanup () {
14  rm -rf $WAFBUILDDIR
15}
16
17trap cleanup SIGINT SIGTERM
18
19function download () {
20  ( [[ -n `which wget` ]] && wget -qO $1 $2 ) || ( [[ -n `which curl` ]] && curl -so $1 $2 )
21}
22
23function checkwaf () {
24  download $WAFTARBALL.asc $WAFURL.asc
25  if [[ -z `which gpg` ]]
26  then
27    echo "Warning: gpg not found, not verifying signature for $WAFTARBALL"
28  else
29    download - $WAFUPSTREAMKEY | gpg --import
30    gpg --verify $WAFTARBALL.asc || exit 1
31  fi
32}
33
34function fetchwaf () {
35  download $WAFTARBALL $WAFURL
36  checkwaf
37}
38
39function buildwaf () {
40  tar xf $WAFTARBALL
41  pushd waf-$WAFVERSION
42  NOCLIMB=1 python waf-light --tools=c_emscripten $*
43  popd
44}
45
46pushd $WAFBUILDDIR
47fetchwaf
48buildwaf
49popd
50
51cp -prv $WAFBUILDDIR/waf-$WAFVERSION/waf "$PWD"
52chmod +x waf
53
54cleanup
Note: See TracBrowser for help on using the repository browser.