mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
www-client/falkon: Drop 3.0.1-r1
Package-Manager: Portage-2.3.66, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST falkon-3.0.1.tar.xz 2219444 BLAKE2B 013d29925f9a1c7e77d5f194eb4a1371dadda05de01a0c103902acfbb16941c6fa9c7256a98ef1965c622222ccfcee8b44c48076cb00bd892378157502f73916 SHA512 e2384cb49d4e1ec52ff7804cf798688be2d80fa5957c72accb09376aa0c41ee491c45234fd53c79871bc474a8d0677e40ddb48241a70d77102c67406b0719191
|
||||
DIST falkon-3.1.0.tar.xz 2292692 BLAKE2B 1a5d8dd979afb3ef81ea5409314cc0971eaa0b5de54ed7e14668c6596d11cb86d9143acc5285d24d98a671c2486f83e626669d394670d72610b5ad8c68fada69 SHA512 c04f97869150b8ab81ae7b01c7137e35ca5c3103c057e01896454bbeda1075372a7831d2dfe7ab66794de0983593df6e46eff47c5cdc2bc959f81b022506f054
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
KDE_TEST="true"
|
||||
VIRTUALX_REQUIRED="test"
|
||||
inherit kde5
|
||||
|
||||
DESCRIPTION="Cross-platform web browser using QtWebEngine"
|
||||
HOMEPAGE="https://www.falkon.org/"
|
||||
if [[ ${KDE_BUILD_TYPE} != live ]]; then
|
||||
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64 x86"
|
||||
IUSE="dbus gnome-keyring kwallet libressl +X"
|
||||
|
||||
COMMON_DEPEND="
|
||||
$(add_qt_dep qtdeclarative 'widgets')
|
||||
$(add_qt_dep qtgui)
|
||||
$(add_qt_dep qtnetwork 'ssl')
|
||||
$(add_qt_dep qtprintsupport)
|
||||
$(add_qt_dep qtsql 'sqlite')
|
||||
$(add_qt_dep qtwebchannel)
|
||||
$(add_qt_dep qtwebengine 'widgets')
|
||||
$(add_qt_dep qtwidgets)
|
||||
dbus? ( $(add_qt_dep qtdbus) )
|
||||
gnome-keyring? ( gnome-base/gnome-keyring )
|
||||
kwallet? ( $(add_frameworks_dep kwallet) )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
X? (
|
||||
$(add_qt_dep qtx11extras)
|
||||
x11-libs/libxcb:=
|
||||
x11-libs/xcb-util
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
$(add_qt_dep linguist-tools)
|
||||
$(add_qt_dep qtconcurrent)
|
||||
gnome-keyring? ( virtual/pkgconfig )
|
||||
"
|
||||
if [[ ${KDE_BUILD_TYPE} != live ]]; then
|
||||
DEPEND+=" $(add_frameworks_dep ki18n)"
|
||||
fi
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!www-client/qupzilla
|
||||
$(add_qt_dep qtsvg)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-pyside2-release.patch"
|
||||
"${FILESDIR}/${P}-qiodevice-main-thread.patch"
|
||||
"${FILESDIR}/${P}-page-actions.patch"
|
||||
"${FILESDIR}/${P}-qtwebengine-version.patch"
|
||||
"${FILESDIR}/${P}-webinspector.patch"
|
||||
)
|
||||
|
||||
# bug 653046
|
||||
RESTRICT+=" test"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_PySide2=ON
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Shiboken2=ON
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_PythonLibs=ON
|
||||
-DDISABLE_DBUS=$(usex !dbus)
|
||||
-DBUILD_KEYRING=$(usex gnome-keyring)
|
||||
$(cmake-utils_use_find_package kwallet KF5Wallet)
|
||||
-DNO_X11=$(usex !X)
|
||||
)
|
||||
kde5_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
kde5_pkg_postinst
|
||||
elog "If you were previously using QupZilla, you can manually migrate your profiles"
|
||||
elog "by moving the config directory from ~/.config/qupzilla to ~/.config/falkon"
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
From 53e0a43762523185fb98bf705f85cf0dfa27247f Mon Sep 17 00:00:00 2001
|
||||
From: David Rosca <nowrep@gmail.com>
|
||||
Date: Sun, 8 Jul 2018 20:34:58 +0200
|
||||
Subject: NavigationBar: Correctly reconnect to page actions
|
||||
|
||||
BUG: 395828
|
||||
FIXED-IN: 3.0.2
|
||||
---
|
||||
src/lib/navigation/navigationbar.cpp | 27 ++++++++++++++++-----------
|
||||
1 file changed, 16 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/lib/navigation/navigationbar.cpp b/src/lib/navigation/navigationbar.cpp
|
||||
index 0339b55..622622d 100644
|
||||
--- a/src/lib/navigation/navigationbar.cpp
|
||||
+++ b/src/lib/navigation/navigationbar.cpp
|
||||
@@ -230,19 +230,24 @@ void NavigationBar::setCurrentView(TabbedWebView *view)
|
||||
return;
|
||||
}
|
||||
|
||||
- auto updateButton = [](ToolButton *button, QAction *action) {
|
||||
- button->setEnabled(action->isEnabled());
|
||||
+ auto connectPageActions = [this](QWebEnginePage *page) {
|
||||
+ auto updateButton = [](ToolButton *button, QAction *action) {
|
||||
+ button->setEnabled(action->isEnabled());
|
||||
+ };
|
||||
+ auto updateBackButton = std::bind(updateButton, m_buttonBack, page->action(QWebEnginePage::Back));
|
||||
+ auto updateForwardButton = std::bind(updateButton, m_buttonForward, page->action(QWebEnginePage::Forward));
|
||||
+
|
||||
+ updateBackButton();
|
||||
+ updateForwardButton();
|
||||
+
|
||||
+ disconnect(m_backConnection);
|
||||
+ disconnect(m_forwardConnection);
|
||||
+ m_backConnection = connect(page->action(QWebEnginePage::Back), &QAction::changed, this, updateBackButton);
|
||||
+ m_forwardConnection = connect(page->action(QWebEnginePage::Forward), &QAction::changed, this, updateForwardButton);
|
||||
};
|
||||
- auto updateBackButton = std::bind(updateButton, m_buttonBack, view->pageAction(QWebEnginePage::Back));
|
||||
- auto updateForwardButton = std::bind(updateButton, m_buttonForward, view->pageAction(QWebEnginePage::Forward));
|
||||
|
||||
- updateBackButton();
|
||||
- updateForwardButton();
|
||||
-
|
||||
- disconnect(m_backConnection);
|
||||
- disconnect(m_forwardConnection);
|
||||
- m_backConnection = connect(view->pageAction(QWebEnginePage::Back), &QAction::changed, this, updateBackButton);
|
||||
- m_forwardConnection = connect(view->pageAction(QWebEnginePage::Forward), &QAction::changed, this, updateForwardButton);
|
||||
+ connectPageActions(view->page());
|
||||
+ connect(view, &TabbedWebView::pageChanged, this, connectPageActions);
|
||||
}
|
||||
|
||||
void NavigationBar::showReloadButton()
|
||||
--
|
||||
cgit v1.1
|
||||
@@ -1,26 +0,0 @@
|
||||
From 4c83ba3d6c609a704a31c419b5d89dd1947aa11a Mon Sep 17 00:00:00 2001
|
||||
From: David Rosca <nowrep@gmail.com>
|
||||
Date: Mon, 18 Jun 2018 13:39:46 +0200
|
||||
Subject: PyFalkon: Fix build with PySide2 release
|
||||
|
||||
---
|
||||
src/plugins/PyFalkon/pyfalkon_global.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/PyFalkon/pyfalkon_global.h b/src/plugins/PyFalkon/pyfalkon_global.h
|
||||
index d41da24..0305b67 100644
|
||||
--- a/src/plugins/PyFalkon/pyfalkon_global.h
|
||||
+++ b/src/plugins/PyFalkon/pyfalkon_global.h
|
||||
@@ -19,6 +19,10 @@
|
||||
// Make "signals:", "slots:" visible as access specifiers
|
||||
#define QT_ANNOTATE_ACCESS_SPECIFIER(a) __attribute__((annotate(#a)))
|
||||
|
||||
+// PYSIDE-711
|
||||
+#include <QHstsPolicy>
|
||||
+#include <QWebEngineContextMenuData>
|
||||
+
|
||||
// 3rdparty
|
||||
#include "lineedit.h"
|
||||
#include "squeezelabelv1.h"
|
||||
--
|
||||
cgit v1.1
|
||||
@@ -1,106 +0,0 @@
|
||||
From a7d2f8757919b4db63867ecbb4fb64c11d64f453 Mon Sep 17 00:00:00 2001
|
||||
From: David Rosca <nowrep@gmail.com>
|
||||
Date: Sun, 22 Jul 2018 15:17:04 +0200
|
||||
Subject: FalkonSchemeHandler: Make sure to load data on main thread
|
||||
|
||||
QIODevice::read is called on WebEngine IO thread.
|
||||
---
|
||||
.../network/schemehandlers/falkonschemehandler.cpp | 41 +++++++++++-----------
|
||||
.../network/schemehandlers/falkonschemehandler.h | 2 ++
|
||||
2 files changed, 23 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/src/lib/network/schemehandlers/falkonschemehandler.cpp b/src/lib/network/schemehandlers/falkonschemehandler.cpp
|
||||
index 5706c04..4e01897 100644
|
||||
--- a/src/lib/network/schemehandlers/falkonschemehandler.cpp
|
||||
+++ b/src/lib/network/schemehandlers/falkonschemehandler.cpp
|
||||
@@ -89,8 +89,7 @@ FalkonSchemeReply::FalkonSchemeReply(QWebEngineUrlRequestJob *job, QObject *pare
|
||||
{
|
||||
m_pageName = m_job->requestUrl().path();
|
||||
|
||||
- open(QIODevice::ReadOnly);
|
||||
- m_buffer.open(QIODevice::ReadWrite);
|
||||
+ QTimer::singleShot(0, this, &FalkonSchemeReply::loadPage);
|
||||
}
|
||||
|
||||
void FalkonSchemeReply::loadPage()
|
||||
@@ -98,38 +97,40 @@ void FalkonSchemeReply::loadPage()
|
||||
if (m_loaded)
|
||||
return;
|
||||
|
||||
- QTextStream stream(&m_buffer);
|
||||
- stream.setCodec("UTF-8");
|
||||
+ QString contents;
|
||||
|
||||
if (m_pageName == QLatin1String("about")) {
|
||||
- stream << aboutPage();
|
||||
- }
|
||||
- else if (m_pageName == QLatin1String("start")) {
|
||||
- stream << startPage();
|
||||
- }
|
||||
- else if (m_pageName == QLatin1String("speeddial")) {
|
||||
- stream << speeddialPage();
|
||||
- }
|
||||
- else if (m_pageName == QLatin1String("config")) {
|
||||
- stream << configPage();
|
||||
- }
|
||||
- else if (m_pageName == QLatin1String("restore")) {
|
||||
- stream << restorePage();
|
||||
+ contents = aboutPage();
|
||||
+ } else if (m_pageName == QLatin1String("start")) {
|
||||
+ contents = startPage();
|
||||
+ } else if (m_pageName == QLatin1String("speeddial")) {
|
||||
+ contents = speeddialPage();
|
||||
+ } else if (m_pageName == QLatin1String("config")) {
|
||||
+ contents = configPage();
|
||||
+ } else if (m_pageName == QLatin1String("restore")) {
|
||||
+ contents = restorePage();
|
||||
}
|
||||
|
||||
- stream.flush();
|
||||
- m_buffer.reset();
|
||||
+ QMutexLocker lock(&m_mutex);
|
||||
+ m_buffer.setData(contents.toUtf8());
|
||||
+ m_buffer.open(QIODevice::ReadOnly);
|
||||
+ lock.unlock();
|
||||
+
|
||||
+ open(QIODevice::ReadOnly);
|
||||
+ emit readyRead();
|
||||
+
|
||||
m_loaded = true;
|
||||
}
|
||||
|
||||
qint64 FalkonSchemeReply::bytesAvailable() const
|
||||
{
|
||||
+ QMutexLocker lock(&m_mutex);
|
||||
return m_buffer.bytesAvailable();
|
||||
}
|
||||
|
||||
qint64 FalkonSchemeReply::readData(char *data, qint64 maxSize)
|
||||
{
|
||||
- loadPage();
|
||||
+ QMutexLocker lock(&m_mutex);
|
||||
return m_buffer.read(data, maxSize);
|
||||
}
|
||||
|
||||
diff --git a/src/lib/network/schemehandlers/falkonschemehandler.h b/src/lib/network/schemehandlers/falkonschemehandler.h
|
||||
index 2c071a7..b92969d 100644
|
||||
--- a/src/lib/network/schemehandlers/falkonschemehandler.h
|
||||
+++ b/src/lib/network/schemehandlers/falkonschemehandler.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#ifndef FALKONSCHEMEHANDLER_H
|
||||
#define FALKONSCHEMEHANDLER_H
|
||||
|
||||
+#include <QMutex>
|
||||
#include <QBuffer>
|
||||
#include <QIODevice>
|
||||
#include <QWebEngineUrlSchemeHandler>
|
||||
@@ -60,6 +61,7 @@ private:
|
||||
QBuffer m_buffer;
|
||||
QString m_pageName;
|
||||
QWebEngineUrlRequestJob *m_job;
|
||||
+ mutable QMutex m_mutex;
|
||||
};
|
||||
|
||||
#endif // FALKONSCHEMEHANDLER_H
|
||||
--
|
||||
cgit v1.1
|
||||
@@ -1,72 +0,0 @@
|
||||
Combined diffs:
|
||||
|
||||
From d06a0d60e0ff3e9e3d5dbaec17b3447fca665b92 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Kofler <kevin.kofler@chello.at>
|
||||
Date: Sat, 12 May 2018 03:15:56 +0200
|
||||
Subject: Fix the fix for #391300 to require only QtWebEngine 5.10, not Qt 5.10
|
||||
|
||||
QtWebEngine can be newer than the rest of Qt (e.g., on Fedora 27).
|
||||
|
||||
From 9f0f688ee8ed7d454713db5418c9a86f80fd5850 Mon Sep 17 00:00:00 2001
|
||||
From: David Rosca <nowrep@gmail.com>
|
||||
Date: Mon, 14 May 2018 13:53:05 +0200
|
||||
Subject: Use QTWEBENGINE_VERSION instead of QT_VERSION
|
||||
|
||||
Fixes build against separate QtWebEngine releases.
|
||||
|
||||
* asturm@gentoo.org: Make #ifdef obsolete by requiring Qt 5.11.0.
|
||||
|
||||
--- b/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
# Mandatory: Qt5
|
||||
-set(QT_MIN_VERSION "5.9.0")
|
||||
+set(QT_MIN_VERSION "5.11.0")
|
||||
-find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Widgets Network Sql QuickWidgets PrintSupport WebEngineWidgets WebChannel)
|
||||
+find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Widgets Network Sql QuickWidgets PrintSupport WebEngine WebEngineWidgets WebChannel)
|
||||
if (BUILD_TESTING)
|
||||
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Test)
|
||||
endif()
|
||||
--- a/src/lib/CMakeLists.txt
|
||||
+++ b/src/lib/CMakeLists.txt
|
||||
@@ -297,6 +297,9 @@ qt5_add_resources(SRCS
|
||||
|
||||
add_library(FalkonPrivate SHARED ${SRCS})
|
||||
|
||||
+get_property(QT_WEBENGINE_INCLUDE_DIRS TARGET Qt5::WebEngine PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
|
||||
+target_include_directories(FalkonPrivate SYSTEM PUBLIC ${QT_WEBENGINE_INCLUDE_DIRS})
|
||||
+
|
||||
target_link_libraries(FalkonPrivate
|
||||
Qt5::Widgets
|
||||
Qt5::WebEngineWidgets
|
||||
--- a/src/lib/app/qzcommon.h
|
||||
+++ b/src/lib/app/qzcommon.h
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#include <QDebug>
|
||||
#include <QFlags>
|
||||
+#include <QtWebEngineVersion>
|
||||
|
||||
#ifdef FALKON_SHAREDLIBRARY
|
||||
#define FALKON_EXPORT Q_DECL_EXPORT
|
||||
--- a/src/lib/webengine/webview.cpp 2018-12-09 17:12:29.659899904 +0100
|
||||
+++ b/src/lib/webengine/webview.cpp 2018-12-09 17:21:26.083044301 +0100
|
||||
@@ -495,7 +495,6 @@
|
||||
|
||||
void WebView::savePageAs()
|
||||
{
|
||||
-#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
|
||||
page()->runJavaScript(QSL("document.contentType"), WebPage::SafeJsWorld, [this](const QVariant &res) {
|
||||
const QSet<QString> webPageTypes = {
|
||||
QSL("text/html"),
|
||||
@@ -507,9 +506,6 @@
|
||||
page()->download(url());
|
||||
}
|
||||
});
|
||||
-#else
|
||||
- triggerPageAction(QWebEnginePage::SavePage);
|
||||
-#endif
|
||||
}
|
||||
|
||||
void WebView::copyImageToClipboard()
|
||||
@@ -1,102 +0,0 @@
|
||||
From 48ca42d645b155069a57eaede3e560874ed07bc7 Mon Sep 17 00:00:00 2001
|
||||
From: David Rosca <nowrep@gmail.com>
|
||||
Date: Thu, 1 Mar 2018 15:14:15 +0100
|
||||
Subject: WebInspector: Don't require remote debugging with QtWebEngine 5.11
|
||||
|
||||
---
|
||||
src/lib/webengine/webinspector.cpp | 11 ++++++++++-
|
||||
src/lib/webengine/webinspector.h | 11 ++++-------
|
||||
2 files changed, 14 insertions(+), 8 deletions(-)
|
||||
|
||||
* asturm@gentoo.org: Make #ifdef obsolete by requiring Qt 5.11.0.
|
||||
|
||||
diff -u b/src/lib/webengine/webinspector.cpp b/src/lib/webengine/webinspector.cpp
|
||||
--- b/src/lib/webengine/webinspector.cpp
|
||||
+++ b/src/lib/webengine/webinspector.cpp
|
||||
@@ -19,6 +19,8 @@
|
||||
#include "mainapplication.h"
|
||||
#include "networkmanager.h"
|
||||
#include "settings.h"
|
||||
+#include "webview.h"
|
||||
+#include "webpage.h"
|
||||
|
||||
#include <QJsonArray>
|
||||
#include <QJsonObject>
|
||||
@@ -60,27 +62,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
-void WebInspector::setView(QWebEngineView *view)
|
||||
+void WebInspector::setView(WebView *view)
|
||||
{
|
||||
m_view = view;
|
||||
Q_ASSERT(isEnabled());
|
||||
|
||||
- int port = qEnvironmentVariableIntValue("QTWEBENGINE_REMOTE_DEBUGGING");
|
||||
- QUrl inspectorUrl = QUrl(QSL("http://localhost:%1").arg(port));
|
||||
- int index = s_views.indexOf(m_view);
|
||||
-
|
||||
- QNetworkReply *reply = mApp->networkManager()->get(QNetworkRequest(inspectorUrl.resolved(QUrl("json/list"))));
|
||||
- connect(reply, &QNetworkReply::finished, this, [=]() {
|
||||
- QJsonArray clients = QJsonDocument::fromJson(reply->readAll()).array();
|
||||
- QUrl pageUrl;
|
||||
- if (clients.size() > index) {
|
||||
- QJsonObject object = clients.at(index).toObject();
|
||||
- pageUrl = inspectorUrl.resolved(QUrl(object.value(QSL("devtoolsFrontendUrl")).toString()));
|
||||
- }
|
||||
- load(pageUrl);
|
||||
- pushView(this);
|
||||
- show();
|
||||
- });
|
||||
+ page()->setInspectedPage(m_view->page());
|
||||
+ connect(m_view, &WebView::pageChanged, this, &WebInspector::deleteLater);
|
||||
}
|
||||
|
||||
void WebInspector::inspectElement()
|
||||
@@ -90,9 +78,6 @@
|
||||
|
||||
bool WebInspector::isEnabled()
|
||||
{
|
||||
- if (!qEnvironmentVariableIsSet("QTWEBENGINE_REMOTE_DEBUGGING")) {
|
||||
- return false;
|
||||
- }
|
||||
if (!mApp->webSettings()->testAttribute(QWebEngineSettings::JavascriptEnabled)) {
|
||||
return false;
|
||||
}
|
||||
--- a/src/lib/webengine/webinspector.h
|
||||
+++ b/src/lib/webengine/webinspector.h
|
||||
@@ -15,14 +15,13 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* ============================================================ */
|
||||
-#ifndef WEBINSPECTORDOCKWIDGET_H
|
||||
-#define WEBINSPECTORDOCKWIDGET_H
|
||||
+#pragma once
|
||||
|
||||
#include <QWebEngineView>
|
||||
|
||||
#include "qzcommon.h"
|
||||
|
||||
-class ToolButton;
|
||||
+class WebView;
|
||||
|
||||
class FALKON_EXPORT WebInspector : public QWebEngineView
|
||||
{
|
||||
@@ -32,7 +31,7 @@ public:
|
||||
explicit WebInspector(QWidget *parent = Q_NULLPTR);
|
||||
~WebInspector();
|
||||
|
||||
- void setView(QWebEngineView *view);
|
||||
+ void setView(WebView *view);
|
||||
void inspectElement();
|
||||
|
||||
static bool isEnabled();
|
||||
@@ -53,7 +52,5 @@ private:
|
||||
int m_height;
|
||||
QSize m_windowSize;
|
||||
bool m_inspectElement = false;
|
||||
- QWebEngineView *m_view;
|
||||
+ WebView *m_view;
|
||||
};
|
||||
-
|
||||
-#endif // WEBINSPECTORDOCKWIDGET_H
|
||||
@@ -5,7 +5,4 @@
|
||||
<email>kde@gentoo.org</email>
|
||||
<name>Gentoo KDE Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="kwallet">Enable encrypted storage of passwords with <pkg>kde-frameworks/kwallet</pkg></flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
||||
Reference in New Issue
Block a user