Commit 2c39143c authored by Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez 🐧

Android: Update to Qt 5.11

parent cc1af73c
......@@ -13,4 +13,4 @@ cacheLocation:
SUSEQt5.9: "/srv/archives/production/SUSEQt5.9/"
SUSEQt5.10: "/srv/archives/production/SUSEQt5.10/"
FreeBSDQt5.10: "/usr/home/jenkins/archives/production/"
AndroidQt5.10: "/srv/archives/production/AndroidQt5.10/"
AndroidQt5.11: "/srv/archives/production/AndroidQt5.11/"
......@@ -13,4 +13,4 @@ cacheLocation:
SUSEQt5.9: "/srv/archives/sandbox/SUSEQt5.9/"
SUSEQt5.10: "/srv/archives/sandbox/SUSEQt5.10/"
FreeBSDQt5.10: "/usr/home/jenkins/archives/sandbox/"
AndroidQt5.10: "/srv/archives/sandbox/AndroidQt5.10/"
AndroidQt5.11: "/srv/archives/sandbox/AndroidQt5.11/"
......@@ -15,7 +15,7 @@ allPlatforms = {
'FreeBSDQt5.10': 'FreeBSD',
'WindowsMSVCQt5.10': 'Windows',
None: 'MacOSX',
'AndroidQt5.10': 'Android'
'AndroidQt5.11': 'Android'
}
resolver = Buildable.DependencyResolver()
......
......@@ -27,7 +27,7 @@
- "frameworks/kjobwidgets"
- "frameworks/kcompletion"
platforms:
- "AndroidQt5.10"
- "AndroidQt5.11"
branchGroups:
- "kf5-qt5"
notifications:
......
......@@ -29,7 +29,7 @@
- 'kde/kdeedu/marble'
- 'kde/kdegraphics/libs/libkgeomap'
'AndroidQt5.10':
'AndroidQt5.11':
- 'frameworks/polkit-qt-1' # requires glib2
- 'frameworks/kwallet' # requires gpgme
- 'frameworks/kactivities' # requires boost
......
# https://github.com/rabits/dockerfiles/blob/master/5.10-android/Dockerfile
FROM rabits/qt:5.10-android
# https://github.com/rabits/dockerfiles/blob/master/5.11-android/Dockerfile
FROM rabits/qt:5.11-android
LABEL Description="KDE Android SDK"
MAINTAINER Aleix Pol Gonzalez
......@@ -39,24 +39,19 @@ ENV PATH="/opt/cmake/bin:${PATH}"
RUN $QT_ANDROID/src/3rdparty/gradle/gradlew
# pull some generally required deps
RUN GIT_EXTRA="--single-branch --branch 5.10" /opt/helpers/build-qt qtscript git://code.qt.io/qt/qtscript.git
RUN GIT_EXTRA="--single-branch --branch 5.11" /opt/helpers/build-qt qtscript git://code.qt.io/qt/qtscript.git
RUN /opt/helpers/build-cmake-native extra-cmake-modules kde:extra-cmake-modules -DCMAKE_INSTALL_PREFIX=/opt/kdeandroid-deps -DCMAKE_PREFIX_PATH="$QT_ANDROID;/opt/kdeandroid-deps"
RUN /opt/helpers/build-cmake libintl-lite https://github.com/j-jorge/libintl-lite.git
# compile kf5 tooling
RUN cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.10 && cd qtbase \
RUN cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.11 && cd qtbase \
&& QMAKESPEC= ./configure -prefix /opt/nativetooling -opensource -confirm-license -no-gui -release -optimize-size -nomake tests -nomake examples -no-feature-concurrent \
&& QMAKESPEC= make -j`nproc` && QMAKESPEC= make install && rm -rf ~/qtbase
RUN /opt/helpers/build-cmake-native kconfig kde:kconfig -DCMAKE_INSTALL_PREFIX=/opt/nativetooling -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH=/opt/kdeandroid-deps/ -DBUILD_TESTING=OFF -DQt5_DIR=/opt/nativetooling/lib/cmake/Qt5 -DKCONFIG_USE_GUI=OFF
RUN /opt/helpers/build-cmake-native kcoreaddons kde:kcoreaddons -DCMAKE_INSTALL_PREFIX=/opt/nativetooling -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH=/opt/kdeandroid-deps/ -DBUILD_TESTING=OFF -DQt5Core_DIR=/opt/nativetooling/lib/cmake/Qt5Core -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=ON
# Replace androiddeployqt with the patched version
COPY qt5-qttools-unmetdepsnotverbose.patch /tmp
RUN cd && git clone git://code.qt.io/qt/qttools.git --single-branch --branch 5.10 && cd qttools \
&& git fetch https://codereview.qt-project.org/qt/qttools refs/changes/36/222736/2 && git format-patch -1 --stdout FETCH_HEAD | patch -p1 \
&& git fetch https://codereview.qt-project.org/qt/qttools refs/changes/37/222737/2 && git format-patch -1 --stdout FETCH_HEAD | patch -p1 \
# https://codereview.qt-project.org/#/c/226870/
&& patch -p1 < /tmp/qt5-qttools-unmetdepsnotverbose.patch \
# Replace androiddeployqt with dev, which has a bunch of patches we need (at least until Qt 5.12)
RUN cd && git clone git://code.qt.io/qt/qttools.git --single-branch --branch dev && cd qttools \
&& cd src/androiddeployqt && QMAKESPEC= qmake && make -j`nproc` && sudo make install && rm -rf ~/qttools
COPY build-standalone /opt/helpers
......@@ -71,9 +66,9 @@ RUN EXTRA=cmake /opt/helpers/build-cmake dbus git://anongit.freedesktop.org/git/
#build qtdbus
RUN sudo sed -i.bak "s|#define QT_NO_DBUS|//#define QT_NO_DBUS //we install it separate from the SDK|g" $QT_ANDROID/include/QtCore/qconfig.h \
&& sudo sed -i.bak "s/QT_FEATURE_dbus -1/QT_FEATURE_dbus 1/g" $QT_ANDROID/include/QtCore/5.10.1/QtCore/private/qconfig_p.h \
&& sudo sed -i.bak "s/QT_FEATURE_dbus_linked -1/QT_FEATURE_dbus_linked 1/g" $QT_ANDROID/include/QtCore/5.10.1/QtCore/private/qconfig_p.h \
&& cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.10 && cd qtbase/src/dbus && qmake && make -j`nproc` && sudo make install && cd && rm -rf qtbase \
&& sudo sed -i.bak "s/QT_FEATURE_dbus -1/QT_FEATURE_dbus 1/g" $QT_ANDROID/include/QtCore/5.11.0/QtCore/private/qconfig_p.h \
&& sudo sed -i.bak "s/QT_FEATURE_dbus_linked -1/QT_FEATURE_dbus_linked 1/g" $QT_ANDROID/include/QtCore/5.11.0/QtCore/private/qconfig_p.h \
&& cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.11 && cd qtbase/src/dbus && qmake && make -j`nproc` && sudo make install && cd && rm -rf qtbase \
&& sudo ln -s /opt/nativetooling/bin/qdbusxml2cpp $QT_ANDROID/bin/ \
&& sudo ln -s /opt/nativetooling/bin/qdbuscpp2xml $QT_ANDROID/bin/
......
......@@ -3,7 +3,7 @@ FROM ubuntu:16.04
# inspired by rabits/qt which we use for the gcc toolkit
MAINTAINER Aleix Pol <aleixpol@kde.org>
ARG QT_VERSION=5.10.1
ARG QT_VERSION=5.11.0
ARG NDK_VERSION=r16b
ARG SDK_PLATFORM=android-21
ARG SDK_BUILD_TOOLS=21.1.2
......@@ -117,7 +117,7 @@ ENV PATH="/opt/cmake/bin:${PATH}"
RUN $QT_ANDROID/src/3rdparty/gradle/gradlew
# pull some generally required deps
RUN GIT_EXTRA="--single-branch --branch 5.10" /opt/helpers/build-qt qtscript git://code.qt.io/qt/qtscript.git
RUN GIT_EXTRA="--single-branch --branch 5.11" /opt/helpers/build-qt qtscript git://code.qt.io/qt/qtscript.git
# needs to be after building qt, otherwise it breaks weirdly
ENV ANDROID_NDK_TOOLCHAIN_VERSION clang
......@@ -127,19 +127,14 @@ RUN /opt/helpers/build-cmake-native extra-cmake-modules kde:extra-cmake-modules
RUN /opt/helpers/build-cmake libintl-lite https://github.com/j-jorge/libintl-lite.git
# compile kf5 tooling
RUN cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.10 && cd qtbase \
RUN cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.11 && cd qtbase \
&& QMAKESPEC= ./configure -prefix /opt/nativetooling -opensource -confirm-license -no-gui -release -optimize-size -nomake tests -nomake examples -no-feature-concurrent \
&& QMAKESPEC= make -j`nproc` && QMAKESPEC= make install && rm -rf ~/qtbase
RUN /opt/helpers/build-cmake-native kconfig kde:kconfig -DCMAKE_INSTALL_PREFIX=/opt/nativetooling -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH=/opt/kdeandroid-deps/ -DBUILD_TESTING=OFF -DQt5_DIR=/opt/nativetooling/lib/cmake/Qt5 -DKCONFIG_USE_GUI=OFF
RUN /opt/helpers/build-cmake-native kcoreaddons kde:kcoreaddons -DCMAKE_INSTALL_PREFIX=/opt/nativetooling -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH=/opt/kdeandroid-deps/ -DBUILD_TESTING=OFF -DQt5Core_DIR=/opt/nativetooling/lib/cmake/Qt5Core -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=ON
# Replace androiddeployqt with the patched version
COPY qt5-qttools-unmetdepsnotverbose.patch /tmp
RUN cd && git clone git://code.qt.io/qt/qttools.git --single-branch --branch 5.10 && cd qttools \
&& git fetch https://codereview.qt-project.org/qt/qttools refs/changes/36/222736/2 && git format-patch -1 --stdout FETCH_HEAD | patch -p1 \
&& git fetch https://codereview.qt-project.org/qt/qttools refs/changes/37/222737/2 && git format-patch -1 --stdout FETCH_HEAD | patch -p1 \
# https://codereview.qt-project.org/#/c/226870/
&& patch -p1 < /tmp/qt5-qttools-unmetdepsnotverbose.patch \
# Replace androiddeployqt with dev, which has a bunch of patches we need (at least until Qt 5.12)
RUN cd && git clone git://code.qt.io/qt/qttools.git --single-branch --branch dev && cd qttools \
&& cd src/androiddeployqt && QMAKESPEC= qmake && make -j`nproc` && sudo make install && rm -rf ~/qttools
COPY build-standalone /opt/helpers
......@@ -158,9 +153,9 @@ RUN EXTRA=cmake /opt/helpers/build-cmake dbus git://anongit.freedesktop.org/git/
#build qtdbus
RUN unset ANDROID_NDK_TOOLCHAIN_VERSION \
&& sudo sed -i.bak "s|#define QT_NO_DBUS|//#define QT_NO_DBUS //we install it separate from the SDK|g" $QT_ANDROID/include/QtCore/qconfig.h \
&& sudo sed -i.bak "s/QT_FEATURE_dbus -1/QT_FEATURE_dbus 1/g" $QT_ANDROID/include/QtCore/5.10.1/QtCore/private/qconfig_p.h \
&& sudo sed -i.bak "s/QT_FEATURE_dbus_linked -1/QT_FEATURE_dbus_linked 1/g" $QT_ANDROID/include/QtCore/5.10.1/QtCore/private/qconfig_p.h \
&& cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.10 && cd qtbase/src/dbus && qmake && make -j`nproc` && sudo make install && cd && rm -rf qtbase \
&& sudo sed -i.bak "s/QT_FEATURE_dbus -1/QT_FEATURE_dbus 1/g" $QT_ANDROID/include/QtCore/5.11.0/QtCore/private/qconfig_p.h \
&& sudo sed -i.bak "s/QT_FEATURE_dbus_linked -1/QT_FEATURE_dbus_linked 1/g" $QT_ANDROID/include/QtCore/5.11.0/QtCore/private/qconfig_p.h \
&& cd && git clone git://code.qt.io/qt/qtbase.git --single-branch --branch 5.11 && cd qtbase/src/dbus && qmake && make -j`nproc` && sudo make install && cd && rm -rf qtbase \
&& sudo ln -s /opt/nativetooling/bin/qdbusxml2cpp $QT_ANDROID/bin/ \
&& sudo ln -s /opt/nativetooling/bin/qdbuscpp2xml $QT_ANDROID/bin/
......
......@@ -17,7 +17,7 @@ git clone kde:kde-build-metadata || true
popd
# we figure out the dependencies
all_packages=$(python3 ci-tooling/helpers/list-dependencies.py $package $EXTRA_PKGS --platform AndroidQt5.10)
all_packages=$(python3 ci-tooling/helpers/list-dependencies.py $package $EXTRA_PKGS --platform AndroidQt5.11)
echo "Dependencies to build: $all_packages"
blacklist="`cat $DIR/skip` $SKIP $package"
......@@ -36,7 +36,7 @@ do
continue
fi
arguments=$(python3 ci-tooling/helpers/getsetting.py --project $a --product Frameworks --platform AndroidQt5.10 --key cmake-options)
arguments=$(python3 ci-tooling/helpers/getsetting.py --project $a --product Frameworks --platform AndroidQt5.11 --key cmake-options)
build-cmake $a kde:$a $arguments -DBUILD_TESTING=OFF -GNinja
done
......@@ -61,7 +61,7 @@ else
fi
targetname=`python3 $DIR/target-from-appdata.py $appdataFile | tr '\n' ';' | head -c -1`
fi
arguments=$(python3 ci-tooling/helpers/getsetting.py --project $package --product Applications --platform AndroidQt5.10 --key cmake-options)
arguments=$(python3 ci-tooling/helpers/getsetting.py --project $package --product Applications --platform AndroidQt5.11 --key cmake-options)
build-cmake $package kde:$package -DANDROID_SDK_BUILD_TOOLS_REVISION=21.1.2 -DQTANDROID_EXPORTED_TARGET=$targetname $EXTRA $arguments $@
pushd build/$package
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment