summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/falkon')
-rw-r--r--www-client/falkon/Manifest1
-rw-r--r--www-client/falkon/falkon-3.1.0.ebuild88
-rw-r--r--www-client/falkon/files/falkon-3.1.0-fix-warn-registering-schemes.patch83
-rw-r--r--www-client/falkon/files/falkon-3.1.0-use-cmake-find-intl.patch68
4 files changed, 240 insertions, 0 deletions
diff --git a/www-client/falkon/Manifest b/www-client/falkon/Manifest
index 2089017eebff..b2a60b4272a9 100644
--- a/www-client/falkon/Manifest
+++ b/www-client/falkon/Manifest
@@ -1 +1,2 @@
DIST falkon-3.0.1.tar.xz 2219444 BLAKE2B 013d29925f9a1c7e77d5f194eb4a1371dadda05de01a0c103902acfbb16941c6fa9c7256a98ef1965c622222ccfcee8b44c48076cb00bd892378157502f73916 SHA512 e2384cb49d4e1ec52ff7804cf798688be2d80fa5957c72accb09376aa0c41ee491c45234fd53c79871bc474a8d0677e40ddb48241a70d77102c67406b0719191
+DIST falkon-3.1.0.tar.xz 2292692 BLAKE2B 1a5d8dd979afb3ef81ea5409314cc0971eaa0b5de54ed7e14668c6596d11cb86d9143acc5285d24d98a671c2486f83e626669d394670d72610b5ad8c68fada69 SHA512 c04f97869150b8ab81ae7b01c7137e35ca5c3103c057e01896454bbeda1075372a7831d2dfe7ab66794de0983593df6e46eff47c5cdc2bc959f81b022506f054
diff --git a/www-client/falkon/falkon-3.1.0.ebuild b/www-client/falkon/falkon-3.1.0.ebuild
new file mode 100644
index 000000000000..b246a3809b85
--- /dev/null
+++ b/www-client/falkon/falkon-3.1.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KDE_TEST="true"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV%.0}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Cross-platform web browser using QtWebEngine"
+HOMEPAGE="https://www.falkon.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="dbus gnome-keyring kde libressl +X"
+
+# drop qtwebengine subslot operator when QT_MINIMAL >= 5.12.0
+BDEPEND="gnome-keyring? ( virtual/pkgconfig )"
+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' '' '5=')
+ $(add_qt_dep qtwidgets)
+ virtual/libintl
+ dbus? ( $(add_qt_dep qtdbus) )
+ gnome-keyring? ( gnome-base/libgnome-keyring )
+ kde? (
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kcrash)
+ $(add_frameworks_dep kio)
+ $(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)
+"
+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}-use-cmake-find-intl.patch"
+ "${FILESDIR}/${P}-fix-warn-registering-schemes.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 kde KF5Wallet)
+ $(cmake-utils_use_find_package kde KF5KIO)
+ -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"
+}
diff --git a/www-client/falkon/files/falkon-3.1.0-fix-warn-registering-schemes.patch b/www-client/falkon/files/falkon-3.1.0-fix-warn-registering-schemes.patch
new file mode 100644
index 000000000000..4bd760bfe308
--- /dev/null
+++ b/www-client/falkon/files/falkon-3.1.0-fix-warn-registering-schemes.patch
@@ -0,0 +1,83 @@
+From 067155d53af52b0b6e26801fa3a7ec59a93aeb7f Mon Sep 17 00:00:00 2001
+From: David Rosca <nowrep@gmail.com>
+Date: Wed, 20 Mar 2019 12:01:01 +0100
+Subject: NetworkManager: Fix QtWebEngine warning about registering schemes
+
+---
+ src/lib/app/mainapplication.cpp | 2 ++
+ src/lib/network/networkmanager.cpp | 26 +++++++++++++++-----------
+ src/lib/network/networkmanager.h | 2 ++
+ 3 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/src/lib/app/mainapplication.cpp b/src/lib/app/mainapplication.cpp
+index 1e89d16..d6c622f 100644
+--- a/src/lib/app/mainapplication.cpp
++++ b/src/lib/app/mainapplication.cpp
+@@ -281,6 +281,8 @@ MainApplication::MainApplication(int &argc, char** argv)
+
+ Settings::createSettings(DataPaths::currentProfilePath() + QLatin1String("/settings.ini"));
+
++ NetworkManager::registerSchemes();
++
+ m_webProfile = isPrivate() ? new QWebEngineProfile(this) : QWebEngineProfile::defaultProfile();
+ connect(m_webProfile, &QWebEngineProfile::downloadRequested, this, &MainApplication::downloadRequested);
+
+diff --git a/src/lib/network/networkmanager.cpp b/src/lib/network/networkmanager.cpp
+index 773e116..0c11aff 100644
+--- a/src/lib/network/networkmanager.cpp
++++ b/src/lib/network/networkmanager.cpp
+@@ -52,17 +52,6 @@ NetworkManager::NetworkManager(QObject *parent)
+ // Create scheme handlers
+ m_extensionScheme = new ExtensionSchemeManager();
+
+-#if QTWEBENGINEWIDGETS_VERSION >= QT_VERSION_CHECK(5, 12, 0)
+- QWebEngineUrlScheme falkonScheme("falkon");
+- falkonScheme.setFlags(QWebEngineUrlScheme::SecureScheme | QWebEngineUrlScheme::ContentSecurityPolicyIgnored);
+- falkonScheme.setSyntax(QWebEngineUrlScheme::Syntax::Path);
+- QWebEngineUrlScheme::registerScheme(falkonScheme);
+- QWebEngineUrlScheme extensionScheme("extension");
+- extensionScheme.setFlags(QWebEngineUrlScheme::SecureScheme | QWebEngineUrlScheme::ContentSecurityPolicyIgnored);
+- extensionScheme.setSyntax(QWebEngineUrlScheme::Syntax::Path);
+- QWebEngineUrlScheme::registerScheme(extensionScheme);
+-#endif
+-
+ mApp->webProfile()->installUrlSchemeHandler(QByteArrayLiteral("falkon"), new FalkonSchemeHandler());
+ mApp->webProfile()->installUrlSchemeHandler(QByteArrayLiteral("extension"), m_extensionScheme);
+ WebPage::addSupportedScheme(QSL("falkon"));
+@@ -309,6 +298,21 @@ void NetworkManager::shutdown()
+ mApp->webProfile()->setRequestInterceptor(nullptr);
+ }
+
++// static
++void NetworkManager::registerSchemes()
++{
++#if QTWEBENGINEWIDGETS_VERSION >= QT_VERSION_CHECK(5, 12, 0)
++ QWebEngineUrlScheme falkonScheme("falkon");
++ falkonScheme.setFlags(QWebEngineUrlScheme::SecureScheme | QWebEngineUrlScheme::ContentSecurityPolicyIgnored);
++ falkonScheme.setSyntax(QWebEngineUrlScheme::Syntax::Path);
++ QWebEngineUrlScheme::registerScheme(falkonScheme);
++ QWebEngineUrlScheme extensionScheme("extension");
++ extensionScheme.setFlags(QWebEngineUrlScheme::SecureScheme | QWebEngineUrlScheme::ContentSecurityPolicyIgnored);
++ extensionScheme.setSyntax(QWebEngineUrlScheme::Syntax::Path);
++ QWebEngineUrlScheme::registerScheme(extensionScheme);
++#endif
++}
++
+ QNetworkReply *NetworkManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
+ {
+ QNetworkRequest req = request;
+diff --git a/src/lib/network/networkmanager.h b/src/lib/network/networkmanager.h
+index af7475b..638b263 100644
+--- a/src/lib/network/networkmanager.h
++++ b/src/lib/network/networkmanager.h
+@@ -48,6 +48,8 @@ public:
+ void loadSettings();
+ void shutdown();
+
++ static void registerSchemes();
++
+ protected:
+ QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) override;
+
+--
+cgit v1.1
diff --git a/www-client/falkon/files/falkon-3.1.0-use-cmake-find-intl.patch b/www-client/falkon/files/falkon-3.1.0-use-cmake-find-intl.patch
new file mode 100644
index 000000000000..29791378eb20
--- /dev/null
+++ b/www-client/falkon/files/falkon-3.1.0-use-cmake-find-intl.patch
@@ -0,0 +1,68 @@
+From 71b54b5bbfd58e2b3ca84398e7b2fe1c93474092 Mon Sep 17 00:00:00 2001
+From: David Rosca <nowrep@gmail.com>
+Date: Wed, 20 Mar 2019 11:40:11 +0100
+Subject: Use correct package name for Intl
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fe9de5a..94fe67e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -129,7 +129,7 @@ if (PySide2_FOUND AND Shiboken2_FOUND AND PythonLibs_FOUND)
+ set(ENABLE_PYTHON_PLUGINS TRUE)
+ endif()
+
+-find_package(LibIntl)
++find_package(Intl)
+
+ # Git revision
+ if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
+
+From 797e4c12a26196b3811848fc8b40f1bb19c5c2ce Mon Sep 17 00:00:00 2001
+From: David Rosca <nowrep@gmail.com>
+Date: Wed, 20 Mar 2019 11:53:31 +0100
+Subject: QML Plugins: Fix exporting i18n functions
+
+---
+ CMakeLists.txt | 3 +++
+ src/lib/plugins/qml/qmlpluginloader.cpp | 8 ++++----
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 94fe67e..5977df0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -130,6 +130,9 @@ if (PySide2_FOUND AND Shiboken2_FOUND AND PythonLibs_FOUND)
+ endif()
+
+ find_package(Intl)
++if (Intl_FOUND)
++ set(HAVE_LIBINTL TRUE)
++endif()
+
+ # Git revision
+ if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
+diff --git a/src/lib/plugins/qml/qmlpluginloader.cpp b/src/lib/plugins/qml/qmlpluginloader.cpp
+index 8159b4b..2f393ff 100644
+--- a/src/lib/plugins/qml/qmlpluginloader.cpp
++++ b/src/lib/plugins/qml/qmlpluginloader.cpp
+@@ -69,10 +69,10 @@ void QmlPluginLoader::initEngineAndComponent()
+ #if HAVE_LIBINTL
+ auto i18n = new QmlI18n(m_name);
+ m_engine->globalObject().setProperty(QSL("__falkon_i18n"), m_engine->newQObject(i18n));
+- m_engine->globalObject().setProperty(QSL("i18n"), m_engine->evaluate(QSL("function (s) { return __falkon_i18n.i18n(s) }")));
+- m_engine->globalObject().setProperty(QSL("i18np"), m_engine->evaluate(QSL("function (s1, s2) { return __falkon_i18n.i18np(s1, s2) }")));
++ m_engine->evaluate(QSL("i18n = function (s) { return __falkon_i18n.i18n(s) };"));
++ m_engine->evaluate(QSL("i18np = function (s1, s2) { return __falkon_i18n.i18np(s1, s2) }"));
+ #else
+- m_engine->globalObject().setProperty(QSL("i18n"), m_engine->evaluate(QSL("function (s) { return s }")));
+- m_engine->globalObject().setProperty(QSL("i18np"), m_engine->evaluate(QSL("function (s1, s2) { return s1 }")));
++ m_engine->evaluate(QSL("i18n = function (s) { return s; };"));
++ m_engine->evaluate(QSL("i18np = function (s1, s2) { return s1; }"));
+ #endif
+ }
+--
+cgit v1.1