net-p2p/ktorrent: EAPI-7 bump, misc upstream fixes
authorAndreas Sturmlechner <asturm@gentoo.org>
Mon, 15 Jul 2019 19:04:58 +0000 (21:04 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Mon, 15 Jul 2019 20:51:56 +0000 (22:51 +0200)
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
net-p2p/ktorrent/files/ktorrent-5.1.1-kcrash.patch [new file with mode: 0644]
net-p2p/ktorrent/files/ktorrent-5.1.1-kdehig.patch [new file with mode: 0644]
net-p2p/ktorrent/files/ktorrent-5.1.1-singlefile-torrent.patch [new file with mode: 0644]
net-p2p/ktorrent/ktorrent-5.1.1-r1.ebuild [new file with mode: 0644]

diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.1-kcrash.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-kcrash.patch
new file mode 100644 (file)
index 0000000..8beffd9
--- /dev/null
@@ -0,0 +1,23 @@
+From 3ff87f67e984e514a968ddf388a4056f8aa2e723 Mon Sep 17 00:00:00 2001
+From: Aleix Pol <aleixpol@kde.org>
+Date: Tue, 11 Jun 2019 22:59:15 +0200
+Subject: Fix build. Needs KCrash
+
+---
+ ktorrent/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ktorrent/CMakeLists.txt b/ktorrent/CMakeLists.txt
+index e8c29af..326c59a 100644
+--- a/ktorrent/CMakeLists.txt
++++ b/ktorrent/CMakeLists.txt
+@@ -110,6 +110,7 @@ target_link_libraries(ktorrent_app
+     KF5::WidgetsAddons
+     KF5::WindowSystem
+     KF5::XmlGui
++    KF5::Crash
+ )
+ install(TARGETS ktorrent_app ${INSTALL_TARGETS_DEFAULT_ARGS})
+-- 
+cgit v1.1
diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.1-kdehig.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-kdehig.patch
new file mode 100644 (file)
index 0000000..9711522
--- /dev/null
@@ -0,0 +1,40 @@
+From c77b09fe37ac00c86e6ac43db5e43b325fa4d8a1 Mon Sep 17 00:00:00 2001
+From: Carl Schwan <schwancarl@protonmail.com>
+Date: Thu, 14 Mar 2019 23:24:27 +0100
+Subject: Follow KDE HIG by using ellipis
+
+Summary:
+See https://hig.kde.org/style/writing/placeholder.html#actions
+
+@stikonas I add you as reviewer because I saw that you are last contributor to KTorrent :D
+
+Test Plan: Build and run
+
+Reviewers: #vdg, stikonas, ngraham
+
+Reviewed By: #vdg, stikonas, ngraham
+
+Subscribers: stikonas
+
+Maniphest Tasks: T10258
+
+Differential Revision: https://phabricator.kde.org/D19772
+---
+ ktorrent/view/torrentsearchbar.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ktorrent/view/torrentsearchbar.cpp b/ktorrent/view/torrentsearchbar.cpp
+index 045d695..2e9c428 100644
+--- a/ktorrent/view/torrentsearchbar.cpp
++++ b/ktorrent/view/torrentsearchbar.cpp
+@@ -46,7 +46,7 @@ namespace kt
+         search_bar = new QLineEdit(this);
+         search_bar->setClearButtonEnabled(true);
+-        search_bar->setPlaceholderText(i18n("Torrent filter"));
++        search_bar->setPlaceholderText(i18n("Filter..."));
+         connect(search_bar, SIGNAL(textChanged(QString)), view, SLOT(setFilterString(QString)));
+         connect(this, SIGNAL(filterBarShown(QString)), view, SLOT(setFilterString(QString)));
+-- 
+cgit v1.1
diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.1-singlefile-torrent.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-singlefile-torrent.patch
new file mode 100644 (file)
index 0000000..b225186
--- /dev/null
@@ -0,0 +1,140 @@
+From dab5abcd2172155c511e0666d867c37382829226 Mon Sep 17 00:00:00 2001
+From: Jiva Totin <jiva.totin@gmail.com>
+Date: Sun, 17 Feb 2019 20:00:11 +0000
+Subject: Allow creating torrent for a single file.
+
+Added 2 new radio buttons. One for choosing directory and the other one for
+choosing files.
+
+BUG: 384452
+Differential Revision: https://phabricator.kde.org/D11728
+---
+ ktorrent/dialogs/torrentcreatordlg.cpp | 18 ++++++++++-
+ ktorrent/dialogs/torrentcreatordlg.h   |  3 ++
+ ktorrent/dialogs/torrentcreatordlg.ui  | 56 +++++++++++++++++++++++-----------
+ 3 files changed, 58 insertions(+), 19 deletions(-)
+
+diff --git a/ktorrent/dialogs/torrentcreatordlg.cpp b/ktorrent/dialogs/torrentcreatordlg.cpp
+index bb3710d..b46b291 100644
+--- a/ktorrent/dialogs/torrentcreatordlg.cpp
++++ b/ktorrent/dialogs/torrentcreatordlg.cpp
+@@ -54,12 +54,17 @@ namespace kt
+         adjustSize();
+         loadGroups();
+-        m_url->setMode(KFile::File | KFile::ExistingOnly | KFile::LocalOnly | KFile::Directory);
++        m_url->setMode(KFile::ExistingOnly | KFile::LocalOnly | KFile::Directory);
++        m_selectDirectory->setChecked(true);
++
+         m_dht_tab->setEnabled(false);
+         connect(m_buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
+         connect(m_buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
++        connect(m_selectDirectory, &QRadioButton::clicked, this, &TorrentCreatorDlg::selectDirectory);
++        connect(m_selectFile, &QRadioButton::clicked, this, &TorrentCreatorDlg::selectFile);
++
+         connect(m_dht, &QCheckBox::toggled, this, &TorrentCreatorDlg::dhtToggled);
+         // tracker box stuff
+@@ -428,4 +433,15 @@ namespace kt
+         m_progress->setValue(mktor->getCurrentChunk());
+     }
++    void TorrentCreatorDlg::selectFile()
++    {
++        m_url->setMode(KFile::File | KFile::ExistingOnly | KFile::LocalOnly);
++    }
++
++    void TorrentCreatorDlg::selectDirectory()
++    {
++        m_url->setMode(KFile::ExistingOnly | KFile::LocalOnly | KFile::Directory);
++    }
++
++
+ }
+diff --git a/ktorrent/dialogs/torrentcreatordlg.h b/ktorrent/dialogs/torrentcreatordlg.h
+index 12a1a43..b59d880 100644
+--- a/ktorrent/dialogs/torrentcreatordlg.h
++++ b/ktorrent/dialogs/torrentcreatordlg.h
+@@ -73,6 +73,9 @@ namespace kt
+         void accept() override;
+         void reject() override;
++        void selectFile();// required for radio button for new torrent creation
++        void selectDirectory();
++
+     private:
+         void loadGroups();
+         void loadCompleterData();
+diff --git a/ktorrent/dialogs/torrentcreatordlg.ui b/ktorrent/dialogs/torrentcreatordlg.ui
+index b954aed..02bf390 100644
+--- a/ktorrent/dialogs/torrentcreatordlg.ui
++++ b/ktorrent/dialogs/torrentcreatordlg.ui
+@@ -15,26 +15,46 @@
+   </property>
+   <layout class="QVBoxLayout" name="verticalLayout">
+    <item>
+-    <widget class="QLabel" name="label">
+-     <property name="text">
++    <widget class="QGroupBox" name="groupBox">
++     <property name="title">
+       <string>File or directory to create torrent from:</string>
+      </property>
+-    </widget>
+-   </item>
+-   <item>
+-    <widget class="KUrlRequester" name="m_url">
+-     <property name="sizePolicy">
+-      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+-       <horstretch>0</horstretch>
+-       <verstretch>0</verstretch>
+-      </sizepolicy>
+-     </property>
+-     <property name="minimumSize">
+-      <size>
+-       <width>0</width>
+-       <height>0</height>
+-      </size>
+-     </property>
++     <layout class="QVBoxLayout" name="verticalLayout_2">
++      <item>
++       <widget class="KUrlRequester" name="m_url">
++        <property name="sizePolicy">
++         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
++          <horstretch>0</horstretch>
++          <verstretch>0</verstretch>
++         </sizepolicy>
++        </property>
++        <property name="minimumSize">
++         <size>
++          <width>0</width>
++          <height>0</height>
++         </size>
++        </property>
++       </widget>
++      </item>
++      <item>
++       <layout class="QHBoxLayout" name="horizontalLayout_2">
++        <item>
++         <widget class="QRadioButton" name="m_selectDirectory">
++          <property name="text">
++           <string>Select Directory</string>
++          </property>
++         </widget>
++        </item>
++        <item>
++         <widget class="QRadioButton" name="m_selectFile">
++          <property name="text">
++           <string>Select File</string>
++          </property>
++         </widget>
++        </item>
++       </layout>
++      </item>
++     </layout>
+     </widget>
+    </item>
+    <item>
+-- 
+cgit v1.1
diff --git a/net-p2p/ktorrent/ktorrent-5.1.1-r1.ebuild b/net-p2p/ktorrent/ktorrent-5.1.1-r1.ebuild
new file mode 100644 (file)
index 0000000..11e0303
--- /dev/null
@@ -0,0 +1,108 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KDE_HANDBOOK="optional"
+KDE_TEST="optional"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="Powerful BitTorrent client based on KDE Frameworks"
+HOMEPAGE="https://kde.org/applications/internet/ktorrent/"
+[[ ${KDE_BUILD_TYPE} = release ]] && SRC_URI="mirror://kde/stable/${PN}/${PV/%.0}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="+bwscheduler +downloadorder +infowidget +ipfilter +kross +logviewer +magnetgenerator
++mediaplayer rss +scanfolder +search +shutdown +stats +upnp +zeroconf"
+
+BDEPEND="sys-devel/gettext"
+COMMON_DEPEND="
+       $(add_frameworks_dep kcmutils)
+       $(add_frameworks_dep kconfig)
+       $(add_frameworks_dep kconfigwidgets)
+       $(add_frameworks_dep kcoreaddons)
+       $(add_frameworks_dep kcrash)
+       $(add_frameworks_dep kdbusaddons)
+       $(add_frameworks_dep ki18n)
+       $(add_frameworks_dep kiconthemes)
+       $(add_frameworks_dep kio)
+       $(add_frameworks_dep knotifications)
+       $(add_frameworks_dep knotifyconfig)
+       $(add_frameworks_dep kparts)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep kwindowsystem)
+       $(add_frameworks_dep kxmlgui)
+       $(add_frameworks_dep solid)
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtnetwork)
+       $(add_qt_dep qtwidgets)
+       $(add_qt_dep qtxml)
+       >=net-libs/libktorrent-2.1:5
+       infowidget? ( dev-libs/geoip )
+       kross? (
+               $(add_frameworks_dep karchive)
+               $(add_frameworks_dep kitemviews)
+               $(add_frameworks_dep kross)
+       )
+       mediaplayer? (
+               media-libs/phonon[qt5(+)]
+               >=media-libs/taglib-1.5
+       )
+       rss? (
+               $(add_frameworks_dep kdewebkit)
+               $(add_frameworks_dep syndication)
+       )
+       search? (
+               $(add_frameworks_dep kdewebkit)
+               >=dev-qt/qtwebkit-5.212.0_pre20180120:5
+       )
+       shutdown? ( $(add_plasma_dep plasma-workspace) )
+       stats? ( $(add_frameworks_dep kplotting) )
+       upnp? ( $(add_frameworks_dep kcompletion) )
+       zeroconf? ( $(add_frameworks_dep kdnssd) )
+"
+DEPEND="${COMMON_DEPEND}
+       dev-libs/boost
+"
+RDEPEND="${COMMON_DEPEND}
+       ipfilter? (
+               app-arch/bzip2
+               app-arch/unzip
+               $(add_frameworks_dep ktextwidgets)
+               $(add_kdeapps_dep kio-extras)
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${P}-scanfolder-memcorruption.patch"
+       "${FILESDIR}/${P}-kdehig.patch"
+       "${FILESDIR}/${P}-singlefile-torrent.patch"
+       "${FILESDIR}/${P}-kcrash.patch"
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DENABLE_BWSCHEDULER_PLUGIN=$(usex bwscheduler)
+               -DENABLE_DOWNLOADORDER_PLUGIN=$(usex downloadorder)
+               -DENABLE_INFOWIDGET_PLUGIN=$(usex infowidget)
+               -DWITH_SYSTEM_GEOIP=$(usex infowidget)
+               -DENABLE_IPFILTER_PLUGIN=$(usex ipfilter)
+               -DENABLE_SCRIPTING_PLUGIN=$(usex kross)
+               -DENABLE_LOGVIEWER_PLUGIN=$(usex logviewer)
+               -DENABLE_MAGNETGENERATOR_PLUGIN=$(usex magnetgenerator)
+               -DENABLE_MEDIAPLAYER_PLUGIN=$(usex mediaplayer)
+               $(cmake-utils_use_find_package rss KF5Syndication)
+               -DENABLE_SCANFOLDER_PLUGIN=$(usex scanfolder)
+               -DENABLE_SEARCH_PLUGIN=$(usex search)
+               -DENABLE_SHUTDOWN_PLUGIN=$(usex shutdown)
+               -DENABLE_STATS_PLUGIN=$(usex stats)
+               -DENABLE_UPNP_PLUGIN=$(usex upnp)
+               -DENABLE_ZEROCONF_PLUGIN=$(usex zeroconf)
+       )
+# add back when ported
+#              -DENABLE_WEBINTERFACE_PLUGIN=$(usex webinterface)
+       kde5_src_configure
+}