summaryrefslogtreecommitdiff
path: root/kde-apps/konqueror
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-10-08 23:06:07 +0100
committerV3n3RiX <venerix@koprulu.sector>2021-10-08 23:06:07 +0100
commite23a08d0c97a0cc415aaa165da840b056f93c997 (patch)
tree4c5f7db60483518201fef36f8cc0712789a08db2 /kde-apps/konqueror
parent391b5b359a346aff490103da7dddc85047f83830 (diff)
gentoo resync : 08.10.2021
Diffstat (limited to 'kde-apps/konqueror')
-rw-r--r--kde-apps/konqueror/Manifest6
-rw-r--r--kde-apps/konqueror/files/konqueror-21.04.3-kf-5.86-compat.patch250
-rw-r--r--kde-apps/konqueror/konqueror-21.04.3-r2.ebuild91
-rw-r--r--kde-apps/konqueror/konqueror-21.08.2.ebuild (renamed from kde-apps/konqueror/konqueror-21.08.1-r1.ebuild)0
4 files changed, 345 insertions, 2 deletions
diff --git a/kde-apps/konqueror/Manifest b/kde-apps/konqueror/Manifest
index 3e292baf3963..bce41647600e 100644
--- a/kde-apps/konqueror/Manifest
+++ b/kde-apps/konqueror/Manifest
@@ -1,5 +1,7 @@
+AUX konqueror-21.04.3-kf-5.86-compat.patch 9809 BLAKE2B 0e259dded1f434f8702a8a30781cdba0c675cd5055899ab40aeb44c04003d615cec570155fd0855fb9fb421e0ca1b38dd2fb83a1f271e1b25729f61b618cd239 SHA512 8f96ee1225e0da36e7e41d057dd15ebed3b66100ba5e9f23831aaa2ace61b074081a7760f3333faddadf75e97b45c9c0eac6cf44a875561f455eb9c532b151c0
DIST konqueror-21.04.3.tar.xz 7410612 BLAKE2B 0640bd4d7c8cc877e511652e4ab35885fee88a1558d1c9d4f7692b64c4f6929876f437a7dab5da457ff76aca11774c9d60952243548e90f43307ef19353da03b SHA512 60a396633ba87605225e2e791d8b8a429ddd8081fc0db45227d31a550b00fb2197735f110eb0d9ea48199dcbb19525890d04470beb20c1a49bfc3fb545125104
-DIST konqueror-21.08.1.tar.xz 7417036 BLAKE2B e095f8f20182b73a457017faaf2b12355d14add1c4398b163ed44993ecde90e08a427ed99b656ab59dbe770ea1b3e8f6eea03f88a022e86b6f5817c21ffd14d2 SHA512 1f7ccc0a469abb4f3bf6a53f5d2a4698203969859269b8e85971af689a1ff23cea0d691136b56c2b7ba0b0fd908941b544d89980561ac5907e5af375cebc97da
+DIST konqueror-21.08.2.tar.xz 7418276 BLAKE2B 831941f1ded3c05cd1b1f72b0e2805a9aced6b5c3af7597a5e82b6c47c60f055a9ff02a7e50be16b1548aed81df76fb46e667d11ff45ae4fe7b5ee0695bb6067 SHA512 465db07f86900fd2a78329eb1590e8af1d88bba9b8be1d616cf2a154ef96b3e9946d1e1457ccf3bacce652b3c794b8ae70ad5264afc0130e26cf81da1f4f6a43
EBUILD konqueror-21.04.3-r1.ebuild 2476 BLAKE2B 7cd1951907194c11fddb55ed37064e32c5287d3e55bdf08b0ced8327dfe590cb7e75dcd12289484f5acbd46ca9e807a5d87f290c6be7c4c3fd35e93535f57335 SHA512 1b336f57e7ce9eb1766553a52d5ffc7c06a50c31413ae16de9eee2fd9b904dbad2dead8298789c2b7a28878069770f4bf66f703c64162e65029c50c002582c01
-EBUILD konqueror-21.08.1-r1.ebuild 2549 BLAKE2B 9d339770210cb34affbdf5fd988fd16353ec0d260db70488c33f3d015e5aad921f3c2ec86439e1814480f2cd8807190ef66a705f7ae7a3a5ec78d5059668063d SHA512 6a43d60bf2bb24de7f5fcb80db9bee912a5eb07e9a5dd2db843e28d7afbc2baa3a874c8599222428546f7469d85d2389322eb8e3e38b8febadddc6eba52073a9
+EBUILD konqueror-21.04.3-r2.ebuild 2543 BLAKE2B 1a1f9cc9c75066435b621f11185269623a67dca32278444346a077f12962f9585cd47c2db17f81a22770c16f19226071facaa7dc0ffc774fb97f092ea0ce83b7 SHA512 41ffc28e543f0ff6a45dbb2e9ca077143ee77c2108a42e1ddff3d1b6b557d98a9b040ebd1c5027a68a572fe0bcdf2208d32476d3a71612fe5d31d6d8c5ab07d4
+EBUILD konqueror-21.08.2.ebuild 2549 BLAKE2B 9d339770210cb34affbdf5fd988fd16353ec0d260db70488c33f3d015e5aad921f3c2ec86439e1814480f2cd8807190ef66a705f7ae7a3a5ec78d5059668063d SHA512 6a43d60bf2bb24de7f5fcb80db9bee912a5eb07e9a5dd2db843e28d7afbc2baa3a874c8599222428546f7469d85d2389322eb8e3e38b8febadddc6eba52073a9
MISC metadata.xml 450 BLAKE2B 61e83d89cdd87f5f0ec0acbf294ba5be5388be70e35870ef0c006775e0975244997dd59952ed4a8210d3395ec07e1abf0f2054175edf37d54be761e5a61b702c SHA512 d8558586a678dff640d2d4b66c2f3a3cdba71689e768690427752626ded385c7d1f9f3ecb0ca0c432d7557a62320c1b57f0c89e94c0be528b65c63043f9bc543
diff --git a/kde-apps/konqueror/files/konqueror-21.04.3-kf-5.86-compat.patch b/kde-apps/konqueror/files/konqueror-21.04.3-kf-5.86-compat.patch
new file mode 100644
index 000000000000..0814c335a734
--- /dev/null
+++ b/kde-apps/konqueror/files/konqueror-21.04.3-kf-5.86-compat.patch
@@ -0,0 +1,250 @@
+From 6a46c0c8701fbde143a33e4be61f198e98f53c10 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Sun, 19 Sep 2021 12:03:46 +0200
+Subject: [PATCH 1/5] Don't open HTTP URLs in another browser than Konqueror,
+ from Konqueror
+
+From 8506c585594d9d0cfc0ebe8b869ca05ff7610fa7 Mon Sep 17 00:00:00 2001
+From: Stefano Crocco <stefano.crocco@alice.it>
+Date: Sun, 19 Sep 2021 20:56:38 +0200
+Subject: [PATCH 2/5] Make Konqueror compatible with KIO 5.86.0
+
+Due to a change in KIO::DesktopExecParser::hasSchemeHandler (commit
+5fa55a2395cbfb6504e56bf71c869c8e49902e13Q) URLs entered in the
+navigation bar either were always opened in a new tab or they were
+opened in another program altogether (for example, man and info URLs).
+
+To fix this issue, it has been necessary to copy the implementation of
+KRun::init and KParts::BrowserRun::init in KonqRun::init, making the
+necessary changes to restore the old behaviour.
+
+(cherry picked from commit ba1ea2b74f77832d2a26bb74fed18970eeadf301)
+
+From ec995b8091e97750c12e8e543d298a7a56045d41 Mon Sep 17 00:00:00 2001
+From: Stefano Crocco <stefano.crocco@alice.it>
+Date: Sun, 19 Sep 2021 22:01:30 +0200
+Subject: [PATCH 3/5] Fix signature and avoid calling url() repeatedly
+
+(cherry picked from commit 0326d9b8553a7c33d0c1498ca4c0199cc2344e15)
+
+From d368615b28a97993ce53691731f5152f044f98a2 Mon Sep 17 00:00:00 2001
+From: Stefano Crocco <stefano.crocco@alice.it>
+Date: Sun, 19 Sep 2021 22:47:03 +0200
+Subject: [PATCH 4/5] Add a comment explaining the interaction with
+ WebEnginePart
+
+(cherry picked from commit 5c4b0456af2a534c65c60b16add4012566309fb9)
+
+From 036fdfe1666294e5388803eb8877971362347428 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 30 Sep 2021 13:58:28 +0200
+Subject: [PATCH 5/5] Replace handleInitError with KParts::BrowserRun::init
+
+Avoids breaking string freeze.
+
+Thanks-to: Stefano Crocco <stefano.crocco@alice.it>
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+
+BUG: 442636
+---
+
+diff --git a/src/konqrun.cpp b/src/konqrun.cpp
+index 8bfc22285..4415c67c4 100644
+--- a/src/konqrun.cpp
++++ b/src/konqrun.cpp
+@@ -27,8 +27,17 @@
+ #include <kio/job.h>
+ #include <QMimeDatabase>
+ #include <QMimeType>
++#include <QHostInfo>
++#include <QFileInfo>
++
+ #include <KIO/ApplicationLauncherJob>
+ #include <KIO/JobUiDelegate>
++#include <KUrlAuthorized>
++#include <KIO/DesktopExecParser>
++#include <KProtocolInfo>
++#include <KProtocolManager>
++#include <KApplicationTrader>
++#include <KJobWidgets>
+
+ #include <KService>
+ #include <KMimeTypeTrader>
+@@ -48,8 +57,9 @@ KonqRun::KonqRun(KonqMainWindow *mainWindow, KonqView *_childView,
+ // Don't use inline errors on reloading due to auto-refresh sites, but use them in all other cases
+ // (no reload or user-requested reload)
+ !req.args.reload() || req.userRequestedReload),
+- m_pMainWindow(mainWindow), m_pView(_childView), m_bFoundMimeType(false), m_req(req)
++ m_pMainWindow(mainWindow), m_pView(_childView), m_bFoundMimeType(false), m_req(req), m_inlineErrors(!req.args.reload() || req.userRequestedReload)
+ {
++ setEnableExternalBrowser(false);
+ //qCDebug(KONQUEROR_LOG) << "KonqRun::KonqRun() " << this;
+ Q_ASSERT(!m_pMainWindow.isNull());
+ if (m_pView) {
+@@ -188,15 +198,124 @@ void KonqRun::handleError(KJob *job)
+ KParts::BrowserRun::handleError(job);
+ }
+
++//Code copied from browserrun.cpp
++void KonqRun::switchToErrorUrl(KIO::Error error, const QString &stringUrl)
++{
++ KRun::setUrl(makeErrorUrl(error, stringUrl, url()));
++ setJob(nullptr);
++ mimeTypeDetermined(QStringLiteral("text/html"));
++}
++
++//Most of the code in this function has been copied from krun.cpp and browserrun.cpp
+ void KonqRun::init()
+ {
+- KParts::BrowserRun::init();
+- // Maybe init went to the "let's try stat'ing" part. Then connect to info messages.
+- // (in case it goes to scanFile, this will be done below)
+- KIO::StatJob *job = dynamic_cast<KIO::StatJob *>(KRun::job());
++ QUrl url = KRun::url();
++ if (!url.isValid() || url.scheme().isEmpty()) {
++ if (m_inlineErrors && !url.isValid()) {
++ switchToErrorUrl(KIO::ERR_MALFORMED_URL, url.toString());
++ return;
++ }
++ const QString error = !url.isValid() ? url.errorString() : url.toString();
++ KParts::BrowserRun::init();
++ qCWarning(KONQUEROR_LOG) << "Malformed URL:" << error;
++ setError(true);
++ setFinished(true);
++ return;
++ }
++
++ if (!KUrlAuthorized::authorizeUrlAction(QStringLiteral("open"), QUrl(), url)) {
++ QString msg = KIO::buildErrorString(KIO::ERR_ACCESS_DENIED, url.toDisplayString());
++ KParts::BrowserRun::init();
++ setError(true);
++ setFinished(true);
++ return;
++ }
++
++ if (url.scheme().startsWith(QLatin1String("http")) && usingWebEngine()) {
++ //This is a fake mimetype, needed only to ensure that the URL will be handled
++ //by WebEnginePart which will then determine the real mimetype. If it's
++ //a mimetype it can't handle, it'll emit the KParts::BrowserExtension::openUrlRequest
++ //passing the real mimetype. Knowing the mimetype, KonqMainWindow::openUrl will handle
++ //it correctly without needing to use KonqRun again.
++ mimeTypeDetermined(QStringLiteral("text/html"));
++ } else if (url.isLocalFile()
++ && (url.host().isEmpty() || (url.host() == QLatin1String("localhost"))
++ || (url.host().compare(QHostInfo::localHostName(), Qt::CaseInsensitive) == 0))) {
++ const QString localPath = url.toLocalFile();
++ if (!QFile::exists(localPath)) {
++ if (m_inlineErrors) {
++ switchToErrorUrl(KIO::ERR_DOES_NOT_EXIST, localPath);
++ } else {
++ KParts::BrowserRun::init();
++ setError(true);
++ setFinished(true);
++ }
++ return;
++ }
++
++ QMimeDatabase db;
++ QMimeType mime = db.mimeTypeForUrl(url);
++ if (mime.isDefault() && !QFileInfo(localPath).isReadable()) {
++ // Unknown MIME type because the file is unreadable, no point in showing an open-with dialog (#261002)
++ const QString msg = KIO::buildErrorString(KIO::ERR_ACCESS_DENIED, localPath);
++ KParts::BrowserRun::init();
++ setError(true);
++ setFinished(true);
++ return;
++ } else {
++ mimeTypeDetermined(mime.name());
++ return;
++ }
++ } else if (KIO::DesktopExecParser::hasSchemeHandler(url) && !KProtocolInfo::isKnownProtocol(url)) {
++ // looks for an application associated with x-scheme-handler/<protocol>
++ KService::Ptr service = KApplicationTrader::preferredService(QLatin1String("x-scheme-handler/") + url.scheme());
++ if (service) {
++ // if there's one...
++ if (runApplication(*service, QList<QUrl>() << url, window(), RunFlags{}, QString(), QByteArray())) {
++ setFinished(true);
++ return;
++ }
++ } else {
++ // fallback, look for associated helper protocol
++ Q_ASSERT(KProtocolInfo::isHelperProtocol(url.scheme()));
++ const auto exec = KProtocolInfo::exec(url.scheme());
++ if (exec.isEmpty()) {
++ // use default MIME type opener for file
++ mimeTypeDetermined(KProtocolManager::defaultMimetype(url));
++ return;
++ } else {
++ if (run(exec, QList<QUrl>() << url, window(), QString(), QString(), QByteArray())) {
++ setFinished(true);
++ return;
++ }
++ }
++ }
++ }
++
++ // Let's see whether it is a directory
++
++ if (!KProtocolManager::supportsListing(url)) {
++ // No support for listing => it can't be a directory (example: http)
++
++ if (!KProtocolManager::supportsReading(url)) {
++ // No support for reading files either => we can't do anything (example: mailto URL, with no associated app)
++ KParts::BrowserRun::init();
++ setError(true);
++ setFinished(true);
++ return;
++ }
++ scanFile();
++ return;
++ }
++
++ // It may be a directory or a file, let's stat
++ KIO::JobFlags flags = progressInfo() ? KIO::DefaultFlags : KIO::HideProgressInfo;
++ KIO::StatJob *job = KIO::statDetails(url, KIO::StatJob::SourceSide, KIO::StatBasic, flags);
++ KJobWidgets::setWindow(job, window());
++ connect(job, &KJob::result, this, &KonqRun::slotStatResult);
++ setJob(job);
+ if (job && !job->error() && m_pView) {
+- connect(job, SIGNAL(infoMessage(KJob*,QString,QString)),
+- m_pView, SLOT(slotInfoMessage(KJob*,QString)));
++ connect(job, &KIO::StatJob::infoMessage, m_pView, &KonqView::slotInfoMessage);
+ }
+ }
+
+diff --git a/src/konqrun.h b/src/konqrun.h
+index 591b91d19..88782ea03 100644
+--- a/src/konqrun.h
++++ b/src/konqrun.h
+@@ -26,6 +26,8 @@
+ #include "konqopenurlrequest.h"
+ #include <QUrl>
+
++#include <KIO/Global>
++
+ class KonqMainWindow;
+ class KonqView;
+
+@@ -69,6 +71,14 @@ protected:
+ void init() override;
+ void scanFile() override;
+
++ /**
++ * Displays an error page appropriate to the given error code
++ *
++ * @param error the error code
++ * @param stringUrl the string representation of the URL which caused the error
++ */
++ void switchToErrorUrl(KIO::Error error, const QString &stringUrl);
++
+ protected Q_SLOTS:
+ void slotRedirection(KIO::Job *, const QUrl &);
+
+@@ -81,6 +91,7 @@ private:
+ bool m_bFoundMimeType;
+ KonqOpenURLRequest m_req;
+ QUrl m_mailto;
++ bool m_inlineErrors;
+ };
+
+ #endif // KONQRUN_H
diff --git a/kde-apps/konqueror/konqueror-21.04.3-r2.ebuild b/kde-apps/konqueror/konqueror-21.04.3-r2.ebuild
new file mode 100644
index 000000000000..abaf095e12ce
--- /dev/null
+++ b/kde-apps/konqueror/konqueror-21.04.3-r2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="true"
+KFMIN=5.80.0
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit flag-o-matic ecm kde.org optfeature
+
+DESCRIPTION="Web browser and file manager based on KDE Frameworks"
+HOMEPAGE="https://apps.kde.org/konqueror/"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="activities speech X"
+
+# 4 of 4 tests fail. Last checked for 4.0.3
+RESTRICT="test"
+
+COMMON_DEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtscript-${QTMIN}:5
+ >=dev-qt/qtwebengine-${QTMIN}:5[widgets]
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/karchive-${KFMIN}:5
+ >=kde-frameworks/kbookmarks-${KFMIN}:5
+ >=kde-frameworks/kcmutils-${KFMIN}:5
+ >=kde-frameworks/kcodecs-${KFMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/kdesu-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kitemviews-${KFMIN}:5
+ >=kde-frameworks/kjobwidgets-${KFMIN}:5
+ >=kde-frameworks/kparts-${KFMIN}:5
+ >=kde-frameworks/kservice-${KFMIN}:5
+ >=kde-frameworks/kwallet-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ sys-libs/zlib
+ speech? ( >=dev-qt/qtspeech-${QTMIN}:5 )
+ X? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
+"
+DEPEND="${COMMON_DEPEND}
+ activities? ( >=kde-frameworks/kactivities-${KFMIN}:5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ kde-apps/kfind:5
+ kde-plasma/kde-cli-tools:5
+"
+
+PATCHES=( "${FILESDIR}/${P}-kf-5.86-compat.patch" ) # bug 815022
+
+src_prepare() {
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lmalloc
+
+ ecm_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package activities KF5Activities)
+ $(cmake_use_find_package speech Qt5TextToSpeech)
+ $(cmake_use_find_package X X11)
+ )
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature "bookmarks support" kde-apps/keditbookmarks:${SLOT}
+ optfeature "filemanager component" kde-apps/dolphin:${SLOT}
+ optfeature "SVG support" kde-apps/svg:${SLOT}
+ optfeature "Java support on webpages" virtual/jre
+ fi
+ ecm_pkg_postinst
+}
diff --git a/kde-apps/konqueror/konqueror-21.08.1-r1.ebuild b/kde-apps/konqueror/konqueror-21.08.2.ebuild
index 845797349d9c..845797349d9c 100644
--- a/kde-apps/konqueror/konqueror-21.08.1-r1.ebuild
+++ b/kde-apps/konqueror/konqueror-21.08.2.ebuild