summaryrefslogtreecommitdiff
path: root/app-text/kchmviewer
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/kchmviewer')
-rw-r--r--app-text/kchmviewer/Manifest6
-rw-r--r--app-text/kchmviewer/files/kchmviewer-8.0-custom-url-scheme-registration.patch59
-rw-r--r--app-text/kchmviewer/files/kchmviewer-8.0-no-qtwebkit.patch28
-rw-r--r--app-text/kchmviewer/files/kchmviewer-8.0-underlinking.patch30
-rw-r--r--app-text/kchmviewer/kchmviewer-8.0.ebuild47
-rw-r--r--app-text/kchmviewer/metadata.xml11
6 files changed, 181 insertions, 0 deletions
diff --git a/app-text/kchmviewer/Manifest b/app-text/kchmviewer/Manifest
new file mode 100644
index 000000000000..5193529d43f1
--- /dev/null
+++ b/app-text/kchmviewer/Manifest
@@ -0,0 +1,6 @@
+AUX kchmviewer-8.0-custom-url-scheme-registration.patch 2583 BLAKE2B fac216716c6ae1592c3a90fa52912845e5599c4339e608cbdb92514f2be060e600072e65f7791786d366ff6a6b2e76373f7b2355f3dce7d7c1d1af8e15db65c6 SHA512 4535cb7d3e407303ba554850ac30daa5357746fb420aa563a5995998cd2df45bd40b271788034c1bf9732d1bd9d6b40b6f21fcb65dfa1b17a7ce030654dd6074
+AUX kchmviewer-8.0-no-qtwebkit.patch 719 BLAKE2B f70114458bae2dad5739d40828c310d0dc29153034d962bb39594a1ba260ca9ba02fc1adfb001d555a3dcbdd8b89f08e2350ddeaa3713d924f040c0636b33ada SHA512 0f264ad713ed455257089fb2d9396353b793b7f2c4c79078ef1225d68df94fe32119399c834ff24d9200e7e34c34b253e910073cf6894a55d3918ca7b284e4f7
+AUX kchmviewer-8.0-underlinking.patch 882 BLAKE2B a20eebc7a2649ffa293e57d9b6e042232754922d69b1702923232c1f01690ddaaa2dfd2381406e81aeda9a44cded48945450bf4a9c8a6df36f1e88781614622f SHA512 493eca26ba6e681f0fb2318d43eb8fb37838a1ac8e18f1c4b3943e81dd2f4e63ba76a07e78a243e7dc294828d51883775f806c9223f29ba445d807a8b38b9103
+DIST kchmviewer-8.0.tar.gz 311899 BLAKE2B f317dcc17fa88f30a4a1867b59b16bdc78457b46f4f3d3b78bd5d9d50745bf2d2329df170568c7814a02814a77b319bbd1d9f8edc3c1da0071a6ce64965b26bf SHA512 28ae8ee8a6f4a9be2e8a9666f6326906e04f34ad80a363697fc7e5bfbc745e6671884add3f57b6a1264f2056428cb0a31504da9c69a0bede0c3b485a08e75048
+EBUILD kchmviewer-8.0.ebuild 1006 BLAKE2B 9303b074646b1ae6feca490b01e287b1f3f4805563cdb276e54fecd9bb98a20de01a02c2a99532f63d46f1003bf3d45299e159cb524f4ed5b7deed04d9016353 SHA512 89c01169d3a60d93702b2e86d0723372fd95e82097ae1df9c4d2d9cc37228455edb36b6c1b9ac33c15676a0fad0467c3e29e70c9603c89512ec57cc3a964b43c
+MISC metadata.xml 332 BLAKE2B ee65532facbaa670c7e703d7c70f7826d17d36902c46b8eb7902e70b1245f27a52efb1a0bbb4501ddb545d12f067ed2c35b37ac914fb8b6ec0186d064d989f02 SHA512 fec62f5d76da354f3eafcc948586f2dd5b88153ce558068dc084eaa62259dac81f0861a75c3ed99a350e495ddc4ca624e53435df80091c0c3fa503ad6d3b3e64
diff --git a/app-text/kchmviewer/files/kchmviewer-8.0-custom-url-scheme-registration.patch b/app-text/kchmviewer/files/kchmviewer-8.0-custom-url-scheme-registration.patch
new file mode 100644
index 000000000000..144d673b2b17
--- /dev/null
+++ b/app-text/kchmviewer/files/kchmviewer-8.0-custom-url-scheme-registration.patch
@@ -0,0 +1,59 @@
+From 9ac73e7ad15de08aab6b1198115be2eb44da7afe Mon Sep 17 00:00:00 2001
+From: George Yunaev <gyunaev@ulduzsoft.com>
+Date: Fri, 21 May 2021 15:57:21 -0700
+Subject: [PATCH] Custom URL scheme registration needs to be applied once per
+ https://doc.qt.io/qt-5/qwebengineurlschemehandler.html
+
+---
+ src/viewwindow_webengine.cpp | 20 +++++++++++++-------
+ src/viewwindow_webengine.h | 3 ---
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/src/viewwindow_webengine.cpp b/src/viewwindow_webengine.cpp
+index 631d84d..34f3396 100644
+--- a/src/viewwindow_webengine.cpp
++++ b/src/viewwindow_webengine.cpp
+@@ -63,16 +63,22 @@ ViewWindow::ViewWindow( QWidget * parent )
+ m_contextMenuLink = 0;
+ m_storedScrollbarPosition = -1; // see header
+
+- // Use our network emulation layer. I don't know if we transfer the ownership when we install it,
+- // so we create one per page. May be unnecessary.
+- m_provider = new DataProvider_QWebEngine( this );
+-
+- page()->profile()->installUrlSchemeHandler( EBook_CHM::urlScheme(), m_provider );
+- page()->profile()->installUrlSchemeHandler( EBook_EPUB::urlScheme(), m_provider );
+-
+ // All links are going through us
+ //page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks );
+
++ // This needs to be done only once
++ static bool providerInstalled = false;
++
++ if ( !providerInstalled )
++ {
++ // Use our network emulation layer. We do not transfer the ownership when we install it. See https://doc.qt.io/qt-5/qwebengineurlschemehandler.html
++ DataProvider_QWebEngine * provider = new DataProvider_QWebEngine( 0 );
++
++ QWebEngineProfile::defaultProfile()->installUrlSchemeHandler( EBook_CHM::urlScheme(), provider );
++ QWebEngineProfile::defaultProfile()->installUrlSchemeHandler( EBook_EPUB::urlScheme(), provider );
++ providerInstalled = true;
++ }
++
+ connect( this, SIGNAL( loadFinished(bool)), this, SLOT( onLoadFinished(bool)) );
+
+ // Search results highlighter
+diff --git a/src/viewwindow_webengine.h b/src/viewwindow_webengine.h
+index 0adea31..3e96690 100644
+--- a/src/viewwindow_webengine.h
++++ b/src/viewwindow_webengine.h
+@@ -128,9 +128,6 @@ class ViewWindow : public QWebEngineView
+ // It is set to -1 if no scrollbar position has been set and the page is not loaded yet
+ // It is set to 0 if no scrollbar position has been set and the page is loaded already
+ int m_storedScrollbarPosition;
+-
+- // Data provider
+- DataProvider_QWebEngine * m_provider;
+ };
+
+ #endif // VIEWWINDOW_WEBENGINE_H
diff --git a/app-text/kchmviewer/files/kchmviewer-8.0-no-qtwebkit.patch b/app-text/kchmviewer/files/kchmviewer-8.0-no-qtwebkit.patch
new file mode 100644
index 000000000000..18360c897821
--- /dev/null
+++ b/app-text/kchmviewer/files/kchmviewer-8.0-no-qtwebkit.patch
@@ -0,0 +1,28 @@
+From a4a3984465cb635822953350c571950ae726b539 Mon Sep 17 00:00:00 2001
+From: George Yunaev <gyunaev@ulduzsoft.com>
+Date: Sun, 23 May 2021 15:01:24 -0700
+Subject: [PATCH] Only add Webkit stuff to QT if we're compiling under 5.6.
+ Thanks to @u-235 for reporting.
+
+---
+ src/src.pro | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/src/src.pro b/src/src.pro
+index f502259..e75d6a9 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -60,12 +60,7 @@ FORMS += tab_bookmarks.ui \
+ toolbareditor.ui
+ RESOURCES += resources/images.qrc
+
+-QT += webkit \
+- xml \
+- network \
+- widgets \
+- webkitwidgets \
+- printsupport
++QT += xml network widgets printsupport
+
+ linux-g++*:{
+ LIBS += -lX11
diff --git a/app-text/kchmviewer/files/kchmviewer-8.0-underlinking.patch b/app-text/kchmviewer/files/kchmviewer-8.0-underlinking.patch
new file mode 100644
index 000000000000..b4ed3b500c8d
--- /dev/null
+++ b/app-text/kchmviewer/files/kchmviewer-8.0-underlinking.patch
@@ -0,0 +1,30 @@
+From e3b09edbbae17ad19661a7514afe5a9d84ca0ffa Mon Sep 17 00:00:00 2001
+From: George Yunaev <gyunaev@ulduzsoft.com>
+Date: Sun, 23 May 2021 15:03:06 -0700
+Subject: [PATCH] Adding support for old single-pass gcc linker which requires
+ a specific order of libraries. Thanks to @u-235 for reporting and patch.
+
+---
+ src/src.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/src.pro b/src/src.pro
+index e75d6a9..14c31a1 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -40,7 +40,6 @@ SOURCES += config.cpp \
+ textencodings.cpp \
+ treeitem_toc.cpp \
+ treeitem_index.cpp
+-LIBS += -lchm -lzip
+ TARGET = ../bin/kchmviewer
+ CONFIG += threads \
+ warn_on \
+@@ -106,6 +105,7 @@ unix:!macx: {
+ LIBS += ../lib/libebook/libebook.a
+ POST_TARGETDEPS += ../lib/libebook/libebook.a
+ }
++LIBS += -lchm -lzip
+
+ greaterThan(QT_MAJOR_VERSION, 4) {
+ # Qt 5
diff --git a/app-text/kchmviewer/kchmviewer-8.0.ebuild b/app-text/kchmviewer/kchmviewer-8.0.ebuild
new file mode 100644
index 000000000000..18bf404abb9d
--- /dev/null
+++ b/app-text/kchmviewer/kchmviewer-8.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop qmake-utils xdg
+
+DESCRIPTION="Feature rich chm file viewer, based on Qt"
+HOMEPAGE="https://www.ulduzsoft.com/kchmviewer/"
+SRC_URI="https://github.com/gyunaev/${PN}/archive/refs/tags/RELEASE_${PV/./_}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/kchmviewer-RELEASE_8_0"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-libs/chmlib
+ dev-libs/libzip:=
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwebengine:5[widgets]
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-underlinking.patch"
+ "${FILESDIR}/${P}-custom-url-scheme-registration.patch"
+ "${FILESDIR}/${P}-no-qtwebkit.patch"
+)
+
+src_configure() {
+ eqmake5
+}
+
+src_install() {
+ dodoc ChangeLog DBUS-bindings FAQ README
+ doicon packages/kchmviewer.png
+ dobin bin/kchmviewer
+ domenu packages/kchmviewer.desktop
+}
diff --git a/app-text/kchmviewer/metadata.xml b/app-text/kchmviewer/metadata.xml
new file mode 100644
index 000000000000..18d8646795dd
--- /dev/null
+++ b/app-text/kchmviewer/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gyunaev/kchmviewer</remote-id>
+ </upstream>
+</pkgmetadata>