2 name: "bitcoin-win-0.10"
21 reference_datetime: "2015-06-01 00:00:00"
23 - "url": "https://github.com/bitcoin/bitcoin.git"
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"
35 export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
37 export BUILD_DIR=`pwd`
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}
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}
55 # Create per-host faketime wrappers
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}
66 export PATH=${WRAP_DIR}:${PATH}
69 BASEPREFIX=`pwd`/depends
70 # Build dependencies for each host
72 make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
75 # Create the release tarball using (arbitrarily) the first host
77 ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`
79 SOURCEDIST=`echo bitcoin-*.tar.gz`
80 DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
82 # Correct tar file order
86 find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
90 # Extract the release tarball into a dir for each host and build
92 export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
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}
103 cp -f bitcoin-*setup*.exe $OUTDIR/
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
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