upgrade QT for desktop to 5.11.2 (solves #6053)
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
22119ccf27
commit
4f9b2d91ea
|
@ -3,7 +3,7 @@ pipeline {
|
||||||
/* privileged mode is necessary for fuse */
|
/* privileged mode is necessary for fuse */
|
||||||
docker {
|
docker {
|
||||||
label 'linux-new'
|
label 'linux-new'
|
||||||
image 'statusteam/linux-desktop-ubuntu:16.04'
|
image 'statusteam/linux-desktop-ubuntu:qt-5.11.2'
|
||||||
args (
|
args (
|
||||||
"--privileged "+
|
"--privileged "+
|
||||||
"-v /dev/fuse:/dev/fuse "+
|
"-v /dev/fuse:/dev/fuse "+
|
||||||
|
@ -32,7 +32,7 @@ pipeline {
|
||||||
LC_ALL = 'en_US.UTF-8'
|
LC_ALL = 'en_US.UTF-8'
|
||||||
NPM_CONFIG_CACHE = '/var/tmp/npm'
|
NPM_CONFIG_CACHE = '/var/tmp/npm'
|
||||||
LEIN_HOME = '/var/tmp/lein'
|
LEIN_HOME = '/var/tmp/lein'
|
||||||
QT_PATH = '/opt/qt59'
|
QT_PATH = '/opt/qt'
|
||||||
STATUSIM_APPIMAGE = '/opt/StatusImAppImage.zip'
|
STATUSIM_APPIMAGE = '/opt/StatusImAppImage.zip'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ pipeline {
|
||||||
LANG = 'en_US.UTF-8'
|
LANG = 'en_US.UTF-8'
|
||||||
LANGUAGE = 'en_US.UTF-8'
|
LANGUAGE = 'en_US.UTF-8'
|
||||||
LC_ALL = 'en_US.UTF-8'
|
LC_ALL = 'en_US.UTF-8'
|
||||||
QT_PATH = '/Users/administrator/qt/5.9.1'
|
QT_PATH = '/usr/local/opt/qt'
|
||||||
PATH = "${env.QT_PATH}/clang_64/bin:${env.PATH}"
|
PATH = "/usr/local/opt/qt/bin:${env.PATH}"
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
|
|
@ -1,18 +1,5 @@
|
||||||
common = load 'ci/common.groovy'
|
common = load 'ci/common.groovy'
|
||||||
|
|
||||||
def uploadArtifact() {
|
|
||||||
def artifact_dir = pwd() + '/android/app/build/outputs/apk/release/'
|
|
||||||
println (artifact_dir + 'app-release.apk')
|
|
||||||
def artifact = (artifact_dir + 'app-release.apk')
|
|
||||||
def server = Artifactory.server('artifacts')
|
|
||||||
def filename = "im.status.ethereum-${GIT_COMMIT.take(6)}-n-fl.apk"
|
|
||||||
def newArtifact = (artifact_dir + filename)
|
|
||||||
sh "cp ${artifact} ${newArtifact}"
|
|
||||||
def uploadSpec = '{ "files": [ { "pattern": "*apk/release/' + filename + '", "target": "nightlies-local" }]}'
|
|
||||||
def buildInfo = server.upload(uploadSpec)
|
|
||||||
return 'http://artifacts.status.im:8081/artifactory/nightlies-local/' + filename
|
|
||||||
}
|
|
||||||
|
|
||||||
def compile(type = 'nightly') {
|
def compile(type = 'nightly') {
|
||||||
common.tagBuild()
|
common.tagBuild()
|
||||||
def gradleOpt = "-PbuildUrl='${currentBuild.absoluteUrl}' "
|
def gradleOpt = "-PbuildUrl='${currentBuild.absoluteUrl}' "
|
||||||
|
|
|
@ -1,22 +1,33 @@
|
||||||
FROM ubuntu:16.04 AS qt_build
|
FROM ubuntu:16.04 AS qt_build
|
||||||
|
|
||||||
|
ARG QT_VERSION
|
||||||
|
|
||||||
RUN apt-get update && apt-get -y install \
|
RUN apt-get update && apt-get -y install \
|
||||||
git libx11-xcb1 libxss1 libasound2 libfontconfig1 libdbus-1-3 && \
|
git libx11-xcb1 libxss1 libasound2 libfontconfig1 libdbus-1-3 && \
|
||||||
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
ADD qt-opensource-linux-x64-5.9.1.run /tmp/
|
# This variable defines which parts of QT will be extracted from the .run file.
|
||||||
|
# You can list available packages in a Qt .run file by using:
|
||||||
|
# extract-qt-installer --list-packages qt-installer.run
|
||||||
|
ENV QT_CI_PACKAGES qt.qt5.5112.gcc_64,qt.qt5.5112.qtwebengine.gcc_64
|
||||||
|
|
||||||
|
# We run this as part of a separate container to reduce number of stages.
|
||||||
|
# We also remove some of the static-linked binaries since they are so big.
|
||||||
|
# Crucial ones: qmake,rcc,moc,uic,qdbuscpp2xml,qdbusxml2cpp,lrelease,lupdate,lconvert
|
||||||
|
ADD qt-opensource-linux-x64-${QT_VERSION}.run /tmp/
|
||||||
RUN git clone --depth=1 https://github.com/benlau/qtci.git /tmp/qtci && \
|
RUN git clone --depth=1 https://github.com/benlau/qtci.git /tmp/qtci && \
|
||||||
/tmp/qtci/bin/extract-qt-installer /tmp/qt-opensource-linux-x64-5.9.1.run /opt/qt && \
|
/tmp/qtci/bin/extract-qt-installer --disable-progress-report \
|
||||||
cd /opt/qt && \
|
/tmp/qt-opensource-linux-x64-${QT_VERSION}.run /opt/qt-all && \
|
||||||
rm -fr Examples Docs Tools 5.9.1/android_armv7 \
|
find /opt/qt-all/${QT_VERSION}/gcc_64/bin -type f -regextype posix-egrep -regex \
|
||||||
MaintenanceTool.dat MaintenanceTool MaintenanceTool.ini
|
'.*\/(qdoc|qgltf|linguist|designer|assistant|qhelpconverter|qmlprofiler)$' -delete
|
||||||
|
|
||||||
FROM ubuntu:16.04
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
COPY --from=qt_build /opt/qt /opt/qt
|
ARG QT_VERSION
|
||||||
RUN ln -s /opt/qt/5.9.1/gcc_64/mkspecs /usr/local/mkspecs && \
|
|
||||||
ln -s /opt/qt/5.9.1/gcc_64/plugins /usr/local/plugins && \
|
COPY --from=qt_build /opt/qt-all/${QT_VERSION}/gcc_64 /opt/qt
|
||||||
ln -s /opt/qt/5.9.1/gcc_64 /opt/qt59
|
RUN ln -s /opt/qt/mkspecs /usr/local/mkspecs && \
|
||||||
|
ln -s /opt/qt/plugins /usr/local/plugins
|
||||||
|
|
||||||
ENV LANG en_US.UTF-8 \
|
ENV LANG en_US.UTF-8 \
|
||||||
LC_ALL en_US.UTF-8 \
|
LC_ALL en_US.UTF-8 \
|
||||||
|
@ -24,18 +35,19 @@ ENV LANG en_US.UTF-8 \
|
||||||
LEIN_HOME /var/tmp/lein \
|
LEIN_HOME /var/tmp/lein \
|
||||||
NPM_CONFIG_CACHE /var/tmp/npm
|
NPM_CONFIG_CACHE /var/tmp/npm
|
||||||
|
|
||||||
# We have to do this because Jenkins doens't let us
|
# We have to do this because Jenkins doesn't let us
|
||||||
# https://issues.jenkins-ci.org/browse/JENKINS-49076
|
# https://issues.jenkins-ci.org/browse/JENKINS-49076
|
||||||
ENV PATH /opt/qt59/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
ENV PATH /opt/qt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
RUN apt-get update && apt-get -y --no-install-recommends install curl software-properties-common && \
|
RUN apt-get update && apt-get -q -y --no-install-recommends install curl software-properties-common && \
|
||||||
curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
|
curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
|
||||||
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||||
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
|
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
|
||||||
add-apt-repository -y ppa:longsleep/golang-backports && \
|
add-apt-repository -y ppa:longsleep/golang-backports && \
|
||||||
apt-get remove -y software-properties-common && \
|
apt-get remove -y software-properties-common && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
apt-get -q -y --no-install-recommends install \
|
||||||
wget git unzip golang-go nodejs yarn file python \
|
wget git unzip golang-go nodejs yarn file python \
|
||||||
apt-transport-https locales openjdk-8-jdk-headless \
|
apt-transport-https locales openjdk-8-jdk-headless \
|
||||||
extra-cmake-modules build-essential gcc g++ fuse \
|
extra-cmake-modules build-essential gcc g++ fuse \
|
||||||
|
|
|
@ -1,16 +1,23 @@
|
||||||
GIT_COMMIT = $(shell git rev-parse --short HEAD)
|
GIT_COMMIT = $(shell git rev-parse --short HEAD)
|
||||||
|
|
||||||
IMAGE_NAME = statusteam/linux-desktop-ubuntu:16.04
|
# WARNING: Change version in Dockerfile too
|
||||||
QT_MD5SUM = b8dd904894ac6b09076b5f61d8b9d71a
|
QT_VERSION = 5.11.2
|
||||||
QT_ARCHIVE = qt-opensource-linux-x64-5.9.1.run
|
QT_VER_MJR = 5.11
|
||||||
|
QT_ARCHIVE = qt-opensource-linux-x64-$(QT_VERSION).run
|
||||||
|
QT_MD5SUM = 974fda61267cfb6e45984ee5f0a285f8
|
||||||
|
QT_URL = https://download.qt.io/archive/qt
|
||||||
|
|
||||||
|
IMAGE_TAG = qt-$(QT_VERSION)
|
||||||
|
IMAGE_NAME = statusteam/linux-desktop-ubuntu:$(IMAGE_TAG)
|
||||||
|
|
||||||
build: $(QT_ARCHIVE)
|
build: $(QT_ARCHIVE)
|
||||||
docker build \
|
docker build \
|
||||||
--label "commit=$(GIT_COMMIT)" \
|
--build-arg="QT_VERSION=$(QT_VERSION)" \
|
||||||
|
--label="commit=$(GIT_COMMIT)" \
|
||||||
-t $(IMAGE_NAME) .
|
-t $(IMAGE_NAME) .
|
||||||
|
|
||||||
$(QT_ARCHIVE):
|
$(QT_ARCHIVE):
|
||||||
wget https://download.qt.io/archive/qt/5.9/5.9.1/$(QT_ARCHIVE)
|
wget $(QT_URL)/$(QT_VER_MJR)/$(QT_VERSION)/$(QT_ARCHIVE)
|
||||||
echo "$(QT_MD5SUM) $(QT_ARCHIVE)" | md5sum --check
|
echo "$(QT_MD5SUM) $(QT_ARCHIVE)" | md5sum --check
|
||||||
|
|
||||||
push: build
|
push: build
|
||||||
|
|
|
@ -237,7 +237,7 @@ function bundleMacOS() {
|
||||||
cp -f ../deployment/macos/qt-reportApp.conf Status.app/Contents/Resources
|
cp -f ../deployment/macos/qt-reportApp.conf Status.app/Contents/Resources
|
||||||
ln -sf ../Resources/qt-reportApp.conf Status.app/Contents/MacOS/qt.conf
|
ln -sf ../Resources/qt-reportApp.conf Status.app/Contents/MacOS/qt.conf
|
||||||
install_name_tool -add_rpath "@executable_path/../Frameworks" \
|
install_name_tool -add_rpath "@executable_path/../Frameworks" \
|
||||||
-delete_rpath "$(joinExistingPath "$QT_PATH" 'clang_64/lib')" \
|
-delete_rpath "${QT_PATH}/lib" \
|
||||||
'Status.app/Contents/MacOS/reportApp'
|
'Status.app/Contents/MacOS/reportApp'
|
||||||
cp -f ../deployment/macos/Info.plist Status.app/Contents
|
cp -f ../deployment/macos/Info.plist Status.app/Contents
|
||||||
cp -f ../deployment/macos/status-icon.icns Status.app/Contents/Resources
|
cp -f ../deployment/macos/status-icon.icns Status.app/Contents/Resources
|
||||||
|
|
Loading…
Reference in New Issue