text: ---
  name: "bitcoin"
  suites:
  - "precise"
  architectures:
  - "i386"
  - "amd64"
  packages: 
  - "g++"
  - "git-core"
  - "unzip"
  - "pkg-config"
  - "autoconf2.13"
  - "libtool"
  - "automake"
  - "faketime"
  - "bsdmainutils"
  - "libqt4-core"
  - "libqt4-gui"
  - "libqt4-dbus"
  - "libqt4-network"
  - "libqt4-test"
  reference_datetime: "2013-06-01 00:00:00"
  remotes:
  - "url": "https://github.com/bitcoin/bitcoin.git"
    "dir": "bitcoin"
  files:
  - "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"
  - "qt-linux64-4.6.4-gitian-r1.tar.gz"
  script: |
    STAGING="$HOME/install"
    OPTFLAGS='-O2'
    BINDIR="${OUTDIR}/bin/${GBUILD_BITS}" # 32/64 bit build specific output directory
    TEMPDIR="$HOME/tempdir"
    export TZ=UTC
    export LIBRARY_PATH="$STAGING/lib"
    export PATH="$STAGING/bin:$PATH"
    mkdir -p ${BINDIR}
    #
    mkdir -p $STAGING
    cd $STAGING
    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
  
    # 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
    function do_configure {
        ./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}" BOOST_CHRONO_EXTRALIBS="-lrt" --enable-glibc-back-compat
    }
    #
    cd bitcoin
    ./autogen.sh
    do_configure
    make dist
    DISTNAME=`echo bitcoin-*.tar.gz`
  
    # Build dynamic versions of everything
    # (with static linking to boost and openssl as well a some non-OS deps)
    mkdir -p distsrc
    cd distsrc
    tar --strip-components=1 -xf ../$DISTNAME
    do_configure --bindir=$BINDIR 
    make $MAKEOPTS
    make $MAKEOPTS install-strip
    make $MAKEOPTS clean
  
    # sort distribution tar file and normalize user/group/mtime information for deterministic output
    mkdir -p $OUTDIR/src
    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
  