aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2014-01-15 04:20:58 -0800
committerGavin Andresen <gavinandresen@gmail.com>2014-01-15 04:20:58 -0800
commit8c31f037b1530c366eb14be0fcbefc566382041f (patch)
tree896811a5847ee6ede2c3e1c8e821da2e12642a81
parentf8b48ed2979cf76550d3889c0da4211a4e45f235 (diff)
parentf4bb12eecc03879d320db8fc905114cbd068e943 (diff)
Merge pull request #3527 from laanwj/2014_01_gitian_win32_qt5
build: update win32 deps
-rw-r--r--contrib/gitian-descriptors/README.md16
-rw-r--r--contrib/gitian-descriptors/deps-win32.yml49
-rw-r--r--contrib/gitian-descriptors/gitian-win32.yml8
-rw-r--r--contrib/gitian-descriptors/qt-win32.yml35
-rw-r--r--doc/release-process.md14
-rw-r--r--src/m4/bitcoin_qt.m41
6 files changed, 55 insertions, 68 deletions
diff --git a/contrib/gitian-descriptors/README.md b/contrib/gitian-descriptors/README.md
index 40bdbd8e32..7f4f6705ea 100644
--- a/contrib/gitian-descriptors/README.md
+++ b/contrib/gitian-descriptors/README.md
@@ -25,18 +25,8 @@ Once you've got the right hardware and software:
mkdir gitian-builder/inputs
cd gitian-builder/inputs
- # Inputs for Linux and Win32:
- wget -O miniupnpc-1.6.tar.gz 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz'
- wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
-
- # Inputs for Win32: (Linux has packages for these)
- wget 'https://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
- wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz'
- wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
- wget 'https://downloads.sourceforge.net/project/libpng/zlib/1.2.6/zlib-1.2.6.tar.gz'
- wget 'https://downloads.sourceforge.net/project/libpng/libpng15/older-releases/1.5.9/libpng-1.5.9.tar.gz'
- wget 'https://download.qt-project.org/archive/qt/4.8/4.8.3/qt-everywhere-opensource-src-4.8.3.tar.gz'
- wget 'http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2'
+ # Get inputs (see doc/release-process.md for exact inputs needed and where to get them)
+ ...
cd ../..
cd gitian-builder
@@ -87,4 +77,4 @@ Here's a description of Gavin's setup on OSX 10.6:
export USE_LXC=1
git clone git://github.com/bitcoin/bitcoin.git
- ... etc \ No newline at end of file
+ ... etc
diff --git a/contrib/gitian-descriptors/deps-win32.yml b/contrib/gitian-descriptors/deps-win32.yml
index addb11d726..12b9dfc70c 100644
--- a/contrib/gitian-descriptors/deps-win32.yml
+++ b/contrib/gitian-descriptors/deps-win32.yml
@@ -14,12 +14,12 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
-- "openssl-1.0.1c.tar.gz"
+- "openssl-1.0.1e.tar.gz"
- "db-4.8.30.NC.tar.gz"
-- "miniupnpc-1.6.tar.gz"
-- "zlib-1.2.6.tar.gz"
-- "libpng-1.5.9.tar.gz"
-- "qrencode-3.2.0.tar.bz2"
+- "miniupnpc-1.8.tar.gz"
+- "zlib-1.2.8.tar.gz"
+- "libpng-1.6.8.tar.gz"
+- "qrencode-3.4.3.tar.bz2"
script: |
#
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
@@ -28,17 +28,17 @@ script: |
export INSTALLPREFIX=$OUTDIR/staging/deps
export HOST=i686-w64-mingw32
# Input Integrity Check
- echo "2a9eb3cd4e8b114eb9179c0d3884d61658e7d8e8bf4984798a5f5bd48e325ebe openssl-1.0.1c.tar.gz" | sha256sum -c
+ echo "f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3 openssl-1.0.1e.tar.gz" | sha256sum -c
echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c
- echo "bbd6b756e6af44b5a5b0f9b93eada3fb8922ed1d6451b7d6f184d0ae0c813994 miniupnpc-1.6.tar.gz" | sha256sum -c
- echo "21235e08552e6feba09ea5e8d750805b3391c62fb81c71a235c0044dc7a8a61b zlib-1.2.6.tar.gz" | sha256sum -c
- echo "b75dae26151f9b031062c8d2f577a094b08da0ae44fe8c11175d0b9ff434cc02 libpng-1.5.9.tar.gz" | sha256sum -c
- echo "03c4bc7cd9a75747c3815d509bbe061907d615764f2357923f0db948c567068f qrencode-3.2.0.tar.bz2" | sha256sum -c
+ echo "bc5f73c7b0056252c1888a80e6075787a1e1e9112b808f863a245483ff79859c miniupnpc-1.8.tar.gz" | sha256sum -c
+ echo "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d zlib-1.2.8.tar.gz" | sha256sum -c
+ echo "32c7acf1608b9c8b71b743b9780adb7a7b347563dbfb4a5263761056da44cc96 libpng-1.6.8.tar.gz" | sha256sum -c
+ echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c
mkdir -p $INSTALLPREFIX
- tar xzf openssl-1.0.1c.tar.gz
- cd openssl-1.0.1c
+ tar xzf openssl-1.0.1e.tar.gz
+ cd openssl-1.0.1e
./Configure --cross-compile-prefix=$HOST- mingw --openssldir=$INSTALLPREFIX
make
make install_sw
@@ -51,11 +51,11 @@ script: |
make install_lib install_include
cd ../..
#
- tar xzf miniupnpc-1.6.tar.gz
- cd miniupnpc-1.6
+ tar xzf miniupnpc-1.8.tar.gz
+ cd miniupnpc-1.8
echo "
- --- miniupnpc-1.6/Makefile.mingw.orig 2013-09-29 18:52:51.014087958 -1000
- +++ miniupnpc-1.6/Makefile.mingw 2013-09-29 19:09:29.663318691 -1000
+ --- miniupnpc-1.8/Makefile.mingw.orig 2013-09-29 18:52:51.014087958 -1000
+ +++ miniupnpc-1.8/Makefile.mingw 2013-09-29 19:09:29.663318691 -1000
@@ -67,8 +67,8 @@
wingenminiupnpcstrings.o: wingenminiupnpcstrings.c
@@ -75,26 +75,27 @@ script: |
install libminiupnpc.a $INSTALLPREFIX/lib
cd ..
#
- tar xzf zlib-1.2.6.tar.gz
- cd zlib-1.2.6
+ tar xzf zlib-1.2.8.tar.gz
+ cd zlib-1.2.8
CROSS_PREFIX=$HOST- ./configure --prefix=$INSTALLPREFIX --static
make
make install
cd ..
#
- tar xzf libpng-1.5.9.tar.gz
- cd libpng-1.5.9
- CFLAGS="-I$INSTALLPREFIX/include" LDFLAGS="-L$INSTALLPREFIX/lib" ./configure --disable-shared --prefix=$INSTALLPREFIX --host=$HOST
+ tar xzf libpng-1.6.8.tar.gz
+ cd libpng-1.6.8
+ OPT="-O2"
+ CPPFLAGS="${OPT} -I$INSTALLPREFIX/include" CFLAGS="${OPT} -I$INSTALLPREFIX/include" LDFLAGS="${OPT} -L$INSTALLPREFIX/lib" ./configure --disable-shared --prefix=$INSTALLPREFIX --host=$HOST
make $MAKEOPTS
make install
cd ..
#
- tar xjf qrencode-3.2.0.tar.bz2
- cd qrencode-3.2.0
+ tar xjf qrencode-3.4.3.tar.bz2
+ cd qrencode-3.4.3
png_CFLAGS="-I$INSTALLPREFIX/include" png_LIBS="-L$INSTALLPREFIX/lib -lpng" ./configure --prefix=$INSTALLPREFIX --host=$HOST
make
make install
cd ..
#
cd $INSTALLPREFIX
- zip -r $OUTDIR/bitcoin-deps-win32-gitian-r9.zip include lib
+ zip -r $OUTDIR/bitcoin-deps-win32-gitian-r10.zip include lib
diff --git a/contrib/gitian-descriptors/gitian-win32.yml b/contrib/gitian-descriptors/gitian-win32.yml
index a863335ce9..794fa27f1f 100644
--- a/contrib/gitian-descriptors/gitian-win32.yml
+++ b/contrib/gitian-descriptors/gitian-win32.yml
@@ -22,9 +22,9 @@ remotes:
- "url": "https://github.com/bitcoin/bitcoin.git"
"dir": "bitcoin"
files:
-- "qt-win32-4.8.3-gitian-r4.zip"
+- "qt-win32-5.2.0-gitian-r1.zip"
- "boost-win32-1.55.0-gitian-r6.zip"
-- "bitcoin-deps-win32-gitian-r9.zip"
+- "bitcoin-deps-win32-gitian-r10.zip"
- "protobuf-win32-2.5.0-gitian-r3.zip"
script: |
#
@@ -34,9 +34,9 @@ script: |
#
mkdir -p $STAGING
cd $STAGING
- unzip ../build/qt-win32-4.8.3-gitian-r4.zip
+ unzip ../build/qt-win32-5.2.0-gitian-r1.zip
unzip ../build/boost-win32-1.55.0-gitian-r6.zip
- unzip ../build/bitcoin-deps-win32-gitian-r9.zip
+ unzip ../build/bitcoin-deps-win32-gitian-r10.zip
unzip ../build/protobuf-win32-2.5.0-gitian-r3.zip
cd $HOME/build/
#
diff --git a/contrib/gitian-descriptors/qt-win32.yml b/contrib/gitian-descriptors/qt-win32.yml
index ffa8bcab46..8bc53bbf25 100644
--- a/contrib/gitian-descriptors/qt-win32.yml
+++ b/contrib/gitian-descriptors/qt-win32.yml
@@ -10,41 +10,38 @@ packages:
- "zip"
- "unzip"
- "faketime"
-- "unzip"
+- "libz-dev"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
-- "qt-everywhere-opensource-src-4.8.3.tar.gz"
-- "bitcoin-deps-win32-gitian-r9.zip"
+- "qt-everywhere-opensource-src-5.2.0.tar.gz"
+- "bitcoin-deps-win32-gitian-r10.zip"
script: |
#
HOST=i686-w64-mingw32
INSTDIR="$HOME/qt/"
# Integrity Check
- echo "f1f72974f924861be04019f49f07cd43ab3c95056db2ba8f34b283487cccc728 qt-everywhere-opensource-src-4.8.3.tar.gz" | sha256sum -c
+ echo "395ec72277c5786c65b8163ef5817fd03d0a1f524a6d47f53624baf8056f1081 qt-everywhere-opensource-src-5.2.0.tar.gz" | sha256sum -c
mkdir $INSTDIR
mkdir -p $INSTDIR/host/bin
#
# Need mingw-compiled openssl from bitcoin-deps:
- unzip bitcoin-deps-win32-gitian-r9.zip
+ unzip bitcoin-deps-win32-gitian-r10.zip
DEPSDIR=`pwd`
#
- tar xzf qt-everywhere-opensource-src-4.8.3.tar.gz
- cd qt-everywhere-opensource-src-4.8.3
+ tar xzf qt-everywhere-opensource-src-5.2.0.tar.gz
+ cd qt-everywhere-opensource-src-5.2.0
+ SPECNAME="win32-g++"
+ SPECFILE="qtbase/mkspecs/${SPECNAME}/qmake.conf"
sed 's/$TODAY/2011-01-30/' -i configure
- sed "s/i686-pc-mingw32-/$HOST-/" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
- sed --posix "s|QMAKE_CFLAGS\t\t= -pipe|QMAKE_CFLAGS\t\t= -pipe -isystem /usr/$HOST/include/ -frandom-seed=qtbuild|" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
- sed 's/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
- sed 's/QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads/QMAKE_LFLAGS_EXCEPTIONS_ON = -lmingwthrd/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
- sed --posix "s/QMAKE_MOC\t\t= $HOST-moc/QMAKE_MOC\t\t= moc/" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
- sed --posix "s/QMAKE_RCC\t\t= $HOST-rcc/QMAKE_RCC\t\t= rcc/" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
- sed --posix "s/QMAKE_UIC\t\t= $HOST-uic/QMAKE_UIC\t\t= uic/" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
+ sed --posix "s|QMAKE_CFLAGS = -pipe -fno-keep-inline-dllexport|QMAKE_CFLAGS\t\t= -pipe -fno-keep-inline-dllexport -isystem /usr/$HOST/include/ -frandom-seed=qtbuild -I$DEPSDIR/include|" -i ${SPECFILE}
+ sed --posix "s|QMAKE_LFLAGS =|QMAKE_LFLAGS\t\t= -L$DEPSDIR/lib|" -i ${SPECFILE}
# ar adds timestamps to every object file included in the static library
# providing -D as ar argument is supposed to solve it, but doesn't work as qmake strips off the arguments and adds -M to pass a script...
# which somehow cannot be combined with other flags.
# use faketime only for ar, as it confuses make/qmake into hanging sometimes
- sed --posix "s|QMAKE_LIB\t\t= $HOST-ar -ru|QMAKE_LIB\t\t= $HOME/ar -Dr|" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
+ sed --posix "s|QMAKE_LIB = \\\$\\\${CROSS_COMPILE}ar -ru|QMAKE_LIB\t\t= $HOME/ar -Dr|" -i ${SPECFILE}
echo '#!/bin/bash' > $HOME/ar
echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ar
echo "$HOST-ar \"\$@\"" >> $HOME/ar
@@ -52,14 +49,12 @@ script: |
#export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
+ #
# Compile static libraries, and use statically linked openssl (-openssl-linked):
- OPENSSL_LIBS="-L$DEPSDIR/lib -lssl -lcrypto -lgdi32" ./configure -prefix $INSTDIR -bindir $INSTDIR/host/bin -I $DEPSDIR/include -confirm-license -release -opensource -static -no-qt3support -xplatform unsupported/win32-g++-cross -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-declarative -no-script -no-scripttools -no-javascript-jit -no-webkit -no-svg -no-xmlpatterns -no-sql-sqlite -no-nis -no-cups -no-iconv -no-dbus -no-gif -no-libtiff -no-opengl -nomake examples -nomake demos -nomake docs -no-feature-style-plastique -no-feature-style-cleanlooks -no-feature-style-motif -no-feature-style-cde -no-feature-style-windowsce -no-feature-style-windowsmobile -no-feature-style-s60 -openssl-linked
- find . -name *.prl | xargs -l sed 's|/\.||' -i
- find . -name *.prl | xargs -l sed 's|/$||' -i
+ OPENSSL_LIBS="-L$DEPSDIR/lib -lssl -lcrypto -lgdi32" ./configure -prefix $INSTDIR -bindir $INSTDIR/host/bin -confirm-license -release -opensource -static -xplatform $SPECNAME -device-option CROSS_COMPILE="$HOST-" -no-audio-backend -no-javascript-jit -no-sql-sqlite -no-sql-odbc -no-nis -no-cups -no-iconv -no-dbus -no-gif -no-opengl -no-compile-examples -no-feature-style-windowsce -no-feature-style-windowsmobile -no-qml-debug -openssl-linked -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtserialport -skip qtdeclarative -skip qtmultimedia -skip qtimageformats -skip qtlocation -skip qtsensors -skip qtquick1 -skip qtquickcontrols -skip qtactiveqt -skip qtconnectivity -skip qtwinextras -skip qtxmlpatterns -skip qtscript -skip qtdoc -system-libpng -system-zlib
make $MAKEOPTS install
cd $INSTDIR
- find . -name *.prl | xargs -l sed 's|/$||' -i
# as zip stores file timestamps, use faketime to intercept stat calls to set dates for all files to reference date
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
- zip -r $OUTDIR/qt-win32-4.8.3-gitian-r4.zip *
+ zip -r $OUTDIR/qt-win32-5.2.0-gitian-r1.zip *
diff --git a/doc/release-process.md b/doc/release-process.md
index 2c0e2a3677..2cc54edfeb 100644
--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -39,16 +39,16 @@ Release Process
Fetch and build inputs: (first time, or when dependency versions change)
mkdir -p inputs; cd inputs/
- wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz
- wget 'https://www.openssl.org/source/openssl-1.0.1c.tar.gz'
+ wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.8.tar.gz' -O miniupnpc-1.8.tar.gz
+ wget 'https://www.openssl.org/source/openssl-1.0.1e.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
- wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/history/zlib/zlib-1.2.6.tar.gz'
- wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/history/libpng15/libpng-1.5.9.tar.gz'
- wget 'https://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
- wget 'https://downloads.sourceforge.net/project/boost/boost/1.54.0/boost_1_54_0.tar.bz2'
+ wget 'http://zlib.net/zlib-1.2.8.tar.gz'
+ wget 'ftp://ftp.simplesystems.org/pub/png/src/libpng16/libpng-1.6.8.tar.gz'
+ wget 'https://fukuchi.org/works/qrencode/qrencode-3.4.3.tar.bz2'
+ wget 'https://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2'
wget 'https://svn.boost.org/trac/boost/raw-attachment/ticket/7262/boost-mingw.patch' -O \
boost-mingw-gas-cross-compile-2013-03-03.patch
- wget 'https://download.qt-project.org/archive/qt/4.8/4.8.3/qt-everywhere-opensource-src-4.8.3.tar.gz'
+ wget 'https://download.qt-project.org/official_releases/qt/5.2/5.2.0/single/qt-everywhere-opensource-src-5.2.0.tar.gz'
wget 'https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2'
cd ..
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
diff --git a/src/m4/bitcoin_qt.m4 b/src/m4/bitcoin_qt.m4
index 4ae6e4159f..758aea3499 100644
--- a/src/m4/bitcoin_qt.m4
+++ b/src/m4/bitcoin_qt.m4
@@ -317,6 +317,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
])
BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,BITCOIN_QT_FAIL(zlib not found)))
+ BITCOIN_QT_CHECK(AC_CHECK_LIB([png] ,[main],,BITCOIN_QT_FAIL(png not found)))
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXCore not found)))
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXGui not found)))
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXNetwork not found)))