2011-02-01 18:27:14 +01:00
|
|
|
---
|
|
|
|
name: "bitcoin"
|
|
|
|
suites:
|
2014-01-14 13:20:30 +01:00
|
|
|
- "precise"
|
2011-02-01 18:27:14 +01:00
|
|
|
architectures:
|
|
|
|
- "i386"
|
|
|
|
- "amd64"
|
|
|
|
packages:
|
2014-01-31 21:37:43 +01:00
|
|
|
- "g++"
|
2011-02-01 18:27:14 +01:00
|
|
|
- "git-core"
|
2011-08-23 14:33:53 +02:00
|
|
|
- "unzip"
|
2012-02-15 20:42:51 +01:00
|
|
|
- "pkg-config"
|
2013-05-28 01:55:01 +02:00
|
|
|
- "autoconf2.13"
|
|
|
|
- "libtool"
|
|
|
|
- "automake"
|
|
|
|
- "faketime"
|
2013-09-10 21:15:10 +02:00
|
|
|
- "bsdmainutils"
|
2014-04-25 20:29:05 +02:00
|
|
|
- "libqt4-core"
|
|
|
|
- "libqt4-gui"
|
|
|
|
- "libqt4-dbus"
|
|
|
|
- "libqt4-network"
|
|
|
|
- "libqt4-test"
|
2013-07-22 08:50:39 +02:00
|
|
|
reference_datetime: "2013-06-01 00:00:00"
|
2011-02-01 18:27:14 +01:00
|
|
|
remotes:
|
|
|
|
- "url": "https://github.com/bitcoin/bitcoin.git"
|
|
|
|
"dir": "bitcoin"
|
|
|
|
files:
|
2014-06-05 15:44:35 +02:00
|
|
|
- "bitcoin-deps-linux32-gitian-r6.zip"
|
|
|
|
- "bitcoin-deps-linux64-gitian-r6.zip"
|
2014-01-15 20:01:27 +01:00
|
|
|
- "boost-linux32-1.55.0-gitian-r1.zip"
|
|
|
|
- "boost-linux64-1.55.0-gitian-r1.zip"
|
2014-04-25 20:29:05 +02:00
|
|
|
- "qt-linux32-4.6.4-gitian-r1.tar.gz"
|
|
|
|
- "qt-linux64-4.6.4-gitian-r1.tar.gz"
|
2011-02-01 18:27:14 +01:00
|
|
|
script: |
|
2013-05-28 01:55:01 +02:00
|
|
|
STAGING="$HOME/install"
|
2014-01-14 13:20:30 +01:00
|
|
|
OPTFLAGS='-O2'
|
2014-01-15 10:12:24 +01:00
|
|
|
BINDIR="${OUTDIR}/bin/${GBUILD_BITS}" # 32/64 bit build specific output directory
|
2014-02-05 16:44:58 +01:00
|
|
|
TEMPDIR="$HOME/tempdir"
|
|
|
|
export TZ=UTC
|
2013-05-28 01:55:01 +02:00
|
|
|
export LIBRARY_PATH="$STAGING/lib"
|
2014-04-25 20:29:05 +02:00
|
|
|
export PATH="$STAGING/bin:$PATH"
|
2014-01-15 10:12:24 +01:00
|
|
|
mkdir -p ${BINDIR}
|
2011-04-28 01:26:14 +02:00
|
|
|
#
|
2014-01-15 10:12:24 +01:00
|
|
|
mkdir -p $STAGING
|
|
|
|
cd $STAGING
|
2014-06-05 15:44:35 +02:00
|
|
|
unzip ../build/bitcoin-deps-linux${GBUILD_BITS}-gitian-r6.zip
|
2014-01-15 20:01:27 +01:00
|
|
|
unzip ../build/boost-linux${GBUILD_BITS}-1.55.0-gitian-r1.zip
|
2014-04-25 20:29:05 +02:00
|
|
|
tar -zxf ../build/qt-linux${GBUILD_BITS}-4.6.4-gitian-r1.tar.gz
|
2014-01-15 10:12:24 +01:00
|
|
|
cd ../build
|
2014-03-20 12:03:36 +01:00
|
|
|
|
2014-04-30 08:17:22 +02:00
|
|
|
# Avoid exporting *any* symbols from the executable
|
|
|
|
# This avoids conflicts between the libraries statically linked into bitcoin and any
|
|
|
|
# libraries we may link dynamically (such as Qt and OpenSSL, see issue #4094).
|
|
|
|
# It also avoids start-up overhead to not export any unnecessary symbols.
|
|
|
|
# To do this, build a linker script that marks all symbols as local.
|
|
|
|
LINKER_SCRIPT=$HOME/build/linker_version_script
|
|
|
|
echo '
|
|
|
|
{
|
|
|
|
local: *;
|
|
|
|
};' > $LINKER_SCRIPT
|
2014-03-20 12:03:36 +01:00
|
|
|
function do_configure {
|
2014-07-22 15:01:51 +02:00
|
|
|
./configure "$@" --enable-upnp-default --prefix=$STAGING --with-protoc-bindir=$STAGING/host/bin --with-qt-bindir=$STAGING/bin --with-boost=$STAGING --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib -Wl,--version-script=$LINKER_SCRIPT ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}" --enable-glibc-back-compat
|
2014-03-20 12:03:36 +01:00
|
|
|
}
|
2014-01-14 13:20:30 +01:00
|
|
|
#
|
2011-04-28 01:26:14 +02:00
|
|
|
cd bitcoin
|
2013-05-28 01:55:01 +02:00
|
|
|
./autogen.sh
|
2014-03-20 12:03:36 +01:00
|
|
|
do_configure
|
2013-05-28 01:55:01 +02:00
|
|
|
make dist
|
2014-02-05 16:44:58 +01:00
|
|
|
DISTNAME=`echo bitcoin-*.tar.gz`
|
2014-03-20 12:03:36 +01:00
|
|
|
|
|
|
|
# Build dynamic versions of everything
|
|
|
|
# (with static linking to boost and openssl as well a some non-OS deps)
|
2013-05-28 01:55:01 +02:00
|
|
|
mkdir -p distsrc
|
|
|
|
cd distsrc
|
2014-02-05 16:44:58 +01:00
|
|
|
tar --strip-components=1 -xf ../$DISTNAME
|
2014-03-20 12:03:36 +01:00
|
|
|
do_configure --bindir=$BINDIR
|
2011-10-14 17:38:37 +02:00
|
|
|
make $MAKEOPTS
|
2013-05-28 01:55:01 +02:00
|
|
|
make $MAKEOPTS install-strip
|
2014-03-20 12:03:36 +01:00
|
|
|
make $MAKEOPTS clean
|
|
|
|
|
2014-02-05 16:44:58 +01:00
|
|
|
# sort distribution tar file and normalize user/group/mtime information for deterministic output
|
2013-05-28 01:55:01 +02:00
|
|
|
mkdir -p $OUTDIR/src
|
2014-02-05 16:44:58 +01:00
|
|
|
rm -rf $TEMPDIR
|
|
|
|
mkdir -p $TEMPDIR
|
|
|
|
cd $TEMPDIR
|
|
|
|
tar -xvf $HOME/build/bitcoin/$DISTNAME | sort | tar --no-recursion -cT /dev/stdin --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 --mtime="$REFERENCE_DATETIME" | gzip -n > $OUTDIR/src/$DISTNAME
|