]> Git Repo - VerusCoin.git/blob - contrib/gitian-descriptors/gitian-win.yml
Merge pull request #3613 from cozz/cozz1
[VerusCoin.git] / contrib / gitian-descriptors / gitian-win.yml
1 ---
2 name: "bitcoin"
3 suites:
4 - "precise"
5 architectures:
6 - "amd64"
7 packages:
8 - "mingw-w64"
9 - "g++-mingw-w64"
10 - "git-core"
11 - "unzip"
12 - "nsis"
13 - "faketime"
14 - "autoconf2.13"
15 - "libtool"
16 - "automake"
17 - "pkg-config"
18 - "bsdmainutils"
19
20 reference_datetime: "2013-06-01 00:00:00"
21 remotes:
22 - "url": "https://github.com/bitcoin/bitcoin.git"
23   "dir": "bitcoin"
24 files:
25 - "qt-win32-5.2.0-gitian-r2.zip"
26 - "qt-win64-5.2.0-gitian-r2.zip"
27 - "boost-win32-1.55.0-gitian-r6.zip"
28 - "boost-win64-1.55.0-gitian-r6.zip"
29 - "bitcoin-deps-win32-gitian-r10.zip"
30 - "bitcoin-deps-win64-gitian-r10.zip"
31 - "protobuf-win32-2.5.0-gitian-r4.zip"
32 - "protobuf-win64-2.5.0-gitian-r4.zip"
33 script: |
34   # Defines
35   export TZ=UTC
36   INDIR=$HOME/build
37   OPTFLAGS='-O2'
38   NEEDDIST=1
39   # Qt: workaround for determinism in resource ordering
40   #  Qt5's rcc uses a QHash to store the files for the resource.
41   #  A security fix in QHash makes the ordering of keys to be different on every run
42   #  (https://qt.gitorious.org/qt/qtbase/commit/c01eaa438200edc9a3bbcd8ae1e8ded058bea268).
43   #  This is good in general but qrc shouldn't be doing a traversal over a randomized container.
44   #  The thorough solution would be to use QMap instead of QHash, but this requires patching Qt.
45   #  For now luckily there is a test mode that forces a fixed seed.
46   export QT_RCC_TEST=1
47   for BITS in 32 64; do # for architectures
48     #
49     STAGING=$HOME/staging${BITS}
50     BUILDDIR=$HOME/build${BITS}
51     BINDIR=$OUTDIR/$BITS
52     if [ "$BITS" == "32" ]; then
53       HOST=i686-w64-mingw32
54     else
55       HOST=x86_64-w64-mingw32
56     fi
57     mkdir -p $STAGING $BUILDDIR $BINDIR
58     #
59     cd $STAGING
60     unzip $INDIR/qt-win${BITS}-5.2.0-gitian-r2.zip
61     unzip $INDIR/boost-win${BITS}-1.55.0-gitian-r6.zip
62     unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r10.zip
63     unzip $INDIR/protobuf-win${BITS}-2.5.0-gitian-r4.zip
64     if [ "$NEEDDIST" == "1" ]; then
65       # Make source code archive which is architecture independent so it only needs to be done once
66       cd $HOME/build/
67       cd bitcoin
68       export PATH=$STAGING/host/bin:$PATH
69       export TAR_OPTIONS=--mtime=`echo $REFERENCE_DATETIME | awk '{ print $1 }'`
70       ./autogen.sh
71       ./configure --bindir=$OUTDIR --prefix=$STAGING --host=$HOST --with-qt-plugindir=$STAGING/plugins  --with-qt-incdir=$STAGING/include --with-qt-bindir=$STAGING/host/bin --with-boost=$STAGING --disable-maintainer-mode --with-protoc-bindir=$STAGING/host/bin --disable-dependency-tracking CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}"
72       make dist
73       mkdir -p $OUTDIR/src
74       cp -f bitcoin-*.tar.* $OUTDIR/src
75       NEEDDIST=0
76     fi
77     # Build platform-dependent executables from source archive
78     cd $BUILDDIR
79     mkdir -p distsrc
80     cd distsrc
81     tar --strip-components=1 -xf $HOME/build/bitcoin/bitcoin-*.tar.*
82     ./configure --bindir=$BINDIR --prefix=$STAGING --host=$HOST --with-qt-plugindir=$STAGING/plugins  --with-qt-incdir=$STAGING/include --with-qt-bindir=$STAGING/host/bin --with-boost=$STAGING --disable-maintainer-mode --with-protoc-bindir=$STAGING/host/bin --disable-dependency-tracking CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}"
83     export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
84     export FAKETIME=$REFERENCE_DATETIME
85     make $MAKEOPTS
86     make deploy
87     make install-strip
88     cp -f bitcoin-*setup*.exe $BINDIR/
89     unset LD_PRELOAD
90     unset FAKETIME
91   done # for BITS in
92
This page took 0.028101 seconds and 4 git commands to generate.