aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/bitrpc/bitrpc.py12
-rw-r--r--contrib/debian/control1
-rw-r--r--contrib/debian/examples/bitcoin.conf95
-rw-r--r--contrib/debian/manpages/bitcoin-qt.13
-rw-r--r--contrib/debian/manpages/bitcoin.conf.53
-rw-r--r--contrib/gitian-descriptors/deps-linux.yml10
-rw-r--r--contrib/gitian-descriptors/deps-win.yml10
-rw-r--r--contrib/gitian-descriptors/gitian-linux.yml6
-rw-r--r--contrib/gitian-descriptors/gitian-osx-bitcoin.yml61
-rw-r--r--contrib/gitian-descriptors/gitian-osx-depends.yml159
-rw-r--r--contrib/gitian-descriptors/gitian-osx-native.yml178
-rw-r--r--contrib/gitian-descriptors/gitian-osx-qt.yml186
-rw-r--r--contrib/gitian-descriptors/gitian-win.yml6
-rw-r--r--contrib/gitian-descriptors/qt-linux.yml1
-rw-r--r--contrib/gitian-descriptors/qt-win.yml6
-rw-r--r--contrib/gitian-downloader/cfields-key.pgp52
-rw-r--r--contrib/gitian-downloader/linux-download-config3
-rw-r--r--contrib/gitian-downloader/win32-download-config3
-rw-r--r--contrib/macdeploy/README.md4
-rwxr-xr-xcontrib/macdeploy/macdeployqtplus15
-rw-r--r--contrib/verifysfbinaries/README.md2
-rwxr-xr-xcontrib/verifysfbinaries/verify.sh8
22 files changed, 748 insertions, 76 deletions
diff --git a/contrib/bitrpc/bitrpc.py b/contrib/bitrpc/bitrpc.py
index a84d7e34dd..02577b1b6a 100644
--- a/contrib/bitrpc/bitrpc.py
+++ b/contrib/bitrpc/bitrpc.py
@@ -22,6 +22,18 @@ if cmd == "backupwallet":
print access.backupwallet(path)
except:
print "\n---An error occurred---\n"
+
+elif cmd == "encryptwallet":
+ try:
+ pwd = getpass.getpass(prompt="Enter passphrase: ")
+ pwd2 = getpass.getpass(prompt="Repeat passphrase: ")
+ if pwd == pwd2:
+ access.encryptwallet(pwd)
+ print "\n---Wallet encrypted. Server stopping, restart to run with encrypted wallet---\n"
+ else:
+ print "\n---Passphrases do not match---\n"
+ except:
+ print "\n---An error occurred---\n"
elif cmd == "getaccount":
try:
diff --git a/contrib/debian/control b/contrib/debian/control
index 9e006a7070..a04e88d4e1 100644
--- a/contrib/debian/control
+++ b/contrib/debian/control
@@ -6,6 +6,7 @@ Uploaders: Micah Anderson <micah@debian.org>
Build-Depends: debhelper,
devscripts,
automake,
+ libtool,
bash-completion,
libboost-system-dev (>> 1.35) | libboost-system1.35-dev,
libdb4.8++-dev,
diff --git a/contrib/debian/examples/bitcoin.conf b/contrib/debian/examples/bitcoin.conf
index 10ec36ae7e..0aa8674af9 100644
--- a/contrib/debian/examples/bitcoin.conf
+++ b/contrib/debian/examples/bitcoin.conf
@@ -1,79 +1,110 @@
-# bitcoin.conf configuration file. Lines beginning with # are comments.
-
-
+##
+## bitcoin.conf configuration file. Lines beginning with # are comments.
+##
+
# Network-related settings:
# Run on the test network instead of the real bitcoin network.
-#testnet=1
+#testnet=0
+
+# Run a regression test network
+#regtest=0
# Connect via a socks4 proxy
#proxy=127.0.0.1:9050
+##############################################################
+## Quick Primer on addnode vs connect ##
+## Let's say for instance you use addnode=4.2.2.4 ##
+## addnode will connect you to and tell you about the ##
+## nodes connected to 4.2.2.4. In addition it will tell ##
+## the other nodes connected to it that you exist so ##
+## they can connect to you. ##
+## connect will not do the above when you 'connect' to it. ##
+## It will *only* connect you to 4.2.2.4 and no one else.##
+## ##
+## So if you're behind a firewall, or have other problems ##
+## finding nodes, add some using 'addnode'. ##
+## ##
+## If you want to stay private, use 'connect' to only ##
+## connect to "trusted" nodes. ##
+## ##
+## If you run multiple nodes on a LAN, there's no need for ##
+## all of them to open lots of connections. Instead ##
+## 'connect' them all to one node that is port forwarded ##
+## and has lots of connections. ##
+## Thanks goes to [Noodle] on Freenode. ##
+##############################################################
+
# Use as many addnode= settings as you like to connect to specific peers
#addnode=69.164.218.197
#addnode=10.0.0.2:8333
-# ... or use as many connect= settings as you like to connect ONLY
-# to specific peers:
+# Alternatively use as many connect= settings as you like to connect ONLY to specific peers
#connect=69.164.218.197
#connect=10.0.0.1:8333
+# Listening mode, enabled by default except when 'connect' is being used
+#listen=1
+
# Maximum number of inbound+outbound connections.
#maxconnections=
-
+#
# JSON-RPC options (for controlling a running Bitcoin/bitcoind process)
+#
-# server=1 tells Bitcoin to accept JSON-RPC commands.
-#server=1
+# server=1 tells Bitcoin-QT and bitcoind to accept JSON-RPC commands
+#server=0
# You must set rpcuser and rpcpassword to secure the JSON-RPC api
#rpcuser=Ulysseys
-#rpcpassword=YourSuperGreatPasswordNumber_385593
+#rpcpassword=YourSuperGreatPasswordNumber_DO_NOT_USE_THIS_OR_YOU_WILL_GET_ROBBED_385593
+
+# How many seconds bitcoin will wait for a complete RPC HTTP request.
+# after the HTTP connection is established.
+#rpctimeout=30
-# By default, only RPC connections from localhost are allowed. Specify
-# as many rpcallowip= settings as you like to allow connections from
-# other hosts (and you may use * as a wildcard character):
-#rpcallowip=10.1.1.34
-#rpcallowip=192.168.1.*
+# By default, only RPC connections from localhost are allowed.
+# Specify as many rpcallowip= settings as you like to allow connections from other hosts,
+# either as a single IPv4/IPv6 or with a subnet specification.
+
+# NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED,
+# because the rpcpassword is transmitted over the network unencrypted.
+
+# server=1 tells Bitcoin-QT to accept JSON-RPC commands.
+# it is also read by bitcoind to determine if RPC should be enabled
+#rpcallowip=10.1.1.34/255.255.255.0
+#rpcallowip=1.2.3.4/24
+#rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96
# Listen for RPC connections on this TCP port:
-rpcport=8332
+#rpcport=8332
# You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind
# running on another host using this option:
-rpcconnect=127.0.0.1
+#rpcconnect=127.0.0.1
# Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate
# with Bitcoin -server or bitcoind
#rpcssl=1
# OpenSSL settings used when rpcssl=1
-rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
-rpcsslcertificatechainfile=server.cert
-rpcsslprivatekeyfile=server.pem
+#rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
+#rpcsslcertificatechainfile=server.cert
+#rpcsslprivatekeyfile=server.pem
# Miscellaneous options
-# Set gen=1 to attempt to generate bitcoins
-gen=0
-
-# Use SSE instructions to try to generate bitcoins faster.
-#4way=1
-
# Pre-generate this many public/private key pairs, so wallet backups will be valid for
# both prior transactions and several dozen future transactions.
-keypool=100
+#keypool=100
# Pay an optional transaction fee every time you send bitcoins. Transactions with fees
# are more likely than free transactions to be included in generated blocks, so may
# be validated sooner.
-paytxfee=0.00
-
-# Allow direct connections for the 'pay via IP address' feature.
-#allowreceivebyip=1
-
+#paytxfee=0.00
# User interface options
diff --git a/contrib/debian/manpages/bitcoin-qt.1 b/contrib/debian/manpages/bitcoin-qt.1
index cd478b1875..25a423f9c4 100644
--- a/contrib/debian/manpages/bitcoin-qt.1
+++ b/contrib/debian/manpages/bitcoin-qt.1
@@ -139,6 +139,9 @@ Execute command when the best block changes (%s in cmd is replaced by block hash
\fB\-walletnotify=\fR<cmd>
Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)
.TP
+\fB\-respendnotify=\fR<cmd>
+Execute command when a network tx respends wallet tx input (%s=respend TxID, %t=wallet TxID)
+.TP
\fB\-alertnotify=\fR<cmd>
Execute command when a relevant alert is received (%s in cmd is replaced by message)
.TP
diff --git a/contrib/debian/manpages/bitcoin.conf.5 b/contrib/debian/manpages/bitcoin.conf.5
index eef213149d..7438b4b66a 100644
--- a/contrib/debian/manpages/bitcoin.conf.5
+++ b/contrib/debian/manpages/bitcoin.conf.5
@@ -37,9 +37,6 @@ You must set *rpcuser* to secure the JSON-RPC api.
\fBrpcpassword=\fR\fI'password'\fR
You must set *rpcpassword* to secure the JSON-RPC api.
.TP
-\fBrpctimeout=\fR\fI'30'\fR
-How many seconds *bitcoin* will wait for a complete RPC HTTP request, after the HTTP connection is established.
-.TP
\fBrpcallowip=\fR\fI'192.168.1.*'\fR
By default, only RPC connections from localhost are allowed. Specify as many *rpcallowip=* settings as you like to allow connections from other hosts (and you may use * as a wildcard character).
.TP
diff --git a/contrib/gitian-descriptors/deps-linux.yml b/contrib/gitian-descriptors/deps-linux.yml
index af10461b83..8221222133 100644
--- a/contrib/gitian-descriptors/deps-linux.yml
+++ b/contrib/gitian-descriptors/deps-linux.yml
@@ -16,7 +16,7 @@ packages:
reference_datetime: "2013-06-01 00:00:00"
remotes: []
files:
-- "openssl-1.0.1g.tar.gz"
+- "openssl-1.0.1h.tar.gz"
- "miniupnpc-1.9.tar.gz"
- "qrencode-3.4.3.tar.bz2"
- "protobuf-2.5.0.tar.bz2"
@@ -30,15 +30,15 @@ script: |
export TZ=UTC
export LIBRARY_PATH="$STAGING/lib"
# Integrity Check
- echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c
+ echo "9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093 openssl-1.0.1h.tar.gz" | sha256sum -c
echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c
echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c
echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c
echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c
#
- tar xzf openssl-1.0.1g.tar.gz
- cd openssl-1.0.1g
+ tar xzf openssl-1.0.1h.tar.gz
+ cd openssl-1.0.1h
# need -fPIC to avoid relocation error in 64 bit builds
./config no-shared no-zlib no-dso no-krb5 --openssldir=$STAGING -fPIC
# need to build OpenSSL with faketime because a timestamp is embedded into cversion.o
@@ -95,4 +95,4 @@ script: |
done
#
cd $STAGING
- find include lib bin host | sort | zip -X@ $OUTDIR/bitcoin-deps-linux${GBUILD_BITS}-gitian-r5.zip
+ find include lib bin host | sort | zip -X@ $OUTDIR/bitcoin-deps-linux${GBUILD_BITS}-gitian-r6.zip
diff --git a/contrib/gitian-descriptors/deps-win.yml b/contrib/gitian-descriptors/deps-win.yml
index 17ac413d80..fabc2949eb 100644
--- a/contrib/gitian-descriptors/deps-win.yml
+++ b/contrib/gitian-descriptors/deps-win.yml
@@ -14,7 +14,7 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
-- "openssl-1.0.1g.tar.gz"
+- "openssl-1.0.1h.tar.gz"
- "db-4.8.30.NC.tar.gz"
- "miniupnpc-1.9.tar.gz"
- "zlib-1.2.8.tar.gz"
@@ -28,7 +28,7 @@ script: |
INDIR=$HOME/build
TEMPDIR=$HOME/tmp
# Input Integrity Check
- echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c
+ echo "9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093 openssl-1.0.1h.tar.gz" | sha256sum -c
echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c
echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c
echo "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d zlib-1.2.8.tar.gz" | sha256sum -c
@@ -48,8 +48,8 @@ script: |
mkdir -p $INSTALLPREFIX $BUILDDIR
cd $BUILDDIR
#
- tar xzf $INDIR/openssl-1.0.1g.tar.gz
- cd openssl-1.0.1g
+ tar xzf $INDIR/openssl-1.0.1h.tar.gz
+ cd openssl-1.0.1h
if [ "$BITS" == "32" ]; then
OPENSSL_TGT=mingw
else
@@ -124,5 +124,5 @@ script: |
done
#
cd $INSTALLPREFIX
- find include lib | sort | zip -X@ $OUTDIR/bitcoin-deps-win$BITS-gitian-r12.zip
+ find include lib | sort | zip -X@ $OUTDIR/bitcoin-deps-win$BITS-gitian-r13.zip
done # for BITS in
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index bb59e1cecb..65a6c3c1e9 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -25,8 +25,8 @@ remotes:
- "url": "https://github.com/bitcoin/bitcoin.git"
"dir": "bitcoin"
files:
-- "bitcoin-deps-linux32-gitian-r5.zip"
-- "bitcoin-deps-linux64-gitian-r5.zip"
+- "bitcoin-deps-linux32-gitian-r6.zip"
+- "bitcoin-deps-linux64-gitian-r6.zip"
- "boost-linux32-1.55.0-gitian-r1.zip"
- "boost-linux64-1.55.0-gitian-r1.zip"
- "qt-linux32-4.6.4-gitian-r1.tar.gz"
@@ -43,7 +43,7 @@ script: |
#
mkdir -p $STAGING
cd $STAGING
- unzip ../build/bitcoin-deps-linux${GBUILD_BITS}-gitian-r5.zip
+ unzip ../build/bitcoin-deps-linux${GBUILD_BITS}-gitian-r6.zip
unzip ../build/boost-linux${GBUILD_BITS}-1.55.0-gitian-r1.zip
tar -zxf ../build/qt-linux${GBUILD_BITS}-4.6.4-gitian-r1.tar.gz
cd ../build
diff --git a/contrib/gitian-descriptors/gitian-osx-bitcoin.yml b/contrib/gitian-descriptors/gitian-osx-bitcoin.yml
new file mode 100644
index 0000000000..bc3d561c35
--- /dev/null
+++ b/contrib/gitian-descriptors/gitian-osx-bitcoin.yml
@@ -0,0 +1,61 @@
+---
+name: "bitcoin"
+suites:
+- "precise"
+architectures:
+- "i386"
+packages:
+- "git-core"
+- "automake"
+- "faketime"
+- "bsdmainutils"
+- "pkg-config"
+- "p7zip-full"
+- "libtool"
+
+reference_datetime: "2013-06-01 00:00:00"
+remotes:
+- "url": "https://github.com/bitcoin/bitcoin.git"
+ "dir": "bitcoin"
+files:
+- "osx-native-depends-r3.tar.gz"
+- "osx-depends-r4.tar.gz"
+- "osx-depends-qt-5.2.1-r4.tar.gz"
+- "MacOSX10.7.sdk.tar.gz"
+
+script: |
+
+ HOST=x86_64-apple-darwin11
+ PREFIX=`pwd`/osx-cross-depends/prefix
+ SDK=`pwd`/osx-cross-depends/SDKs/MacOSX10.7.sdk
+ NATIVEPREFIX=`pwd`/osx-cross-depends/native-prefix
+ export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
+
+ export SOURCES_PATH=`pwd`
+
+ mkdir -p osx-cross-depends/SDKs
+
+ tar -C osx-cross-depends/SDKs -xf ${SOURCES_PATH}/MacOSX10.7.sdk.tar.gz
+
+ tar -C osx-cross-depends -xf osx-native-depends-r3.tar.gz
+ tar -C osx-cross-depends -xf osx-depends-r4.tar.gz
+ tar -C osx-cross-depends -xf osx-depends-qt-5.2.1-r4.tar.gz
+ export PATH=`pwd`/osx-cross-depends/native-prefix/bin:$PATH
+
+ cd bitcoin
+
+ export ZERO_AR_DATE=1
+ export QT_RCC_TEST=1
+ ./autogen.sh
+ ./configure --host=${HOST} --with-boost=${PREFIX} CC=clang CXX=clang++ OBJC=clang OBJCXX=clang++ CFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" CXXFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" LDFLAGS="-B${NATIVEPREFIX}/bin -L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1" CPPFLAGS="-I${NATIVEPREFIX}/lib/clang/3.2/include -I${PREFIX}/include" SSL_LIBS="-lz -lssl -lcrypto" --disable-tests -with-gui=qt5 PKG_CONFIG_LIBDIR="${PREFIX}/lib/pkgconfig" --disable-dependency-tracking --disable-maintainer-mode
+ make dist
+ mkdir -p distsrc
+ cd distsrc
+ tar --strip-components=1 -xf ../bitcoin-*.tar*
+ ./configure --host=${HOST} --with-boost=${PREFIX} CC=clang CXX=clang++ OBJC=clang OBJCXX=clang++ CFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" CXXFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" LDFLAGS="-B${NATIVEPREFIX}/bin -L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1" CPPFLAGS="-I${NATIVEPREFIX}/lib/clang/3.2/include -I${PREFIX}/include" SSL_LIBS="-lz -lssl -lcrypto" --disable-tests -with-gui=qt5 PKG_CONFIG_LIBDIR="${PREFIX}/lib/pkgconfig" --disable-dependency-tracking --disable-maintainer-mode
+ make $MAKEOPTS
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ export FAKETIME=$REFERENCE_DATETIME
+ export TZ=UTC
+ make deploy
+ dmg dmg Bitcoin-Qt.dmg $OUTDIR/Bitcoin-Qt.dmg
diff --git a/contrib/gitian-descriptors/gitian-osx-depends.yml b/contrib/gitian-descriptors/gitian-osx-depends.yml
new file mode 100644
index 0000000000..07a021cf0c
--- /dev/null
+++ b/contrib/gitian-descriptors/gitian-osx-depends.yml
@@ -0,0 +1,159 @@
+---
+name: "osx-depends"
+suites:
+- "precise"
+architectures:
+- "i386"
+packages:
+- "git-core"
+- "automake"
+- "p7zip-full"
+
+reference_datetime: "2013-06-01 00:00:00"
+remotes: []
+files:
+- "boost_1_55_0.tar.bz2"
+- "db-4.8.30.NC.tar.gz"
+- "miniupnpc-1.9.tar.gz"
+- "openssl-1.0.1h.tar.gz"
+- "protobuf-2.5.0.tar.bz2"
+- "qrencode-3.4.3.tar.bz2"
+- "MacOSX10.7.sdk.tar.gz"
+- "osx-native-depends-r3.tar.gz"
+
+script: |
+
+ echo "fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 boost_1_55_0.tar.bz2" | sha256sum -c
+ echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c
+ echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c
+ echo "9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093 openssl-1.0.1h.tar.gz" | sha256sum -c
+ echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c
+ echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c
+
+ REVISION=r4
+ export SOURCES_PATH=`pwd`
+ export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
+ export PATH=$HOME:$PATH
+ export SOURCES_PATH=`pwd`
+ export ZERO_AR_DATE=1
+
+ mkdir -p osx-cross-depends/build
+ cd osx-cross-depends
+
+ PREFIX=`pwd`/prefix
+ NATIVEPREFIX=`pwd`/native-prefix
+ BUILD_BASE=`pwd`/build
+ SDK=`pwd`/SDKs/MacOSX10.7.sdk
+ HOST=x86_64-apple-darwin11
+ MIN_VERSION=10.6
+
+ INT_CFLAGS="-target ${HOST} -mmacosx-version-min=${MIN_VERSION} --sysroot ${SDK} -msse2 -Qunused-arguments"
+ INT_CXXFLAGS="${INT_CFLAGS}"
+ INT_LDFLAGS="-L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1"
+ INT_LDFLAGS_CLANG="-B${NATIVEPREFIX}/bin"
+ INT_CPPFLAGS="-I${PREFIX}/include"
+ INT_CC=clang
+ INT_CXX=clang++
+ INT_OBJC=clang
+ INT_OBJCXX=clang++
+ INT_AR=${HOST}-ar
+ INT_RANLIB=${HOST}-ranlib
+ INT_LIBTOOL=${HOST}-libtool
+ INT_INSTALL_NAME_TOOL=${HOST}-install_name_tool
+
+ export PATH=${NATIVEPREFIX}/bin:${PATH}
+
+ mkdir -p ${NATIVEPREFIX}/bin
+ mkdir -p ${NATIVEPREFIX}/lib
+ mkdir -p ${PREFIX}/bin
+ mkdir -p ${PREFIX}/lib
+ mkdir -p ${BUILD_BASE}
+
+ mkdir -p SDKs
+ tar -C SDKs -xf ${SOURCES_PATH}/MacOSX10.7.sdk.tar.gz
+
+ tar xf /home/ubuntu/build/osx-native-depends-r3.tar.gz
+
+ # bdb
+ SOURCE_FILE=${SOURCES_PATH}/db-4.8.30.NC.tar.gz
+ BUILD_DIR=${BUILD_BASE}/db-4.8.30.NC
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ sed -i 's/__atomic_compare_exchange/__atomic_compare_exchange_db/g' ${BUILD_DIR}/dbinc/atomic.h
+ pushd ${BUILD_DIR}
+ cd build_unix;
+ ../dist/configure --host=${HOST} --prefix="${PREFIX}" --disable-shared --enable-cxx CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}"
+ make $MAKEOPTS libdb.a libdb_cxx.a
+ make install_lib install_include
+ popd
+
+ # openssl
+ SOURCE_FILE=${SOURCES_PATH}/openssl-1.0.1h.tar.gz
+ BUILD_DIR=${BUILD_BASE}/openssl-1.0.1h
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ pushd ${BUILD_DIR}
+ sed -ie "s|cc:|${INT_CC}:|" ${BUILD_DIR}/Configure
+ sed -ie "s|\(-arch [_a-zA-Z0-9]*\)|\1 --sysroot ${SDK} -target ${HOST} -msse2|" ${BUILD_DIR}/Configure
+ AR="${INT_AR}" RANLIB="${INT_RANLIB}" ./Configure --prefix=${PREFIX} --openssldir=${PREFIX}/etc/openssl zlib shared no-krb5 darwin64-x86_64-cc ${INT_LDFLAGS} ${INT_CLANG_LDFLAGS} ${INT_CPPFLAGS}
+ sed -i "s|engines apps test|engines|" ${BUILD_DIR}/Makefile
+ sed -i "/define DATE/d" ${BUILD_DIR}/crypto/Makefile
+ make -j1 build_libs libcrypto.pc libssl.pc openssl.pc
+ make -j1 install_sw
+ popd
+
+ #libminiupnpc
+ SOURCE_FILE=${SOURCES_PATH}/miniupnpc-1.9.tar.gz
+ BUILD_DIR=${BUILD_BASE}/miniupnpc-1.9
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ pushd ${BUILD_DIR}
+ CFLAGS="${INT_CFLAGS} ${INT_CPPFLAGS}" make $MAKEOPTS OS=Darwin CC="${INT_CC}" AR="${INT_AR}" libminiupnpc.a
+ install -d ${PREFIX}/include/miniupnpc
+ install *.h ${PREFIX}/include/miniupnpc
+ install libminiupnpc.a ${PREFIX}/lib
+ popd
+
+ # qrencode
+ SOURCE_FILE=${SOURCES_PATH}/qrencode-3.4.3.tar.bz2
+ BUILD_DIR=${BUILD_BASE}/qrencode-3.4.3
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ pushd ${BUILD_DIR}
+
+ # m4 folder is not included in the stable release, which can confuse aclocal
+ # if its timestamp ends up being earlier than configure.ac when extracted
+ touch aclocal.m4
+ ./configure --host=${HOST} --prefix="${PREFIX}" --disable-shared CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" --disable-shared -without-tools --disable-sdltest --disable-dependency-tracking
+ make $MAKEOPTS
+ make install
+ popd
+
+ # libprotobuf
+ SOURCE_FILE=${SOURCES_PATH}/protobuf-2.5.0.tar.bz2
+ BUILD_DIR=${BUILD_BASE}/protobuf-2.5.0
+
+ tar -C ${BUILD_BASE} -xjf ${SOURCE_FILE}
+ pushd ${BUILD_DIR}
+ ./configure --host=${HOST} --prefix="${PREFIX}" --disable-shared --enable-cxx CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" --enable-shared=no --disable-dependency-tracking --with-protoc=${NATIVEPREFIX}/bin/protoc
+ cd src
+ make $MAKEOPTS libprotobuf.la
+ make install-libLTLIBRARIES install-nobase_includeHEADERS
+ cd ..
+ make install-pkgconfigDATA
+ popd
+
+ # boost
+ SOURCE_FILE=${SOURCES_PATH}/boost_1_55_0.tar.bz2
+ BUILD_DIR=${BUILD_BASE}/boost_1_55_0
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ pushd ${BUILD_DIR}
+ ./bootstrap.sh --with-libraries=chrono,filesystem,program_options,system,thread,test
+ echo "using darwin : : ${INT_CXX} : <cxxflags>\"${INT_CFLAGS} ${INT_CPPFLAGS}\" <linkflags>\"${INT_LDFLAGS} ${INT_CLANG_LDFLAGS}\" <archiver>\"${INT_LIBTOOL}\" <striper>\"${INT_STRIP}\" : ;" > "user-config.jam"
+ ./b2 -d2 --layout=tagged --build-type=complete --prefix="${PREFIX}" --toolset=darwin-4.2.1 --user-config=user-config.jam variant=release threading=multi link=static install
+ popd
+
+ export GZIP="-9n"
+ find prefix | sort | tar --no-recursion -czf osx-depends-${REVISION}.tar.gz -T -
+
+ mv osx-depends-${REVISION}.tar.gz $OUTDIR
diff --git a/contrib/gitian-descriptors/gitian-osx-native.yml b/contrib/gitian-descriptors/gitian-osx-native.yml
new file mode 100644
index 0000000000..a753ad704f
--- /dev/null
+++ b/contrib/gitian-descriptors/gitian-osx-native.yml
@@ -0,0 +1,178 @@
+---
+name: "osx-native"
+suites:
+- "precise"
+architectures:
+- "i386"
+packages:
+- "git-core"
+- "automake"
+- "faketime"
+- "libssl-dev"
+- "libbz2-dev"
+- "libz-dev"
+- "cmake"
+- "libcap-dev"
+- "p7zip-full"
+- "uuid-dev"
+
+reference_datetime: "2013-06-01 00:00:00"
+remotes: []
+files:
+- "10cc648683617cca8bcbeae507888099b41b530c.tar.gz"
+- "cctools-809.tar.gz"
+- "dyld-195.5.tar.gz"
+- "ld64-127.2.tar.gz"
+- "protobuf-2.5.0.tar.bz2"
+- "MacOSX10.7.sdk.tar.gz"
+- "cdrkit-1.1.11.tar.gz"
+- "libdmg-hfsplus-v0.1.tar.gz"
+- "clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz"
+- "cdrkit-deterministic.patch"
+
+
+script: |
+
+ echo "18406961fd4a1ec5c7ea35c91d6a80a2f8bb797a2bd243a610bd75e13eff9aca 10cc648683617cca8bcbeae507888099b41b530c.tar.gz" | sha256sum -c
+ echo "03ba62749b843b131c7304a044a98c6ffacd65b1399b921d69add0375f79d8ad cctools-809.tar.gz" | sha256sum -c
+ echo "2cf0484c87cf79b606b351a7055a247dae84093ae92c747a74e0cde2c8c8f83c dyld-195.5.tar.gz" | sha256sum -c
+ echo "97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142 ld64-127.2.tar.gz" | sha256sum -c
+ echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c
+ echo "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da cdrkit-1.1.11.tar.gz" | sha256sum -c
+ echo "6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3 libdmg-hfsplus-v0.1.tar.gz" | sha256sum -c
+ echo "b9d57a88f9514fa1f327a1a703756d0c1c960f4c58494a5bd80313245d13ffff clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz" | sha256sum -c
+ echo "cc12bdbd7a09f71cb2a6a3e6ec3e0abe885ca7111c2b47857f5095e5980caf4f cdrkit-deterministic.patch" | sha256sum -c
+
+
+ REVISION=r3
+ export REFERENCE_DATETIME
+ export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
+ export FAKETIME=$REFERENCE_DATETIME
+ export TZ=UTC
+
+ REAL_AR=`which ar`
+ REAL_RANLIB=`which ranlib`
+ REAL_DATE=`which date`
+
+ echo '#!/bin/bash' > $HOME/ar
+ echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ar
+ echo "$REAL_AR \"\$@\"" >> $HOME/ar
+
+ echo '#!/bin/bash' > $HOME/ranlib
+ echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ranlib
+ echo "$REAL_RANLIB \"\$@\"" >> $HOME/ranlib
+
+ echo '#!/bin/bash' > $HOME/date
+ echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/date
+ echo "$REAL_DATE \"\$@\"" >> $HOME/date
+
+ chmod +x $HOME/ar $HOME/ranlib $HOME/date
+
+
+ export PATH=$HOME:$PATH
+ export SOURCES_PATH=`pwd`
+
+ mkdir -p osx-cross-depends/build
+ cd osx-cross-depends
+
+ NATIVEPREFIX=`pwd`/native-prefix
+ BUILD_BASE=`pwd`/build
+ SDK=`pwd`/SDKs/MacOSX10.7.sdk
+ HOST=x86_64-apple-darwin11
+ MIN_VERSION=10.6
+
+ CFLAGS=""
+ CXXFLAGS="${CFLAGS}"
+ LDFLAGS="-L${NATIVEPREFIX}/lib"
+
+ export PATH=${NATIVEPREFIX}/bin:${PATH}
+
+ mkdir -p ${NATIVEPREFIX}/bin
+ mkdir -p ${NATIVEPREFIX}/lib
+
+ mkdir -p SDKs
+ tar -C SDKs -xf ${SOURCES_PATH}/MacOSX10.7.sdk.tar.gz
+
+ # Clang
+ SOURCE_FILE=${SOURCES_PATH}/clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz
+ BUILD_DIR=${BUILD_BASE}/clang+llvm-3.2-x86-linux-ubuntu-12.04
+
+ mkdir -p ${NATIVEPREFIX}/lib/clang/3.2/include
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ cp ${BUILD_DIR}/bin/clang ${NATIVEPREFIX}/bin/
+ cp ${BUILD_DIR}/bin/clang++ ${NATIVEPREFIX}/bin/
+ cp ${BUILD_DIR}/lib/libLTO.so ${NATIVEPREFIX}/lib/
+ cp ${BUILD_DIR}/lib/clang/3.2/include/* ${NATIVEPREFIX}/lib/clang/3.2/include
+
+ # cctools
+ SOURCE_FILE=${SOURCES_PATH}/10cc648683617cca8bcbeae507888099b41b530c.tar.gz
+ BUILD_DIR=${BUILD_BASE}/toolchain4-10cc648683617cca8bcbeae507888099b41b530c
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ mkdir -p ${BUILD_DIR}/sdks
+ pushd ${BUILD_DIR}/sdks;
+ ln -sf ${SDK} MacOSX10.7.sdk
+ ln -sf ${SOURCES_PATH}/cctools-809.tar.gz ${BUILD_DIR}/cctools2odcctools/cctools-809.tar.gz
+ ln -sf ${SOURCES_PATH}/ld64-127.2.tar.gz ${BUILD_DIR}/cctools2odcctools/ld64-127.2.tar.gz
+ ln -sf ${SOURCES_PATH}/dyld-195.5.tar.gz ${BUILD_DIR}/cctools2odcctools/dyld-195.5.tar.gz
+
+ tar -C ${BUILD_DIR} -xf ${SOURCES_PATH}/clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz
+ # Hack in the use of our llvm headers rather than grabbing the old llvm-gcc.
+ sed -i "s|GCC_DIR|LLVM_CLANG_DIR|g" ${BUILD_DIR}/cctools2odcctools/extract.sh
+ sed -i "s|llvmgcc42-2336.1|clang+llvm-3.2-x86-linux-ubuntu-12.04|g" ${BUILD_DIR}/cctools2odcctools/extract.sh
+ sed -i "s|\${LLVM_CLANG_DIR}/llvmCore/include/llvm-c|\${LLVM_CLANG_DIR}/include/llvm-c \${LLVM_CLANG_DIR}/include/llvm |" ${BUILD_DIR}/cctools2odcctools/extract.sh
+
+ sed -i "s|fAC_INIT|AC_INIT|" ${BUILD_DIR}/cctools2odcctools/files/configure.ac
+ sed -i 's/\# Dynamically linked LTO/\t ;\&\n\t linux*)\n# Dynamically linked LTO/' ${BUILD_DIR}/cctools2odcctools/files/configure.ac
+
+ cd ${BUILD_DIR}/cctools2odcctools
+ ./extract.sh --osxver 10.7
+ cd odcctools-809
+ ./configure --prefix=${NATIVEPREFIX} --target=${HOST} CFLAGS="${CFLAGS} -I${NATIVEPREFIX}/include -D__DARWIN_UNIX03 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS" LDFLAGS="${LDFLAGS} -Wl,-rpath=\\\$\$ORIGIN/../lib" --with-sysroot=${SDK}
+
+ # The 'PC' define in sparc/reg.h conflicts but doesn't get used anyway. Just rename it.
+ sed -i "s|define\tPC|define\tPC_|" ${BUILD_DIR}/cctools2odcctools/odcctools-809/include/architecture/sparc/reg.h
+ make $MAKEOPTS
+ make install
+ popd
+
+ # protoc
+ SOURCE_FILE=${SOURCES_PATH}/protobuf-2.5.0.tar.bz2
+ BUILD_DIR=${BUILD_BASE}/protobuf-2.5.0
+
+ tar -C ${BUILD_BASE} -xjf ${SOURCE_FILE}
+ pushd ${BUILD_DIR};
+ ./configure --enable-shared=no --disable-dependency-tracking --prefix=${NATIVEPREFIX}
+ make $MAKEOPTS
+ cp ${BUILD_DIR}/src/protoc ${NATIVEPREFIX}/bin/
+ popd
+
+ # cdrkit
+ SOURCE_FILE=${SOURCES_PATH}/cdrkit-1.1.11.tar.gz
+ BUILD_DIR=${BUILD_BASE}/cdrkit-1.1.11
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ pushd ${BUILD_DIR}
+ patch -p1 < ${SOURCES_PATH}/cdrkit-deterministic.patch
+ cmake -DCMAKE_INSTALL_PREFIX=${NATIVEPREFIX}
+ make $MAKEOPTS genisoimage
+ make -C genisoimage install
+ popd
+
+ # libdmg-hfsplus
+ SOURCE_FILE=${SOURCES_PATH}/libdmg-hfsplus-v0.1.tar.gz
+ BUILD_DIR=${BUILD_BASE}/libdmg-hfsplus-libdmg-hfsplus-v0.1
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+ mkdir -p ${BUILD_DIR}/build
+ pushd ${BUILD_DIR}/build
+ cmake -DCMAKE_INSTALL_PREFIX:PATH=${NATIVEPREFIX}/bin ..
+ make $MAKEOPTS
+ make install
+ popd
+
+ rm -rf native-prefix/docs
+
+ export GZIP="-9n"
+ find native-prefix | sort | tar --no-recursion -czf osx-native-depends-$REVISION.tar.gz -T -
+ mv osx-native-depends-$REVISION.tar.gz $OUTDIR
diff --git a/contrib/gitian-descriptors/gitian-osx-qt.yml b/contrib/gitian-descriptors/gitian-osx-qt.yml
new file mode 100644
index 0000000000..5e0ad9222a
--- /dev/null
+++ b/contrib/gitian-descriptors/gitian-osx-qt.yml
@@ -0,0 +1,186 @@
+---
+name: "osx-qt"
+suites:
+- "precise"
+architectures:
+- "i386"
+packages:
+- "git-core"
+- "automake"
+- "p7zip-full"
+
+reference_datetime: "2013-06-01 00:00:00"
+remotes: []
+files:
+- "qt-everywhere-opensource-src-5.2.1.tar.gz"
+- "osx-native-depends-r3.tar.gz"
+- "osx-depends-r4.tar.gz"
+- "MacOSX10.7.sdk.tar.gz"
+
+script: |
+
+ echo "84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1 qt-everywhere-opensource-src-5.2.1.tar.gz" | sha256sum -c
+
+ REVISION=r4
+ export SOURCES_PATH=`pwd`
+ export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
+ export ZERO_AR_DATE=1
+
+ export TZ=UTC
+
+ REAL_DATE=`which date`
+ echo '#!/bin/bash' > $HOME/date
+ echo "$REAL_DATE -d \"${REFERENCE_DATETIME}\" \"\$@\"" >> $HOME/date
+
+ chmod +x $HOME/date
+ export PATH=$HOME:$PATH
+
+ mkdir -p osx-cross-depends/build
+ cd osx-cross-depends
+
+ PREFIX=`pwd`/prefix
+ NATIVEPREFIX=`pwd`/native-prefix
+ BUILD_BASE=`pwd`/build
+ SDK=`pwd`/SDKs/MacOSX10.7.sdk
+ HOST=x86_64-apple-darwin11
+ MIN_VERSION=10.6
+
+ INT_CFLAGS="-target ${HOST} -mmacosx-version-min=${MIN_VERSION} --sysroot ${SDK} -msse2 -Qunused-arguments"
+ INT_CXXFLAGS="${INT_CFLAGS}"
+ INT_LDFLAGS="-L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1"
+ INT_LDFLAGS_CLANG="-B${NATIVEPREFIX}/bin"
+ INT_CPPFLAGS="-I${PREFIX}/include"
+ INT_CC=clang
+ INT_CXX=clang++
+ INT_OBJC=clang
+ INT_OBJCXX=clang++
+ INT_AR=${HOST}-ar
+ INT_RANLIB=${HOST}-ranlib
+ INT_LIBTOOL=${HOST}-libtool
+ INT_INSTALL_NAME_TOOL=${HOST}-install_name_tool
+
+ export PATH=${NATIVEPREFIX}/bin:${PATH}
+
+ mkdir -p ${NATIVEPREFIX}/bin
+ mkdir -p ${NATIVEPREFIX}/lib
+ mkdir -p ${PREFIX}/bin
+ mkdir -p ${PREFIX}/lib
+ mkdir -p ${BUILD_BASE}
+
+ mkdir -p SDKs
+ tar -C SDKs -xf ${SOURCES_PATH}/MacOSX10.7.sdk.tar.gz
+
+ tar xf /home/ubuntu/build/osx-native-depends-r3.tar.gz
+
+ export PATH=`pwd`/native-prefix/bin:$PATH
+ tar xf /home/ubuntu/build/osx-depends-r4.tar.gz
+
+ SOURCE_FILE=${SOURCES_PATH}/qt-everywhere-opensource-src-5.2.1.tar.gz
+ BUILD_DIR=${BUILD_BASE}/qt-everywhere-opensource-src-5.2.1
+
+
+ tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
+
+ # Install our mkspec. All files are pulled from the macx-clang spec, except for
+ # our custom qmake.conf
+ SPECFILE=${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/qmake.conf
+
+ mkdir -p ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux
+ cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/Info.plist.lib ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/
+ cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/Info.plist.app ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/
+ cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/qplatformdefs.h ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/
+
+ cat > ${SPECFILE} <<ENDCONF
+
+ MAKEFILE_GENERATOR = UNIX
+ CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname
+ QMAKE_INCREMENTAL_STYLE = sublib
+
+ include(../common/macx.conf)
+ include(../common/gcc-base-mac.conf)
+ include(../common/clang.conf)
+ include(../common/clang-mac.conf)
+
+ QMAKE_XCODE_VERSION=4.3
+ QMAKE_XCODE_DEVELOPER_PATH=/Developer
+
+ QMAKE_MACOSX_DEPLOYMENT_TARGET = ${MIN_VERSION}
+
+ QMAKE_MAC_SDK=macosx
+ QMAKE_MAC_SDK.macosx.path = ${SDK}
+ QMAKE_MAC_SDK.macosx.platform_name = macosx
+ QMAKE_MAC_SDK_PATH=${SDK}
+
+ QMAKE_CFLAGS += -target ${HOST}
+ QMAKE_OBJECTIVE_CFLAGS += -target ${HOST}
+ QMAKE_CXXFLAGS += -target ${HOST}
+
+ QMAKE_LFLAGS += -target ${HOST}
+ QMAKE_AR = ${HOST}-ar cq
+ QMAKE_RANLIB=${HOST}-ranlib
+ QMAKE_LIBTOOL=${HOST}-libtool
+ QMAKE_INSTALL_NAME_TOOL=${HOST}-install_name_tool
+
+ load(qt_config)
+
+ ENDCONF
+
+ pushd ${BUILD_DIR}
+ ./configure -release -opensource -openssl-linked \
+ -no-audio-backend -no-javascript-jit -no-sql-sqlite -no-sql-tds \
+ -no-cups -no-iconv -no-dbus -no-gif -no-audio-backend -no-freetype \
+ -no-javascript-jit -no-sql-sqlite -no-nis -no-cups -no-iconv -no-pch \
+ -no-dbus -no-gif -no-sm -nomake examples -no-feature-style-plastique \
+ -no-xcb -no-qml-debug -no-pch -no-nis \
+ -no-feature-style-cde -no-feature-style-s60 -no-feature-style-motif \
+ -no-feature-style-windowsmobile -no-feature-style-windowsce \
+ -no-feature-style-cleanlooks \
+ -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql \
+ -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
+ -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtserialport \
+ -skip qtdeclarative -skip qtmultimedia -skip qtimageformats \
+ -skip qtlocation -skip qtsensors -skip qtquick1 -skip qtxmlpatterns \
+ -skip qtquickcontrols -skip qtactiveqt -skip qtconnectivity \
+ -skip qtwinextras -skip qtscript \
+ -prefix ${PREFIX} -bindir ${NATIVEPREFIX}/bin \
+ -confirm-license -xplatform macx-clang-linux -v ${INT_LDFLAGS}
+
+ # RCC's output is sorted using each file entry's hash as the key. Unfortunately,
+ # the hash function uses a random seed for each run so the results aren't
+ # deterministic. This leads to static resources being defined in a random order,
+ # which in-turn means that object files are not predictable.
+ # Fortunately, this upsets Qt's unit tests as well, so they've added the
+ # QT_RCC_TEST environment variable to set a pre-defined seed. Here, do the same
+ # thing for the same reason.
+ QT_RCC_TEST=1 make $MAKEOPTS module-qtbase-make_first
+
+
+ make $MAKEOPTS module-qttranslations-make_first
+ make $MAKEOPTS module-qttools-make_first
+ make $MAKEOPTS -C qtbase
+ make -C qtbase install
+ make -C qttranslations install
+ make -C qttools/src/linguist install
+ popd
+
+ # This file should not be installed to the destination. It's native and
+ # non-deterministic. Remove it.
+ # See: https://bugreports.qt-project.org/browse/QTBUG-31393
+ rm -f ${PREFIX}/lib/libQt5Bootstrap.a
+
+ rm -f ${PREFIX}/lib/Qt*.framework/Qt*.prl
+ pushd ${PREFIX}/include
+ ln -sf ../lib/QtNetwork.framework/Headers/ QtNetwork
+ ln -sf ../lib/QtWidgets.framework/Headers/ QtWidgets
+ ln -sf ../lib/QtGui.framework/Headers/ QtGui
+ ln -sf ../lib/QtCore.framework/Headers/ QtCore
+ ln -sf ../lib/QtTest.framework/Headers/ QtTest
+ popd
+
+ rm -f ${PREFIX}/lib/*.la
+ find ${PREFIX}/lib -name "*.prl" -delete
+
+ export GZIP="-9n"
+ find native-prefix prefix | sort | tar --no-recursion -czf osx-depends-qt-5.2.1-${REVISION}.tar.gz -T -
+
+ mv osx-depends-qt-5.2.1-${REVISION}.tar.gz $OUTDIR
diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml
index 2191fb36c7..245f15ccab 100644
--- a/contrib/gitian-descriptors/gitian-win.yml
+++ b/contrib/gitian-descriptors/gitian-win.yml
@@ -26,8 +26,8 @@ files:
- "qt-win64-5.2.0-gitian-r3.zip"
- "boost-win32-1.55.0-gitian-r6.zip"
- "boost-win64-1.55.0-gitian-r6.zip"
-- "bitcoin-deps-win32-gitian-r12.zip"
-- "bitcoin-deps-win64-gitian-r12.zip"
+- "bitcoin-deps-win32-gitian-r13.zip"
+- "bitcoin-deps-win64-gitian-r13.zip"
- "protobuf-win32-2.5.0-gitian-r4.zip"
- "protobuf-win64-2.5.0-gitian-r4.zip"
script: |
@@ -61,7 +61,7 @@ script: |
cd $STAGING
unzip $INDIR/qt-win${BITS}-5.2.0-gitian-r3.zip
unzip $INDIR/boost-win${BITS}-1.55.0-gitian-r6.zip
- unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r12.zip
+ unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r13.zip
unzip $INDIR/protobuf-win${BITS}-2.5.0-gitian-r4.zip
if [ "$NEEDDIST" == "1" ]; then
# Make source code archive which is architecture independent so it only needs to be done once
diff --git a/contrib/gitian-descriptors/qt-linux.yml b/contrib/gitian-descriptors/qt-linux.yml
index 1462df3289..b163b4bb8c 100644
--- a/contrib/gitian-descriptors/qt-linux.yml
+++ b/contrib/gitian-descriptors/qt-linux.yml
@@ -40,6 +40,7 @@ script: |
tar xzf qt-everywhere-opensource-src-4.6.4.tar.gz
cd qt-everywhere-opensource-src-4.6.4
QTBUILDDIR=$(pwd)
+ sed 's/TODAY=`date +%Y-%m-%d`/TODAY=2011-01-30/' -i configure
# Need to build 4.6-versioned host utilities as well (lrelease/qrc/lupdate/...)
./configure -prefix $INSTALLPREFIX -confirm-license -release -opensource -no-qt3support -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
diff --git a/contrib/gitian-descriptors/qt-win.yml b/contrib/gitian-descriptors/qt-win.yml
index 8f24492b53..7000c70051 100644
--- a/contrib/gitian-descriptors/qt-win.yml
+++ b/contrib/gitian-descriptors/qt-win.yml
@@ -15,8 +15,8 @@ reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "qt-everywhere-opensource-src-5.2.0.tar.gz"
-- "bitcoin-deps-win32-gitian-r12.zip"
-- "bitcoin-deps-win64-gitian-r12.zip"
+- "bitcoin-deps-win32-gitian-r13.zip"
+- "bitcoin-deps-win64-gitian-r13.zip"
script: |
# Defines
export TZ=UTC
@@ -48,7 +48,7 @@ script: |
#
# Need mingw-compiled openssl from bitcoin-deps:
cd $DEPSDIR
- unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r12.zip
+ unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r13.zip
#
cd $BUILDDIR
#
diff --git a/contrib/gitian-downloader/cfields-key.pgp b/contrib/gitian-downloader/cfields-key.pgp
new file mode 100644
index 0000000000..6b0bd240ba
--- /dev/null
+++ b/contrib/gitian-downloader/cfields-key.pgp
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+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
+MrD0ofsytfy1LQ==
+=DE4h
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/contrib/gitian-downloader/linux-download-config b/contrib/gitian-downloader/linux-download-config
index b5e0561aa3..f5e6382b84 100644
--- a/contrib/gitian-downloader/linux-download-config
+++ b/contrib/gitian-downloader/linux-download-config
@@ -37,3 +37,6 @@ signers:
E944AE667CF960B1004BC32FCA662BE18B877A60:
name: "Andreas Schildbach"
key: aschildbach
+ C060A6635913D98A3587D7DB1C2491FFEB0EF770:
+ name: "Cory Fields"
+ key: "cfields"
diff --git a/contrib/gitian-downloader/win32-download-config b/contrib/gitian-downloader/win32-download-config
index 5d56db863e..06c164180d 100644
--- a/contrib/gitian-downloader/win32-download-config
+++ b/contrib/gitian-downloader/win32-download-config
@@ -37,3 +37,6 @@ signers:
E944AE667CF960B1004BC32FCA662BE18B877A60:
name: "Andreas Schildbach"
key: aschildbach
+ C060A6635913D98A3587D7DB1C2491FFEB0EF770:
+ name: "Cory Fields"
+ key: "cfields"
diff --git a/contrib/macdeploy/README.md b/contrib/macdeploy/README.md
index 5f0611f20c..0aa57b4777 100644
--- a/contrib/macdeploy/README.md
+++ b/contrib/macdeploy/README.md
@@ -1,9 +1,5 @@
### MacDeploy ###
-You will need the appscript package for the fancy disk image creation to work:
-
- sudo easy_install appscript
-
For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package:
sudo easy_install argparse
diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus
index 5c310df1fc..ce4169a410 100755
--- a/contrib/macdeploy/macdeployqtplus
+++ b/contrib/macdeploy/macdeployqtplus
@@ -19,7 +19,6 @@
import subprocess, sys, re, os, shutil, stat, os.path
from string import Template
-from time import sleep
from argparse import ArgumentParser
# This is ported from the original macdeployqt with modifications
@@ -488,16 +487,6 @@ if len(config.fancy) == 1:
sys.stderr.write("Error: Could not import plistlib which is required for fancy disk images.\n")
sys.exit(1)
- if verbose >= 3:
- print "Fancy: Importing appscript..."
- try:
- import appscript
- except ImportError:
- if verbose >= 1:
- sys.stderr.write("Error: Could not import appscript which is required for fancy disk images.\n")
- sys.stderr.write("Please install it e.g. with \"sudo easy_install appscript\".\n")
- sys.exit(1)
-
p = config.fancy[0]
if verbose >= 3:
print "Fancy: Loading \"%s\"..." % p
@@ -580,7 +569,7 @@ try:
except RuntimeError as e:
if verbose >= 1:
sys.stderr.write("Error: %s\n" % str(e))
- sys.exit(ret)
+ sys.exit(1)
# ------------------------------------------------
@@ -593,7 +582,7 @@ if config.plugins:
except RuntimeError as e:
if verbose >= 1:
sys.stderr.write("Error: %s\n" % str(e))
- sys.exit(ret)
+ sys.exit(1)
# ------------------------------------------------
diff --git a/contrib/verifysfbinaries/README.md b/contrib/verifysfbinaries/README.md
index f646d1efd1..8c038865bd 100644
--- a/contrib/verifysfbinaries/README.md
+++ b/contrib/verifysfbinaries/README.md
@@ -1,5 +1,5 @@
### Verify SF Binaries ###
-This script attempts to download the signature file `SHA256SUMS.asc` from SourceForge.
+This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org.
It first checks if the signature passes, and then downloads the files specified in the file, and checks if the hashes of these files match those that are specified in the signature file.
diff --git a/contrib/verifysfbinaries/verify.sh b/contrib/verifysfbinaries/verify.sh
index e92295661c..3eb4693883 100755
--- a/contrib/verifysfbinaries/verify.sh
+++ b/contrib/verifysfbinaries/verify.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-### This script attempts to download the signature file SHA256SUMS.asc from SourceForge
+### This script attempts to download the signature file SHA256SUMS.asc from bitcoin.org
### It first checks if the signature passes, and then downloads the files specified in
### the file, and checks if the hashes of these files match those that are specified
### in the signature file.
@@ -18,11 +18,11 @@ WORKINGDIR="/tmp/bitcoin"
TMPFILE="hashes.tmp"
#this URL is used if a version number is not specified as an argument to the script
-SIGNATUREFILE="http://downloads.sourceforge.net/project/bitcoin/Bitcoin/bitcoin-0.9.0rc1/SHA256SUMS.asc"
+SIGNATUREFILE="https://bitcoin.org/bin/0.9.2.1/SHA256SUMS.asc"
SIGNATUREFILENAME="SHA256SUMS.asc"
RCSUBDIR="test/"
-BASEDIR="http://downloads.sourceforge.net/project/bitcoin/Bitcoin/"
+BASEDIR="https://bitcoin.org/bin/"
VERSIONPREFIX="bitcoin-"
RCVERSIONSTRING="rc"
@@ -62,7 +62,7 @@ WGETOUT=$(wget -N "$BASEDIR$SIGNATUREFILENAME" 2>&1)
#and then see if wget completed successfully
if [ $? -ne 0 ]; then
echo "Error: couldn't fetch signature file. Have you specified the version number in the following format?"
- echo "[bitcoin-]<version>-[rc[0-9]] (example: bitcoin-0.7.1-rc1)"
+ echo "[bitcoin-]<version>-[rc[0-9]] (example: bitcoin-0.9.2-rc1)"
echo "wget output:"
echo "$WGETOUT"|sed 's/^/\t/g'
exit 2