6e7c4d17d8
Upgrade for https://www.openssl.org/news/secadv_20140605.txt Just in case - there is no vulnerability that affects ecdsa signing or verification. The MITM attack vulnerability (CVE-2014-0224) may have some effect on our usage of SSL/TLS. As long as payment requests are signed (which is the common case), usage of the payment protocol should also not be affected. The TLS usage in RPC may be at risk for MITM attacks. If you have `-rpcssl` enabled, be sure to update OpenSSL as soon as possible.
186 lines
6.1 KiB
YAML
186 lines
6.1 KiB
YAML
---
|
|
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
|