]> Git Repo - VerusCoin.git/blame - contrib/gitian-descriptors/gitian-osx-qt.yml
secp256k1: add libtool as a dependency
[VerusCoin.git] / contrib / gitian-descriptors / gitian-osx-qt.yml
CommitLineData
1a97b22b
CF
1---
2name: "osx-qt"
3suites:
4- "precise"
5architectures:
6- "i386"
7packages:
8- "git-core"
9- "automake"
10- "p7zip-full"
11
12reference_datetime: "2013-06-01 00:00:00"
13remotes: []
14files:
15- "qt-everywhere-opensource-src-5.2.1.tar.gz"
2869b134 16- "osx-native-depends-r3.tar.gz"
6e7c4d17 17- "osx-depends-r4.tar.gz"
2869b134 18- "MacOSX10.7.sdk.tar.gz"
1a97b22b
CF
19
20script: |
21
22 echo "84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1 qt-everywhere-opensource-src-5.2.1.tar.gz" | sha256sum -c
1a97b22b 23
6e7c4d17 24 REVISION=r4
1a97b22b
CF
25 export SOURCES_PATH=`pwd`
26 export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
27 export ZERO_AR_DATE=1
28
29 export TZ=UTC
30
31 REAL_DATE=`which date`
32 echo '#!/bin/bash' > $HOME/date
33 echo "$REAL_DATE -d \"${REFERENCE_DATETIME}\" \"\$@\"" >> $HOME/date
34
35 chmod +x $HOME/date
36 export PATH=$HOME:$PATH
37
38 mkdir -p osx-cross-depends/build
39 cd osx-cross-depends
40
41 PREFIX=`pwd`/prefix
42 NATIVEPREFIX=`pwd`/native-prefix
43 BUILD_BASE=`pwd`/build
2869b134 44 SDK=`pwd`/SDKs/MacOSX10.7.sdk
1a97b22b
CF
45 HOST=x86_64-apple-darwin11
46 MIN_VERSION=10.6
47
48 INT_CFLAGS="-target ${HOST} -mmacosx-version-min=${MIN_VERSION} --sysroot ${SDK} -msse2 -Qunused-arguments"
49 INT_CXXFLAGS="${INT_CFLAGS}"
50 INT_LDFLAGS="-L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1"
51 INT_LDFLAGS_CLANG="-B${NATIVEPREFIX}/bin"
52 INT_CPPFLAGS="-I${PREFIX}/include"
53 INT_CC=clang
54 INT_CXX=clang++
55 INT_OBJC=clang
56 INT_OBJCXX=clang++
57 INT_AR=${HOST}-ar
58 INT_RANLIB=${HOST}-ranlib
59 INT_LIBTOOL=${HOST}-libtool
60 INT_INSTALL_NAME_TOOL=${HOST}-install_name_tool
61
62 export PATH=${NATIVEPREFIX}/bin:${PATH}
63
64 mkdir -p ${NATIVEPREFIX}/bin
65 mkdir -p ${NATIVEPREFIX}/lib
66 mkdir -p ${PREFIX}/bin
67 mkdir -p ${PREFIX}/lib
68 mkdir -p ${BUILD_BASE}
69
1a97b22b 70 mkdir -p SDKs
2869b134
CF
71 tar -C SDKs -xf ${SOURCES_PATH}/MacOSX10.7.sdk.tar.gz
72
73 tar xf /home/ubuntu/build/osx-native-depends-r3.tar.gz
1a97b22b 74
1a97b22b 75 export PATH=`pwd`/native-prefix/bin:$PATH
6e7c4d17 76 tar xf /home/ubuntu/build/osx-depends-r4.tar.gz
1a97b22b
CF
77
78 SOURCE_FILE=${SOURCES_PATH}/qt-everywhere-opensource-src-5.2.1.tar.gz
79 BUILD_DIR=${BUILD_BASE}/qt-everywhere-opensource-src-5.2.1
80
81
82 tar -C ${BUILD_BASE} -xf ${SOURCE_FILE}
83
84 # Install our mkspec. All files are pulled from the macx-clang spec, except for
85 # our custom qmake.conf
86 SPECFILE=${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/qmake.conf
87
88 mkdir -p ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux
89 cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/Info.plist.lib ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/
90 cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/Info.plist.app ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/
91 cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/qplatformdefs.h ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/
92
93 cat > ${SPECFILE} <<ENDCONF
94
95 MAKEFILE_GENERATOR = UNIX
96 CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname
97 QMAKE_INCREMENTAL_STYLE = sublib
98
99 include(../common/macx.conf)
100 include(../common/gcc-base-mac.conf)
101 include(../common/clang.conf)
102 include(../common/clang-mac.conf)
103
104 QMAKE_XCODE_VERSION=4.3
105 QMAKE_XCODE_DEVELOPER_PATH=/Developer
106
107 QMAKE_MACOSX_DEPLOYMENT_TARGET = ${MIN_VERSION}
108
109 QMAKE_MAC_SDK=macosx
110 QMAKE_MAC_SDK.macosx.path = ${SDK}
111 QMAKE_MAC_SDK.macosx.platform_name = macosx
112 QMAKE_MAC_SDK_PATH=${SDK}
113
114 QMAKE_CFLAGS += -target ${HOST}
115 QMAKE_OBJECTIVE_CFLAGS += -target ${HOST}
116 QMAKE_CXXFLAGS += -target ${HOST}
117
118 QMAKE_LFLAGS += -target ${HOST}
119 QMAKE_AR = ${HOST}-ar cq
120 QMAKE_RANLIB=${HOST}-ranlib
121 QMAKE_LIBTOOL=${HOST}-libtool
122 QMAKE_INSTALL_NAME_TOOL=${HOST}-install_name_tool
123
124 load(qt_config)
125
126 ENDCONF
127
128 pushd ${BUILD_DIR}
129 ./configure -release -opensource -openssl-linked \
130 -no-audio-backend -no-javascript-jit -no-sql-sqlite -no-sql-tds \
131 -no-cups -no-iconv -no-dbus -no-gif -no-audio-backend -no-freetype \
132 -no-javascript-jit -no-sql-sqlite -no-nis -no-cups -no-iconv -no-pch \
133 -no-dbus -no-gif -no-sm -nomake examples -no-feature-style-plastique \
134 -no-xcb -no-qml-debug -no-pch -no-nis \
135 -no-feature-style-cde -no-feature-style-s60 -no-feature-style-motif \
136 -no-feature-style-windowsmobile -no-feature-style-windowsce \
137 -no-feature-style-cleanlooks \
138 -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql \
139 -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
140 -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtserialport \
141 -skip qtdeclarative -skip qtmultimedia -skip qtimageformats \
142 -skip qtlocation -skip qtsensors -skip qtquick1 -skip qtxmlpatterns \
143 -skip qtquickcontrols -skip qtactiveqt -skip qtconnectivity \
144 -skip qtwinextras -skip qtscript \
145 -prefix ${PREFIX} -bindir ${NATIVEPREFIX}/bin \
146 -confirm-license -xplatform macx-clang-linux -v ${INT_LDFLAGS}
147
148 # RCC's output is sorted using each file entry's hash as the key. Unfortunately,
149 # the hash function uses a random seed for each run so the results aren't
150 # deterministic. This leads to static resources being defined in a random order,
151 # which in-turn means that object files are not predictable.
152 # Fortunately, this upsets Qt's unit tests as well, so they've added the
153 # QT_RCC_TEST environment variable to set a pre-defined seed. Here, do the same
154 # thing for the same reason.
155 QT_RCC_TEST=1 make $MAKEOPTS module-qtbase-make_first
156
157
158 make $MAKEOPTS module-qttranslations-make_first
159 make $MAKEOPTS module-qttools-make_first
160 make $MAKEOPTS -C qtbase
161 make -C qtbase install
162 make -C qttranslations install
163 make -C qttools/src/linguist install
164 popd
165
166 # This file should not be installed to the destination. It's native and
167 # non-deterministic. Remove it.
168 # See: https://bugreports.qt-project.org/browse/QTBUG-31393
169 rm -f ${PREFIX}/lib/libQt5Bootstrap.a
170
171 rm -f ${PREFIX}/lib/Qt*.framework/Qt*.prl
172 pushd ${PREFIX}/include
173 ln -sf ../lib/QtNetwork.framework/Headers/ QtNetwork
174 ln -sf ../lib/QtWidgets.framework/Headers/ QtWidgets
175 ln -sf ../lib/QtGui.framework/Headers/ QtGui
176 ln -sf ../lib/QtCore.framework/Headers/ QtCore
177 ln -sf ../lib/QtTest.framework/Headers/ QtTest
178 popd
179
180 rm -f ${PREFIX}/lib/*.la
181 find ${PREFIX}/lib -name "*.prl" -delete
182
183 export GZIP="-9n"
184 find native-prefix prefix | sort | tar --no-recursion -czf osx-depends-qt-5.2.1-${REVISION}.tar.gz -T -
185
186 mv osx-depends-qt-5.2.1-${REVISION}.tar.gz $OUTDIR
This page took 0.040058 seconds and 4 git commands to generate.