You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
3.3 KiB
89 lines
3.3 KiB
--- |
|
name: "bitcoin" |
|
suites: |
|
- "precise" |
|
architectures: |
|
- "i386" |
|
- "amd64" |
|
packages: |
|
- "g++" |
|
- "unzip" |
|
- "zip" |
|
- "pkg-config" |
|
- "libtool" |
|
- "faketime" |
|
- "bsdmainutils" |
|
reference_datetime: "2013-06-01 00:00:00" |
|
remotes: [] |
|
files: |
|
- "openssl-1.0.1e.tar.gz" |
|
- "miniupnpc-1.8.tar.gz" |
|
- "qrencode-3.4.3.tar.bz2" |
|
- "protobuf-2.5.0.tar.bz2" |
|
- "db-4.8.30.NC.tar.gz" |
|
script: | |
|
STAGING="$HOME/install" |
|
OPTFLAGS='-O2' |
|
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 |
|
export FAKETIME=$REFERENCE_DATETIME |
|
export TZ=UTC |
|
export LIBRARY_PATH="$STAGING/lib" |
|
# Integrity Check |
|
echo "f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3 openssl-1.0.1e.tar.gz" | sha256sum -c |
|
echo "bc5f73c7b0056252c1888a80e6075787a1e1e9112b808f863a245483ff79859c miniupnpc-1.8.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.1e.tar.gz |
|
cd openssl-1.0.1e |
|
# 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 |
|
make |
|
make install_sw |
|
cd .. |
|
# |
|
tar xzfm miniupnpc-1.8.tar.gz |
|
cd miniupnpc-1.8 |
|
# miniupnpc is always built with -fPIC |
|
INSTALLPREFIX=$STAGING make $MAKEOPTS install |
|
rm -f $STAGING/lib/libminiupnpc.so* # no way to skip shared lib build |
|
cd .. |
|
# |
|
tar xjf qrencode-3.4.3.tar.bz2 |
|
cd qrencode-3.4.3 |
|
unset FAKETIME # unset fake time during configure, as it does some clock sanity tests |
|
# need --with-pic to avoid relocation error in 64 bit builds |
|
./configure --prefix=$STAGING --enable-static --disable-shared --with-pic --without-tools --disable-dependency-tracking |
|
# Workaround to prevent re-configuring by make; make all files have a date in the past |
|
find . -print0 | xargs -r0 touch -t 200001010000 |
|
export FAKETIME=$REFERENCE_DATETIME |
|
make $MAKEOPTS install |
|
cd .. |
|
# |
|
tar xjf protobuf-2.5.0.tar.bz2 |
|
cd protobuf-2.5.0 |
|
mkdir -p $STAGING/host/bin |
|
unset FAKETIME # unset fake time during configure, as it does some clock sanity tests |
|
# need --with-pic to avoid relocation error in 64 bit builds |
|
./configure --prefix=$STAGING --bindir=$STAGING/host/bin --enable-static --disable-shared --with-pic --without-zlib |
|
# Workaround to prevent re-configuring by make; make all files have a date in the past |
|
find . -print0 | xargs -r0 touch -t 200001010000 |
|
export FAKETIME=$REFERENCE_DATETIME |
|
make $MAKEOPTS install |
|
cd .. |
|
# |
|
tar xzf db-4.8.30.NC.tar.gz |
|
cd db-4.8.30.NC/build_unix |
|
# need --with-pic to avoid relocation error in 64 bit builds |
|
../dist/configure --prefix=$STAGING --enable-cxx --disable-shared --with-pic |
|
# Workaround to prevent re-configuring by make; make all files have a date in the past |
|
find . -print0 | xargs -r0 touch -t 200001010000 |
|
make $MAKEOPTS library_build |
|
make install_lib install_include |
|
cd ../.. |
|
# |
|
cd $STAGING |
|
find include lib bin host -type f | sort | zip -X@ $OUTDIR/bitcoin-deps-linux${GBUILD_BITS}-gitian-r3.zip
|
|
|