net-misc/nextcloud-client: make qtwebengine optional
This large dependency is not needed for most current authentications Also updated many build options (doc, dolphin and nautilus integration) Closes: https://bugs.gentoo.org/800863 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
This commit is contained in:
parent
5a8288a89c
commit
9e05aaacaa
|
@ -0,0 +1,419 @@
|
|||
diff -Naur desktop-3.2.3.orig/src/CMakeLists.txt desktop-3.2.3/src/CMakeLists.txt
|
||||
--- desktop-3.2.3.orig/src/CMakeLists.txt 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/CMakeLists.txt 2021-07-07 20:26:40.620839467 +0200
|
||||
@@ -4,7 +4,13 @@
|
||||
|
||||
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)
|
||||
+find_package(Qt5 5.12 COMPONENTS WebEngineWidgets WebEngine)
|
||||
+
|
||||
+if(Qt5WebEngine_FOUND AND Qt5WebEngineWidgets_FOUND)
|
||||
+ add_compile_definitions(WITH_WEBENGINE=1)
|
||||
+endif()
|
||||
+
|
||||
get_target_property (QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
|
||||
message(STATUS "Using Qt ${Qt5Core_VERSION} (${QT_QMAKE_EXECUTABLE})")
|
||||
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/CMakeLists.txt desktop-3.2.3/src/gui/CMakeLists.txt
|
||||
--- desktop-3.2.3.orig/src/gui/CMakeLists.txt 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/CMakeLists.txt 2021-07-07 20:26:40.620839467 +0200
|
||||
@@ -128,12 +128,17 @@
|
||||
wizard/owncloudwizardcommon.cpp
|
||||
wizard/owncloudwizard.cpp
|
||||
wizard/owncloudwizardresultpage.cpp
|
||||
- wizard/webviewpage.cpp
|
||||
- wizard/webview.cpp
|
||||
wizard/slideshow.cpp
|
||||
wizard/welcomepage.cpp
|
||||
wizard/linklabel.cpp
|
||||
-)
|
||||
+ )
|
||||
+
|
||||
+if (Qt5WebEngine_FOUND AND Qt5WebEngineWidgets_FOUND)
|
||||
+ list(APPEND client_SRCS
|
||||
+ wizard/webviewpage.cpp
|
||||
+ wizard/webview.cpp
|
||||
+ )
|
||||
+endif()
|
||||
|
||||
IF(BUILD_UPDATER)
|
||||
set(updater_SRCS
|
||||
@@ -339,9 +344,12 @@
|
||||
Qt5::Qml
|
||||
Qt5::Quick
|
||||
Qt5::QuickControls2
|
||||
- Qt5::WebEngineWidgets
|
||||
${synclib_NAME}
|
||||
-)
|
||||
+ )
|
||||
+
|
||||
+if(Qt5WebEngine_FOUND AND Qt5WebEngineWidgets_FOUND)
|
||||
+ target_link_libraries(nextcloudCore PUBLIC Qt5::WebEngineWidgets)
|
||||
+endif()
|
||||
|
||||
set_target_properties(nextcloudCore
|
||||
PROPERTIES
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/creds/webflowcredentials.cpp desktop-3.2.3/src/gui/creds/webflowcredentials.cpp
|
||||
--- desktop-3.2.3.orig/src/gui/creds/webflowcredentials.cpp 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/creds/webflowcredentials.cpp 2021-07-07 20:26:40.618839464 +0200
|
||||
@@ -16,7 +16,9 @@
|
||||
#include "account.h"
|
||||
#include "configfile.h"
|
||||
#include "theme.h"
|
||||
+#ifdef WITH_WEBENGINE
|
||||
#include "wizard/webview.h"
|
||||
+#endif // WITH_WEBENGINE
|
||||
#include "webflowcredentialsdialog.h"
|
||||
|
||||
using namespace QKeychain;
|
||||
@@ -144,8 +146,12 @@
|
||||
// Do a DetermineAuthTypeJob to make sure that the server is still using Flow2
|
||||
auto job = new DetermineAuthTypeJob(_account->sharedFromThis(), this);
|
||||
connect(job, &DetermineAuthTypeJob::authType, [this](DetermineAuthTypeJob::AuthType type) {
|
||||
- // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
|
||||
+ // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
|
||||
+#ifdef WITH_WEBENGINE
|
||||
bool useFlow2 = (type != DetermineAuthTypeJob::WebViewFlow);
|
||||
+#else // WITH_WEBENGINE
|
||||
+ bool useFlow2 = true;
|
||||
+#endif // WITH_WEBENGINE
|
||||
|
||||
_askDialog = new WebFlowCredentialsDialog(_account, useFlow2);
|
||||
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/creds/webflowcredentialsdialog.cpp desktop-3.2.3/src/gui/creds/webflowcredentialsdialog.cpp
|
||||
--- desktop-3.2.3.orig/src/gui/creds/webflowcredentialsdialog.cpp 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/creds/webflowcredentialsdialog.cpp 2021-07-07 20:26:40.618839464 +0200
|
||||
@@ -8,16 +8,20 @@
|
||||
#include "owncloudgui.h"
|
||||
#include "headerbanner.h"
|
||||
#include "wizard/owncloudwizardcommon.h"
|
||||
+#ifdef WITH_WEBENGINE
|
||||
#include "wizard/webview.h"
|
||||
+#endif // WITH_WEBENGINE
|
||||
#include "wizard/flow2authwidget.h"
|
||||
|
||||
namespace OCC {
|
||||
|
||||
WebFlowCredentialsDialog::WebFlowCredentialsDialog(Account *account, bool useFlow2, QWidget *parent)
|
||||
- : QDialog(parent),
|
||||
- _useFlow2(useFlow2),
|
||||
- _flow2AuthWidget(nullptr),
|
||||
- _webView(nullptr)
|
||||
+ : QDialog(parent)
|
||||
+ , _useFlow2(useFlow2)
|
||||
+ , _flow2AuthWidget(nullptr)
|
||||
+#ifdef WITH_WEBENGINE
|
||||
+ , _webView(nullptr)
|
||||
+#endif // WITH_WEBENGINE
|
||||
{
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
|
||||
@@ -49,10 +53,12 @@
|
||||
|
||||
_flow2AuthWidget->startAuth(account);
|
||||
} else {
|
||||
+#ifdef WITH_WEBENGINE
|
||||
_webView = new WebView();
|
||||
_containerLayout->addWidget(_webView);
|
||||
|
||||
connect(_webView, &WebView::urlCatched, this, &WebFlowCredentialsDialog::urlCatched);
|
||||
+#endif // WITH_WEBENGINE
|
||||
}
|
||||
|
||||
auto app = static_cast<Application *>(qApp);
|
||||
@@ -73,12 +79,14 @@
|
||||
void WebFlowCredentialsDialog::closeEvent(QCloseEvent* e) {
|
||||
Q_UNUSED(e)
|
||||
|
||||
+#ifdef WITH_WEBENGINE
|
||||
if (_webView) {
|
||||
// Force calling WebView::~WebView() earlier so that _profile and _page are
|
||||
// deleted in the correct order.
|
||||
_webView->deleteLater();
|
||||
_webView = nullptr;
|
||||
}
|
||||
+#endif // WITH_WEBENGINE
|
||||
|
||||
if (_flow2AuthWidget) {
|
||||
_flow2AuthWidget->resetAuth();
|
||||
@@ -89,9 +97,14 @@
|
||||
emit onClose();
|
||||
}
|
||||
|
||||
-void WebFlowCredentialsDialog::setUrl(const QUrl &url) {
|
||||
+void WebFlowCredentialsDialog::setUrl(const QUrl &url)
|
||||
+{
|
||||
+#ifdef WITH_WEBENGINE
|
||||
if (_webView)
|
||||
_webView->setUrl(url);
|
||||
+#else // WITH_WEBENGINE
|
||||
+ Q_UNUSED(url);
|
||||
+#endif // WITH_WEBENGINE
|
||||
}
|
||||
|
||||
void WebFlowCredentialsDialog::setInfo(const QString &msg) {
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/creds/webflowcredentialsdialog.h desktop-3.2.3/src/gui/creds/webflowcredentialsdialog.h
|
||||
--- desktop-3.2.3.orig/src/gui/creds/webflowcredentialsdialog.h 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/creds/webflowcredentialsdialog.h 2021-07-07 20:26:40.618839464 +0200
|
||||
@@ -13,7 +13,9 @@
|
||||
namespace OCC {
|
||||
|
||||
class HeaderBanner;
|
||||
+#ifdef WITH_WEBENGINE
|
||||
class WebView;
|
||||
+#endif // WITH_WEBENGINE
|
||||
class Flow2AuthWidget;
|
||||
|
||||
class WebFlowCredentialsDialog : public QDialog
|
||||
@@ -50,7 +52,9 @@
|
||||
bool _useFlow2;
|
||||
|
||||
Flow2AuthWidget *_flow2AuthWidget;
|
||||
+#ifdef WITH_WEBENGINE
|
||||
WebView *_webView;
|
||||
+#endif // WITH_WEBENGINE
|
||||
|
||||
QLabel *_errorLabel;
|
||||
QLabel *_infoLabel;
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/wizard/owncloudsetuppage.cpp desktop-3.2.3/src/gui/wizard/owncloudsetuppage.cpp
|
||||
--- desktop-3.2.3.orig/src/gui/wizard/owncloudsetuppage.cpp 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/wizard/owncloudsetuppage.cpp 2021-07-07 20:26:40.619839465 +0200
|
||||
@@ -119,21 +119,6 @@
|
||||
_ui.leUrl->setPalette(leUrlPalette);
|
||||
}
|
||||
|
||||
-#ifdef WITH_PROVIDERS
|
||||
-void OwncloudSetupPage::slotLogin()
|
||||
-{
|
||||
- _ocWizard->setRegistration(false);
|
||||
-}
|
||||
-void OwncloudSetupPage::slotGotoProviderList()
|
||||
-{
|
||||
- _ocWizard->setRegistration(true);
|
||||
- _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
|
||||
- _authTypeKnown = true;
|
||||
- _checking = false;
|
||||
- emit completeChanged();
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
// slot hit from textChanged of the url entry field.
|
||||
void OwncloudSetupPage::slotUrlChanged(const QString &url)
|
||||
{
|
||||
@@ -228,8 +213,10 @@
|
||||
return WizardCommon::Page_OAuthCreds;
|
||||
case DetermineAuthTypeJob::LoginFlowV2:
|
||||
return WizardCommon::Page_Flow2AuthCreds;
|
||||
+#ifdef WITH_WEBENGINE
|
||||
case DetermineAuthTypeJob::WebViewFlow:
|
||||
return WizardCommon::Page_WebView;
|
||||
+#endif // WITH_WEBENGINE
|
||||
}
|
||||
return WizardCommon::Page_HttpCreds;
|
||||
}
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/wizard/owncloudsetuppage.h desktop-3.2.3/src/gui/wizard/owncloudsetuppage.h
|
||||
--- desktop-3.2.3.orig/src/gui/wizard/owncloudsetuppage.h 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/wizard/owncloudsetuppage.h 2021-07-07 20:26:40.617839462 +0200
|
||||
@@ -67,10 +67,6 @@
|
||||
protected slots:
|
||||
void slotUrlChanged(const QString &);
|
||||
void slotUrlEditFinished();
|
||||
-#ifdef WITH_PROVIDERS
|
||||
- void slotLogin();
|
||||
- void slotGotoProviderList();
|
||||
-#endif
|
||||
|
||||
void setupCustomization();
|
||||
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/wizard/owncloudwizardcommon.h desktop-3.2.3/src/gui/wizard/owncloudwizardcommon.h
|
||||
--- desktop-3.2.3.orig/src/gui/wizard/owncloudwizardcommon.h 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/wizard/owncloudwizardcommon.h 2021-07-07 20:26:40.619839465 +0200
|
||||
@@ -46,7 +46,9 @@
|
||||
Page_HttpCreds,
|
||||
Page_OAuthCreds,
|
||||
Page_Flow2AuthCreds,
|
||||
+#ifdef WITH_WEBENGINE
|
||||
Page_WebView,
|
||||
+#endif // WITH_WEBENGINE
|
||||
Page_AdvancedSetup,
|
||||
Page_Result
|
||||
};
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/wizard/owncloudwizard.cpp desktop-3.2.3/src/gui/wizard/owncloudwizard.cpp
|
||||
--- desktop-3.2.3.orig/src/gui/wizard/owncloudwizard.cpp 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/wizard/owncloudwizard.cpp 2021-07-07 20:26:40.619839465 +0200
|
||||
@@ -54,7 +54,11 @@
|
||||
, _flow2CredsPage(new Flow2AuthCredsPage)
|
||||
, _advancedSetupPage(new OwncloudAdvancedSetupPage(this))
|
||||
, _resultPage(new OwncloudWizardResultPage)
|
||||
+#ifdef WITH_WEBENGINE
|
||||
, _webViewPage(new WebViewPage(this))
|
||||
+#else // WITH_WEBENGINE
|
||||
+ , _webViewPage(nullptr)
|
||||
+#endif // WITH_WEBENGINE
|
||||
{
|
||||
setObjectName("owncloudWizard");
|
||||
|
||||
@@ -66,7 +70,9 @@
|
||||
setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
|
||||
setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
|
||||
setPage(WizardCommon::Page_Result, _resultPage);
|
||||
+#ifdef WITH_WEBENGINE
|
||||
setPage(WizardCommon::Page_WebView, _webViewPage);
|
||||
+#endif // WITH_WEBENGINE
|
||||
|
||||
connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
|
||||
|
||||
@@ -78,7 +84,9 @@
|
||||
connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
|
||||
connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
|
||||
connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
|
||||
+#ifdef WITH_WEBENGINE
|
||||
connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
|
||||
+#endif // WITH_WEBENGINE
|
||||
connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
|
||||
this, &OwncloudWizard::createLocalAndRemoteFolders);
|
||||
connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
|
||||
@@ -230,9 +238,11 @@
|
||||
_flow2CredsPage->setConnected();
|
||||
break;
|
||||
|
||||
+#ifdef WITH_WEBENGINE
|
||||
case WizardCommon::Page_WebView:
|
||||
_webViewPage->setConnected();
|
||||
break;
|
||||
+#endif // WITH_WEBENGINE
|
||||
|
||||
case WizardCommon::Page_AdvancedSetup:
|
||||
_advancedSetupPage->directoriesCreated();
|
||||
@@ -256,8 +266,10 @@
|
||||
_credentialsPage = _browserCredsPage;
|
||||
} else if (type == DetermineAuthTypeJob::LoginFlowV2) {
|
||||
_credentialsPage = _flow2CredsPage;
|
||||
+#ifdef WITH_WEBENGINE
|
||||
} else if (type == DetermineAuthTypeJob::WebViewFlow) {
|
||||
_credentialsPage = _webViewPage;
|
||||
+#endif // WITH_WEBENGINE
|
||||
} else { // try Basic auth even for "Unknown"
|
||||
_credentialsPage = _httpCredsPage;
|
||||
}
|
||||
@@ -281,7 +293,11 @@
|
||||
button(QWizard::NextButton)->setHidden(true);
|
||||
// Need to set it from here, otherwise it has no effect
|
||||
_welcomePage->setLoginButtonDefault();
|
||||
- } else if (id == WizardCommon::Page_WebView || id == WizardCommon::Page_Flow2AuthCreds) {
|
||||
+ } else if (
|
||||
+#ifdef WITH_WEBENGINE
|
||||
+ id == WizardCommon::Page_WebView ||
|
||||
+#endif // WITH_WEBENGINE
|
||||
+ id == WizardCommon::Page_Flow2AuthCreds) {
|
||||
setButtonLayout({ QWizard::Stretch, QWizard::BackButton });
|
||||
} else if (id == WizardCommon::Page_AdvancedSetup) {
|
||||
setButtonLayout({ QWizard::Stretch, QWizard::CustomButton1, QWizard::BackButton, QWizard::NextButton });
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/wizard/owncloudwizard.h desktop-3.2.3/src/gui/wizard/owncloudwizard.h
|
||||
--- desktop-3.2.3.orig/src/gui/wizard/owncloudwizard.h 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/wizard/owncloudwizard.h 2021-07-07 20:26:40.619839465 +0200
|
||||
@@ -128,7 +128,7 @@
|
||||
OwncloudAdvancedSetupPage *_advancedSetupPage;
|
||||
OwncloudWizardResultPage *_resultPage;
|
||||
AbstractCredentialsWizardPage *_credentialsPage = nullptr;
|
||||
- WebViewPage *_webViewPage;
|
||||
+ WebViewPage *_webViewPage = nullptr;
|
||||
|
||||
QStringList _setupLog;
|
||||
|
||||
diff -Naur desktop-3.2.3.orig/src/gui/wizard/welcomepage.cpp desktop-3.2.3/src/gui/wizard/welcomepage.cpp
|
||||
--- desktop-3.2.3.orig/src/gui/wizard/welcomepage.cpp 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/gui/wizard/welcomepage.cpp 2021-07-07 20:26:40.620839467 +0200
|
||||
@@ -13,6 +13,7 @@
|
||||
*/
|
||||
|
||||
#include "welcomepage.h"
|
||||
+#include "guiutility.h"
|
||||
#include "theme.h"
|
||||
#include "wizard/owncloudwizard.h"
|
||||
#include "wizard/slideshow.h"
|
||||
@@ -94,11 +95,18 @@
|
||||
|
||||
void WelcomePage::setupCreateAccountButton()
|
||||
{
|
||||
+#ifdef WITH_WEBENGINE
|
||||
connect(_ui->createAccountButton, &QPushButton::clicked, this, [this](bool /*checked*/) {
|
||||
_ocWizard->setRegistration(true);
|
||||
_nextPage = WizardCommon::Page_WebView;
|
||||
_ocWizard->next();
|
||||
});
|
||||
+#else // WITH_WEBENGINE
|
||||
+ connect(_ui->createAccountButton, &QPushButton::clicked, this, [this](bool /*checked*/) {
|
||||
+ _ocWizard->setRegistration(true);
|
||||
+ Utility::openBrowser(QStringLiteral("https://nextcloud.com/register"));
|
||||
+ });
|
||||
+#endif // WITH_WEBENGINE
|
||||
}
|
||||
|
||||
void WelcomePage::setupHostYourOwnServerLabel()
|
||||
diff -Naur desktop-3.2.3.orig/src/libsync/networkjobs.cpp desktop-3.2.3/src/libsync/networkjobs.cpp
|
||||
--- desktop-3.2.3.orig/src/libsync/networkjobs.cpp 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/libsync/networkjobs.cpp 2021-07-07 20:26:40.619839465 +0200
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <QCoreApplication>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
+#include <qloggingcategory.h>
|
||||
#ifndef TOKEN_AUTH_ONLY
|
||||
#include <QPainter>
|
||||
#include <QPainterPath>
|
||||
@@ -958,7 +959,11 @@
|
||||
auto flow = gs.toObject().value("desktoplogin");
|
||||
if (flow != QJsonValue::Undefined) {
|
||||
if (flow.toInt() == 1) {
|
||||
+#ifdef WITH_WEBENGINE
|
||||
_resultOldFlow = WebViewFlow;
|
||||
+#else // WITH_WEBENGINE
|
||||
+ qCWarning(lcDetermineAuthTypeJob) << "Server does only support flow1, but this client was compiled without support for flow1";
|
||||
+#endif // WITH_WEBENGINE
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -985,20 +990,24 @@
|
||||
|
||||
auto result = _resultPropfind;
|
||||
|
||||
+#ifdef WITH_WEBENGINE
|
||||
// WebViewFlow > OAuth > Basic
|
||||
if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
|
||||
result = WebViewFlow;
|
||||
}
|
||||
+#endif // WITH_WEBENGINE
|
||||
|
||||
// LoginFlowV2 > WebViewFlow > OAuth > Basic
|
||||
if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
|
||||
result = LoginFlowV2;
|
||||
}
|
||||
|
||||
+#ifdef WITH_WEBENGINE
|
||||
// If we determined that we need the webview flow (GS for example) then we switch to that
|
||||
if (_resultOldFlow == WebViewFlow) {
|
||||
result = WebViewFlow;
|
||||
}
|
||||
+#endif // WITH_WEBENGINE
|
||||
|
||||
// If we determined that a simple get gave us an authentication required error
|
||||
// then the server enforces basic auth and we got no choice but to use this
|
||||
diff -Naur desktop-3.2.3.orig/src/libsync/networkjobs.h desktop-3.2.3/src/libsync/networkjobs.h
|
||||
--- desktop-3.2.3.orig/src/libsync/networkjobs.h 2021-06-24 12:04:33.000000000 +0200
|
||||
+++ desktop-3.2.3/src/libsync/networkjobs.h 2021-07-07 20:26:40.619839465 +0200
|
||||
@@ -444,9 +444,11 @@
|
||||
public:
|
||||
enum AuthType {
|
||||
NoAuthType, // used only before we got a chance to probe the server
|
||||
+#ifdef WITH_WEBENGINE
|
||||
+ WebViewFlow,
|
||||
+#endif // WITH_WEBENGINE
|
||||
Basic, // also the catch-all fallback for backwards compatibility reasons
|
||||
OAuth,
|
||||
- WebViewFlow,
|
||||
LoginFlowV2
|
||||
};
|
||||
Q_ENUM(AuthType)
|
|
@ -8,6 +8,7 @@
|
|||
<use>
|
||||
<flag name="dolphin">Install the <pkg>kde-apps/dolphin</pkg> extension</flag>
|
||||
<flag name="nautilus">Install the <pkg>gnome-base/nautilus</pkg> extension</flag>
|
||||
<flag name="webengine">Enable old Flow1 login using <pkg>dev-qt/qtwebengine</pkg></flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">nextcloud/desktop</remote-id>
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake xdg
|
||||
|
||||
DESCRIPTION="Desktop Syncing Client for Nextcloud"
|
||||
HOMEPAGE="https://github.com/nextcloud/desktop"
|
||||
SRC_URI="https://github.com/nextcloud/desktop/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="CC-BY-3.0 GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
IUSE="doc dolphin nautilus test webengine"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND=">=dev-db/sqlite-3.34:3
|
||||
>=dev-libs/openssl-1.1.0:0=
|
||||
dev-libs/qtkeychain[qt5(+)]
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
dev-qt/qtdeclarative:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5[ssl]
|
||||
dev-qt/qtquickcontrols2:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwebsockets:5
|
||||
dev-qt/qtwidgets:5
|
||||
sys-libs/zlib
|
||||
dolphin? (
|
||||
kde-frameworks/kcoreaddons:5
|
||||
kde-frameworks/kio:5
|
||||
)
|
||||
nautilus? ( dev-python/nautilus-python )
|
||||
webengine? ( dev-qt/qtwebengine:5[widgets] )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-qt/linguist-tools:5
|
||||
dev-qt/qtconcurrent:5
|
||||
dev-qt/qtxml:5
|
||||
doc? (
|
||||
dev-python/sphinx
|
||||
dev-tex/latexmk
|
||||
dev-texlive/texlive-latexextra
|
||||
virtual/latex-base
|
||||
)
|
||||
dolphin? ( kde-frameworks/extra-cmake-modules )
|
||||
test? (
|
||||
dev-util/cmocka
|
||||
dev-qt/qttest:5
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-inkscape.patch
|
||||
"${FILESDIR}"/${P}-webengine.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/desktop-${PV/_/-}"
|
||||
|
||||
src_prepare() {
|
||||
# Keep tests in ${T}
|
||||
sed -i -e "s#\"/tmp#\"${T}#g" test/test*.cpp || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc
|
||||
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
|
||||
-DBUILD_UPDATER=OFF
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Libcloudproviders=ON
|
||||
$(cmake_use_find_package doc Sphinx)
|
||||
$(cmake_use_find_package doc PdfLatex)
|
||||
$(cmake_use_find_package webengine Qt5WebEngine)
|
||||
$(cmake_use_find_package webengine Qt5WebEngineWidgets)
|
||||
-DBUILD_SHELL_INTEGRATION_DOLPHIN=$(usex dolphin)
|
||||
-DBUILD_SHELL_INTEGRATION_NAUTILUS=$(usex nautilus)
|
||||
-DUNIT_TESTING=$(usex test)
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
if ! use doc ; then
|
||||
elog "Documentation and man pages not installed"
|
||||
elog "Enable doc USE-flag to generate them"
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue