From 1c5b013b6fd32bb23d71abead9a0da72da7c7335 Mon Sep 17 00:00:00 2001 From: q66 Date: Mon, 20 Jan 2020 18:59:21 +0100 Subject: [PATCH] calligra: use webkit instead of webengine on big endian and arm32 --- srcpkgs/calligra/files/gemini-webkit.patch | 59 ++++++++++++++++++++++ srcpkgs/calligra/template | 28 ++++++++-- 2 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/calligra/files/gemini-webkit.patch diff --git a/srcpkgs/calligra/files/gemini-webkit.patch b/srcpkgs/calligra/files/gemini-webkit.patch new file mode 100644 index 00000000000..c11c86b3c5a --- /dev/null +++ b/srcpkgs/calligra/files/gemini-webkit.patch @@ -0,0 +1,59 @@ +From 41ec43e4a5c2f8a0b5cfc025d2a1159b2d0dfb2d Mon Sep 17 00:00:00 2001 +From: q66 +Date: Mon, 20 Jan 2020 18:53:06 +0100 +Subject: [PATCH] gemini: restore WebKit support for dropbox + +Reverts upstream 23e6060411e4eac69d79458515a27db6963e51cd. + +This allows Gemini to be used on systems without support for +Qt5 WebEngine. +--- + .../qml/welcomepages/cloud/dropbox/DropboxWebView.qml | 10 +++++----- + gemini/qml/welcomepages/cloud/dropbox/LoginPage.qml | 1 + + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/gemini/qml/welcomepages/cloud/dropbox/DropboxWebView.qml b/gemini/qml/welcomepages/cloud/dropbox/DropboxWebView.qml +index 9f4bb7a..3a21379 100644 +--- a/gemini/qml/welcomepages/cloud/dropbox/DropboxWebView.qml ++++ b/gemini/qml/welcomepages/cloud/dropbox/DropboxWebView.qml +@@ -17,20 +17,20 @@ + */ + + import QtQuick 2.0 +-import QtWebEngine 1.5 ++import QtWebKit 3.0 + import org.kde.kirigami 2.1 as Kirigami + import QtQuick.Controls 1.4 as QtControls + +-WebEngineView { ++WebView { + id: webView + anchors.fill: parent + + // experimental.userAgent: "Mozilla/5.0 (Linux; U; like Android 4.0.3; ko-kr; Jolla Build/Alpha) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30" + onLoadingChanged: { +- if(loadRequest.status == WebEngineView.LoadSucceededStatus) { ++ if(status == WebView.LoadSucceededStatus) { + tryingText.visible = false; +- if(loadRequest.url.toString().length === 48) { controllerMIT.oauth_v1_access_token() } +- // if(loadRequest.url.toString().length === 140) experimental.test.touchTap(webView, 100, 150) ++ if(url.toString().length === 48) { controllerMIT.oauth_v1_access_token() } ++ // if(url.toString().length === 140) experimental.test.touchTap(webView, 100, 150) + } + } + +diff --git a/gemini/qml/welcomepages/cloud/dropbox/LoginPage.qml b/gemini/qml/welcomepages/cloud/dropbox/LoginPage.qml +index 6a02f7b..6680beb 100644 +--- a/gemini/qml/welcomepages/cloud/dropbox/LoginPage.qml ++++ b/gemini/qml/welcomepages/cloud/dropbox/LoginPage.qml +@@ -17,6 +17,7 @@ + */ + + import QtQuick 2.0 ++import QtWebKit 3.0 + import "../../../components" + + Page { +-- +2.24.0 + diff --git a/srcpkgs/calligra/template b/srcpkgs/calligra/template index 4db2f7145e6..1e45fa65891 100644 --- a/srcpkgs/calligra/template +++ b/srcpkgs/calligra/template @@ -1,11 +1,11 @@ # Template file for 'calligra' pkgname=calligra version=3.1.0 -revision=23 +revision=24 build_style=cmake configure_args="-Wno-dev -DCALLIGRA_SHOULD_BUILD_UNMAINTAINED=ON -DBUILD_TESTING=OFF" -hostmakedepends="perl pkg-config extra-cmake-modules" +hostmakedepends="perl pkg-config extra-cmake-modules gettext" makedepends="akonadi-contacts-devel akonadi5-devel ecm-devel eigen3.2 exiv2-devel kactivities5-devel gsl-devel kcmutils-devel kcontacts-devel kdelibs4support-devel kdiagram-devel @@ -31,6 +31,16 @@ depends="calligra-filters calligra-libs calligra-plugins calligra-karbon calligra-kexi calligra-stage calligra-sheets calligra-extras calligra-words calligra-handbook calligra-gemini calligra-plan" +build_options="webengine" +desc_option_webengine="Use Qt5 WebEngine for Calligra Gemini" + +if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then + # webengine does not cross-build from 64bit to 32bit, use webkit + if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then + build_options_default="webengine" + fi +fi + CXXFLAGS="-DKDE_NO_DEBUG_OUTPUT" if [ "$CROSS_BUILD" ]; then @@ -38,6 +48,13 @@ if [ "$CROSS_BUILD" ]; then configure_args+=" -DMODERN_ICONV_RUN=1 -DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" fi +post_patch() { + [ "$build_option_webengine" ] && return 0 + + msg_normal "Applying gemini-webkit.patch\n" + patch -sNp1 -i ${FILESDIR}/gemini-webkit.patch +} + # cmake doesn't detect the functions correctly pre_build() { case $XBPS_TARGET_MACHINE in @@ -150,7 +167,12 @@ calligra-devtools_package() { } calligra-gemini_package() { short_desc+=" - QML interface for Calligra Words and Stage" - depends="qt5-quickcontrols kirigami2 qt5-webengine" + depends="qt5-quickcontrols kirigami2" + if [ "$build_option_webengine" ]; then + depends+=" qt5-webengine" + else + depends+=" qt5-webkit" + fi pkg_install() { cd ${wrksrc}/build/components make DESTDIR=$PKGDESTDIR install