Github messages for voidlinux
 help / color / mirror / Atom feed
From: yopito <yopito@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [WIP] nextcloud-client: update to 3.1.2, remove shibboleth and webkit support
Date: Sun, 14 Feb 2021 21:52:47 +0100	[thread overview]
Message-ID: <20210214205247.S4yYbnjJBx4GisLhUh9MuiMf13T12XYCIOoOpzXUsyk@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-28674@inbox.vuxu.org>

[-- 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}"

  parent reply	other threads:[~2021-02-14 20:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` yopito [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210214205247.S4yYbnjJBx4GisLhUh9MuiMf13T12XYCIOoOpzXUsyk@z \
    --to=yopito@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).