486088221aa3684050376e4da1f51d6aff735976
[novacoin.git] / contrib / gitian-descriptors / gitian-win32.yml
1 ---
2 name: "bitcoin"
3 suites:
4 - "lucid"
5 architectures:
6 - "i386"
7 packages: 
8 - "mingw32"
9 - "git-core"
10 - "unzip"
11 - "nsis"
12 - "faketime"
13 - "wine"
14 reference_datetime: "2011-01-30 00:00:00"
15 remotes:
16 - "url": "https://github.com/bitcoin/bitcoin.git"
17   "dir": "bitcoin"
18 files:
19 - "qt-win32-4.7.4-gitian.zip"
20 - "boost-win32-1.47.0-gitian.zip"
21 - "openssl-1.0.0e.tar.gz"
22 - "db-4.8.30.NC.tar.gz"
23 - "miniupnpc-1.6.tar.gz"
24 - "zlib-1.2.6.tar.gz"
25 - "libpng-1.5.8.tar.gz"
26 - "qrencode-3.2.0.tar.bz2"
27 script: |
28   #
29   mkdir $HOME/qt
30   cd $HOME/qt
31   unzip ../build/qt-win32-4.7.4-gitian.zip
32   cd $HOME/build/
33   export PATH=$PATH:$HOME/qt/bin/
34   #
35   mkdir boost_1_47_0
36   cd boost_1_47_0
37   mkdir -p stage/lib
38   unzip ../boost-win32-1.47.0-gitian.zip
39   cd bin/$GBUILD_BITS
40   for lib in *; do
41     i586-mingw32msvc-ar rc ../../stage/lib/libboost_${lib}-mt-s.a $lib/*.o
42     i586-mingw32msvc-ranlib ../../stage/lib/libboost_${lib}-mt-s.a
43   done
44   cd ../..
45   mv include/boost .
46   cd ..
47   #
48   tar xzf openssl-1.0.0e.tar.gz
49   cd openssl-1.0.0e
50   ./Configure --cross-compile-prefix=i586-mingw32msvc- mingw
51   make
52   cd ..
53   #
54   tar xzf db-4.8.30.NC.tar.gz
55   cd db-4.8.30.NC/build_unix
56   ../dist/configure --enable-mingw --enable-cxx --host=i586-mingw32msvc CFLAGS="-I/usr/i586-mingw32msvc/include"
57   make $MAKEOPTS
58   cd ../..
59   #
60   tar xzf miniupnpc-1.6.tar.gz
61   cd miniupnpc-1.6
62   sed 's/dllwrap -k --driver-name gcc/$(DLLWRAP) -k --driver-name $(CC)/' -i Makefile.mingw
63   sed 's|wingenminiupnpcstrings $< $@|./wingenminiupnpcstrings $< $@|' -i Makefile.mingw
64   make -f Makefile.mingw DLLWRAP=i586-mingw32msvc-dllwrap CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar
65   cd ..
66   mv miniupnpc-1.6 miniupnpc
67   #
68   tar xzf zlib-1.2.6.tar.gz
69   cd zlib-1.2.6
70   make -f win32/Makefile.gcc PREFIX=i586-mingw32msvc- $MAKEOPTS
71   cd ..
72   #
73   tar xzf libpng-1.5.8.tar.gz
74   cd libpng-1.5.8
75   ./configure CC=i586-mingw32msvc-cc AR=i586-mingw32msvc-ar STRIP=i586-mingw32msvc-strip RANLIB=i586-mingw32msvc-ranlib OBJDUMP=i586-mingw32msvc-objdump LD=i586-mingw32msvc-ld LDFLAGS="-L../zlib-1.2.6/" CFLAGS="-I../zlib-1.2.6/"
76   make $MAKEOPTS
77   cd ..
78   #
79   tar xjf qrencode-3.2.0.tar.bz2
80   cd qrencode-3.2.0
81   ./configure CC=i586-mingw32msvc-cc AR=i586-mingw32msvc-ar STRIP=i586-mingw32msvc-strip RANLIB=i586-mingw32msvc-ranlib OBJDUMP=i586-mingw32msvc-objdump LD=i586-mingw32msvc-ld png_LIBS="../libpng-1.5.8/.libs/libpng15.a ../zlib-1.2.6/libz.a" png_CFLAGS="-I../libpng-1.5.8"
82   make $MAKEOPTS
83   cd ..
84   #
85   cd bitcoin
86   mkdir -p $OUTDIR/src
87   cp -a . $OUTDIR/src
88   rm -rf $OUTDIR/src/.git
89   cp $OUTDIR/src/doc/README_windows.txt $OUTDIR/readme.txt
90   cp $OUTDIR/src/COPYING $OUTDIR/license.txt
91   export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
92   export FAKETIME=$REFERENCE_DATETIME
93   export TZ=UTC
94   $HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross USE_SSL=1 MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_47_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_47_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.0e OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.0e/include QRENCODE_LIB_PATH=$HOME/build/qrencode-3.2.0/.libs QRENCODE_INCLUDE_PATH=$HOME/build/qrencode-3.2.0 USE_QRCODE=1 INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=bitcoin QMAKE_LFLAGS=-frandom-seed=bitcoin
95   make $MAKEOPTS
96   cp release/bitcoin-qt.exe $OUTDIR/
97   #
98   cd src
99   sed 's/$(DEBUGFLAGS)/-frandom-seed=bitcoin/' -i makefile.linux-mingw
100   export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
101   export FAKETIME=$REFERENCE_DATETIME
102   export TZ=UTC
103   make -f makefile.linux-mingw $MAKEOPTS DEPSDIR=$HOME/build bitcoind.exe USE_SSL=1 USE_UPNP=0
104   i586-mingw32msvc-strip bitcoind.exe
105   makensis ../share/setup.nsi
106   cp ../share/bitcoin-*-win32-setup.exe $OUTDIR/
107   mkdir $OUTDIR/daemon
108   cp bitcoind.exe $OUTDIR/daemon