From 814f4cf860e299a046b649eaee5463427984c09c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 8 Jul 2021 15:03:58 +0100 Subject: gentoo resync : 08.07.2021 --- net-misc/nextcloud-client/Manifest | 7 +- .../files/nextcloud-client-3.2.3-inkscape.patch | 79 ++++ .../files/nextcloud-client-3.2.3-webengine.patch | 419 +++++++++++++++++++++ net-misc/nextcloud-client/metadata.xml | 1 + .../nextcloud-client-3.2.3-r1.ebuild | 94 +++++ .../nextcloud-client/nextcloud-client-3.2.3.ebuild | 94 +++++ 6 files changed, 693 insertions(+), 1 deletion(-) create mode 100644 net-misc/nextcloud-client/files/nextcloud-client-3.2.3-inkscape.patch create mode 100644 net-misc/nextcloud-client/files/nextcloud-client-3.2.3-webengine.patch create mode 100644 net-misc/nextcloud-client/nextcloud-client-3.2.3-r1.ebuild create mode 100644 net-misc/nextcloud-client/nextcloud-client-3.2.3.ebuild (limited to 'net-misc/nextcloud-client') diff --git a/net-misc/nextcloud-client/Manifest b/net-misc/nextcloud-client/Manifest index 9870609e0dfd..0c9dbf5131bd 100644 --- a/net-misc/nextcloud-client/Manifest +++ b/net-misc/nextcloud-client/Manifest @@ -1,7 +1,12 @@ +AUX nextcloud-client-3.2.3-inkscape.patch 3190 BLAKE2B 432a1d418e61c982ff6f4d7a43151c5bd8ffb7d231542abc3ee42f450fad2eeed4e1d3e641ee4ac246d43174d69de4de7384516dd9a22c26a1c878ab0aa06f7e SHA512 0a92815371923bce701edd362583e11977556f17866fedf13ea48ed26e409610b80eb7a6b6181702b59250fa3868319624bdad34911746490f5a8330ad94b4a2 +AUX nextcloud-client-3.2.3-webengine.patch 15574 BLAKE2B 8cd752db888f87f075f3b69cf34e3e84fde99f3f2dec4891092d47c020b60efc49968bfee7ef8136b6e0454cc331b778fcbc2a94903b11c1cc3e587d153e3aa9 SHA512 b3ea743ab50ef8eda12a0bef8513d1563d3682c54e6af586ccf60cf7b4377e93913c4d6eb0ba1b65075203608bfa81f934dfc408b89c5bf3b84352524bc08091 DIST nextcloud-client-3.1.3.tar.gz 19552683 BLAKE2B 321ddc6bd5f9428abe1eafe25d426c26c99307c5e7d204bc60fd1bafe773fbed9cb54264f7b1ec7766078b8c06a2399c916a8bd9291e0e28e5b6b3ed8725a7a4 SHA512 ca0a70e65be67e10a7cb45f2b30f6b82230f30c2e3afcd16a222a8ed6fb8df4eff5e78fe0b6e3f4c6a18ff963896ccd6d8282c9829bd75a943324d4ab0068a99 DIST nextcloud-client-3.2.1.tar.gz 15234115 BLAKE2B 2fcbaab4e73db3cfbf7dea750a0e0782c6cb8bb03c867653a47d2f21cfe369da8e4eff8bf1f0ff548c62909e770132799a927e18f9c732a4d551b97ff6362572 SHA512 bf2b4e1c85e07ad32ed00efa4a56d6b4195b42f4d95c7cb32d8c43d2c5564ac1512155a9f51508d522366c5ce44104f1b076f1addef1147a77ace5a11bd500e6 DIST nextcloud-client-3.2.2.tar.gz 15398900 BLAKE2B b91c814977486db57b1864f71d3763c64f676449a5547f21bb379154f66a38bc4db355bb16cc6a70781cb45d4a4704f55238dd570f123b450c512bc3e0ce5b3c SHA512 ce6adbb09ee8495448b7da0c5e9637b3c775d28b8ee1656864843264bdacffbc402c9f507ced3e3943896ae25ee73975054b8ffa1577bdd3d32dc453c3f94d74 +DIST nextcloud-client-3.2.3.tar.gz 15381488 BLAKE2B 14ee239321d7c530dada9d4727fa7cc9801637827fc8dd065ea9b68c54f3559cdb56b0d0e0e37fc7aa5c668be51e3839bc33b20ea9ab73e4a1df4ba260b0ab9e SHA512 bbb247ce4945503a5b1af55ee200edaef000bb21220a9408657e057c98bd3f7bd646dedbedc57048e9f593f3a1d408ac37b4b01c390ecf85dca82868792e922d EBUILD nextcloud-client-3.1.3.ebuild 1973 BLAKE2B f175a9555be40de2623e5392e99d587a6e5ae2e058964924165c01495be57d42f209c15db261571cc8120587e9be0c04aa5b83293f2d0e7f714fe521a8b6bac9 SHA512 65ec99fb719ec4ebdf0466aa59ac5e9a4ffecaac9a8b94cb2f59a2efadab5ce9e44ec54e574fc818cbb71554828c14b7b1a575ddd97fc881345854045b8931e3 EBUILD nextcloud-client-3.2.1.ebuild 1987 BLAKE2B 99a990f7413277e794c4c59050bf33bc4ea786955c6c2b65ca1b30f63a7cce3170f85577fd69449c971405a6a96c0a72afde08d12c3a3fa9af9b8615f0fbcaca SHA512 4c5db01203e7c93f2878f549b589d7b2e618b814a403423dfd88de4cc0f6eed0d8328ce64f854d04a4b565665c4df3083b10ce044f4b0e0356f7d69878c087c9 EBUILD nextcloud-client-3.2.2.ebuild 1987 BLAKE2B 99a990f7413277e794c4c59050bf33bc4ea786955c6c2b65ca1b30f63a7cce3170f85577fd69449c971405a6a96c0a72afde08d12c3a3fa9af9b8615f0fbcaca SHA512 4c5db01203e7c93f2878f549b589d7b2e618b814a403423dfd88de4cc0f6eed0d8328ce64f854d04a4b565665c4df3083b10ce044f4b0e0356f7d69878c087c9 -MISC metadata.xml 513 BLAKE2B b63b5116dcf22fc8b7608cf7a13b5749668a139f8e670419733cbcbd44284bb45227d16b9a3d5d50d505440e2d50fff77b98cfe4321afc78b20fd22ab3a495c9 SHA512 491340b64cb8bbeb0efc5cba4de9878aca75231bbfc19b8fdd2de895ed0cacaf154add48cec8964412a68e496f348dc539262afa74b08e38d2d7a27ed220ff5f +EBUILD nextcloud-client-3.2.3-r1.ebuild 2175 BLAKE2B 9f3c68d6afd38a786b1808860b77b2f05c53361b7dbfae0a52bb0f46114c56f2f6c510b3d339179549af132b34478ae84e361313e47362ca53677dc0025b62ff SHA512 93364128839e839fb76752cb753301652dec39a6ff936dac43e90ca636180703889b1e48c79a0f9e814a9c094534e96d474583d2aee3222eabd3b3b4410a8797 +EBUILD nextcloud-client-3.2.3.ebuild 2034 BLAKE2B 6b5c122bd2c5d519ee1945a175298b723d5198043b00780d1cf937110a0c016014d34f8f66bb23bdeb4e5cb2aa8b82abe6a4a4397b2ccded916e34ab1217377f SHA512 6498817e25c0b7155afdf7a53fcfa0ca52cb7a3096645efdf72f8f35df7d5247db55677abd7524f78ea795813db23af7ae6d932c5adb5c6bc6c352eeb7fd25b2 +MISC metadata.xml 604 BLAKE2B 046885e743e6e4d73f3a829c4095fe1e9abba18f52001694ab7a2c5c27050c90c25bdbb15478741dabd63b7b670dd6a275049143b84c60c9e7477632b478ed43 SHA512 9ff591bd55d8fda95d54e20410506612a99920a23d5f40555aa17a53d9ad093cf36a330e65811f71a46751fb674d7ad6c24d5a5f16708d06b49f2e602a0e6eab diff --git a/net-misc/nextcloud-client/files/nextcloud-client-3.2.3-inkscape.patch b/net-misc/nextcloud-client/files/nextcloud-client-3.2.3-inkscape.patch new file mode 100644 index 000000000000..8b02ab2a8086 --- /dev/null +++ b/net-misc/nextcloud-client/files/nextcloud-client-3.2.3-inkscape.patch @@ -0,0 +1,79 @@ +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-06 19:20:34.225000546 +0200 +@@ -241,75 +241,6 @@ + set(APPLICATION_ICON_NAME ${APPLICATION_SHORTNAME}) + endif() + +-# Generate png icons from svg +-find_program(INKSCAPE +- NAMES inkscape inkscape.exe +- REQUIRED +- HINTS "C:\\Program Files\\Inkscape\\bin" "/usr/bin" ENV INKSCAPE_DIR) +-# REQUIRED keyword is only supported on CMake 3.18 and above +-if (NOT INKSCAPE) +- message(FATAL_ERROR "Could not find inkscape. Set INKSCAPE_DIR to the path of executable.") +-endif() +- +-function(generate_sized_png_from_svg icon_path size) +- get_filename_component(icon_name_dir ${icon_path} DIRECTORY) +- get_filename_component(icon_name_wle ${icon_path} NAME_WLE) +- +- if (EXISTS "${icon_name_dir}/${size}-${icon_name_wle}.png") +- return() +- endif() +- +- set(icon_output_name "${size}-${icon_name_wle}.png") +- message(STATUS "Generate ${icon_output_name}") +- execute_process(COMMAND +- "${INKSCAPE}" -w ${size} -h ${size} "${icon_path}" -o "${icon_output_name}" +- WORKING_DIRECTORY "${icon_name_dir}" +- RESULT_VARIABLE +- INKSCAPE_SIDEBAR_ERROR +- OUTPUT_QUIET +- ERROR_QUIET) +- +- if (INKSCAPE_SIDEBAR_ERROR) +- message(FATAL_ERROR +- "inkscape could not generate icon: ${INKSCAPE_SIDEBAR_ERROR}") +- else() +- endif() +-endfunction() +- +-if ((APPLICATION_ICON_SET MATCHES "PNG") +- AND +- (NOT EXISTS "${theme_dir}/colored/${APPLICATION_ICON_NAME}-icon.svg")) +- # We may have no svg application icon in when customers use PNG +- # icons in brander, but theme.qrc expects a svg icon. +- file(TOUCH "${theme_dir}/colored/${APPLICATION_ICON_NAME}-icon.svg") +-endif() +- +-if(APPLE) +- set(MACOS_SIDEBAR_ICON_SVG "${theme_dir}/colored/${APPLICATION_ICON_NAME}-sidebar.svg") +- generate_sized_png_from_svg(${MACOS_SIDEBAR_ICON_SVG} 16) +- generate_sized_png_from_svg(${MACOS_SIDEBAR_ICON_SVG} 32) +- generate_sized_png_from_svg(${MACOS_SIDEBAR_ICON_SVG} 64) +- generate_sized_png_from_svg(${MACOS_SIDEBAR_ICON_SVG} 128) +- generate_sized_png_from_svg(${MACOS_SIDEBAR_ICON_SVG} 256) +-endif() +- +-if(WIN32) +- set(STARTMENU_ICON_SVG "${theme_dir}/colored/${APPLICATION_ICON_NAME}-w10startmenu.svg") +- generate_sized_png_from_svg(${STARTMENU_ICON_SVG} 70) +- generate_sized_png_from_svg(${STARTMENU_ICON_SVG} 150) +-endif() +- +-set(APP_ICON_SVG "${theme_dir}/colored/${APPLICATION_ICON_NAME}-icon.svg") +-generate_sized_png_from_svg(${APP_ICON_SVG} 16) +-generate_sized_png_from_svg(${APP_ICON_SVG} 24) +-generate_sized_png_from_svg(${APP_ICON_SVG} 32) +-generate_sized_png_from_svg(${APP_ICON_SVG} 48) +-generate_sized_png_from_svg(${APP_ICON_SVG} 64) +-generate_sized_png_from_svg(${APP_ICON_SVG} 128) +-generate_sized_png_from_svg(${APP_ICON_SVG} 256) +-generate_sized_png_from_svg(${APP_ICON_SVG} 512) +-generate_sized_png_from_svg(${APP_ICON_SVG} 1024) +- + file(GLOB_RECURSE OWNCLOUD_ICONS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-icon*") + if(APPLE) + file(GLOB_RECURSE OWNCLOUD_SIDEBAR_ICONS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-sidebar*") diff --git a/net-misc/nextcloud-client/files/nextcloud-client-3.2.3-webengine.patch b/net-misc/nextcloud-client/files/nextcloud-client-3.2.3-webengine.patch new file mode 100644 index 000000000000..8152528f30cb --- /dev/null +++ b/net-misc/nextcloud-client/files/nextcloud-client-3.2.3-webengine.patch @@ -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(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 + #include + #include ++#include + #ifndef TOKEN_AUTH_ONLY + #include + #include +@@ -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) diff --git a/net-misc/nextcloud-client/metadata.xml b/net-misc/nextcloud-client/metadata.xml index ea54627aff84..588dc46f7e60 100644 --- a/net-misc/nextcloud-client/metadata.xml +++ b/net-misc/nextcloud-client/metadata.xml @@ -8,6 +8,7 @@ Install the kde-apps/dolphin extension Install the gnome-base/nautilus extension + Enable old Flow1 login using dev-qt/qtwebengine nextcloud/desktop diff --git a/net-misc/nextcloud-client/nextcloud-client-3.2.3-r1.ebuild b/net-misc/nextcloud-client/nextcloud-client-3.2.3-r1.ebuild new file mode 100644 index 000000000000..f5a364e114c6 --- /dev/null +++ b/net-misc/nextcloud-client/nextcloud-client-3.2.3-r1.ebuild @@ -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 +} diff --git a/net-misc/nextcloud-client/nextcloud-client-3.2.3.ebuild b/net-misc/nextcloud-client/nextcloud-client-3.2.3.ebuild new file mode 100644 index 000000000000..4bf713797b35 --- /dev/null +++ b/net-misc/nextcloud-client/nextcloud-client-3.2.3.ebuild @@ -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" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=">=dev-db/sqlite-3.34:3 + 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/qtwebengine:5[widgets] + dev-qt/qtwebsockets:5 + dev-qt/qtwidgets:5 + sys-libs/zlib + dolphin? ( + kde-frameworks/kcoreaddons:5 + kde-frameworks/kio:5 + ) + >=dev-libs/openssl-1.1.0:0= + nautilus? ( dev-python/nautilus-python )" + +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 ) + +S="${WORKDIR}/desktop-${PV/_/-}" + +src_prepare() { + # Keep tests in ${T} + sed -i -e "s#\"/tmp#\"${T}#g" test/test*.cpp || die + + if ! use nautilus; then + pushd shell_integration > /dev/null || die + cmake_comment_add_subdirectory nautilus + popd > /dev/null || die + fi + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc + -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} + -DCMAKE_DISABLE_FIND_PACKAGE_Sphinx=$(usex !doc) + -DCMAKE_DISABLE_FIND_PACKAGE_KF5=$(usex !dolphin) + -DNO_SHIBBOLETH=yes + -DBUILD_UPDATER=OFF + -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 +} -- cgit v1.2.3