mirror of
https://github.com/dogecoin/dogecoin.git
synced 2026-02-25 06:39:01 +00:00
gitian: Bump miniupnp version to 1.9.20140701
Also change build system: STATICLIB is now MINIUPNP_STATICLIB.
This commit is contained in:
parent
d6a5e742aa
commit
f99f24cb8e
@ -603,7 +603,7 @@ else
|
||||
AC_MSG_RESULT($use_upnp_default)
|
||||
AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state])
|
||||
if test x$TARGET_OS = xwindows; then
|
||||
CPPFLAGS="$CPPFLAGS -DSTATICLIB"
|
||||
CPPFLAGS="$CPPFLAGS -DMINIUPNP_STATICLIB"
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
|
||||
@ -17,7 +17,7 @@ reference_datetime: "2013-06-01 00:00:00"
|
||||
remotes: []
|
||||
files:
|
||||
- "openssl-1.0.1i.tar.gz"
|
||||
- "miniupnpc-1.9.tar.gz"
|
||||
- "miniupnpc-1.9.20140701.tar.gz"
|
||||
- "qrencode-3.4.3.tar.bz2"
|
||||
- "protobuf-2.5.0.tar.bz2"
|
||||
- "db-5.1.29.NC.tar.gz"
|
||||
@ -31,7 +31,7 @@ script: |
|
||||
export LIBRARY_PATH="$STAGING/lib"
|
||||
# Integrity Check
|
||||
echo "3c179f46ca77069a6a0bac70212a9b3b838b2f66129cb52d568837fc79d8fcc7 openssl-1.0.1i.tar.gz" | sha256sum -c
|
||||
echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c
|
||||
echo "26f3985bad7768b8483b793448ae49414cdc4451d0ec83e7c1944367e15f9f07 miniupnpc-1.9.20140701.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 "08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz" | sha256sum -c
|
||||
@ -46,8 +46,8 @@ script: |
|
||||
make install_sw
|
||||
cd ..
|
||||
#
|
||||
tar xzfm miniupnpc-1.9.tar.gz
|
||||
cd miniupnpc-1.9
|
||||
tar xzfm miniupnpc-1.9.20140701.tar.gz
|
||||
cd miniupnpc-1.9.20140701
|
||||
# miniupnpc is always built with -fPIC
|
||||
INSTALLPREFIX=$STAGING make $MAKEOPTS install
|
||||
rm -f $STAGING/lib/libminiupnpc.so* # no way to skip shared lib build
|
||||
@ -95,4 +95,4 @@ script: |
|
||||
done
|
||||
#
|
||||
cd $STAGING
|
||||
find include lib bin host | sort | zip -X@ $OUTDIR/dogecoin-deps-linux${GBUILD_BITS}-gitian-r7.zip
|
||||
find include lib bin host | sort | zip -X@ $OUTDIR/dogecoin-deps-linux${GBUILD_BITS}-gitian-r8.zip
|
||||
|
||||
@ -16,7 +16,7 @@ remotes: []
|
||||
files:
|
||||
- "openssl-1.0.1i.tar.gz"
|
||||
- "db-5.1.29.NC.tar.gz"
|
||||
- "miniupnpc-1.9.tar.gz"
|
||||
- "miniupnpc-1.9.20140701.tar.gz"
|
||||
- "zlib-1.2.8.tar.gz"
|
||||
- "libpng-1.6.8.tar.gz"
|
||||
- "qrencode-3.4.3.tar.bz2"
|
||||
@ -30,7 +30,7 @@ script: |
|
||||
# Input Integrity Check
|
||||
echo "3c179f46ca77069a6a0bac70212a9b3b838b2f66129cb52d568837fc79d8fcc7 openssl-1.0.1i.tar.gz" | sha256sum -c
|
||||
echo "08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz" | sha256sum -c
|
||||
echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c
|
||||
echo "26f3985bad7768b8483b793448ae49414cdc4451d0ec83e7c1944367e15f9f07 miniupnpc-1.9.20140701.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
|
||||
@ -69,8 +69,8 @@ script: |
|
||||
make install_lib install_include
|
||||
cd ../..
|
||||
#
|
||||
tar xzf $INDIR/miniupnpc-1.9.tar.gz
|
||||
cd miniupnpc-1.9
|
||||
tar xzf $INDIR/miniupnpc-1.9.20140701.tar.gz
|
||||
cd miniupnpc-1.9.20140701
|
||||
echo "
|
||||
--- miniupnpc-1.9/Makefile.mingw.orig 2013-09-29 18:52:51.014087958 -1000
|
||||
+++ miniupnpc-1.9/Makefile.mingw 2013-09-29 19:09:29.663318691 -1000
|
||||
@ -126,5 +126,5 @@ script: |
|
||||
done
|
||||
#
|
||||
cd $INSTALLPREFIX
|
||||
find include lib | sort | zip -X@ $OUTDIR/dogecoin-deps-win$BITS-gitian-r14.zip
|
||||
find include lib | sort | zip -X@ $OUTDIR/dogecoin-deps-win$BITS-gitian-r15.zip
|
||||
done # for BITS in
|
||||
|
||||
@ -25,8 +25,8 @@ remotes:
|
||||
- "url": "https://github.com/dogecoin/dogecoin.git"
|
||||
"dir": "dogecoin"
|
||||
files:
|
||||
- "dogecoin-deps-linux32-gitian-r7.zip"
|
||||
- "dogecoin-deps-linux64-gitian-r7.zip"
|
||||
- "dogecoin-deps-linux32-gitian-r8.zip"
|
||||
- "dogecoin-deps-linux64-gitian-r8.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,13 +43,13 @@ script: |
|
||||
#
|
||||
mkdir -p $STAGING
|
||||
cd $STAGING
|
||||
unzip ../build/dogecoin-deps-linux${GBUILD_BITS}-gitian-r7.zip
|
||||
unzip ../build/dogecoin-deps-linux${GBUILD_BITS}-gitian-r8.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
|
||||
# This avoids conflicts between the libraries statically linked into dogecoin 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.
|
||||
|
||||
60
contrib/gitian-descriptors/gitian-osx-bitcoin.yml
Normal file
60
contrib/gitian-descriptors/gitian-osx-bitcoin.yml
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
name: "dogecoin"
|
||||
suites:
|
||||
- "precise"
|
||||
architectures:
|
||||
- "i386"
|
||||
packages:
|
||||
- "git-core"
|
||||
- "automake"
|
||||
- "faketime"
|
||||
- "bsdmainutils"
|
||||
- "pkg-config"
|
||||
- "p7zip-full"
|
||||
|
||||
reference_datetime: "2013-06-01 00:00:00"
|
||||
remotes:
|
||||
- "url": "https://github.com/dogecoin/dogecoin.git"
|
||||
"dir": "dogecoin"
|
||||
files:
|
||||
- "osx-native-depends-r3.tar.gz"
|
||||
- "osx-depends-r6.tar.gz"
|
||||
- "osx-depends-qt-5.2.1-r5.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-r6.tar.gz
|
||||
tar -C osx-cross-depends -xf osx-depends-qt-5.2.1-r5.tar.gz
|
||||
export PATH=`pwd`/osx-cross-depends/native-prefix/bin:$PATH
|
||||
|
||||
cd dogecoin
|
||||
|
||||
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 ../dogecoin-*.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 Dogecoin-Qt.dmg $OUTDIR/Dogecoin-Qt.dmg
|
||||
159
contrib/gitian-descriptors/gitian-osx-depends.yml
Normal file
159
contrib/gitian-descriptors/gitian-osx-depends.yml
Normal file
@ -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.20140701.tar.gz"
|
||||
- "openssl-1.0.1i.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 "26f3985bad7768b8483b793448ae49414cdc4451d0ec83e7c1944367e15f9f07 miniupnpc-1.9.20140701.tar.gz" | sha256sum -c
|
||||
echo "3c179f46ca77069a6a0bac70212a9b3b838b2f66129cb52d568837fc79d8fcc7 openssl-1.0.1i.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=r6
|
||||
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.1i.tar.gz
|
||||
BUILD_DIR=${BUILD_BASE}/openssl-1.0.1i
|
||||
|
||||
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.20140701.tar.gz
|
||||
BUILD_DIR=${BUILD_BASE}/miniupnpc-1.9.20140701
|
||||
|
||||
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
|
||||
186
contrib/gitian-descriptors/gitian-osx-qt.yml
Normal file
186
contrib/gitian-descriptors/gitian-osx-qt.yml
Normal file
@ -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-r6.tar.gz"
|
||||
- "MacOSX10.7.sdk.tar.gz"
|
||||
|
||||
script: |
|
||||
|
||||
echo "84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1 qt-everywhere-opensource-src-5.2.1.tar.gz" | sha256sum -c
|
||||
|
||||
REVISION=r5
|
||||
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-r6.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
|
||||
@ -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"
|
||||
- "dogecoin-deps-win32-gitian-r14.zip"
|
||||
- "dogecoin-deps-win64-gitian-r14.zip"
|
||||
- "dogecoin-deps-win32-gitian-r15.zip"
|
||||
- "dogecoin-deps-win64-gitian-r15.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/dogecoin-deps-win${BITS}-gitian-r14.zip
|
||||
unzip $INDIR/dogecoin-deps-win${BITS}-gitian-r15.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
|
||||
|
||||
@ -15,8 +15,8 @@ reference_datetime: "2011-01-30 00:00:00"
|
||||
remotes: []
|
||||
files:
|
||||
- "qt-everywhere-opensource-src-5.2.0.tar.gz"
|
||||
- "dogecoin-deps-win32-gitian-r14.zip"
|
||||
- "dogecoin-deps-win64-gitian-r14.zip"
|
||||
- "dogecoin-deps-win32-gitian-r15.zip"
|
||||
- "dogecoin-deps-win64-gitian-r15.zip"
|
||||
script: |
|
||||
# Defines
|
||||
export TZ=UTC
|
||||
@ -48,7 +48,7 @@ script: |
|
||||
#
|
||||
# Need mingw-compiled openssl from dogecoin-deps:
|
||||
cd $DEPSDIR
|
||||
unzip $INDIR/dogecoin-deps-win${BITS}-gitian-r14.zip
|
||||
unzip $INDIR/dogecoin-deps-win${BITS}-gitian-r15.zip
|
||||
#
|
||||
cd $BUILDDIR
|
||||
#
|
||||
|
||||
@ -37,7 +37,7 @@ 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.9.tar.gz' -O miniupnpc-1.9.tar.gz
|
||||
wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20140701.tar.gz' -O miniupnpc-1.9.20140701.tar.gz
|
||||
wget 'https://www.openssl.org/source/openssl-1.0.1i.tar.gz'
|
||||
wget 'http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz'
|
||||
wget 'http://zlib.net/zlib-1.2.8.tar.gz'
|
||||
@ -67,16 +67,16 @@ Release Process
|
||||
|
||||
The expected SHA256 hashes of the intermediate inputs are:
|
||||
|
||||
d517e84a79fdcdebfdb3405aa91fb2e53bce9fb760d34b9dda611db8813ae7a3 dogecoin-deps-linux32-gitian-r6.zip
|
||||
2c275eecbe11b4b29620fac523ccc30c35c45dbac096ed7d0a117467c95b1b13 dogecoin-deps-linux64-gitian-r6.zip
|
||||
b66e8374031adf8d5309c046615fe4f561c3a7e3c1f6885675c13083db0c4d3b dogecoin-deps-linux32-gitian-r8.zip
|
||||
ec83deb4e81bea5ac1fb5e3f1b88cd02ca665306f0c2290ef4f19b974525005e dogecoin-deps-linux64-gitian-r8.zip
|
||||
f29b7d9577417333fb56e023c2977f5726a7c297f320b175a4108cf7cd4c2d29 boost-linux32-1.55.0-gitian-r1.zip
|
||||
88232451c4104f7eb16e469ac6474fd1231bd485687253f7b2bdf46c0781d535 boost-linux64-1.55.0-gitian-r1.zip
|
||||
57e57dbdadc818cd270e7e00500a5e1085b3bcbdef69a885f0fb7573a8d987e1 qt-linux32-4.6.4-gitian-r1.tar.gz
|
||||
60eb4b9c5779580b7d66529efa5b2836ba1a70edde2a0f3f696d647906a826be qt-linux64-4.6.4-gitian-r1.tar.gz
|
||||
60dc2d3b61e9c7d5dbe2f90d5955772ad748a47918ff2d8b74e8db9b1b91c909 boost-win32-1.55.0-gitian-r6.zip
|
||||
f65fcaf346bc7b73bc8db3a8614f4f6bee2f61fcbe495e9881133a7c2612a167 boost-win64-1.55.0-gitian-r6.zip
|
||||
2d9d16006c61a23ecb82e3d440599aa324d2b48ada58a2c017b5ca0d74a1bab3 dogecoin-deps-win32-gitian-r13.zip
|
||||
0fea0b372c2586713d3c277e4a36d1ca518591f59097a1f23ed095124505b71b dogecoin-deps-win64-gitian-r13.zip
|
||||
9c2572b021b3b50dc9441f2e96d672ac1da4cb6c9f88a1711aa0234882f353cf dogecoin-deps-win32-gitian-r15.zip
|
||||
94e9f6d861140d9130a15830eba40eba4c8c830440506ac7cc0d1e3217293c25 dogecoin-deps-win64-gitian-r15.zip
|
||||
963e3e5e85879010a91143c90a711a5d1d5aba992e38672cdf7b54e42c56b2f1 qt-win32-5.2.0-gitian-r3.zip
|
||||
751c579830d173ef3e6f194e83d18b92ebef6df03289db13ab77a52b6bc86ef0 qt-win64-5.2.0-gitian-r3.zip
|
||||
e2e403e1a08869c7eed4d4293bce13d51ec6a63592918b90ae215a0eceb44cb4 protobuf-win32-2.5.0-gitian-r4.zip
|
||||
@ -155,15 +155,16 @@ repackage gitian builds for release as stand-alone zip/tar/installer exe
|
||||
Commit your signature to gitian.sigs:
|
||||
|
||||
pushd gitian.sigs
|
||||
git add ${VERSION}/${SIGNER}
|
||||
git add ${VERSION}-linux/${SIGNER}
|
||||
git add ${VERSION}-win/${SIGNER}
|
||||
git add ${VERSION}-osx/${SIGNER}
|
||||
git commit -a
|
||||
git push # Assuming you can push to the gitian.sigs tree
|
||||
popd
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
### After 3 or more people have gitian-built, repackage gitian-signed zips:
|
||||
### After 3 or more people have gitian-built and their results match:
|
||||
|
||||
From a directory containing dogecoin source, gitian.sigs and gitian zips
|
||||
|
||||
@ -193,6 +194,21 @@ From a directory containing dogecoin source, gitian.sigs and gitian zips
|
||||
cp dogecoin-${VERSION}-win-gitian.zip ../
|
||||
popd
|
||||
|
||||
- Code-sign MacOSX .dmg
|
||||
|
||||
Note: only Gavin has the code-signing keys currently.
|
||||
|
||||
- Create `SHA256SUMS.asc` for builds, and PGP-sign it. This is done manually.
|
||||
Include all the files to be uploaded. The file has `sha256sum` format with a
|
||||
simple header at the top:
|
||||
|
||||
```
|
||||
Hash: SHA256
|
||||
|
||||
0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54 bitcoin-x.y.z-linux.tar.gz
|
||||
...
|
||||
```
|
||||
|
||||
- Upload gitian zips to SourceForge
|
||||
|
||||
- Announce the release:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user