Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
@ 2021-02-11 20:25 yopito
  2021-02-11 20:35 ` ericonr
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: yopito @ 2021-02-11 20:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1814 bytes --]

There is a new pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages nextcloud.312
https://github.com/void-linux/void-packages/pull/28674

[WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [x] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/28674.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nextcloud.312-28674.patch --]
[-- Type: text/x-diff, Size: 18081 bytes --]

From d91513f2c86862cfe9c790834d243c3a8c59e9cb Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Thu, 11 Feb 2021 21:21:49 +0100
Subject: [PATCH] nextcloud-client: update to 3.1.2, remove shibboleth and
 wekbit support

* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
---
 .../patches/no-webengine-support.patch        | 371 ------------------
 .../patches/no-webengine-support.patch.args   |   1 -
 srcpkgs/nextcloud-client/patches/qt5.15.patch |  10 -
 srcpkgs/nextcloud-client/template             |  24 +-
 4 files changed, 7 insertions(+), 399 deletions(-)
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
 delete mode 100644 srcpkgs/nextcloud-client/patches/qt5.15.patch

diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
deleted file mode 100644
index 0d2642870c6..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-source: https://github.com/nextcloud/desktop/pull/2204/
-*partial* pick since 2nd commit 1f577e5 is broken ("Try to preserve flow2")
-
-src/gui/CMakeLists.txt diff modified to support nextcloud client 3.1.0
-(git commit is then partially modified)
-
-From 5b6bde1c206c9b1edb0472a823776bdc91488db3 Mon Sep 17 00:00:00 2001
-From: Max Rees <maxcrees@me.com>
-Date: Sun, 23 Feb 2020 23:09:29 -0600
-Subject: [PATCH 1/2] Add support for compiling without QtWebEngine (webflow /
- flow2 support)
-
-Signed-off-by: Max Rees <maxcrees@me.com>
-Signed-off-by: theova <theova@member.fsf.org>
----
- CMakeLists.txt                       |  7 +++++++
- src/CMakeLists.txt                   |  6 +++++-
- src/gui/CMakeLists.txt               | 24 ++++++++++++++-------
- src/gui/accountmanager.cpp           |  2 ++
- src/gui/creds/credentialsfactory.cpp |  4 ++++
- src/gui/wizard/owncloudsetuppage.cpp |  4 ++++
- src/gui/wizard/owncloudwizard.cpp    | 31 +++++++++++++++++++++++++++-
- src/gui/wizard/owncloudwizard.h      |  6 ++++++
- src/libsync/networkjobs.cpp          |  8 +++++++
- 9 files changed, 82 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5df238838..4a333dbdd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,13 @@ if(NO_SHIBBOLETH)
-    add_definitions(-DNO_SHIBBOLETH=1)
- endif()
- 
-+# Disable webengine-based components
-+option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
-+if(NO_WEBENGINE)
-+   message("Compiling without webengine")
-+   add_definitions(-DNO_WEBENGINE=1)
-+endif()
-+
- if(APPLE)
-   set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index a79edfcfb..c8ef114a4 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -4,7 +4,11 @@ endif()
- 
- set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
- 
--find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
-+find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent REQUIRED)
-+
-+if(NOT NO_WEBENGINE)
-+    find_package(Qt5 5.12 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
-+endif()
- 
- if(NOT TOKEN_AUTH_ONLY)
-     find_package(Qt5Keychain REQUIRED)
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index 2f1e99e2b..c5be00c37 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -119,23 +119,16 @@
-     creds/credentialsfactory.cpp
-     creds/httpcredentialsgui.cpp
-     creds/oauth.cpp
--    creds/flow2auth.cpp
--    creds/webflowcredentials.cpp
--    creds/webflowcredentialsdialog.cpp
-     wizard/postfixlineedit.cpp
-     wizard/abstractcredswizardpage.cpp
-     wizard/owncloudadvancedsetuppage.cpp
-     wizard/owncloudconnectionmethoddialog.cpp
-     wizard/owncloudhttpcredspage.cpp
-     wizard/owncloudoauthcredspage.cpp
--    wizard/flow2authcredspage.cpp
--    wizard/flow2authwidget.cpp
-     wizard/owncloudsetuppage.cpp
-     wizard/owncloudwizardcommon.cpp
-     wizard/owncloudwizard.cpp
-     wizard/owncloudwizardresultpage.cpp
--    wizard/webviewpage.cpp
--    wizard/webview.cpp
-     wizard/slideshow.cpp
- )
- 
-@@ -156,6 +149,18 @@
-     )
- endif()
- 
-+IF(NOT NO_WEBENGINE)
-+    list(APPEND client_SRCS
-+        creds/flow2auth.cpp
-+        creds/webflowcredentials.cpp
-+        creds/webflowcredentialsdialog.cpp
-+        wizard/flow2authcredspage.cpp
-+        wizard/flow2authwidget.cpp
-+        wizard/webviewpage.cpp
-+        wizard/webview.cpp
-+    )
-+endif()
-+
- IF( APPLE )
-     list(APPEND client_SRCS cocoainitializer_mac.mm)
-     list(APPEND client_SRCS socketapisocket_mac.mm)
-@@ -328,8 +333,11 @@
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
-         INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE};${CMAKE_INSTALL_RPATH}" )
- 
--target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2 Qt5::WebEngineWidgets)
-+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2)
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
-+IF(NOT NO_WEBENGINE)
-+    target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::WebEngineWidgets )
-+endif()
- IF(BUILD_UPDATER)
-     target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
- endif()
-diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
-index 34c4cbc3e..372c52f44 100644
---- a/src/gui/accountmanager.cpp
-+++ b/src/gui/accountmanager.cpp
-@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-         acc->setUrl(urlConfig.toUrl());
-     }
- 
-+#ifndef NO_WEBENGINE
-     // Migrate to webflow
-     if (authType == QLatin1String("http")) {
-         authType = "webflow";
-@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-             settings.remove(key);
-         }
-     }
-+#endif
- 
-     qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- 
-diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
-index 6062f70eb..723196d08 100644
---- a/src/gui/creds/credentialsfactory.cpp
-+++ b/src/gui/creds/credentialsfactory.cpp
-@@ -21,7 +21,9 @@
- #ifndef NO_SHIBBOLETH
- #include "creds/shibbolethcredentials.h"
- #endif
-+#ifndef NO_WEBENGINE
- #include "creds/webflowcredentials.h"
-+#endif
- 
- namespace OCC {
- 
-@@ -40,8 +42,10 @@ namespace CredentialsFactory {
-         } else if (type == "shibboleth") {
-             return new ShibbolethCredentials;
- #endif
-+#ifndef NO_WEBENGINE
-         } else if (type == "webflow") {
-             return new WebFlowCredentials;
-+#endif
-         } else {
-             qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
-             return new DummyCredentials;
-diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
-index 71f1c19c9..d997125a8 100644
---- a/src/gui/wizard/owncloudsetuppage.cpp
-+++ b/src/gui/wizard/owncloudsetuppage.cpp
-@@ -139,7 +139,11 @@ void OwncloudSetupPage::slotLogin()
- void OwncloudSetupPage::slotGotoProviderList()
- {
-     _ocWizard->setRegistration(true);
-+#ifndef NO_WEBENGINE
-     _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+#else
-+    _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
-+#endif
-     _authTypeKnown = true;
-     _checking = false;
-     emit completeChanged();
-diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
-index 912222dca..463c19d48 100644
---- a/src/gui/wizard/owncloudwizard.cpp
-+++ b/src/gui/wizard/owncloudwizard.cpp
-@@ -27,8 +27,10 @@
- #endif
- #include "wizard/owncloudadvancedsetuppage.h"
- #include "wizard/owncloudwizardresultpage.h"
-+#ifndef NO_WEBENGINE
- #include "wizard/webviewpage.h"
- #include "wizard/flow2authcredspage.h"
-+#endif
- 
- #include "QProgressIndicator.h"
- 
-@@ -50,22 +52,30 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
- #ifndef NO_SHIBBOLETH
-     , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
- #endif
-+#ifndef NO_WEBENGINE
-     , _flow2CredsPage(new Flow2AuthCredsPage)
-+#endif
-     , _advancedSetupPage(new OwncloudAdvancedSetupPage)
-     , _resultPage(new OwncloudWizardResultPage)
-+#ifndef NO_WEBENGINE
-     , _webViewPage(new WebViewPage(this))
-+#endif
- {
-     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
-     setPage(WizardCommon::Page_ServerSetup, _setupPage);
-     setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
-     setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
-+#endif
- #ifndef NO_SHIBBOLETH
-     setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
- #endif
-     setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
-     setPage(WizardCommon::Page_Result, _resultPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_WebView, _webViewPage);
-+#endif
- 
-     connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
- 
-@@ -77,11 +87,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
-     connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-     connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#ifndef NO_WEBENGINE
-     connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
- #ifndef NO_SHIBBOLETH
-     connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
- #endif
-+#ifndef NO_WEBENGINE
-     connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
-     connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
-         this, &OwncloudWizard::createLocalAndRemoteFolders);
-     connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -103,12 +117,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
-     connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
-     connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
-+#ifndef NO_WEBENGINE
-     connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
-+#endif
- 
-     customizeStyle();
- 
-+#ifndef NO_WEBENGINE
-     // allow Flow2 page to poll on window activation
-     connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
-+#endif
- }
- 
- void OwncloudWizard::setAccount(AccountPtr account)
-@@ -177,9 +195,11 @@ void OwncloudWizard::successfulStep()
-         _browserCredsPage->setConnected();
-         break;
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_Flow2AuthCreds:
-         _flow2CredsPage->setConnected();
-         break;
-+#endif
- 
- #ifndef NO_SHIBBOLETH
-     case WizardCommon::Page_ShibbolethCreds:
-@@ -187,9 +207,11 @@ void OwncloudWizard::successfulStep()
-         break;
- #endif
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_WebView:
-         _webViewPage->setConnected();
-         break;
-+#endif
- 
-     case WizardCommon::Page_AdvancedSetup:
-         _advancedSetupPage->directoriesCreated();
-@@ -214,10 +236,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
- #endif
-         if (type == DetermineAuthTypeJob::OAuth) {
-         _credentialsPage = _browserCredsPage;
-+#ifndef NO_WEBENGINE
-     } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
-         _credentialsPage = _flow2CredsPage;
-     } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-         _credentialsPage = _webViewPage;
-+#endif
-     } else { // try Basic auth even for "Unknown"
-         _credentialsPage = _httpCredsPage;
-     }
-@@ -242,7 +266,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
-     }
- 
-     setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
--    if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
-+    if (id == WizardCommon::Page_AdvancedSetup
-+           && (_credentialsPage == _browserCredsPage
-+#ifndef NO_WEBENGINE
-+           || _credentialsPage == _flow2CredsPage
-+#endif
-+           )) {
-         // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
-         // to re-open the browser.
-         button(QWizard::BackButton)->setEnabled(false);
-diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
-index ee6161ca5..c0ee06403 100644
---- a/src/gui/wizard/owncloudwizard.h
-+++ b/src/gui/wizard/owncloudwizard.h
-@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
- class OwncloudWizardResultPage;
- class AbstractCredentials;
- class AbstractCredentialsWizardPage;
-+#ifndef NO_WEBENGINE
- class WebViewPage;
- class Flow2AuthCredsPage;
-+#endif
- 
- /**
-  * @brief The OwncloudWizard class
-@@ -114,11 +116,15 @@ private:
- #ifndef NO_SHIBBOLETH
-     OwncloudShibbolethCredsPage *_shibbolethCredsPage;
- #endif
-+#ifndef NO_WEBENGINE
-     Flow2AuthCredsPage *_flow2CredsPage;
-+#endif
-     OwncloudAdvancedSetupPage *_advancedSetupPage;
-     OwncloudWizardResultPage *_resultPage;
-     AbstractCredentialsWizardPage *_credentialsPage = nullptr;
-+#ifndef NO_WEBENGINE
-     WebViewPage *_webViewPage;
-+#endif
- 
-     QStringList _setupLog;
- 
-diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
-index d40ccede4..0125f778b 100644
---- a/src/libsync/networkjobs.cpp
-+++ b/src/libsync/networkjobs.cpp
-@@ -966,12 +966,20 @@ void DetermineAuthTypeJob::checkAllDone()
- 
-     // WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = WebViewFlow;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = LoginFlowV2;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // If we determined that we need the webview flow (GS for example) then we switch to that
--- 
-2.28.0
-
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
deleted file mode 100644
index 2eba1cb3c5c..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
+++ /dev/null
@@ -1 +0,0 @@
--Np1
diff --git a/srcpkgs/nextcloud-client/patches/qt5.15.patch b/srcpkgs/nextcloud-client/patches/qt5.15.patch
deleted file mode 100644
index 60d459c5fd4..00000000000
--- a/srcpkgs/nextcloud-client/patches/qt5.15.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libsync/networkjobs.cpp	2020-03-03 20:32:31.000000000 +0100
-+++ -	2020-07-05 00:46:17.255659367 +0200
-@@ -30,6 +30,7 @@
- #include <QCoreApplication>
- #include <QJsonDocument>
- #include <QJsonObject>
-+#include <QPainterPath>
- #include <QPainter>
- 
- #include "networkjobs.h"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index dc4398a6319..90f7c49bd71 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -1,18 +1,16 @@
 # Template file for 'nextcloud-client'
 pkgname=nextcloud-client
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="desktop-${version}"
 build_style=cmake
-configure_args="-Wno-dev $(vopt_if shibboleth '' '-DNO_SHIBBOLETH=True')
- $(vopt_if webengine '' '-DNO_WEBENGINE=True')"
+configure_args="-Wno-dev -DNO_SHIBBOLETH=True"
 hostmakedepends="pkg-config"
 makedepends="qt5-tools-devel qt5-declarative-devel qt5-webchannel-devel
  qt5-location-devel qtkeychain-qt5-devel sqlite-devel libcloudproviders-devel
- qt5-quickcontrols2-devel
+ qt5-quickcontrols2-devel qt5-websockets-devel qt5-svg-devel
  $(vopt_if dolphin 'extra-cmake-modules kio-devel')
- $(vopt_if shibboleth 'qt5-webkit-devel')
- $(vopt_if webengine 'qt5-webengine-devel')"
+ qt5-webengine-devel"
 depends="qt5-graphicaleffects"
 checkdepends="cmocka-devel"
 conf_files="/etc/Nextcloud/sync-exclude.lst"
@@ -21,19 +19,11 @@ maintainer="yopito <pierre.bourgin@free.fr>"
 license="GPL-2.0-or-later"
 homepage="https://nextcloud.com/clients/"
 distfiles="https://github.com/nextcloud/desktop/archive/v${version}.tar.gz"
-checksum=e296156a4de033a59f9b3210fe17fdfb8bb7aebefb715ae4e3b85e627e40a87f
+checksum=2fb2c18f479be2a04cf999f037def705c4be0087816af727038f0c71cb2c6189
 
-build_options="dolphin shibboleth webengine"
+build_options="dolphin"
 desc_option_dolphin="Build KDE dolphin support"
-desc_option_shibboleth="Build Shibboleth support (needs Qt5 WebKit)"
-desc_option_webengine="Build Qt5 WebEngine support"
-build_options_default="dolphin shibboleth"
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
-		build_options_default+=" webengine"
-	fi
-fi
+build_options_default="dolphin"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-qmake qt5-host-tools qt5-tools"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
@ 2021-02-11 20:35 ` ericonr
  2021-02-11 20:35 ` ericonr
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ericonr @ 2021-02-11 20:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 243 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-777771873

Comment:
I think we can avoid adding this to `removed-packages` for armv7l if we can move the builders to i686.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
  2021-02-11 20:35 ` ericonr
@ 2021-02-11 20:35 ` ericonr
  2021-02-11 23:27 ` paper42
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ericonr @ 2021-02-11 20:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 247 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-777771873

Comment:
I think we can avoid adding this to `removed-packages` for armv7l if we can move the arm builders to i686.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
  2021-02-11 20:35 ` ericonr
  2021-02-11 20:35 ` ericonr
@ 2021-02-11 23:27 ` paper42
  2021-02-11 23:34 ` yopito
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paper42 @ 2021-02-11 23:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 207 bytes --]

New comment by paper42 on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-777863788

Comment:
@yopito could you fix the typo in the commit message? wekbit? 😉

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (2 preceding siblings ...)
  2021-02-11 23:27 ` paper42
@ 2021-02-11 23:34 ` yopito
  2021-02-11 23:35 ` [PR PATCH] [Updated] " yopito
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-11 23:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 239 bytes --]

New comment by yopito on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-777866508

Comment:
> @yopito could you fix the typo in the commit message? wekbit? wink

nice catch ! yes of course.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (3 preceding siblings ...)
  2021-02-11 23:34 ` yopito
@ 2021-02-11 23:35 ` yopito
  2021-02-13 20:12 ` [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support yopito
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-11 23:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1819 bytes --]

There is an updated pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages nextcloud.312
https://github.com/void-linux/void-packages/pull/28674

[WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support
* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [x] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/28674.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nextcloud.312-28674.patch --]
[-- Type: text/x-diff, Size: 18081 bytes --]

From 57457d738ed89fd31421d18d0da91a8200cfbe64 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Thu, 11 Feb 2021 21:21:49 +0100
Subject: [PATCH] nextcloud-client: update to 3.1.2, remove shibboleth and
 webkit support

* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
---
 .../patches/no-webengine-support.patch        | 371 ------------------
 .../patches/no-webengine-support.patch.args   |   1 -
 srcpkgs/nextcloud-client/patches/qt5.15.patch |  10 -
 srcpkgs/nextcloud-client/template             |  24 +-
 4 files changed, 7 insertions(+), 399 deletions(-)
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
 delete mode 100644 srcpkgs/nextcloud-client/patches/qt5.15.patch

diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
deleted file mode 100644
index 0d2642870c6..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-source: https://github.com/nextcloud/desktop/pull/2204/
-*partial* pick since 2nd commit 1f577e5 is broken ("Try to preserve flow2")
-
-src/gui/CMakeLists.txt diff modified to support nextcloud client 3.1.0
-(git commit is then partially modified)
-
-From 5b6bde1c206c9b1edb0472a823776bdc91488db3 Mon Sep 17 00:00:00 2001
-From: Max Rees <maxcrees@me.com>
-Date: Sun, 23 Feb 2020 23:09:29 -0600
-Subject: [PATCH 1/2] Add support for compiling without QtWebEngine (webflow /
- flow2 support)
-
-Signed-off-by: Max Rees <maxcrees@me.com>
-Signed-off-by: theova <theova@member.fsf.org>
----
- CMakeLists.txt                       |  7 +++++++
- src/CMakeLists.txt                   |  6 +++++-
- src/gui/CMakeLists.txt               | 24 ++++++++++++++-------
- src/gui/accountmanager.cpp           |  2 ++
- src/gui/creds/credentialsfactory.cpp |  4 ++++
- src/gui/wizard/owncloudsetuppage.cpp |  4 ++++
- src/gui/wizard/owncloudwizard.cpp    | 31 +++++++++++++++++++++++++++-
- src/gui/wizard/owncloudwizard.h      |  6 ++++++
- src/libsync/networkjobs.cpp          |  8 +++++++
- 9 files changed, 82 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5df238838..4a333dbdd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,13 @@ if(NO_SHIBBOLETH)
-    add_definitions(-DNO_SHIBBOLETH=1)
- endif()
- 
-+# Disable webengine-based components
-+option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
-+if(NO_WEBENGINE)
-+   message("Compiling without webengine")
-+   add_definitions(-DNO_WEBENGINE=1)
-+endif()
-+
- if(APPLE)
-   set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index a79edfcfb..c8ef114a4 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -4,7 +4,11 @@ endif()
- 
- set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
- 
--find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
-+find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent REQUIRED)
-+
-+if(NOT NO_WEBENGINE)
-+    find_package(Qt5 5.12 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
-+endif()
- 
- if(NOT TOKEN_AUTH_ONLY)
-     find_package(Qt5Keychain REQUIRED)
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index 2f1e99e2b..c5be00c37 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -119,23 +119,16 @@
-     creds/credentialsfactory.cpp
-     creds/httpcredentialsgui.cpp
-     creds/oauth.cpp
--    creds/flow2auth.cpp
--    creds/webflowcredentials.cpp
--    creds/webflowcredentialsdialog.cpp
-     wizard/postfixlineedit.cpp
-     wizard/abstractcredswizardpage.cpp
-     wizard/owncloudadvancedsetuppage.cpp
-     wizard/owncloudconnectionmethoddialog.cpp
-     wizard/owncloudhttpcredspage.cpp
-     wizard/owncloudoauthcredspage.cpp
--    wizard/flow2authcredspage.cpp
--    wizard/flow2authwidget.cpp
-     wizard/owncloudsetuppage.cpp
-     wizard/owncloudwizardcommon.cpp
-     wizard/owncloudwizard.cpp
-     wizard/owncloudwizardresultpage.cpp
--    wizard/webviewpage.cpp
--    wizard/webview.cpp
-     wizard/slideshow.cpp
- )
- 
-@@ -156,6 +149,18 @@
-     )
- endif()
- 
-+IF(NOT NO_WEBENGINE)
-+    list(APPEND client_SRCS
-+        creds/flow2auth.cpp
-+        creds/webflowcredentials.cpp
-+        creds/webflowcredentialsdialog.cpp
-+        wizard/flow2authcredspage.cpp
-+        wizard/flow2authwidget.cpp
-+        wizard/webviewpage.cpp
-+        wizard/webview.cpp
-+    )
-+endif()
-+
- IF( APPLE )
-     list(APPEND client_SRCS cocoainitializer_mac.mm)
-     list(APPEND client_SRCS socketapisocket_mac.mm)
-@@ -328,8 +333,11 @@
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
-         INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE};${CMAKE_INSTALL_RPATH}" )
- 
--target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2 Qt5::WebEngineWidgets)
-+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2)
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
-+IF(NOT NO_WEBENGINE)
-+    target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::WebEngineWidgets )
-+endif()
- IF(BUILD_UPDATER)
-     target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
- endif()
-diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
-index 34c4cbc3e..372c52f44 100644
---- a/src/gui/accountmanager.cpp
-+++ b/src/gui/accountmanager.cpp
-@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-         acc->setUrl(urlConfig.toUrl());
-     }
- 
-+#ifndef NO_WEBENGINE
-     // Migrate to webflow
-     if (authType == QLatin1String("http")) {
-         authType = "webflow";
-@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-             settings.remove(key);
-         }
-     }
-+#endif
- 
-     qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- 
-diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
-index 6062f70eb..723196d08 100644
---- a/src/gui/creds/credentialsfactory.cpp
-+++ b/src/gui/creds/credentialsfactory.cpp
-@@ -21,7 +21,9 @@
- #ifndef NO_SHIBBOLETH
- #include "creds/shibbolethcredentials.h"
- #endif
-+#ifndef NO_WEBENGINE
- #include "creds/webflowcredentials.h"
-+#endif
- 
- namespace OCC {
- 
-@@ -40,8 +42,10 @@ namespace CredentialsFactory {
-         } else if (type == "shibboleth") {
-             return new ShibbolethCredentials;
- #endif
-+#ifndef NO_WEBENGINE
-         } else if (type == "webflow") {
-             return new WebFlowCredentials;
-+#endif
-         } else {
-             qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
-             return new DummyCredentials;
-diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
-index 71f1c19c9..d997125a8 100644
---- a/src/gui/wizard/owncloudsetuppage.cpp
-+++ b/src/gui/wizard/owncloudsetuppage.cpp
-@@ -139,7 +139,11 @@ void OwncloudSetupPage::slotLogin()
- void OwncloudSetupPage::slotGotoProviderList()
- {
-     _ocWizard->setRegistration(true);
-+#ifndef NO_WEBENGINE
-     _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+#else
-+    _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
-+#endif
-     _authTypeKnown = true;
-     _checking = false;
-     emit completeChanged();
-diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
-index 912222dca..463c19d48 100644
---- a/src/gui/wizard/owncloudwizard.cpp
-+++ b/src/gui/wizard/owncloudwizard.cpp
-@@ -27,8 +27,10 @@
- #endif
- #include "wizard/owncloudadvancedsetuppage.h"
- #include "wizard/owncloudwizardresultpage.h"
-+#ifndef NO_WEBENGINE
- #include "wizard/webviewpage.h"
- #include "wizard/flow2authcredspage.h"
-+#endif
- 
- #include "QProgressIndicator.h"
- 
-@@ -50,22 +52,30 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
- #ifndef NO_SHIBBOLETH
-     , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
- #endif
-+#ifndef NO_WEBENGINE
-     , _flow2CredsPage(new Flow2AuthCredsPage)
-+#endif
-     , _advancedSetupPage(new OwncloudAdvancedSetupPage)
-     , _resultPage(new OwncloudWizardResultPage)
-+#ifndef NO_WEBENGINE
-     , _webViewPage(new WebViewPage(this))
-+#endif
- {
-     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
-     setPage(WizardCommon::Page_ServerSetup, _setupPage);
-     setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
-     setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
-+#endif
- #ifndef NO_SHIBBOLETH
-     setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
- #endif
-     setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
-     setPage(WizardCommon::Page_Result, _resultPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_WebView, _webViewPage);
-+#endif
- 
-     connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
- 
-@@ -77,11 +87,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
-     connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-     connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#ifndef NO_WEBENGINE
-     connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
- #ifndef NO_SHIBBOLETH
-     connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
- #endif
-+#ifndef NO_WEBENGINE
-     connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
-     connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
-         this, &OwncloudWizard::createLocalAndRemoteFolders);
-     connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -103,12 +117,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
-     connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
-     connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
-+#ifndef NO_WEBENGINE
-     connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
-+#endif
- 
-     customizeStyle();
- 
-+#ifndef NO_WEBENGINE
-     // allow Flow2 page to poll on window activation
-     connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
-+#endif
- }
- 
- void OwncloudWizard::setAccount(AccountPtr account)
-@@ -177,9 +195,11 @@ void OwncloudWizard::successfulStep()
-         _browserCredsPage->setConnected();
-         break;
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_Flow2AuthCreds:
-         _flow2CredsPage->setConnected();
-         break;
-+#endif
- 
- #ifndef NO_SHIBBOLETH
-     case WizardCommon::Page_ShibbolethCreds:
-@@ -187,9 +207,11 @@ void OwncloudWizard::successfulStep()
-         break;
- #endif
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_WebView:
-         _webViewPage->setConnected();
-         break;
-+#endif
- 
-     case WizardCommon::Page_AdvancedSetup:
-         _advancedSetupPage->directoriesCreated();
-@@ -214,10 +236,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
- #endif
-         if (type == DetermineAuthTypeJob::OAuth) {
-         _credentialsPage = _browserCredsPage;
-+#ifndef NO_WEBENGINE
-     } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
-         _credentialsPage = _flow2CredsPage;
-     } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-         _credentialsPage = _webViewPage;
-+#endif
-     } else { // try Basic auth even for "Unknown"
-         _credentialsPage = _httpCredsPage;
-     }
-@@ -242,7 +266,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
-     }
- 
-     setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
--    if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
-+    if (id == WizardCommon::Page_AdvancedSetup
-+           && (_credentialsPage == _browserCredsPage
-+#ifndef NO_WEBENGINE
-+           || _credentialsPage == _flow2CredsPage
-+#endif
-+           )) {
-         // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
-         // to re-open the browser.
-         button(QWizard::BackButton)->setEnabled(false);
-diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
-index ee6161ca5..c0ee06403 100644
---- a/src/gui/wizard/owncloudwizard.h
-+++ b/src/gui/wizard/owncloudwizard.h
-@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
- class OwncloudWizardResultPage;
- class AbstractCredentials;
- class AbstractCredentialsWizardPage;
-+#ifndef NO_WEBENGINE
- class WebViewPage;
- class Flow2AuthCredsPage;
-+#endif
- 
- /**
-  * @brief The OwncloudWizard class
-@@ -114,11 +116,15 @@ private:
- #ifndef NO_SHIBBOLETH
-     OwncloudShibbolethCredsPage *_shibbolethCredsPage;
- #endif
-+#ifndef NO_WEBENGINE
-     Flow2AuthCredsPage *_flow2CredsPage;
-+#endif
-     OwncloudAdvancedSetupPage *_advancedSetupPage;
-     OwncloudWizardResultPage *_resultPage;
-     AbstractCredentialsWizardPage *_credentialsPage = nullptr;
-+#ifndef NO_WEBENGINE
-     WebViewPage *_webViewPage;
-+#endif
- 
-     QStringList _setupLog;
- 
-diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
-index d40ccede4..0125f778b 100644
---- a/src/libsync/networkjobs.cpp
-+++ b/src/libsync/networkjobs.cpp
-@@ -966,12 +966,20 @@ void DetermineAuthTypeJob::checkAllDone()
- 
-     // WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = WebViewFlow;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = LoginFlowV2;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // If we determined that we need the webview flow (GS for example) then we switch to that
--- 
-2.28.0
-
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
deleted file mode 100644
index 2eba1cb3c5c..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
+++ /dev/null
@@ -1 +0,0 @@
--Np1
diff --git a/srcpkgs/nextcloud-client/patches/qt5.15.patch b/srcpkgs/nextcloud-client/patches/qt5.15.patch
deleted file mode 100644
index 60d459c5fd4..00000000000
--- a/srcpkgs/nextcloud-client/patches/qt5.15.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libsync/networkjobs.cpp	2020-03-03 20:32:31.000000000 +0100
-+++ -	2020-07-05 00:46:17.255659367 +0200
-@@ -30,6 +30,7 @@
- #include <QCoreApplication>
- #include <QJsonDocument>
- #include <QJsonObject>
-+#include <QPainterPath>
- #include <QPainter>
- 
- #include "networkjobs.h"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index dc4398a6319..90f7c49bd71 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -1,18 +1,16 @@
 # Template file for 'nextcloud-client'
 pkgname=nextcloud-client
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="desktop-${version}"
 build_style=cmake
-configure_args="-Wno-dev $(vopt_if shibboleth '' '-DNO_SHIBBOLETH=True')
- $(vopt_if webengine '' '-DNO_WEBENGINE=True')"
+configure_args="-Wno-dev -DNO_SHIBBOLETH=True"
 hostmakedepends="pkg-config"
 makedepends="qt5-tools-devel qt5-declarative-devel qt5-webchannel-devel
  qt5-location-devel qtkeychain-qt5-devel sqlite-devel libcloudproviders-devel
- qt5-quickcontrols2-devel
+ qt5-quickcontrols2-devel qt5-websockets-devel qt5-svg-devel
  $(vopt_if dolphin 'extra-cmake-modules kio-devel')
- $(vopt_if shibboleth 'qt5-webkit-devel')
- $(vopt_if webengine 'qt5-webengine-devel')"
+ qt5-webengine-devel"
 depends="qt5-graphicaleffects"
 checkdepends="cmocka-devel"
 conf_files="/etc/Nextcloud/sync-exclude.lst"
@@ -21,19 +19,11 @@ maintainer="yopito <pierre.bourgin@free.fr>"
 license="GPL-2.0-or-later"
 homepage="https://nextcloud.com/clients/"
 distfiles="https://github.com/nextcloud/desktop/archive/v${version}.tar.gz"
-checksum=e296156a4de033a59f9b3210fe17fdfb8bb7aebefb715ae4e3b85e627e40a87f
+checksum=2fb2c18f479be2a04cf999f037def705c4be0087816af727038f0c71cb2c6189
 
-build_options="dolphin shibboleth webengine"
+build_options="dolphin"
 desc_option_dolphin="Build KDE dolphin support"
-desc_option_shibboleth="Build Shibboleth support (needs Qt5 WebKit)"
-desc_option_webengine="Build Qt5 WebEngine support"
-build_options_default="dolphin shibboleth"
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
-		build_options_default+=" webengine"
-	fi
-fi
+build_options_default="dolphin"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-qmake qt5-host-tools qt5-tools"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (4 preceding siblings ...)
  2021-02-11 23:35 ` [PR PATCH] [Updated] " yopito
@ 2021-02-13 20:12 ` yopito
  2021-02-13 20:16 ` yopito
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-13 20:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1819 bytes --]

There is an updated pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages nextcloud.312
https://github.com/void-linux/void-packages/pull/28674

[WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [x] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/28674.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nextcloud.312-28674.patch --]
[-- Type: text/x-diff, Size: 21809 bytes --]

From 85e61b22f1692f786ac77514a504322f0ac3a52a Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Thu, 11 Feb 2021 21:21:49 +0100
Subject: [PATCH 1/2] nextcloud-client: update to 3.1.2, remove shibboleth and
 webkit support

* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
---
 .../patches/no-webengine-support.patch        | 371 ------------------
 .../patches/no-webengine-support.patch.args   |   1 -
 srcpkgs/nextcloud-client/patches/qt5.15.patch |  10 -
 srcpkgs/nextcloud-client/template             |  24 +-
 4 files changed, 7 insertions(+), 399 deletions(-)
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
 delete mode 100644 srcpkgs/nextcloud-client/patches/qt5.15.patch

diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
deleted file mode 100644
index 0d2642870c6..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-source: https://github.com/nextcloud/desktop/pull/2204/
-*partial* pick since 2nd commit 1f577e5 is broken ("Try to preserve flow2")
-
-src/gui/CMakeLists.txt diff modified to support nextcloud client 3.1.0
-(git commit is then partially modified)
-
-From 5b6bde1c206c9b1edb0472a823776bdc91488db3 Mon Sep 17 00:00:00 2001
-From: Max Rees <maxcrees@me.com>
-Date: Sun, 23 Feb 2020 23:09:29 -0600
-Subject: [PATCH 1/2] Add support for compiling without QtWebEngine (webflow /
- flow2 support)
-
-Signed-off-by: Max Rees <maxcrees@me.com>
-Signed-off-by: theova <theova@member.fsf.org>
----
- CMakeLists.txt                       |  7 +++++++
- src/CMakeLists.txt                   |  6 +++++-
- src/gui/CMakeLists.txt               | 24 ++++++++++++++-------
- src/gui/accountmanager.cpp           |  2 ++
- src/gui/creds/credentialsfactory.cpp |  4 ++++
- src/gui/wizard/owncloudsetuppage.cpp |  4 ++++
- src/gui/wizard/owncloudwizard.cpp    | 31 +++++++++++++++++++++++++++-
- src/gui/wizard/owncloudwizard.h      |  6 ++++++
- src/libsync/networkjobs.cpp          |  8 +++++++
- 9 files changed, 82 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5df238838..4a333dbdd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,13 @@ if(NO_SHIBBOLETH)
-    add_definitions(-DNO_SHIBBOLETH=1)
- endif()
- 
-+# Disable webengine-based components
-+option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
-+if(NO_WEBENGINE)
-+   message("Compiling without webengine")
-+   add_definitions(-DNO_WEBENGINE=1)
-+endif()
-+
- if(APPLE)
-   set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index a79edfcfb..c8ef114a4 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -4,7 +4,11 @@ endif()
- 
- set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
- 
--find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
-+find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent REQUIRED)
-+
-+if(NOT NO_WEBENGINE)
-+    find_package(Qt5 5.12 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
-+endif()
- 
- if(NOT TOKEN_AUTH_ONLY)
-     find_package(Qt5Keychain REQUIRED)
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index 2f1e99e2b..c5be00c37 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -119,23 +119,16 @@
-     creds/credentialsfactory.cpp
-     creds/httpcredentialsgui.cpp
-     creds/oauth.cpp
--    creds/flow2auth.cpp
--    creds/webflowcredentials.cpp
--    creds/webflowcredentialsdialog.cpp
-     wizard/postfixlineedit.cpp
-     wizard/abstractcredswizardpage.cpp
-     wizard/owncloudadvancedsetuppage.cpp
-     wizard/owncloudconnectionmethoddialog.cpp
-     wizard/owncloudhttpcredspage.cpp
-     wizard/owncloudoauthcredspage.cpp
--    wizard/flow2authcredspage.cpp
--    wizard/flow2authwidget.cpp
-     wizard/owncloudsetuppage.cpp
-     wizard/owncloudwizardcommon.cpp
-     wizard/owncloudwizard.cpp
-     wizard/owncloudwizardresultpage.cpp
--    wizard/webviewpage.cpp
--    wizard/webview.cpp
-     wizard/slideshow.cpp
- )
- 
-@@ -156,6 +149,18 @@
-     )
- endif()
- 
-+IF(NOT NO_WEBENGINE)
-+    list(APPEND client_SRCS
-+        creds/flow2auth.cpp
-+        creds/webflowcredentials.cpp
-+        creds/webflowcredentialsdialog.cpp
-+        wizard/flow2authcredspage.cpp
-+        wizard/flow2authwidget.cpp
-+        wizard/webviewpage.cpp
-+        wizard/webview.cpp
-+    )
-+endif()
-+
- IF( APPLE )
-     list(APPEND client_SRCS cocoainitializer_mac.mm)
-     list(APPEND client_SRCS socketapisocket_mac.mm)
-@@ -328,8 +333,11 @@
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
-         INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE};${CMAKE_INSTALL_RPATH}" )
- 
--target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2 Qt5::WebEngineWidgets)
-+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2)
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
-+IF(NOT NO_WEBENGINE)
-+    target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::WebEngineWidgets )
-+endif()
- IF(BUILD_UPDATER)
-     target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
- endif()
-diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
-index 34c4cbc3e..372c52f44 100644
---- a/src/gui/accountmanager.cpp
-+++ b/src/gui/accountmanager.cpp
-@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-         acc->setUrl(urlConfig.toUrl());
-     }
- 
-+#ifndef NO_WEBENGINE
-     // Migrate to webflow
-     if (authType == QLatin1String("http")) {
-         authType = "webflow";
-@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-             settings.remove(key);
-         }
-     }
-+#endif
- 
-     qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- 
-diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
-index 6062f70eb..723196d08 100644
---- a/src/gui/creds/credentialsfactory.cpp
-+++ b/src/gui/creds/credentialsfactory.cpp
-@@ -21,7 +21,9 @@
- #ifndef NO_SHIBBOLETH
- #include "creds/shibbolethcredentials.h"
- #endif
-+#ifndef NO_WEBENGINE
- #include "creds/webflowcredentials.h"
-+#endif
- 
- namespace OCC {
- 
-@@ -40,8 +42,10 @@ namespace CredentialsFactory {
-         } else if (type == "shibboleth") {
-             return new ShibbolethCredentials;
- #endif
-+#ifndef NO_WEBENGINE
-         } else if (type == "webflow") {
-             return new WebFlowCredentials;
-+#endif
-         } else {
-             qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
-             return new DummyCredentials;
-diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
-index 71f1c19c9..d997125a8 100644
---- a/src/gui/wizard/owncloudsetuppage.cpp
-+++ b/src/gui/wizard/owncloudsetuppage.cpp
-@@ -139,7 +139,11 @@ void OwncloudSetupPage::slotLogin()
- void OwncloudSetupPage::slotGotoProviderList()
- {
-     _ocWizard->setRegistration(true);
-+#ifndef NO_WEBENGINE
-     _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+#else
-+    _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
-+#endif
-     _authTypeKnown = true;
-     _checking = false;
-     emit completeChanged();
-diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
-index 912222dca..463c19d48 100644
---- a/src/gui/wizard/owncloudwizard.cpp
-+++ b/src/gui/wizard/owncloudwizard.cpp
-@@ -27,8 +27,10 @@
- #endif
- #include "wizard/owncloudadvancedsetuppage.h"
- #include "wizard/owncloudwizardresultpage.h"
-+#ifndef NO_WEBENGINE
- #include "wizard/webviewpage.h"
- #include "wizard/flow2authcredspage.h"
-+#endif
- 
- #include "QProgressIndicator.h"
- 
-@@ -50,22 +52,30 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
- #ifndef NO_SHIBBOLETH
-     , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
- #endif
-+#ifndef NO_WEBENGINE
-     , _flow2CredsPage(new Flow2AuthCredsPage)
-+#endif
-     , _advancedSetupPage(new OwncloudAdvancedSetupPage)
-     , _resultPage(new OwncloudWizardResultPage)
-+#ifndef NO_WEBENGINE
-     , _webViewPage(new WebViewPage(this))
-+#endif
- {
-     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
-     setPage(WizardCommon::Page_ServerSetup, _setupPage);
-     setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
-     setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
-+#endif
- #ifndef NO_SHIBBOLETH
-     setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
- #endif
-     setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
-     setPage(WizardCommon::Page_Result, _resultPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_WebView, _webViewPage);
-+#endif
- 
-     connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
- 
-@@ -77,11 +87,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
-     connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-     connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#ifndef NO_WEBENGINE
-     connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
- #ifndef NO_SHIBBOLETH
-     connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
- #endif
-+#ifndef NO_WEBENGINE
-     connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
-     connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
-         this, &OwncloudWizard::createLocalAndRemoteFolders);
-     connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -103,12 +117,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
-     connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
-     connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
-+#ifndef NO_WEBENGINE
-     connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
-+#endif
- 
-     customizeStyle();
- 
-+#ifndef NO_WEBENGINE
-     // allow Flow2 page to poll on window activation
-     connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
-+#endif
- }
- 
- void OwncloudWizard::setAccount(AccountPtr account)
-@@ -177,9 +195,11 @@ void OwncloudWizard::successfulStep()
-         _browserCredsPage->setConnected();
-         break;
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_Flow2AuthCreds:
-         _flow2CredsPage->setConnected();
-         break;
-+#endif
- 
- #ifndef NO_SHIBBOLETH
-     case WizardCommon::Page_ShibbolethCreds:
-@@ -187,9 +207,11 @@ void OwncloudWizard::successfulStep()
-         break;
- #endif
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_WebView:
-         _webViewPage->setConnected();
-         break;
-+#endif
- 
-     case WizardCommon::Page_AdvancedSetup:
-         _advancedSetupPage->directoriesCreated();
-@@ -214,10 +236,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
- #endif
-         if (type == DetermineAuthTypeJob::OAuth) {
-         _credentialsPage = _browserCredsPage;
-+#ifndef NO_WEBENGINE
-     } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
-         _credentialsPage = _flow2CredsPage;
-     } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-         _credentialsPage = _webViewPage;
-+#endif
-     } else { // try Basic auth even for "Unknown"
-         _credentialsPage = _httpCredsPage;
-     }
-@@ -242,7 +266,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
-     }
- 
-     setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
--    if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
-+    if (id == WizardCommon::Page_AdvancedSetup
-+           && (_credentialsPage == _browserCredsPage
-+#ifndef NO_WEBENGINE
-+           || _credentialsPage == _flow2CredsPage
-+#endif
-+           )) {
-         // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
-         // to re-open the browser.
-         button(QWizard::BackButton)->setEnabled(false);
-diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
-index ee6161ca5..c0ee06403 100644
---- a/src/gui/wizard/owncloudwizard.h
-+++ b/src/gui/wizard/owncloudwizard.h
-@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
- class OwncloudWizardResultPage;
- class AbstractCredentials;
- class AbstractCredentialsWizardPage;
-+#ifndef NO_WEBENGINE
- class WebViewPage;
- class Flow2AuthCredsPage;
-+#endif
- 
- /**
-  * @brief The OwncloudWizard class
-@@ -114,11 +116,15 @@ private:
- #ifndef NO_SHIBBOLETH
-     OwncloudShibbolethCredsPage *_shibbolethCredsPage;
- #endif
-+#ifndef NO_WEBENGINE
-     Flow2AuthCredsPage *_flow2CredsPage;
-+#endif
-     OwncloudAdvancedSetupPage *_advancedSetupPage;
-     OwncloudWizardResultPage *_resultPage;
-     AbstractCredentialsWizardPage *_credentialsPage = nullptr;
-+#ifndef NO_WEBENGINE
-     WebViewPage *_webViewPage;
-+#endif
- 
-     QStringList _setupLog;
- 
-diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
-index d40ccede4..0125f778b 100644
---- a/src/libsync/networkjobs.cpp
-+++ b/src/libsync/networkjobs.cpp
-@@ -966,12 +966,20 @@ void DetermineAuthTypeJob::checkAllDone()
- 
-     // WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = WebViewFlow;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = LoginFlowV2;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // If we determined that we need the webview flow (GS for example) then we switch to that
--- 
-2.28.0
-
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
deleted file mode 100644
index 2eba1cb3c5c..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
+++ /dev/null
@@ -1 +0,0 @@
--Np1
diff --git a/srcpkgs/nextcloud-client/patches/qt5.15.patch b/srcpkgs/nextcloud-client/patches/qt5.15.patch
deleted file mode 100644
index 60d459c5fd4..00000000000
--- a/srcpkgs/nextcloud-client/patches/qt5.15.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libsync/networkjobs.cpp	2020-03-03 20:32:31.000000000 +0100
-+++ -	2020-07-05 00:46:17.255659367 +0200
-@@ -30,6 +30,7 @@
- #include <QCoreApplication>
- #include <QJsonDocument>
- #include <QJsonObject>
-+#include <QPainterPath>
- #include <QPainter>
- 
- #include "networkjobs.h"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index dc4398a6319..90f7c49bd71 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -1,18 +1,16 @@
 # Template file for 'nextcloud-client'
 pkgname=nextcloud-client
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="desktop-${version}"
 build_style=cmake
-configure_args="-Wno-dev $(vopt_if shibboleth '' '-DNO_SHIBBOLETH=True')
- $(vopt_if webengine '' '-DNO_WEBENGINE=True')"
+configure_args="-Wno-dev -DNO_SHIBBOLETH=True"
 hostmakedepends="pkg-config"
 makedepends="qt5-tools-devel qt5-declarative-devel qt5-webchannel-devel
  qt5-location-devel qtkeychain-qt5-devel sqlite-devel libcloudproviders-devel
- qt5-quickcontrols2-devel
+ qt5-quickcontrols2-devel qt5-websockets-devel qt5-svg-devel
  $(vopt_if dolphin 'extra-cmake-modules kio-devel')
- $(vopt_if shibboleth 'qt5-webkit-devel')
- $(vopt_if webengine 'qt5-webengine-devel')"
+ qt5-webengine-devel"
 depends="qt5-graphicaleffects"
 checkdepends="cmocka-devel"
 conf_files="/etc/Nextcloud/sync-exclude.lst"
@@ -21,19 +19,11 @@ maintainer="yopito <pierre.bourgin@free.fr>"
 license="GPL-2.0-or-later"
 homepage="https://nextcloud.com/clients/"
 distfiles="https://github.com/nextcloud/desktop/archive/v${version}.tar.gz"
-checksum=e296156a4de033a59f9b3210fe17fdfb8bb7aebefb715ae4e3b85e627e40a87f
+checksum=2fb2c18f479be2a04cf999f037def705c4be0087816af727038f0c71cb2c6189
 
-build_options="dolphin shibboleth webengine"
+build_options="dolphin"
 desc_option_dolphin="Build KDE dolphin support"
-desc_option_shibboleth="Build Shibboleth support (needs Qt5 WebKit)"
-desc_option_webengine="Build Qt5 WebEngine support"
-build_options_default="dolphin shibboleth"
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
-		build_options_default+=" webengine"
-	fi
-fi
+build_options_default="dolphin"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-qmake qt5-host-tools qt5-tools"

From 54e7e825f00052dbce6d966598e551b396b52f56 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Sat, 13 Feb 2021 17:47:28 +0100
Subject: [PATCH 2/2] nextcloud-client-kwallet: dedicated package for kwallet
 as credential storage

Closes: 26774.
---
 srcpkgs/nextcloud-client-kwallet                    |  1 +
 srcpkgs/nextcloud-client/INSTALL.msg                |  2 ++
 .../files/nextcloud-kwallet.desktop                 | 10 ++++++++++
 srcpkgs/nextcloud-client/files/nextcloud.kwallet    |  4 ++++
 srcpkgs/nextcloud-client/template                   | 13 ++++++++++++-
 5 files changed, 29 insertions(+), 1 deletion(-)
 create mode 120000 srcpkgs/nextcloud-client-kwallet
 create mode 100644 srcpkgs/nextcloud-client/INSTALL.msg
 create mode 100644 srcpkgs/nextcloud-client/files/nextcloud-kwallet.desktop
 create mode 100644 srcpkgs/nextcloud-client/files/nextcloud.kwallet

diff --git a/srcpkgs/nextcloud-client-kwallet b/srcpkgs/nextcloud-client-kwallet
new file mode 120000
index 00000000000..50c67ada861
--- /dev/null
+++ b/srcpkgs/nextcloud-client-kwallet
@@ -0,0 +1 @@
+nextcloud-client
\ No newline at end of file
diff --git a/srcpkgs/nextcloud-client/INSTALL.msg b/srcpkgs/nextcloud-client/INSTALL.msg
new file mode 100644
index 00000000000..fc00ffc4387
--- /dev/null
+++ b/srcpkgs/nextcloud-client/INSTALL.msg
@@ -0,0 +1,2 @@
+To use kwallet as credential storage without KDE Desktop Environment,
+consider the dedicated package nextcloud-client-kwallet.
diff --git a/srcpkgs/nextcloud-client/files/nextcloud-kwallet.desktop b/srcpkgs/nextcloud-client/files/nextcloud-kwallet.desktop
new file mode 100644
index 00000000000..b054df451f7
--- /dev/null
+++ b/srcpkgs/nextcloud-client/files/nextcloud-kwallet.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Categories=Utility;X-SuSE-SyncUtility;
+Type=Application
+Exec=/usr/bin/nextcloud.kwallet
+Name=Nextcloud desktop sync client - kwallet credential storage
+Comment=Nextcloud desktop synchronization client - kwallet credential storage
+GenericName=Folder Sync
+Icon=Nextcloud
+Keywords=Nextcloud;syncing;file;sharing;
+X-GNOME-Autostart-Delay=3
diff --git a/srcpkgs/nextcloud-client/files/nextcloud.kwallet b/srcpkgs/nextcloud-client/files/nextcloud.kwallet
new file mode 100644
index 00000000000..7236b7df5a3
--- /dev/null
+++ b/srcpkgs/nextcloud-client/files/nextcloud.kwallet
@@ -0,0 +1,4 @@
+#!/bin/sh
+# Force usage of KDE kwallet as credential storage via qtkeychain as much as possible.
+# related to https://github.com/void-linux/void-packages/issues/26774
+exec env DESKTOP_SESSION=kde KDE_SESSION_VERSION=5 /usr/bin/nextcloud "$@"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index 90f7c49bd71..cb2c387b091 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -31,7 +31,8 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" $(vopt_if dolphin 'kcoreaddons')"
 fi
 
-subpackages="$(vopt_if dolphin 'nextcloud-client-dolphin') nextcloud-client-devel"
+subpackages="nextcloud-client-kwallet nextcloud-client-devel"
+subpackages+=" $(vopt_if dolphin 'nextcloud-client-dolphin')"
 
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DUNIT_TESTING=1"
@@ -43,6 +44,16 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 	esac
 fi
 
+nextcloud-client-kwallet_package() {
+	short_desc+=" - kwallet credential backend"
+	depends="nextcloud-client>=${version}_${revision} kwallet"
+	pkg_install() {
+		vbin ${FILESDIR}/nextcloud.kwallet
+		vmkdir usr/share/applications
+		vcopy ${FILESDIR}/nextcloud-kwallet.desktop usr/share/applications
+	}
+}
+
 nextcloud-client-dolphin_package() {
 	short_desc+=" - KDE dolphin integration"
 	depends="nextcloud-client>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (5 preceding siblings ...)
  2021-02-13 20:12 ` [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support yopito
@ 2021-02-13 20:16 ` yopito
  2021-02-13 20:28 ` ericonr
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-13 20:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 414 bytes --]

New comment by yopito on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-778672380

Comment:
Added a new subpackage `nextcloud-client-kwallet` to deal with https://github.com/void-linux/void-packages/issues/26774 .  
Added as a dedicated commit for now (to revert easily if not accepted), will squash if agreed.
 @ericonr , @paper42 : thanks for your feeback on it.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (6 preceding siblings ...)
  2021-02-13 20:16 ` yopito
@ 2021-02-13 20:28 ` ericonr
  2021-02-14 20:52 ` [PR PATCH] [Updated] " yopito
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ericonr @ 2021-02-13 20:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 482 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-778673687

Comment:
I don't love this solution, but that's mainly because I don't like vendoring in desktop files. If you can generate the desktop file reliably with a sed on the original desktop file at build time, I'd rather have that.

Besides that, LGTM. Maybe make the INSTALL msg a `README.voidlinux` instead? Otherwise the message will always be there.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (7 preceding siblings ...)
  2021-02-13 20:28 ` ericonr
@ 2021-02-14 20:52 ` yopito
  2021-02-14 21:01 ` yopito
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-14 20:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1940 bytes --]

There is an updated pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages nextcloud.312
https://github.com/void-linux/void-packages/pull/28674

[WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
* Edit: add package `nextcloud-client-kwallet` to deal with https://github.com/void-linux/void-packages/issues/26774 . 

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [x] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/28674.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nextcloud.312-28674.patch --]
[-- Type: text/x-diff, Size: 21356 bytes --]

From 85e61b22f1692f786ac77514a504322f0ac3a52a Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Thu, 11 Feb 2021 21:21:49 +0100
Subject: [PATCH 1/2] nextcloud-client: update to 3.1.2, remove shibboleth and
 webkit support

* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
---
 .../patches/no-webengine-support.patch        | 371 ------------------
 .../patches/no-webengine-support.patch.args   |   1 -
 srcpkgs/nextcloud-client/patches/qt5.15.patch |  10 -
 srcpkgs/nextcloud-client/template             |  24 +-
 4 files changed, 7 insertions(+), 399 deletions(-)
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
 delete mode 100644 srcpkgs/nextcloud-client/patches/qt5.15.patch

diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
deleted file mode 100644
index 0d2642870c6..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-source: https://github.com/nextcloud/desktop/pull/2204/
-*partial* pick since 2nd commit 1f577e5 is broken ("Try to preserve flow2")
-
-src/gui/CMakeLists.txt diff modified to support nextcloud client 3.1.0
-(git commit is then partially modified)
-
-From 5b6bde1c206c9b1edb0472a823776bdc91488db3 Mon Sep 17 00:00:00 2001
-From: Max Rees <maxcrees@me.com>
-Date: Sun, 23 Feb 2020 23:09:29 -0600
-Subject: [PATCH 1/2] Add support for compiling without QtWebEngine (webflow /
- flow2 support)
-
-Signed-off-by: Max Rees <maxcrees@me.com>
-Signed-off-by: theova <theova@member.fsf.org>
----
- CMakeLists.txt                       |  7 +++++++
- src/CMakeLists.txt                   |  6 +++++-
- src/gui/CMakeLists.txt               | 24 ++++++++++++++-------
- src/gui/accountmanager.cpp           |  2 ++
- src/gui/creds/credentialsfactory.cpp |  4 ++++
- src/gui/wizard/owncloudsetuppage.cpp |  4 ++++
- src/gui/wizard/owncloudwizard.cpp    | 31 +++++++++++++++++++++++++++-
- src/gui/wizard/owncloudwizard.h      |  6 ++++++
- src/libsync/networkjobs.cpp          |  8 +++++++
- 9 files changed, 82 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5df238838..4a333dbdd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,13 @@ if(NO_SHIBBOLETH)
-    add_definitions(-DNO_SHIBBOLETH=1)
- endif()
- 
-+# Disable webengine-based components
-+option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
-+if(NO_WEBENGINE)
-+   message("Compiling without webengine")
-+   add_definitions(-DNO_WEBENGINE=1)
-+endif()
-+
- if(APPLE)
-   set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index a79edfcfb..c8ef114a4 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -4,7 +4,11 @@ endif()
- 
- set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
- 
--find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
-+find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent REQUIRED)
-+
-+if(NOT NO_WEBENGINE)
-+    find_package(Qt5 5.12 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
-+endif()
- 
- if(NOT TOKEN_AUTH_ONLY)
-     find_package(Qt5Keychain REQUIRED)
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index 2f1e99e2b..c5be00c37 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -119,23 +119,16 @@
-     creds/credentialsfactory.cpp
-     creds/httpcredentialsgui.cpp
-     creds/oauth.cpp
--    creds/flow2auth.cpp
--    creds/webflowcredentials.cpp
--    creds/webflowcredentialsdialog.cpp
-     wizard/postfixlineedit.cpp
-     wizard/abstractcredswizardpage.cpp
-     wizard/owncloudadvancedsetuppage.cpp
-     wizard/owncloudconnectionmethoddialog.cpp
-     wizard/owncloudhttpcredspage.cpp
-     wizard/owncloudoauthcredspage.cpp
--    wizard/flow2authcredspage.cpp
--    wizard/flow2authwidget.cpp
-     wizard/owncloudsetuppage.cpp
-     wizard/owncloudwizardcommon.cpp
-     wizard/owncloudwizard.cpp
-     wizard/owncloudwizardresultpage.cpp
--    wizard/webviewpage.cpp
--    wizard/webview.cpp
-     wizard/slideshow.cpp
- )
- 
-@@ -156,6 +149,18 @@
-     )
- endif()
- 
-+IF(NOT NO_WEBENGINE)
-+    list(APPEND client_SRCS
-+        creds/flow2auth.cpp
-+        creds/webflowcredentials.cpp
-+        creds/webflowcredentialsdialog.cpp
-+        wizard/flow2authcredspage.cpp
-+        wizard/flow2authwidget.cpp
-+        wizard/webviewpage.cpp
-+        wizard/webview.cpp
-+    )
-+endif()
-+
- IF( APPLE )
-     list(APPEND client_SRCS cocoainitializer_mac.mm)
-     list(APPEND client_SRCS socketapisocket_mac.mm)
-@@ -328,8 +333,11 @@
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
-         INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE};${CMAKE_INSTALL_RPATH}" )
- 
--target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2 Qt5::WebEngineWidgets)
-+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2)
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
-+IF(NOT NO_WEBENGINE)
-+    target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::WebEngineWidgets )
-+endif()
- IF(BUILD_UPDATER)
-     target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
- endif()
-diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
-index 34c4cbc3e..372c52f44 100644
---- a/src/gui/accountmanager.cpp
-+++ b/src/gui/accountmanager.cpp
-@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-         acc->setUrl(urlConfig.toUrl());
-     }
- 
-+#ifndef NO_WEBENGINE
-     // Migrate to webflow
-     if (authType == QLatin1String("http")) {
-         authType = "webflow";
-@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-             settings.remove(key);
-         }
-     }
-+#endif
- 
-     qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- 
-diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
-index 6062f70eb..723196d08 100644
---- a/src/gui/creds/credentialsfactory.cpp
-+++ b/src/gui/creds/credentialsfactory.cpp
-@@ -21,7 +21,9 @@
- #ifndef NO_SHIBBOLETH
- #include "creds/shibbolethcredentials.h"
- #endif
-+#ifndef NO_WEBENGINE
- #include "creds/webflowcredentials.h"
-+#endif
- 
- namespace OCC {
- 
-@@ -40,8 +42,10 @@ namespace CredentialsFactory {
-         } else if (type == "shibboleth") {
-             return new ShibbolethCredentials;
- #endif
-+#ifndef NO_WEBENGINE
-         } else if (type == "webflow") {
-             return new WebFlowCredentials;
-+#endif
-         } else {
-             qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
-             return new DummyCredentials;
-diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
-index 71f1c19c9..d997125a8 100644
---- a/src/gui/wizard/owncloudsetuppage.cpp
-+++ b/src/gui/wizard/owncloudsetuppage.cpp
-@@ -139,7 +139,11 @@ void OwncloudSetupPage::slotLogin()
- void OwncloudSetupPage::slotGotoProviderList()
- {
-     _ocWizard->setRegistration(true);
-+#ifndef NO_WEBENGINE
-     _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+#else
-+    _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
-+#endif
-     _authTypeKnown = true;
-     _checking = false;
-     emit completeChanged();
-diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
-index 912222dca..463c19d48 100644
---- a/src/gui/wizard/owncloudwizard.cpp
-+++ b/src/gui/wizard/owncloudwizard.cpp
-@@ -27,8 +27,10 @@
- #endif
- #include "wizard/owncloudadvancedsetuppage.h"
- #include "wizard/owncloudwizardresultpage.h"
-+#ifndef NO_WEBENGINE
- #include "wizard/webviewpage.h"
- #include "wizard/flow2authcredspage.h"
-+#endif
- 
- #include "QProgressIndicator.h"
- 
-@@ -50,22 +52,30 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
- #ifndef NO_SHIBBOLETH
-     , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
- #endif
-+#ifndef NO_WEBENGINE
-     , _flow2CredsPage(new Flow2AuthCredsPage)
-+#endif
-     , _advancedSetupPage(new OwncloudAdvancedSetupPage)
-     , _resultPage(new OwncloudWizardResultPage)
-+#ifndef NO_WEBENGINE
-     , _webViewPage(new WebViewPage(this))
-+#endif
- {
-     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
-     setPage(WizardCommon::Page_ServerSetup, _setupPage);
-     setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
-     setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
-+#endif
- #ifndef NO_SHIBBOLETH
-     setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
- #endif
-     setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
-     setPage(WizardCommon::Page_Result, _resultPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_WebView, _webViewPage);
-+#endif
- 
-     connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
- 
-@@ -77,11 +87,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
-     connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-     connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#ifndef NO_WEBENGINE
-     connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
- #ifndef NO_SHIBBOLETH
-     connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
- #endif
-+#ifndef NO_WEBENGINE
-     connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
-     connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
-         this, &OwncloudWizard::createLocalAndRemoteFolders);
-     connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -103,12 +117,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
-     connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
-     connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
-+#ifndef NO_WEBENGINE
-     connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
-+#endif
- 
-     customizeStyle();
- 
-+#ifndef NO_WEBENGINE
-     // allow Flow2 page to poll on window activation
-     connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
-+#endif
- }
- 
- void OwncloudWizard::setAccount(AccountPtr account)
-@@ -177,9 +195,11 @@ void OwncloudWizard::successfulStep()
-         _browserCredsPage->setConnected();
-         break;
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_Flow2AuthCreds:
-         _flow2CredsPage->setConnected();
-         break;
-+#endif
- 
- #ifndef NO_SHIBBOLETH
-     case WizardCommon::Page_ShibbolethCreds:
-@@ -187,9 +207,11 @@ void OwncloudWizard::successfulStep()
-         break;
- #endif
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_WebView:
-         _webViewPage->setConnected();
-         break;
-+#endif
- 
-     case WizardCommon::Page_AdvancedSetup:
-         _advancedSetupPage->directoriesCreated();
-@@ -214,10 +236,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
- #endif
-         if (type == DetermineAuthTypeJob::OAuth) {
-         _credentialsPage = _browserCredsPage;
-+#ifndef NO_WEBENGINE
-     } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
-         _credentialsPage = _flow2CredsPage;
-     } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-         _credentialsPage = _webViewPage;
-+#endif
-     } else { // try Basic auth even for "Unknown"
-         _credentialsPage = _httpCredsPage;
-     }
-@@ -242,7 +266,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
-     }
- 
-     setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
--    if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
-+    if (id == WizardCommon::Page_AdvancedSetup
-+           && (_credentialsPage == _browserCredsPage
-+#ifndef NO_WEBENGINE
-+           || _credentialsPage == _flow2CredsPage
-+#endif
-+           )) {
-         // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
-         // to re-open the browser.
-         button(QWizard::BackButton)->setEnabled(false);
-diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
-index ee6161ca5..c0ee06403 100644
---- a/src/gui/wizard/owncloudwizard.h
-+++ b/src/gui/wizard/owncloudwizard.h
-@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
- class OwncloudWizardResultPage;
- class AbstractCredentials;
- class AbstractCredentialsWizardPage;
-+#ifndef NO_WEBENGINE
- class WebViewPage;
- class Flow2AuthCredsPage;
-+#endif
- 
- /**
-  * @brief The OwncloudWizard class
-@@ -114,11 +116,15 @@ private:
- #ifndef NO_SHIBBOLETH
-     OwncloudShibbolethCredsPage *_shibbolethCredsPage;
- #endif
-+#ifndef NO_WEBENGINE
-     Flow2AuthCredsPage *_flow2CredsPage;
-+#endif
-     OwncloudAdvancedSetupPage *_advancedSetupPage;
-     OwncloudWizardResultPage *_resultPage;
-     AbstractCredentialsWizardPage *_credentialsPage = nullptr;
-+#ifndef NO_WEBENGINE
-     WebViewPage *_webViewPage;
-+#endif
- 
-     QStringList _setupLog;
- 
-diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
-index d40ccede4..0125f778b 100644
---- a/src/libsync/networkjobs.cpp
-+++ b/src/libsync/networkjobs.cpp
-@@ -966,12 +966,20 @@ void DetermineAuthTypeJob::checkAllDone()
- 
-     // WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = WebViewFlow;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = LoginFlowV2;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // If we determined that we need the webview flow (GS for example) then we switch to that
--- 
-2.28.0
-
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
deleted file mode 100644
index 2eba1cb3c5c..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
+++ /dev/null
@@ -1 +0,0 @@
--Np1
diff --git a/srcpkgs/nextcloud-client/patches/qt5.15.patch b/srcpkgs/nextcloud-client/patches/qt5.15.patch
deleted file mode 100644
index 60d459c5fd4..00000000000
--- a/srcpkgs/nextcloud-client/patches/qt5.15.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libsync/networkjobs.cpp	2020-03-03 20:32:31.000000000 +0100
-+++ -	2020-07-05 00:46:17.255659367 +0200
-@@ -30,6 +30,7 @@
- #include <QCoreApplication>
- #include <QJsonDocument>
- #include <QJsonObject>
-+#include <QPainterPath>
- #include <QPainter>
- 
- #include "networkjobs.h"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index dc4398a6319..90f7c49bd71 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -1,18 +1,16 @@
 # Template file for 'nextcloud-client'
 pkgname=nextcloud-client
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="desktop-${version}"
 build_style=cmake
-configure_args="-Wno-dev $(vopt_if shibboleth '' '-DNO_SHIBBOLETH=True')
- $(vopt_if webengine '' '-DNO_WEBENGINE=True')"
+configure_args="-Wno-dev -DNO_SHIBBOLETH=True"
 hostmakedepends="pkg-config"
 makedepends="qt5-tools-devel qt5-declarative-devel qt5-webchannel-devel
  qt5-location-devel qtkeychain-qt5-devel sqlite-devel libcloudproviders-devel
- qt5-quickcontrols2-devel
+ qt5-quickcontrols2-devel qt5-websockets-devel qt5-svg-devel
  $(vopt_if dolphin 'extra-cmake-modules kio-devel')
- $(vopt_if shibboleth 'qt5-webkit-devel')
- $(vopt_if webengine 'qt5-webengine-devel')"
+ qt5-webengine-devel"
 depends="qt5-graphicaleffects"
 checkdepends="cmocka-devel"
 conf_files="/etc/Nextcloud/sync-exclude.lst"
@@ -21,19 +19,11 @@ maintainer="yopito <pierre.bourgin@free.fr>"
 license="GPL-2.0-or-later"
 homepage="https://nextcloud.com/clients/"
 distfiles="https://github.com/nextcloud/desktop/archive/v${version}.tar.gz"
-checksum=e296156a4de033a59f9b3210fe17fdfb8bb7aebefb715ae4e3b85e627e40a87f
+checksum=2fb2c18f479be2a04cf999f037def705c4be0087816af727038f0c71cb2c6189
 
-build_options="dolphin shibboleth webengine"
+build_options="dolphin"
 desc_option_dolphin="Build KDE dolphin support"
-desc_option_shibboleth="Build Shibboleth support (needs Qt5 WebKit)"
-desc_option_webengine="Build Qt5 WebEngine support"
-build_options_default="dolphin shibboleth"
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
-		build_options_default+=" webengine"
-	fi
-fi
+build_options_default="dolphin"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-qmake qt5-host-tools qt5-tools"

From d508462015ce626497db53cbe03eeab0eaf76cda Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Sat, 13 Feb 2021 17:47:28 +0100
Subject: [PATCH 2/2] nextcloud-client-kwallet: dedicated package for kwallet
 as credential storage

Closes: 26774.
---
 srcpkgs/nextcloud-client-kwallet              |  1 +
 srcpkgs/nextcloud-client/INSTALL.msg          |  2 ++
 .../nextcloud-client/files/nextcloud.kwallet  |  4 ++++
 srcpkgs/nextcloud-client/template             | 19 ++++++++++++++++++-
 4 files changed, 25 insertions(+), 1 deletion(-)
 create mode 120000 srcpkgs/nextcloud-client-kwallet
 create mode 100644 srcpkgs/nextcloud-client/INSTALL.msg
 create mode 100644 srcpkgs/nextcloud-client/files/nextcloud.kwallet

diff --git a/srcpkgs/nextcloud-client-kwallet b/srcpkgs/nextcloud-client-kwallet
new file mode 120000
index 00000000000..50c67ada861
--- /dev/null
+++ b/srcpkgs/nextcloud-client-kwallet
@@ -0,0 +1 @@
+nextcloud-client
\ No newline at end of file
diff --git a/srcpkgs/nextcloud-client/INSTALL.msg b/srcpkgs/nextcloud-client/INSTALL.msg
new file mode 100644
index 00000000000..fc00ffc4387
--- /dev/null
+++ b/srcpkgs/nextcloud-client/INSTALL.msg
@@ -0,0 +1,2 @@
+To use kwallet as credential storage without KDE Desktop Environment,
+consider the dedicated package nextcloud-client-kwallet.
diff --git a/srcpkgs/nextcloud-client/files/nextcloud.kwallet b/srcpkgs/nextcloud-client/files/nextcloud.kwallet
new file mode 100644
index 00000000000..7236b7df5a3
--- /dev/null
+++ b/srcpkgs/nextcloud-client/files/nextcloud.kwallet
@@ -0,0 +1,4 @@
+#!/bin/sh
+# Force usage of KDE kwallet as credential storage via qtkeychain as much as possible.
+# related to https://github.com/void-linux/void-packages/issues/26774
+exec env DESKTOP_SESSION=kde KDE_SESSION_VERSION=5 /usr/bin/nextcloud "$@"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index 90f7c49bd71..ddc96152093 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -31,7 +31,8 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" $(vopt_if dolphin 'kcoreaddons')"
 fi
 
-subpackages="$(vopt_if dolphin 'nextcloud-client-dolphin') nextcloud-client-devel"
+subpackages="nextcloud-client-kwallet nextcloud-client-devel"
+subpackages+=" $(vopt_if dolphin 'nextcloud-client-dolphin')"
 
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DUNIT_TESTING=1"
@@ -43,6 +44,22 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 	esac
 fi
 
+nextcloud-client-kwallet_package() {
+	short_desc+=" - kwallet credential backend"
+	depends="nextcloud-client>=${version}_${revision} kwallet"
+	pkg_install() {
+		vbin ${FILESDIR}/nextcloud.kwallet
+		vmkdir usr/share/applications
+		cp build/src/gui/com.nextcloud.desktopclient.nextcloud.desktop \
+		   ${DESTDIR}/usr/share/applications/nextcloud-kwallet.desktop
+		vsed -i -e 's,^Exec=.*,Exec=/usr/bin/nextcloud.kwallet,' \
+		     -e 's,\(^Name=.*\),\1 - use kwallet,' \
+		     -e 's,\(^Comment=.*\),\1 - use kwallet credential storage,' \
+		     -e '/^# Translations/,$d' \
+		     ${DESTDIR}/usr/share/applications/nextcloud-kwallet.desktop
+	}
+}
+
 nextcloud-client-dolphin_package() {
 	short_desc+=" - KDE dolphin integration"
 	depends="nextcloud-client>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (8 preceding siblings ...)
  2021-02-14 20:52 ` [PR PATCH] [Updated] " yopito
@ 2021-02-14 21:01 ` yopito
  2021-02-15  8:45 ` [PR PATCH] [Updated] " yopito
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-14 21:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 284 bytes --]

New comment by yopito on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-778841168

Comment:
here it is. looks like this: 
![image](https://user-images.githubusercontent.com/12870617/107888947-0e990000-6f10-11eb-8bcb-70dc4a4e391c.png)


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (9 preceding siblings ...)
  2021-02-14 21:01 ` yopito
@ 2021-02-15  8:45 ` yopito
  2021-02-15  8:46 ` yopito
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-15  8:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1940 bytes --]

There is an updated pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages nextcloud.312
https://github.com/void-linux/void-packages/pull/28674

[WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
* Edit: add package `nextcloud-client-kwallet` to deal with https://github.com/void-linux/void-packages/issues/26774 . 

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [x] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/28674.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nextcloud.312-28674.patch --]
[-- Type: text/x-diff, Size: 21106 bytes --]

From aa0a10144a8ff0152e6182945e5da30bb5344813 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Thu, 11 Feb 2021 21:21:49 +0100
Subject: [PATCH] nextcloud-client: update to 3.1.2, no shibboleth and webkit
 support, kwallet subpackage

* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
* nextcloud-client-kwallet: dedicated package for kwallet as credential storage

Closes: #26774
---
 srcpkgs/nextcloud-client-kwallet              |   1 +
 .../files/kwallet/README.voidlinux            |   3 +
 .../files/kwallet/nextcloud.kwallet           |   4 +
 .../patches/no-webengine-support.patch        | 371 ------------------
 .../patches/no-webengine-support.patch.args   |   1 -
 srcpkgs/nextcloud-client/patches/qt5.15.patch |  10 -
 srcpkgs/nextcloud-client/template             |  44 ++-
 7 files changed, 34 insertions(+), 400 deletions(-)
 create mode 120000 srcpkgs/nextcloud-client-kwallet
 create mode 100644 srcpkgs/nextcloud-client/files/kwallet/README.voidlinux
 create mode 100644 srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
 delete mode 100644 srcpkgs/nextcloud-client/patches/qt5.15.patch

diff --git a/srcpkgs/nextcloud-client-kwallet b/srcpkgs/nextcloud-client-kwallet
new file mode 120000
index 00000000000..50c67ada861
--- /dev/null
+++ b/srcpkgs/nextcloud-client-kwallet
@@ -0,0 +1 @@
+nextcloud-client
\ No newline at end of file
diff --git a/srcpkgs/nextcloud-client/files/kwallet/README.voidlinux b/srcpkgs/nextcloud-client/files/kwallet/README.voidlinux
new file mode 100644
index 00000000000..a89b643fdd5
--- /dev/null
+++ b/srcpkgs/nextcloud-client/files/kwallet/README.voidlinux
@@ -0,0 +1,3 @@
+nextcloud-client-kwallet package provides a workaround to make nextcloud-client
+uses kwallet as its credential storage via qtkeychain-qt5.
+This is usefull when not using KDE as Desktop Environment.
diff --git a/srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet b/srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet
new file mode 100644
index 00000000000..7236b7df5a3
--- /dev/null
+++ b/srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet
@@ -0,0 +1,4 @@
+#!/bin/sh
+# Force usage of KDE kwallet as credential storage via qtkeychain as much as possible.
+# related to https://github.com/void-linux/void-packages/issues/26774
+exec env DESKTOP_SESSION=kde KDE_SESSION_VERSION=5 /usr/bin/nextcloud "$@"
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
deleted file mode 100644
index 0d2642870c6..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-source: https://github.com/nextcloud/desktop/pull/2204/
-*partial* pick since 2nd commit 1f577e5 is broken ("Try to preserve flow2")
-
-src/gui/CMakeLists.txt diff modified to support nextcloud client 3.1.0
-(git commit is then partially modified)
-
-From 5b6bde1c206c9b1edb0472a823776bdc91488db3 Mon Sep 17 00:00:00 2001
-From: Max Rees <maxcrees@me.com>
-Date: Sun, 23 Feb 2020 23:09:29 -0600
-Subject: [PATCH 1/2] Add support for compiling without QtWebEngine (webflow /
- flow2 support)
-
-Signed-off-by: Max Rees <maxcrees@me.com>
-Signed-off-by: theova <theova@member.fsf.org>
----
- CMakeLists.txt                       |  7 +++++++
- src/CMakeLists.txt                   |  6 +++++-
- src/gui/CMakeLists.txt               | 24 ++++++++++++++-------
- src/gui/accountmanager.cpp           |  2 ++
- src/gui/creds/credentialsfactory.cpp |  4 ++++
- src/gui/wizard/owncloudsetuppage.cpp |  4 ++++
- src/gui/wizard/owncloudwizard.cpp    | 31 +++++++++++++++++++++++++++-
- src/gui/wizard/owncloudwizard.h      |  6 ++++++
- src/libsync/networkjobs.cpp          |  8 +++++++
- 9 files changed, 82 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5df238838..4a333dbdd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,13 @@ if(NO_SHIBBOLETH)
-    add_definitions(-DNO_SHIBBOLETH=1)
- endif()
- 
-+# Disable webengine-based components
-+option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
-+if(NO_WEBENGINE)
-+   message("Compiling without webengine")
-+   add_definitions(-DNO_WEBENGINE=1)
-+endif()
-+
- if(APPLE)
-   set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index a79edfcfb..c8ef114a4 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -4,7 +4,11 @@ endif()
- 
- set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
- 
--find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
-+find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent REQUIRED)
-+
-+if(NOT NO_WEBENGINE)
-+    find_package(Qt5 5.12 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
-+endif()
- 
- if(NOT TOKEN_AUTH_ONLY)
-     find_package(Qt5Keychain REQUIRED)
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index 2f1e99e2b..c5be00c37 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -119,23 +119,16 @@
-     creds/credentialsfactory.cpp
-     creds/httpcredentialsgui.cpp
-     creds/oauth.cpp
--    creds/flow2auth.cpp
--    creds/webflowcredentials.cpp
--    creds/webflowcredentialsdialog.cpp
-     wizard/postfixlineedit.cpp
-     wizard/abstractcredswizardpage.cpp
-     wizard/owncloudadvancedsetuppage.cpp
-     wizard/owncloudconnectionmethoddialog.cpp
-     wizard/owncloudhttpcredspage.cpp
-     wizard/owncloudoauthcredspage.cpp
--    wizard/flow2authcredspage.cpp
--    wizard/flow2authwidget.cpp
-     wizard/owncloudsetuppage.cpp
-     wizard/owncloudwizardcommon.cpp
-     wizard/owncloudwizard.cpp
-     wizard/owncloudwizardresultpage.cpp
--    wizard/webviewpage.cpp
--    wizard/webview.cpp
-     wizard/slideshow.cpp
- )
- 
-@@ -156,6 +149,18 @@
-     )
- endif()
- 
-+IF(NOT NO_WEBENGINE)
-+    list(APPEND client_SRCS
-+        creds/flow2auth.cpp
-+        creds/webflowcredentials.cpp
-+        creds/webflowcredentialsdialog.cpp
-+        wizard/flow2authcredspage.cpp
-+        wizard/flow2authwidget.cpp
-+        wizard/webviewpage.cpp
-+        wizard/webview.cpp
-+    )
-+endif()
-+
- IF( APPLE )
-     list(APPEND client_SRCS cocoainitializer_mac.mm)
-     list(APPEND client_SRCS socketapisocket_mac.mm)
-@@ -328,8 +333,11 @@
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
-         INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE};${CMAKE_INSTALL_RPATH}" )
- 
--target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2 Qt5::WebEngineWidgets)
-+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2)
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
-+IF(NOT NO_WEBENGINE)
-+    target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::WebEngineWidgets )
-+endif()
- IF(BUILD_UPDATER)
-     target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
- endif()
-diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
-index 34c4cbc3e..372c52f44 100644
---- a/src/gui/accountmanager.cpp
-+++ b/src/gui/accountmanager.cpp
-@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-         acc->setUrl(urlConfig.toUrl());
-     }
- 
-+#ifndef NO_WEBENGINE
-     // Migrate to webflow
-     if (authType == QLatin1String("http")) {
-         authType = "webflow";
-@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-             settings.remove(key);
-         }
-     }
-+#endif
- 
-     qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- 
-diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
-index 6062f70eb..723196d08 100644
---- a/src/gui/creds/credentialsfactory.cpp
-+++ b/src/gui/creds/credentialsfactory.cpp
-@@ -21,7 +21,9 @@
- #ifndef NO_SHIBBOLETH
- #include "creds/shibbolethcredentials.h"
- #endif
-+#ifndef NO_WEBENGINE
- #include "creds/webflowcredentials.h"
-+#endif
- 
- namespace OCC {
- 
-@@ -40,8 +42,10 @@ namespace CredentialsFactory {
-         } else if (type == "shibboleth") {
-             return new ShibbolethCredentials;
- #endif
-+#ifndef NO_WEBENGINE
-         } else if (type == "webflow") {
-             return new WebFlowCredentials;
-+#endif
-         } else {
-             qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
-             return new DummyCredentials;
-diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
-index 71f1c19c9..d997125a8 100644
---- a/src/gui/wizard/owncloudsetuppage.cpp
-+++ b/src/gui/wizard/owncloudsetuppage.cpp
-@@ -139,7 +139,11 @@ void OwncloudSetupPage::slotLogin()
- void OwncloudSetupPage::slotGotoProviderList()
- {
-     _ocWizard->setRegistration(true);
-+#ifndef NO_WEBENGINE
-     _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+#else
-+    _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
-+#endif
-     _authTypeKnown = true;
-     _checking = false;
-     emit completeChanged();
-diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
-index 912222dca..463c19d48 100644
---- a/src/gui/wizard/owncloudwizard.cpp
-+++ b/src/gui/wizard/owncloudwizard.cpp
-@@ -27,8 +27,10 @@
- #endif
- #include "wizard/owncloudadvancedsetuppage.h"
- #include "wizard/owncloudwizardresultpage.h"
-+#ifndef NO_WEBENGINE
- #include "wizard/webviewpage.h"
- #include "wizard/flow2authcredspage.h"
-+#endif
- 
- #include "QProgressIndicator.h"
- 
-@@ -50,22 +52,30 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
- #ifndef NO_SHIBBOLETH
-     , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
- #endif
-+#ifndef NO_WEBENGINE
-     , _flow2CredsPage(new Flow2AuthCredsPage)
-+#endif
-     , _advancedSetupPage(new OwncloudAdvancedSetupPage)
-     , _resultPage(new OwncloudWizardResultPage)
-+#ifndef NO_WEBENGINE
-     , _webViewPage(new WebViewPage(this))
-+#endif
- {
-     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
-     setPage(WizardCommon::Page_ServerSetup, _setupPage);
-     setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
-     setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
-+#endif
- #ifndef NO_SHIBBOLETH
-     setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
- #endif
-     setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
-     setPage(WizardCommon::Page_Result, _resultPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_WebView, _webViewPage);
-+#endif
- 
-     connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
- 
-@@ -77,11 +87,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
-     connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-     connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#ifndef NO_WEBENGINE
-     connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
- #ifndef NO_SHIBBOLETH
-     connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
- #endif
-+#ifndef NO_WEBENGINE
-     connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
-     connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
-         this, &OwncloudWizard::createLocalAndRemoteFolders);
-     connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -103,12 +117,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
-     connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
-     connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
-+#ifndef NO_WEBENGINE
-     connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
-+#endif
- 
-     customizeStyle();
- 
-+#ifndef NO_WEBENGINE
-     // allow Flow2 page to poll on window activation
-     connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
-+#endif
- }
- 
- void OwncloudWizard::setAccount(AccountPtr account)
-@@ -177,9 +195,11 @@ void OwncloudWizard::successfulStep()
-         _browserCredsPage->setConnected();
-         break;
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_Flow2AuthCreds:
-         _flow2CredsPage->setConnected();
-         break;
-+#endif
- 
- #ifndef NO_SHIBBOLETH
-     case WizardCommon::Page_ShibbolethCreds:
-@@ -187,9 +207,11 @@ void OwncloudWizard::successfulStep()
-         break;
- #endif
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_WebView:
-         _webViewPage->setConnected();
-         break;
-+#endif
- 
-     case WizardCommon::Page_AdvancedSetup:
-         _advancedSetupPage->directoriesCreated();
-@@ -214,10 +236,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
- #endif
-         if (type == DetermineAuthTypeJob::OAuth) {
-         _credentialsPage = _browserCredsPage;
-+#ifndef NO_WEBENGINE
-     } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
-         _credentialsPage = _flow2CredsPage;
-     } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-         _credentialsPage = _webViewPage;
-+#endif
-     } else { // try Basic auth even for "Unknown"
-         _credentialsPage = _httpCredsPage;
-     }
-@@ -242,7 +266,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
-     }
- 
-     setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
--    if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
-+    if (id == WizardCommon::Page_AdvancedSetup
-+           && (_credentialsPage == _browserCredsPage
-+#ifndef NO_WEBENGINE
-+           || _credentialsPage == _flow2CredsPage
-+#endif
-+           )) {
-         // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
-         // to re-open the browser.
-         button(QWizard::BackButton)->setEnabled(false);
-diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
-index ee6161ca5..c0ee06403 100644
---- a/src/gui/wizard/owncloudwizard.h
-+++ b/src/gui/wizard/owncloudwizard.h
-@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
- class OwncloudWizardResultPage;
- class AbstractCredentials;
- class AbstractCredentialsWizardPage;
-+#ifndef NO_WEBENGINE
- class WebViewPage;
- class Flow2AuthCredsPage;
-+#endif
- 
- /**
-  * @brief The OwncloudWizard class
-@@ -114,11 +116,15 @@ private:
- #ifndef NO_SHIBBOLETH
-     OwncloudShibbolethCredsPage *_shibbolethCredsPage;
- #endif
-+#ifndef NO_WEBENGINE
-     Flow2AuthCredsPage *_flow2CredsPage;
-+#endif
-     OwncloudAdvancedSetupPage *_advancedSetupPage;
-     OwncloudWizardResultPage *_resultPage;
-     AbstractCredentialsWizardPage *_credentialsPage = nullptr;
-+#ifndef NO_WEBENGINE
-     WebViewPage *_webViewPage;
-+#endif
- 
-     QStringList _setupLog;
- 
-diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
-index d40ccede4..0125f778b 100644
---- a/src/libsync/networkjobs.cpp
-+++ b/src/libsync/networkjobs.cpp
-@@ -966,12 +966,20 @@ void DetermineAuthTypeJob::checkAllDone()
- 
-     // WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = WebViewFlow;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = LoginFlowV2;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // If we determined that we need the webview flow (GS for example) then we switch to that
--- 
-2.28.0
-
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
deleted file mode 100644
index 2eba1cb3c5c..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
+++ /dev/null
@@ -1 +0,0 @@
--Np1
diff --git a/srcpkgs/nextcloud-client/patches/qt5.15.patch b/srcpkgs/nextcloud-client/patches/qt5.15.patch
deleted file mode 100644
index 60d459c5fd4..00000000000
--- a/srcpkgs/nextcloud-client/patches/qt5.15.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libsync/networkjobs.cpp	2020-03-03 20:32:31.000000000 +0100
-+++ -	2020-07-05 00:46:17.255659367 +0200
-@@ -30,6 +30,7 @@
- #include <QCoreApplication>
- #include <QJsonDocument>
- #include <QJsonObject>
-+#include <QPainterPath>
- #include <QPainter>
- 
- #include "networkjobs.h"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index dc4398a6319..cb674c0999d 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -1,18 +1,16 @@
 # Template file for 'nextcloud-client'
 pkgname=nextcloud-client
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="desktop-${version}"
 build_style=cmake
-configure_args="-Wno-dev $(vopt_if shibboleth '' '-DNO_SHIBBOLETH=True')
- $(vopt_if webengine '' '-DNO_WEBENGINE=True')"
+configure_args="-Wno-dev -DNO_SHIBBOLETH=True"
 hostmakedepends="pkg-config"
 makedepends="qt5-tools-devel qt5-declarative-devel qt5-webchannel-devel
  qt5-location-devel qtkeychain-qt5-devel sqlite-devel libcloudproviders-devel
- qt5-quickcontrols2-devel
+ qt5-quickcontrols2-devel qt5-websockets-devel qt5-svg-devel
  $(vopt_if dolphin 'extra-cmake-modules kio-devel')
- $(vopt_if shibboleth 'qt5-webkit-devel')
- $(vopt_if webengine 'qt5-webengine-devel')"
+ qt5-webengine-devel"
 depends="qt5-graphicaleffects"
 checkdepends="cmocka-devel"
 conf_files="/etc/Nextcloud/sync-exclude.lst"
@@ -21,19 +19,11 @@ maintainer="yopito <pierre.bourgin@free.fr>"
 license="GPL-2.0-or-later"
 homepage="https://nextcloud.com/clients/"
 distfiles="https://github.com/nextcloud/desktop/archive/v${version}.tar.gz"
-checksum=e296156a4de033a59f9b3210fe17fdfb8bb7aebefb715ae4e3b85e627e40a87f
+checksum=2fb2c18f479be2a04cf999f037def705c4be0087816af727038f0c71cb2c6189
 
-build_options="dolphin shibboleth webengine"
+build_options="dolphin"
 desc_option_dolphin="Build KDE dolphin support"
-desc_option_shibboleth="Build Shibboleth support (needs Qt5 WebKit)"
-desc_option_webengine="Build Qt5 WebEngine support"
-build_options_default="dolphin shibboleth"
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
-		build_options_default+=" webengine"
-	fi
-fi
+build_options_default="dolphin"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-qmake qt5-host-tools qt5-tools"
@@ -41,7 +31,8 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" $(vopt_if dolphin 'kcoreaddons')"
 fi
 
-subpackages="$(vopt_if dolphin 'nextcloud-client-dolphin') nextcloud-client-devel"
+subpackages="nextcloud-client-kwallet nextcloud-client-devel"
+subpackages+=" $(vopt_if dolphin 'nextcloud-client-dolphin')"
 
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DUNIT_TESTING=1"
@@ -53,6 +44,23 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 	esac
 fi
 
+nextcloud-client-kwallet_package() {
+	short_desc+=" - kwallet credential backend"
+	depends="nextcloud-client>=${version}_${revision} kwallet"
+	pkg_install() {
+		vbin ${FILESDIR}/kwallet/nextcloud.kwallet
+		vmkdir usr/share/applications
+		cp build/src/gui/com.nextcloud.desktopclient.nextcloud.desktop \
+		   ${DESTDIR}/usr/share/applications/nextcloud-kwallet.desktop
+		vsed -i -e 's,^Exec=.*,Exec=/usr/bin/nextcloud.kwallet,' \
+		     -e 's,\(^Name=.*\),\1 - use kwallet,' \
+		     -e 's,\(^Comment=.*\),\1 - use kwallet credential storage,' \
+		     -e '/^# Translations/,$d' \
+		     ${DESTDIR}/usr/share/applications/nextcloud-kwallet.desktop
+		vdoc ${FILESDIR}/kwallet/README.voidlinux
+	}
+}
+
 nextcloud-client-dolphin_package() {
 	short_desc+=" - KDE dolphin integration"
 	depends="nextcloud-client>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (10 preceding siblings ...)
  2021-02-15  8:45 ` [PR PATCH] [Updated] " yopito
@ 2021-02-15  8:46 ` yopito
  2021-02-16  5:48 ` [PR REVIEW] nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage fosslinux
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-15  8:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 248 bytes --]

New comment by yopito on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-779061509

Comment:
squashed commits, removed INSTALL.msg, add a README.voidlinux to new subpackage `nextcloud-client-kwallet` .

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR REVIEW] nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (11 preceding siblings ...)
  2021-02-15  8:46 ` yopito
@ 2021-02-16  5:48 ` fosslinux
  2021-02-17 22:49 ` [PR PATCH] [Updated] " yopito
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: fosslinux @ 2021-02-16  5:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 161 bytes --]

New review comment by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#discussion_r576563386

Comment:
usefull typo

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (12 preceding siblings ...)
  2021-02-16  5:48 ` [PR REVIEW] nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage fosslinux
@ 2021-02-17 22:49 ` yopito
  2021-02-24  4:18 ` [PR PATCH] [Merged]: " ericonr
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-17 22:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1950 bytes --]

There is an updated pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages nextcloud.312
https://github.com/void-linux/void-packages/pull/28674

nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
* Edit: add package `nextcloud-client-kwallet` to deal with https://github.com/void-linux/void-packages/issues/26774 . 

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [x] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/28674.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nextcloud.312-28674.patch --]
[-- Type: text/x-diff, Size: 21283 bytes --]

From adaa1713877887b3d27fc11103103f5929e32451 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Thu, 11 Feb 2021 21:21:49 +0100
Subject: [PATCH] nextcloud-client: update to 3.1.2, no shibboleth and webkit
 support, kwallet subpackage

* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
* nextcloud-client-kwallet: dedicated package for kwallet as credential storage

Closes: #26774
---
 srcpkgs/nextcloud-client-kwallet              |   1 +
 .../files/kwallet/README.voidlinux            |   6 +
 .../files/kwallet/nextcloud.kwallet           |   4 +
 .../patches/no-webengine-support.patch        | 371 ------------------
 .../patches/no-webengine-support.patch.args   |   1 -
 srcpkgs/nextcloud-client/patches/qt5.15.patch |  10 -
 srcpkgs/nextcloud-client/template             |  44 ++-
 7 files changed, 37 insertions(+), 400 deletions(-)
 create mode 120000 srcpkgs/nextcloud-client-kwallet
 create mode 100644 srcpkgs/nextcloud-client/files/kwallet/README.voidlinux
 create mode 100644 srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch
 delete mode 100644 srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
 delete mode 100644 srcpkgs/nextcloud-client/patches/qt5.15.patch

diff --git a/srcpkgs/nextcloud-client-kwallet b/srcpkgs/nextcloud-client-kwallet
new file mode 120000
index 00000000000..50c67ada861
--- /dev/null
+++ b/srcpkgs/nextcloud-client-kwallet
@@ -0,0 +1 @@
+nextcloud-client
\ No newline at end of file
diff --git a/srcpkgs/nextcloud-client/files/kwallet/README.voidlinux b/srcpkgs/nextcloud-client/files/kwallet/README.voidlinux
new file mode 100644
index 00000000000..d0a5e1dabed
--- /dev/null
+++ b/srcpkgs/nextcloud-client/files/kwallet/README.voidlinux
@@ -0,0 +1,6 @@
+nextcloud-client-kwallet package provides a wrapper of nextcloud-client.
+It enforces nextcloud-client to use kwallet as its credential storage.
+This is usefull when user's desktop environment is not KDE/plasma.
+
+Nextcloud-client relies on qtkeychain to choose an appropriate storage backend.
+But qtkeychain chooses kwallet over gnome-keyring only if the DE is KDE/Plasma.
diff --git a/srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet b/srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet
new file mode 100644
index 00000000000..7236b7df5a3
--- /dev/null
+++ b/srcpkgs/nextcloud-client/files/kwallet/nextcloud.kwallet
@@ -0,0 +1,4 @@
+#!/bin/sh
+# Force usage of KDE kwallet as credential storage via qtkeychain as much as possible.
+# related to https://github.com/void-linux/void-packages/issues/26774
+exec env DESKTOP_SESSION=kde KDE_SESSION_VERSION=5 /usr/bin/nextcloud "$@"
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
deleted file mode 100644
index 0d2642870c6..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-source: https://github.com/nextcloud/desktop/pull/2204/
-*partial* pick since 2nd commit 1f577e5 is broken ("Try to preserve flow2")
-
-src/gui/CMakeLists.txt diff modified to support nextcloud client 3.1.0
-(git commit is then partially modified)
-
-From 5b6bde1c206c9b1edb0472a823776bdc91488db3 Mon Sep 17 00:00:00 2001
-From: Max Rees <maxcrees@me.com>
-Date: Sun, 23 Feb 2020 23:09:29 -0600
-Subject: [PATCH 1/2] Add support for compiling without QtWebEngine (webflow /
- flow2 support)
-
-Signed-off-by: Max Rees <maxcrees@me.com>
-Signed-off-by: theova <theova@member.fsf.org>
----
- CMakeLists.txt                       |  7 +++++++
- src/CMakeLists.txt                   |  6 +++++-
- src/gui/CMakeLists.txt               | 24 ++++++++++++++-------
- src/gui/accountmanager.cpp           |  2 ++
- src/gui/creds/credentialsfactory.cpp |  4 ++++
- src/gui/wizard/owncloudsetuppage.cpp |  4 ++++
- src/gui/wizard/owncloudwizard.cpp    | 31 +++++++++++++++++++++++++++-
- src/gui/wizard/owncloudwizard.h      |  6 ++++++
- src/libsync/networkjobs.cpp          |  8 +++++++
- 9 files changed, 82 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5df238838..4a333dbdd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,13 @@ if(NO_SHIBBOLETH)
-    add_definitions(-DNO_SHIBBOLETH=1)
- endif()
- 
-+# Disable webengine-based components
-+option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
-+if(NO_WEBENGINE)
-+   message("Compiling without webengine")
-+   add_definitions(-DNO_WEBENGINE=1)
-+endif()
-+
- if(APPLE)
-   set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index a79edfcfb..c8ef114a4 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -4,7 +4,11 @@ endif()
- 
- set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
- 
--find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
-+find_package(Qt5 5.12 COMPONENTS Core Network Xml Concurrent REQUIRED)
-+
-+if(NOT NO_WEBENGINE)
-+    find_package(Qt5 5.12 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
-+endif()
- 
- if(NOT TOKEN_AUTH_ONLY)
-     find_package(Qt5Keychain REQUIRED)
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index 2f1e99e2b..c5be00c37 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -119,23 +119,16 @@
-     creds/credentialsfactory.cpp
-     creds/httpcredentialsgui.cpp
-     creds/oauth.cpp
--    creds/flow2auth.cpp
--    creds/webflowcredentials.cpp
--    creds/webflowcredentialsdialog.cpp
-     wizard/postfixlineedit.cpp
-     wizard/abstractcredswizardpage.cpp
-     wizard/owncloudadvancedsetuppage.cpp
-     wizard/owncloudconnectionmethoddialog.cpp
-     wizard/owncloudhttpcredspage.cpp
-     wizard/owncloudoauthcredspage.cpp
--    wizard/flow2authcredspage.cpp
--    wizard/flow2authwidget.cpp
-     wizard/owncloudsetuppage.cpp
-     wizard/owncloudwizardcommon.cpp
-     wizard/owncloudwizard.cpp
-     wizard/owncloudwizardresultpage.cpp
--    wizard/webviewpage.cpp
--    wizard/webview.cpp
-     wizard/slideshow.cpp
- )
- 
-@@ -156,6 +149,18 @@
-     )
- endif()
- 
-+IF(NOT NO_WEBENGINE)
-+    list(APPEND client_SRCS
-+        creds/flow2auth.cpp
-+        creds/webflowcredentials.cpp
-+        creds/webflowcredentialsdialog.cpp
-+        wizard/flow2authcredspage.cpp
-+        wizard/flow2authwidget.cpp
-+        wizard/webviewpage.cpp
-+        wizard/webview.cpp
-+    )
-+endif()
-+
- IF( APPLE )
-     list(APPEND client_SRCS cocoainitializer_mac.mm)
-     list(APPEND client_SRCS socketapisocket_mac.mm)
-@@ -328,8 +333,11 @@
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
-         INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE};${CMAKE_INSTALL_RPATH}" )
- 
--target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2 Qt5::WebEngineWidgets)
-+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::Widgets Qt5::GuiPrivate Qt5::Svg Qt5::Network Qt5::Xml Qt5::Qml Qt5::Quick Qt5::QuickControls2)
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
-+IF(NOT NO_WEBENGINE)
-+    target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5::WebEngineWidgets )
-+endif()
- IF(BUILD_UPDATER)
-     target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
- endif()
-diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
-index 34c4cbc3e..372c52f44 100644
---- a/src/gui/accountmanager.cpp
-+++ b/src/gui/accountmanager.cpp
-@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-         acc->setUrl(urlConfig.toUrl());
-     }
- 
-+#ifndef NO_WEBENGINE
-     // Migrate to webflow
-     if (authType == QLatin1String("http")) {
-         authType = "webflow";
-@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
-             settings.remove(key);
-         }
-     }
-+#endif
- 
-     qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- 
-diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
-index 6062f70eb..723196d08 100644
---- a/src/gui/creds/credentialsfactory.cpp
-+++ b/src/gui/creds/credentialsfactory.cpp
-@@ -21,7 +21,9 @@
- #ifndef NO_SHIBBOLETH
- #include "creds/shibbolethcredentials.h"
- #endif
-+#ifndef NO_WEBENGINE
- #include "creds/webflowcredentials.h"
-+#endif
- 
- namespace OCC {
- 
-@@ -40,8 +42,10 @@ namespace CredentialsFactory {
-         } else if (type == "shibboleth") {
-             return new ShibbolethCredentials;
- #endif
-+#ifndef NO_WEBENGINE
-         } else if (type == "webflow") {
-             return new WebFlowCredentials;
-+#endif
-         } else {
-             qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
-             return new DummyCredentials;
-diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
-index 71f1c19c9..d997125a8 100644
---- a/src/gui/wizard/owncloudsetuppage.cpp
-+++ b/src/gui/wizard/owncloudsetuppage.cpp
-@@ -139,7 +139,11 @@ void OwncloudSetupPage::slotLogin()
- void OwncloudSetupPage::slotGotoProviderList()
- {
-     _ocWizard->setRegistration(true);
-+#ifndef NO_WEBENGINE
-     _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+#else
-+    _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
-+#endif
-     _authTypeKnown = true;
-     _checking = false;
-     emit completeChanged();
-diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
-index 912222dca..463c19d48 100644
---- a/src/gui/wizard/owncloudwizard.cpp
-+++ b/src/gui/wizard/owncloudwizard.cpp
-@@ -27,8 +27,10 @@
- #endif
- #include "wizard/owncloudadvancedsetuppage.h"
- #include "wizard/owncloudwizardresultpage.h"
-+#ifndef NO_WEBENGINE
- #include "wizard/webviewpage.h"
- #include "wizard/flow2authcredspage.h"
-+#endif
- 
- #include "QProgressIndicator.h"
- 
-@@ -50,22 +52,30 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
- #ifndef NO_SHIBBOLETH
-     , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
- #endif
-+#ifndef NO_WEBENGINE
-     , _flow2CredsPage(new Flow2AuthCredsPage)
-+#endif
-     , _advancedSetupPage(new OwncloudAdvancedSetupPage)
-     , _resultPage(new OwncloudWizardResultPage)
-+#ifndef NO_WEBENGINE
-     , _webViewPage(new WebViewPage(this))
-+#endif
- {
-     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
-     setPage(WizardCommon::Page_ServerSetup, _setupPage);
-     setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
-     setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
-+#endif
- #ifndef NO_SHIBBOLETH
-     setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
- #endif
-     setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
-     setPage(WizardCommon::Page_Result, _resultPage);
-+#ifndef NO_WEBENGINE
-     setPage(WizardCommon::Page_WebView, _webViewPage);
-+#endif
- 
-     connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
- 
-@@ -77,11 +87,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
-     connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-     connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#ifndef NO_WEBENGINE
-     connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
- #ifndef NO_SHIBBOLETH
-     connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
- #endif
-+#ifndef NO_WEBENGINE
-     connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
-+#endif
-     connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
-         this, &OwncloudWizard::createLocalAndRemoteFolders);
-     connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -103,12 +117,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
-     // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
-     connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
-     connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
-+#ifndef NO_WEBENGINE
-     connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
-+#endif
- 
-     customizeStyle();
- 
-+#ifndef NO_WEBENGINE
-     // allow Flow2 page to poll on window activation
-     connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
-+#endif
- }
- 
- void OwncloudWizard::setAccount(AccountPtr account)
-@@ -177,9 +195,11 @@ void OwncloudWizard::successfulStep()
-         _browserCredsPage->setConnected();
-         break;
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_Flow2AuthCreds:
-         _flow2CredsPage->setConnected();
-         break;
-+#endif
- 
- #ifndef NO_SHIBBOLETH
-     case WizardCommon::Page_ShibbolethCreds:
-@@ -187,9 +207,11 @@ void OwncloudWizard::successfulStep()
-         break;
- #endif
- 
-+#ifndef NO_WEBENGINE
-     case WizardCommon::Page_WebView:
-         _webViewPage->setConnected();
-         break;
-+#endif
- 
-     case WizardCommon::Page_AdvancedSetup:
-         _advancedSetupPage->directoriesCreated();
-@@ -214,10 +236,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
- #endif
-         if (type == DetermineAuthTypeJob::OAuth) {
-         _credentialsPage = _browserCredsPage;
-+#ifndef NO_WEBENGINE
-     } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
-         _credentialsPage = _flow2CredsPage;
-     } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-         _credentialsPage = _webViewPage;
-+#endif
-     } else { // try Basic auth even for "Unknown"
-         _credentialsPage = _httpCredsPage;
-     }
-@@ -242,7 +266,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
-     }
- 
-     setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
--    if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
-+    if (id == WizardCommon::Page_AdvancedSetup
-+           && (_credentialsPage == _browserCredsPage
-+#ifndef NO_WEBENGINE
-+           || _credentialsPage == _flow2CredsPage
-+#endif
-+           )) {
-         // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
-         // to re-open the browser.
-         button(QWizard::BackButton)->setEnabled(false);
-diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
-index ee6161ca5..c0ee06403 100644
---- a/src/gui/wizard/owncloudwizard.h
-+++ b/src/gui/wizard/owncloudwizard.h
-@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
- class OwncloudWizardResultPage;
- class AbstractCredentials;
- class AbstractCredentialsWizardPage;
-+#ifndef NO_WEBENGINE
- class WebViewPage;
- class Flow2AuthCredsPage;
-+#endif
- 
- /**
-  * @brief The OwncloudWizard class
-@@ -114,11 +116,15 @@ private:
- #ifndef NO_SHIBBOLETH
-     OwncloudShibbolethCredsPage *_shibbolethCredsPage;
- #endif
-+#ifndef NO_WEBENGINE
-     Flow2AuthCredsPage *_flow2CredsPage;
-+#endif
-     OwncloudAdvancedSetupPage *_advancedSetupPage;
-     OwncloudWizardResultPage *_resultPage;
-     AbstractCredentialsWizardPage *_credentialsPage = nullptr;
-+#ifndef NO_WEBENGINE
-     WebViewPage *_webViewPage;
-+#endif
- 
-     QStringList _setupLog;
- 
-diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
-index d40ccede4..0125f778b 100644
---- a/src/libsync/networkjobs.cpp
-+++ b/src/libsync/networkjobs.cpp
-@@ -966,12 +966,20 @@ void DetermineAuthTypeJob::checkAllDone()
- 
-     // WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = WebViewFlow;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
-     if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
-+#ifndef NO_WEBENGINE
-         result = LoginFlowV2;
-+#else
-+        result = Basic;
-+#endif
-     }
- 
-     // If we determined that we need the webview flow (GS for example) then we switch to that
--- 
-2.28.0
-
diff --git a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args b/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
deleted file mode 100644
index 2eba1cb3c5c..00000000000
--- a/srcpkgs/nextcloud-client/patches/no-webengine-support.patch.args
+++ /dev/null
@@ -1 +0,0 @@
--Np1
diff --git a/srcpkgs/nextcloud-client/patches/qt5.15.patch b/srcpkgs/nextcloud-client/patches/qt5.15.patch
deleted file mode 100644
index 60d459c5fd4..00000000000
--- a/srcpkgs/nextcloud-client/patches/qt5.15.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libsync/networkjobs.cpp	2020-03-03 20:32:31.000000000 +0100
-+++ -	2020-07-05 00:46:17.255659367 +0200
-@@ -30,6 +30,7 @@
- #include <QCoreApplication>
- #include <QJsonDocument>
- #include <QJsonObject>
-+#include <QPainterPath>
- #include <QPainter>
- 
- #include "networkjobs.h"
diff --git a/srcpkgs/nextcloud-client/template b/srcpkgs/nextcloud-client/template
index dc4398a6319..cb674c0999d 100644
--- a/srcpkgs/nextcloud-client/template
+++ b/srcpkgs/nextcloud-client/template
@@ -1,18 +1,16 @@
 # Template file for 'nextcloud-client'
 pkgname=nextcloud-client
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="desktop-${version}"
 build_style=cmake
-configure_args="-Wno-dev $(vopt_if shibboleth '' '-DNO_SHIBBOLETH=True')
- $(vopt_if webengine '' '-DNO_WEBENGINE=True')"
+configure_args="-Wno-dev -DNO_SHIBBOLETH=True"
 hostmakedepends="pkg-config"
 makedepends="qt5-tools-devel qt5-declarative-devel qt5-webchannel-devel
  qt5-location-devel qtkeychain-qt5-devel sqlite-devel libcloudproviders-devel
- qt5-quickcontrols2-devel
+ qt5-quickcontrols2-devel qt5-websockets-devel qt5-svg-devel
  $(vopt_if dolphin 'extra-cmake-modules kio-devel')
- $(vopt_if shibboleth 'qt5-webkit-devel')
- $(vopt_if webengine 'qt5-webengine-devel')"
+ qt5-webengine-devel"
 depends="qt5-graphicaleffects"
 checkdepends="cmocka-devel"
 conf_files="/etc/Nextcloud/sync-exclude.lst"
@@ -21,19 +19,11 @@ maintainer="yopito <pierre.bourgin@free.fr>"
 license="GPL-2.0-or-later"
 homepage="https://nextcloud.com/clients/"
 distfiles="https://github.com/nextcloud/desktop/archive/v${version}.tar.gz"
-checksum=e296156a4de033a59f9b3210fe17fdfb8bb7aebefb715ae4e3b85e627e40a87f
+checksum=2fb2c18f479be2a04cf999f037def705c4be0087816af727038f0c71cb2c6189
 
-build_options="dolphin shibboleth webengine"
+build_options="dolphin"
 desc_option_dolphin="Build KDE dolphin support"
-desc_option_shibboleth="Build Shibboleth support (needs Qt5 WebKit)"
-desc_option_webengine="Build Qt5 WebEngine support"
-build_options_default="dolphin shibboleth"
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
-		build_options_default+=" webengine"
-	fi
-fi
+build_options_default="dolphin"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-qmake qt5-host-tools qt5-tools"
@@ -41,7 +31,8 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" $(vopt_if dolphin 'kcoreaddons')"
 fi
 
-subpackages="$(vopt_if dolphin 'nextcloud-client-dolphin') nextcloud-client-devel"
+subpackages="nextcloud-client-kwallet nextcloud-client-devel"
+subpackages+=" $(vopt_if dolphin 'nextcloud-client-dolphin')"
 
 if [ "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DUNIT_TESTING=1"
@@ -53,6 +44,23 @@ if [ "$XBPS_CHECK_PKGS" ]; then
 	esac
 fi
 
+nextcloud-client-kwallet_package() {
+	short_desc+=" - kwallet credential backend"
+	depends="nextcloud-client>=${version}_${revision} kwallet"
+	pkg_install() {
+		vbin ${FILESDIR}/kwallet/nextcloud.kwallet
+		vmkdir usr/share/applications
+		cp build/src/gui/com.nextcloud.desktopclient.nextcloud.desktop \
+		   ${DESTDIR}/usr/share/applications/nextcloud-kwallet.desktop
+		vsed -i -e 's,^Exec=.*,Exec=/usr/bin/nextcloud.kwallet,' \
+		     -e 's,\(^Name=.*\),\1 - use kwallet,' \
+		     -e 's,\(^Comment=.*\),\1 - use kwallet credential storage,' \
+		     -e '/^# Translations/,$d' \
+		     ${DESTDIR}/usr/share/applications/nextcloud-kwallet.desktop
+		vdoc ${FILESDIR}/kwallet/README.voidlinux
+	}
+}
+
 nextcloud-client-dolphin_package() {
 	short_desc+=" - KDE dolphin integration"
 	depends="nextcloud-client>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Merged]: nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (13 preceding siblings ...)
  2021-02-17 22:49 ` [PR PATCH] [Updated] " yopito
@ 2021-02-24  4:18 ` ericonr
  2021-02-24 16:30 ` q66
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ericonr @ 2021-02-24  4:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1790 bytes --]

There's a merged pull request on the void-packages repository

nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
https://github.com/void-linux/void-packages/pull/28674

Description:
* shibboleth is "highly deprecated" by upstream, will be removed in 3.2.
* webkit support is currently ineffective and difficult to fix.
* fix ~dolphin build options
* Edit: add package `nextcloud-client-kwallet` to deal with https://github.com/void-linux/void-packages/issues/26774 . 

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [x] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (14 preceding siblings ...)
  2021-02-24  4:18 ` [PR PATCH] [Merged]: " ericonr
@ 2021-02-24 16:30 ` q66
  2021-02-24 16:30 ` q66
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2021-02-24 16:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 241 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-785200959

Comment:
? why was the `webengine` option removed? the patch applies perfectly fine and doesn't need any rebasing

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (15 preceding siblings ...)
  2021-02-24 16:30 ` q66
@ 2021-02-24 16:30 ` q66
  2021-02-25  7:33 ` yopito
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2021-02-24 16:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 279 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-785200959

Comment:
? why was the `webengine` option removed? the patch applies perfectly fine and doesn't need any rebasing (and irrelevant to webkit/shibboleth)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (16 preceding siblings ...)
  2021-02-24 16:30 ` q66
@ 2021-02-25  7:33 ` yopito
  2021-02-25 10:06 ` q66
  2021-02-25 19:18 ` yopito
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-25  7:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 255 bytes --]

New comment by yopito on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-785685799

Comment:
@q66: I don't remember exactly the details, but webkit support is completely useless according to my runtime tests.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (17 preceding siblings ...)
  2021-02-25  7:33 ` yopito
@ 2021-02-25 10:06 ` q66
  2021-02-25 19:18 ` yopito
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2021-02-25 10:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 338 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-785776651

Comment:
... the webkit stuff and the webengine removal patch are two completely different and separate things

webengine is used for login flow, which the patch disables, it does not use webkit for anything 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage
  2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
                   ` (18 preceding siblings ...)
  2021-02-25 10:06 ` q66
@ 2021-02-25 19:18 ` yopito
  19 siblings, 0 replies; 21+ messages in thread
From: yopito @ 2021-02-25 19:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 248 bytes --]

New comment by yopito on void-packages repository

https://github.com/void-linux/void-packages/pull/28674#issuecomment-786140024

Comment:
I agree. but without the login flow, can this app be considered as usable ?
I don't see how to use it then.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-02-25 19:18 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-11 20:25 [PR PATCH] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and wekbit support yopito
2021-02-11 20:35 ` ericonr
2021-02-11 20:35 ` ericonr
2021-02-11 23:27 ` paper42
2021-02-11 23:34 ` yopito
2021-02-11 23:35 ` [PR PATCH] [Updated] " yopito
2021-02-13 20:12 ` [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support yopito
2021-02-13 20:16 ` yopito
2021-02-13 20:28 ` ericonr
2021-02-14 20:52 ` [PR PATCH] [Updated] " yopito
2021-02-14 21:01 ` yopito
2021-02-15  8:45 ` [PR PATCH] [Updated] " yopito
2021-02-15  8:46 ` yopito
2021-02-16  5:48 ` [PR REVIEW] nextcloud-client: update to 3.1.2, no shibboleth and webkit support, kwallet subpackage fosslinux
2021-02-17 22:49 ` [PR PATCH] [Updated] " yopito
2021-02-24  4:18 ` [PR PATCH] [Merged]: " ericonr
2021-02-24 16:30 ` q66
2021-02-24 16:30 ` q66
2021-02-25  7:33 ` yopito
2021-02-25 10:06 ` q66
2021-02-25 19:18 ` yopito

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).