gitian: bump faketime to something more recent
[bitcoinplatinum.git] / contrib / gitian-descriptors / gitian-win.yml
blob4e4a0d2d4d57813fc7833532da526812944cc268
1 ---
2 name: "bitcoin-win-0.10"
3 enable_cache: true
4 suites:
5 - "precise"
6 architectures:
7 - "amd64"
8 packages: 
9 - "g++"
10 - "git-core"
11 - "pkg-config"
12 - "autoconf2.13"
13 - "libtool"
14 - "automake"
15 - "faketime"
16 - "bsdmainutils"
17 - "mingw-w64"
18 - "g++-mingw-w64"
19 - "nsis"
20 - "zip"
21 reference_datetime: "2015-06-01 00:00:00"
22 remotes:
23 - "url": "https://github.com/bitcoin/bitcoin.git"
24   "dir": "bitcoin"
25 files: []
26 script: |
27   WRAP_DIR=$HOME/wrapped
28   HOSTS="x86_64-w64-mingw32 i686-w64-mingw32"
29   CONFIGFLAGS="--enable-upnp-default --enable-reduce-exports"
30   FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip"
31   FAKETIME_PROGS="date makensis zip"
33   export QT_RCC_TEST=1
34   export GZIP="-9n"
35   export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
36   export TZ="UTC"
37   export BUILD_DIR=`pwd`
38   mkdir -p ${WRAP_DIR}
39   if test -n "$GBUILD_CACHE_ENABLED"; then
40     export SOURCES_PATH=${GBUILD_COMMON_CACHE}
41     export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
42     mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
43   fi
45   # Create global faketime wrappers
46   for prog in ${FAKETIME_PROGS}; do
47     echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
48     echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
49     echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
50     echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
51     echo "\$REAL \$@" >> $WRAP_DIR/${prog}
52     chmod +x ${WRAP_DIR}/${prog}
53   done
55   # Create per-host faketime wrappers
56   for i in $HOSTS; do
57     for prog in ${FAKETIME_HOST_PROGS}; do
58         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
59         echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
60         echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
61         echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
62         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
63         chmod +x ${WRAP_DIR}/${i}-${prog}
64     done
65   done
66   export PATH=${WRAP_DIR}:${PATH}
68   cd bitcoin
69   BASEPREFIX=`pwd`/depends
70   # Build dependencies for each host
71   for i in $HOSTS; do
72     make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
73   done
75   # Create the release tarball using (arbitrarily) the first host
76   ./autogen.sh
77   ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`
78   make dist
79   SOURCEDIST=`echo bitcoin-*.tar.gz`
80   DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
82   # Correct tar file order
83   mkdir -p temp
84   pushd temp
85   tar xf ../$SOURCEDIST
86   find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
87   popd
89   ORIGPATH="$PATH"
90   # Extract the release tarball into a dir for each host and build
91   for i in ${HOSTS}; do
92     export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
93     mkdir -p distsrc-${i}
94     cd distsrc-${i}
95     INSTALLPATH=`pwd`/installed/${DISTNAME}
96     mkdir -p ${INSTALLPATH}
97     tar --strip-components=1 -xf ../$SOURCEDIST
99     ./configure --prefix=${BASEPREFIX}/${i} --bindir=${INSTALLPATH}/bin --includedir=${INSTALLPATH}/include --libdir=${INSTALLPATH}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
100     make ${MAKEOPTS}
101     make deploy
102     make install-strip
103     cp -f bitcoin-*setup*.exe $OUTDIR/
104     cd installed
105     mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
106     find . -name "lib*.la" -delete
107     find . -name "lib*.a" -delete
108     rm -rf ${DISTNAME}/lib/pkgconfig
109     find ${DISTNAME} -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip
110     cd ../..
111   done
112   mkdir -p $OUTDIR/src
113   mv $SOURCEDIST $OUTDIR/src
114   mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip
115   mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip