public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2017-09-30 12:44 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2017-09-30 12:44 UTC (permalink / raw
  To: gentoo-commits

commit:     13ee3ee9ada0ab11fe906231bdcfd1fc8a4241dd
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 12:30:46 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 12:41:57 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13ee3ee9

net-p2p/ktorrent: Drop old

Package-Manager: Portage-2.3.10, Repoman-2.3.3

 net-p2p/ktorrent/Manifest                         |   1 -
 net-p2p/ktorrent/files/ktorrent-5.0.1-build.patch |  38 -------
 net-p2p/ktorrent/ktorrent-5.0.1.ebuild            | 131 ----------------------
 3 files changed, 170 deletions(-)

diff --git a/net-p2p/ktorrent/Manifest b/net-p2p/ktorrent/Manifest
index 238b67f7c13..b3b0c9f7fca 100644
--- a/net-p2p/ktorrent/Manifest
+++ b/net-p2p/ktorrent/Manifest
@@ -1,2 +1 @@
-DIST ktorrent-5.0.1.tar.xz 2152908 SHA256 d00feeca5dcc6a76a039d67dbe91a2d5a5e1da0f5e0bbd8da2c156d9c44879e5 SHA512 6ceced3d578e58f480ada5b71a66be244c75de726389d39b40c02c5a9445c6bb0b70573fac810abd1659c3172bff79c0c3e5cbfe1a84e0d50836b52291597bc1 WHIRLPOOL 11d59e1762b12e0c740337b05e9e678f71df1a5d43cffee6dcb1a3159afe1da00c118b62b84fdb80dbd6d98f3998250882406e8e61ad181b67b7043d350c8682
 DIST ktorrent-5.1.0.tar.xz 2046916 SHA256 3c57882f78006dcec3c5fb243479e995cc541e51e6acded5bf98a09900c486a3 SHA512 7bfe3a04a2b0f62d68b41c946af34e9f6ead6aa4ff7818a9c0ce2e83629d311e9e9be5fb1689065ce2601c43bd576b27d8c6946b845d4cdf5fa6362d53e8dd25 WHIRLPOOL 4be8e029e468d714a890652e77a6c6d1261a1ccc3b2114aae547bd5df38b2745a5d0836b86c4e0029ab13470cab66789b870da3536d183c106232f7bd960697f

diff --git a/net-p2p/ktorrent/files/ktorrent-5.0.1-build.patch b/net-p2p/ktorrent/files/ktorrent-5.0.1-build.patch
deleted file mode 100644
index 58949a2884f..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.0.1-build.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From ac8eb6b360fbaa2588ec523bb81c380289586db6 Mon Sep 17 00:00:00 2001
-From: David Faure <faure@kde.org>
-Date: Sat, 14 May 2016 11:19:34 +0200
-Subject: [PATCH] Fix compilation, KSharedConfig was not found.
-
----
- ktorrent/dialogs/pastedialog.h  | 1 +
- plugins/mediaplayer/mediaview.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/ktorrent/dialogs/pastedialog.h b/ktorrent/dialogs/pastedialog.h
-index 2446848..430ea82 100644
---- a/ktorrent/dialogs/pastedialog.h
-+++ b/ktorrent/dialogs/pastedialog.h
-@@ -22,6 +22,7 @@
- #define PASTEDIALOG_H
- 
- #include <KDialog>
-+#include <KSharedConfig>
- #include "ui_pastedlgbase.h"
- 
- 
-diff --git a/plugins/mediaplayer/mediaview.h b/plugins/mediaplayer/mediaview.h
-index 2b9a7e6..d1959c1 100644
---- a/plugins/mediaplayer/mediaview.h
-+++ b/plugins/mediaplayer/mediaview.h
-@@ -25,7 +25,7 @@
- #include <QListView>
- #include <QCheckBox>
- #include <QSortFilterProxyModel>
--#include <KSharedConfigPtr>
-+#include <KSharedConfig>
- #include "mediafile.h"
- 
- 
--- 
-2.7.3
-

diff --git a/net-p2p/ktorrent/ktorrent-5.0.1.ebuild b/net-p2p/ktorrent/ktorrent-5.0.1.ebuild
deleted file mode 100644
index c33c54efa85..00000000000
--- a/net-p2p/ktorrent/ktorrent-5.0.1.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-LIBKT_VERSION_MIN="${PV}"
-LIBKT_VERSION_MAX="99999999"
-if [[ ${PV} != 9999* ]]; then
-	inherit versionator
-	# upstream likes to skip that _ in beta releases
-	MY_PV="${PV/_/}"
-	LIBKT_VERSION_MIN=$(($(get_major_version)-3)).$(get_version_component_range 2-3 ${PV})
-	LIBKT_VERSION_MAX=$(($(get_major_version)-3)).$(($(get_version_component_range 2)+1))
-	MY_P="${PN}-${MY_PV}"
-
-	SRC_URI="mirror://kde/stable/${PN}/$(get_version_component_range 1-2)/${MY_P}.tar.xz"
-	S="${WORKDIR}"/"${MY_P}"
-
-	KEYWORDS="amd64 x86"
-else
-	LIBKT_VERSION_MIN="${PV}"
-	LIBKT_VERSION_MAX="99999999"
-fi
-
-KDE_HANDBOOK="forceoptional"
-inherit kde5
-
-DESCRIPTION="Powerful BitTorrent client based on KDE Frameworks"
-HOMEPAGE="https://www.kde.org/applications/internet/ktorrent/"
-
-LICENSE="GPL-2"
-IUSE="+bwscheduler +downloadorder +infowidget +logviewer
-+magnetgenerator +mediaplayer +shutdown +stats +upnp +zeroconf"
-
-COMMON_DEPEND="
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kcmutils)
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep kdelibs4support)
-	$(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 kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_frameworks_dep kxmlgui)
-	$(add_frameworks_dep solid)
-	$(add_frameworks_dep sonnet)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork)
-	$(add_qt_dep qtwidgets)
-	<net-libs/libktorrent-${LIBKT_VERSION_MAX}:5
-	>=net-libs/libktorrent-${LIBKT_VERSION_MIN}:5
-	infowidget? ( dev-libs/geoip )
-	mediaplayer? (
-		media-libs/phonon[qt5(+)]
-		>=media-libs/taglib-1.5
-	)
-	shutdown? ( $(add_plasma_dep plasma-workspace) )
-	stats? ( $(add_frameworks_dep kplotting) )
-	zeroconf? ( $(add_frameworks_dep kdnssd) )
-"
-DEPEND="${COMMON_DEPEND}
-	dev-libs/boost
-	sys-devel/gettext
-"
-RDEPEND="${COMMON_DEPEND}
-	!net-p2p/ktorrent:4
-"
-# add back when ported - DEPEND
-# 	kross? ( $(add_frameworks_dep kross) )
-# 	rss? ( $(add_kdeapps_dep kdepimlibs) )
-# add back when ported - RDEPEND
-# 	ipfilter? (
-# 		app-arch/bzip2
-# 		app-arch/unzip
-# 		$(add_kdeapps_dep kdebase-kioslaves)
-# 	)
-# 	kross? ( $(add_kdebase_dep krosspython) )
-
-# src_prepare() {
-# add back when ported
-# 	if ! use plasma; then
-# 		sed -i \
-# 			-e "s:add_subdirectory(plasma):#nada:g" \
-# 			CMakeLists.txt || die "Failed to make plasmoid optional"
-# 	fi
-#
-# 	kde5_src_prepare
-# }
-
-PATCHES=( "${FILESDIR}/${P}-build.patch" )
-
-src_prepare() {
-	kde5_src_prepare
-
-	punt_bogus_dep KF5 Kross
-}
-
-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_LOGVIEWER_PLUGIN=$(usex logviewer)
-		-DENABLE_MAGNETGENERATOR_PLUGIN=$(usex magnetgenerator)
-		-DENABLE_MEDIAPLAYER_PLUGIN=$(usex mediaplayer)
-		-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_IPFILTER_PLUGIN=$(usex ipfilter)
-# 		-DENABLE_SCRIPTING_PLUGIN=$(usex kross)
-# 		-DENABLE_SYNDICATION_PLUGIN=$(usex rss)
-# 		-DENABLE_SCANFOLDER_PLUGIN=$(usex scanfolder)
-# 		-DENABLE_SEARCH_PLUGIN=$(usex search)
-# 		-DENABLE_WEBINTERFACE_PLUGIN=$(usex webinterface)
-	kde5_src_configure
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2018-04-24  8:48 Lars Wendler
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Wendler @ 2018-04-24  8:48 UTC (permalink / raw
  To: gentoo-commits

commit:     1968a7bbb830347f73a27c1b98eca3cd8bca9c1d
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 24 08:48:14 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Apr 24 08:48:49 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1968a7bb

net-p2p/ktorrent: Fixed compilation with cmake-3.11

commit permission kindly granted by asturm

Closes: https://bugs.gentoo.org/650808
Package-Manager: Portage-2.3.31, Repoman-2.3.9

 net-p2p/ktorrent/files/ktorrent-5.1.0-cmake-3.11.patch | 13 +++++++++++++
 net-p2p/ktorrent/ktorrent-5.1.0.ebuild                 |  5 ++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.0-cmake-3.11.patch b/net-p2p/ktorrent/files/ktorrent-5.1.0-cmake-3.11.patch
new file mode 100644
index 00000000000..c0b9167636a
--- /dev/null
+++ b/net-p2p/ktorrent/files/ktorrent-5.1.0-cmake-3.11.patch
@@ -0,0 +1,13 @@
+https://docs.freebsd.org/cgi/getmsg.cgi?fetch=4423635+0+/usr/local/www/mailindex/archive/2018/svn-ports-all/20180415.svn-ports-all
+
+--- ktorrent-5.1.0/ktorrent/dialogs/torrentcreatordlg.h
++++ ktorrent-5.1.0/ktorrent/dialogs/torrentcreatordlg.h
+@@ -23,6 +23,8 @@
+ #define KT_TORRENTCREATORDLG_HH
+ 
+ #include <QDialog>
++#include <QTimer>
++
+ #include "ui_torrentcreatordlg.h"
+ #include <torrent/torrentcreator.h>
+ 

diff --git a/net-p2p/ktorrent/ktorrent-5.1.0.ebuild b/net-p2p/ktorrent/ktorrent-5.1.0.ebuild
index ef67d30802d..567c2e977b4 100644
--- a/net-p2p/ktorrent/ktorrent-5.1.0.ebuild
+++ b/net-p2p/ktorrent/ktorrent-5.1.0.ebuild
@@ -78,7 +78,10 @@ RDEPEND="${COMMON_DEPEND}
 	!net-p2p/ktorrent:4
 "
 
-PATCHES=( "${FILESDIR}/${P}-qt-5.11.patch" )
+PATCHES=(
+	"${FILESDIR}/${P}-qt-5.11.patch"
+	"${FILESDIR}/${P}-cmake-3.11.patch" #650808
+)
 
 src_configure() {
 	local mycmakeargs=(


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2018-09-08 12:09 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2018-09-08 12:09 UTC (permalink / raw
  To: gentoo-commits

commit:     e1215ae690131a79d311de83a1b26259ed0d09eb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  8 11:26:34 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Sep  8 12:03:48 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1215ae6

net-p2p/ktorrent: 5.1.1 version bump

Package-Manager: Portage-2.3.49, Repoman-2.3.10

 net-p2p/ktorrent/Manifest                          |   1 +
 .../ktorrent-5.1.1-scanfolder-memcorruption.patch  |  69 ++++++++++++++
 net-p2p/ktorrent/ktorrent-5.1.1.ebuild             | 105 +++++++++++++++++++++
 3 files changed, 175 insertions(+)

diff --git a/net-p2p/ktorrent/Manifest b/net-p2p/ktorrent/Manifest
index b6dda2840ea..01fb39595d9 100644
--- a/net-p2p/ktorrent/Manifest
+++ b/net-p2p/ktorrent/Manifest
@@ -1 +1,2 @@
 DIST ktorrent-5.1.0.tar.xz 2046916 BLAKE2B 865004b84d649774420e2bd0087c416c5de4df40dfe5800ec539049001d93f66925025780987060ad09e1ba2a20045bd6d92c9202c98c28ec68d87758a88af74 SHA512 7bfe3a04a2b0f62d68b41c946af34e9f6ead6aa4ff7818a9c0ce2e83629d311e9e9be5fb1689065ce2601c43bd576b27d8c6946b845d4cdf5fa6362d53e8dd25
+DIST ktorrent-5.1.1.tar.xz 2049392 BLAKE2B 09ad841e1b6d7f332b19e2a660130b1f2b998cd6839614800cde7c99c8ec7f119f2adbdc3d9e06c8525e2dde534d73dab521c7df1d01b2fd0eb6b11fbb868d8f SHA512 bbe744853018380e30efc6ef95916a9b6f0ebec812d70d7970e5e7183d860d147b0693dd0107b146a5987aa27f30cd335fad73c8967839d53eee1c5b63a53c06

diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch
new file mode 100644
index 00000000000..4c41a6af11d
--- /dev/null
+++ b/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch
@@ -0,0 +1,69 @@
+From 2d73d5f25a1a364a2115fb1d3262377f7fdf99cd Mon Sep 17 00:00:00 2001
+From: Valeriy Malov <jazzvoid@gmail.com>
+Date: Wed, 5 Sep 2018 20:43:51 +0300
+Subject: Fix memory corruption in ScanFolder plugin
+
+Summary:
+Reasoning behind this patch is kinda dubious because I don't fully understand what happens, but it shouldn't make the matters worse either
+
+Seems like deletion of KDirWatch objects from scan_folder in ~ScanThread(), after said QThread has been stopped, causes memory corruption.
+
+Preemptively deleting scan_folder contents before we stop the thread resolves this.
+
+also mark booleans shared across main thread and KDirWatch callbacks as atomic
+
+Test Plan:
+Without this patch unloading ScanFolder plugin sometimes crashes ktorrent, including unloading on exit
+Doesn't happen anymore with this patch
+
+Reviewers: stikonas
+
+Reviewed By: stikonas
+
+Differential Revision: https://phabricator.kde.org/D15265
+---
+ plugins/scanfolder/scanthread.cpp | 5 +++++
+ plugins/scanfolder/scanthread.h   | 5 +++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/scanfolder/scanthread.cpp b/plugins/scanfolder/scanthread.cpp
+index 0e62768..d7b13e0 100644
+--- a/plugins/scanfolder/scanthread.cpp
++++ b/plugins/scanfolder/scanthread.cpp
+@@ -156,6 +156,11 @@ namespace kt
+     void ScanThread::stop()
+     {
+         stop_requested = true;
++
++        // XXX seems like deleting KDirWatch object(s) created in scan_folders
++        // in destructor of this QThread after it has been stopped
++        // causes memory corruption, so we delete them early
++        scan_folders.clear();
+         exit();
+         wait();
+     }
+diff --git a/plugins/scanfolder/scanthread.h b/plugins/scanfolder/scanthread.h
+index d13ca08..fb214a4 100644
+--- a/plugins/scanfolder/scanthread.h
++++ b/plugins/scanfolder/scanthread.h
+@@ -29,6 +29,7 @@
+ #include <util/ptrmap.h>
+ #include "scanfolder.h"
+ 
++#include <atomic>
+ 
+ class QDir;
+ 
+@@ -88,8 +89,8 @@ namespace kt
+     private:
+         QMutex mutex;
+         QStringList folders;
+-        bool stop_requested;
+-        bool recursive;
++        std::atomic<bool> stop_requested;
++        std::atomic<bool> recursive;
+         bt::PtrMap<QString, ScanFolder> scan_folders;
+     };
+ 
+-- 
+cgit v0.11.2

diff --git a/net-p2p/ktorrent/ktorrent-5.1.1.ebuild b/net-p2p/ktorrent/ktorrent-5.1.1.ebuild
new file mode 100644
index 00000000000..6283ae3c7ca
--- /dev/null
+++ b/net-p2p/ktorrent/ktorrent-5.1.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FRAMEWORKS_MINIMAL="5.50.0" # for syndication
+KDE_HANDBOOK="forceoptional"
+KDE_TEST="optional"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="Powerful BitTorrent client based on KDE Frameworks"
+HOMEPAGE="https://www.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"
+
+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)
+		$(add_qt_dep qtwebkit)
+	)
+	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
+	sys-devel/gettext
+"
+RDEPEND="${COMMON_DEPEND}
+	ipfilter? (
+		app-arch/bzip2
+		app-arch/unzip
+		$(add_frameworks_dep ktextwidgets)
+		$(add_kdeapps_dep kio-extras)
+	)
+	!net-p2p/ktorrent:4
+"
+
+PATCHES=( "${FILESDIR}/${P}-scanfolder-memcorruption.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
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2019-10-06 17:42 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2019-10-06 17:42 UTC (permalink / raw
  To: gentoo-commits

commit:     e62a01696afc68d159e2050fcc38602ee64190e3
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  6 17:39:53 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  6 17:41:50 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e62a0169

net-p2p/ktorrent: Fix crash on exit

Closes: https://bugs.gentoo.org/632588
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/ktorrent-5.1.2-crash-on-exit.patch       | 386 +++++++++++++++++++++
 net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild          | 106 ++++++
 2 files changed, 492 insertions(+)

diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.2-crash-on-exit.patch b/net-p2p/ktorrent/files/ktorrent-5.1.2-crash-on-exit.patch
new file mode 100644
index 00000000000..5cb6640d16f
--- /dev/null
+++ b/net-p2p/ktorrent/files/ktorrent-5.1.2-crash-on-exit.patch
@@ -0,0 +1,386 @@
+From b819ef6a35495e12a204cbb241cdb2502c4cd11e Mon Sep 17 00:00:00 2001
+From: Valerii Malov <jazzvoid@gmail.com>
+Date: Sun, 22 Sep 2019 21:20:47 +0300
+Subject: Cleanup ViewModel a bit and try to fix crash on exit
+
+Summary:
+removeTorrent makes changes to torrent list we are currently iterating
+on per-item basis, this causees heap-use-after-free in onExit
+Just call removeRows which should be functionally the same, but should
+delete all items in one batch
+
+CCBUG: 383127
+
+Compact ViewModel::Item::update
+Fix a few warnings (0 as nullptr, c-style casts)
+Remove useless ViewModel::torrentFromIndex variant
+Remove unused headers
+add CMakeLists.txt.user to gitignore
+
+Test Plan: build with asan, run & exit, see asan stacktrace before changing onExit
+
+Reviewers: stikonas
+
+Differential Revision: https://phabricator.kde.org/D24149
+---
+ .gitignore                  |   1 +
+ ktorrent/CMakeLists.txt     |   1 +
+ ktorrent/view/viewmodel.cpp | 197 ++++++++++++--------------------------------
+ ktorrent/view/viewmodel.h   |  21 +++--
+ 4 files changed, 63 insertions(+), 157 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index 2ad76d6..d88e731 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,3 +1,4 @@
+ build
+ .kdev4/
+ ktorrent.kdev4
++CMakeLists.txt.user
+diff --git a/ktorrent/CMakeLists.txt b/ktorrent/CMakeLists.txt
+index 75ba8a1..bf605a5 100644
+--- a/ktorrent/CMakeLists.txt
++++ b/ktorrent/CMakeLists.txt
+@@ -91,6 +91,7 @@ set(KTORRENT_ICONS_PNG
+ ecm_add_app_icon(ktorrent_SRC ICONS ${KTORRENT_ICONS_PNG})
+ 
+ add_executable(ktorrent_app ${ktorrent_SRC})
++set_property(TARGET ktorrent_app PROPERTY CXX_STANDARD 14)
+ set_target_properties(ktorrent_app  PROPERTIES OUTPUT_NAME ktorrent)
+ 
+ target_link_libraries(ktorrent_app
+diff --git a/ktorrent/view/viewmodel.cpp b/ktorrent/view/viewmodel.cpp
+index 6834186..b9feeab 100644
+--- a/ktorrent/view/viewmodel.cpp
++++ b/ktorrent/view/viewmodel.cpp
+@@ -32,18 +32,17 @@
+ 
+ #include <KLocalizedString>
+ 
+-#include <util/log.h>
+-#include <util/sha1hash.h>
+-#include <util/functions.h>
++#include <groups/group.h>
+ #include <interfaces/torrentinterface.h>
+-#include <interfaces/trackerinterface.h>
+-#include <torrent/timeestimator.h>
+ #include <torrent/queuemanager.h>
+-#include <groups/group.h>
++#include <torrent/timeestimator.h>
++#include <util/functions.h>
++#include <util/sha1hash.h>
++
+ #include "core.h"
+-#include "viewdelegate.h"
+-#include "view.h"
+ #include "settings.h"
++#include "view.h"
++#include "viewdelegate.h"
+ 
+ using namespace bt;
+ 
+@@ -80,125 +79,45 @@ namespace kt
+     {
+         bool ret = false;
+         const TorrentStats& s = tc->getStats();
+-        if (status != s.status)
+-        {
+-            to_update.append(model->index(row, NAME));
+-            status = s.status;
+-            if (sort_column == NAME)
+-                ret = true;
+-        }
+-
+-        if (bytes_downloaded != s.bytes_downloaded)
+-        {
+-            to_update.append(model->index(row, BYTES_DOWNLOADED));
+-            bytes_downloaded = s.bytes_downloaded;
+-            if (sort_column == BYTES_DOWNLOADED)
+-                ret = true;
+-        }
+-
+-        if (total_bytes_to_download != s.total_bytes_to_download)
+-        {
+-            to_update.append(model->index(row, TOTAL_BYTES_TO_DOWNLOAD));
+-            total_bytes_to_download = s.total_bytes_to_download;
+-            if (sort_column == TOTAL_BYTES_TO_DOWNLOAD)
+-                ret = true;
+-        }
+-
+-        if (bytes_uploaded != s.bytes_uploaded)
+-        {
+-            to_update.append(model->index(row, BYTES_UPLOADED));
+-            bytes_uploaded = s.bytes_uploaded;
+-            if (sort_column == BYTES_UPLOADED)
+-                ret = true;
+-        }
+-
+-        if (bytes_left != s.bytes_left_to_download)
+-        {
+-            to_update.append(model->index(row, BYTES_LEFT));
+-            bytes_left = s.bytes_left_to_download;
+-            if (sort_column == BYTES_LEFT)
+-                ret = true;
+-        }
+-
+-        if (download_rate != s.download_rate)
+-        {
+-            to_update.append(model->index(row, DOWNLOAD_RATE));
+-            download_rate = s.download_rate;
+-            if (sort_column == DOWNLOAD_RATE)
+-                ret = true;
+-        }
+-
+-        if (upload_rate != s.upload_rate)
+-        {
+-            to_update.append(model->index(row, UPLOAD_RATE));
+-            upload_rate = s.upload_rate;
+-            if (sort_column == UPLOAD_RATE)
+-                ret = true;
+-        }
+ 
+-        int neta = tc->getETA();
+-        if (eta != neta)
+-        {
+-            to_update.append(model->index(row, ETA));
+-            eta = neta;
+-            if (sort_column == ETA)
+-                ret = true;
+-        }
+-
+-        if (seeders_connected_to != s.seeders_connected_to || seeders_total != s.seeders_total)
+-        {
+-            to_update.append(model->index(row, SEEDERS));
+-            seeders_connected_to = s.seeders_connected_to;
+-            seeders_total = s.seeders_total;
+-            if (sort_column == SEEDERS)
+-                ret = true;
+-        }
+-
+-        if (leechers_total != s.leechers_total || leechers_connected_to != s.leechers_connected_to)
+-        {
+-            to_update.append(model->index(row, LEECHERS));
+-            leechers_total = s.leechers_total;
+-            leechers_connected_to = s.leechers_connected_to;
+-            if (sort_column == LEECHERS)
+-                ret = true;
+-        }
+-
+-        double perc = Percentage(s);
+-        if (fabs(percentage - perc) > 0.001)
+-        {
+-            to_update.append(model->index(row, PERCENTAGE));
+-            percentage = perc;
+-            if (sort_column == PERCENTAGE)
+-                ret = true;
+-        }
+-
+-        float ratio = s.shareRatio();
+-        if (fabsf(share_ratio - ratio) > 0.001)
+-        {
+-            to_update.append(model->index(row, SHARE_RATIO));
+-            share_ratio = ratio;
+-            if (sort_column == SHARE_RATIO)
+-                ret = true;
+-        }
++        const auto update_if_differs = [&](auto &target, const auto &source, int column){
++            if (target != source) {
++                to_update.append(model->index(row, column));
++                target = source;
++                ret |= (sort_column == column);
++            }
++        };
+ 
+-        Uint32 rdl = tc->getRunningTimeDL();
+-        if (runtime_dl != rdl)
+-        {
+-            to_update.append(model->index(row, DOWNLOAD_TIME));
+-            runtime_dl = rdl;
+-            if (sort_column == DOWNLOAD_TIME)
+-                ret = true;
+-        }
++        const auto update_if_differs_float = [&](auto &target, const auto &source, int column){
++            if (fabs(target - source) > 0.001) {
++                to_update.append(model->index(row, column));
++                target = source;
++                ret |= (sort_column == column);
++            }
++        };
++
++        update_if_differs(status, s.status, NAME);
++        update_if_differs(bytes_downloaded, s.bytes_downloaded, BYTES_DOWNLOADED);
++        update_if_differs(total_bytes_to_download, s.total_bytes_to_download, TOTAL_BYTES_TO_DOWNLOAD);
++        update_if_differs(bytes_uploaded, s.bytes_uploaded, BYTES_UPLOADED);
++        update_if_differs(bytes_left, s.bytes_left, BYTES_LEFT);
++        update_if_differs(download_rate, s.download_rate, DOWNLOAD_RATE);
++        update_if_differs(upload_rate, s.upload_rate, UPLOAD_RATE);
++        update_if_differs(eta, tc->getETA(), ETA);
++        update_if_differs(seeders_connected_to, s.seeders_connected_to, SEEDERS);
++        update_if_differs(seeders_total, s.seeders_total, SEEDERS);
++        update_if_differs(leechers_connected_to, s.leechers_connected_to, LEECHERS);
++        update_if_differs(leechers_total, s.leechers_total, LEECHERS);
++
++        update_if_differs_float(percentage, Percentage(s), PERCENTAGE);
++        update_if_differs_float(share_ratio, s.shareRatio(), SHARE_RATIO);
++
++        update_if_differs(runtime_dl, tc->getRunningTimeDL(), DOWNLOAD_TIME);
++        const auto rul = (tc->getRunningTimeUL() >= tc->getRunningTimeDL()
++                              ? tc->getRunningTimeUL() - tc->getRunningTimeDL()
++                              : 0);
++        update_if_differs(runtime_ul, rul, SEED_TIME);
+ 
+-        Uint32 rul = tc->getRunningTimeUL();
+-        rul = rul >= rdl ? rul - rdl : 0; // make sure rul cannot go negative
+-        if (runtime_ul != rul)
+-        {
+-            to_update.append(model->index(row, SEED_TIME));
+-            runtime_ul = rul;
+-            if (sort_column == SEED_TIME)
+-                ret = true;
+-        }
+         return ret;
+     }
+ 
+@@ -223,13 +142,11 @@ namespace kt
+                 return BytesPerSecToString(download_rate);
+             else
+                 return QVariant();
+-            break;
+         case UPLOAD_RATE:
+             if (upload_rate >= 103) // lowest "visible" speed, all below will be 0,0 Kb/s
+                 return BytesPerSecToString(upload_rate);
+             else
+                 return QVariant();
+-            break;
+         case ETA:
+             if (eta == bt::TimeEstimator::NEVER)
+                 return QString(QChar(0x221E)); // infinity
+@@ -237,7 +154,6 @@ namespace kt
+                 return DurationToString(eta);
+             else
+                 return QVariant();
+-            break;
+         case SEEDERS:
+             return QString(QString::number(seeders_connected_to) + QLatin1String(" (") + QString::number(seeders_total) + QLatin1Char(')'));
+         case LEECHERS:
+@@ -397,7 +313,7 @@ namespace kt
+         connect(core, &Core::torrentRemoved, this, &ViewModel::removeTorrent);
+         sort_column = 0;
+         sort_order = Qt::AscendingOrder;
+-        group = 0;
++        group = nullptr;
+         num_visible = 0;
+ 
+         kt::QueueManager* qman = core->getQueueManager();
+@@ -635,7 +551,7 @@ namespace kt
+         if (!index.isValid() || index.row() >= torrents.count())
+             return QVariant();
+ 
+-        Item* item = (Item*)index.internalPointer();
++        Item* item = reinterpret_cast<Item*>(index.internalPointer());
+         if (!item)
+             return QVariant();
+ 
+@@ -699,7 +615,7 @@ namespace kt
+             return false;
+ 
+         QString name = value.toString();
+-        Item* item = (Item*)index.internalPointer();
++        Item* item = reinterpret_cast<Item*>(index.internalPointer());
+         if (!item)
+             return false;
+ 
+@@ -796,28 +712,20 @@ namespace kt
+         }
+     }
+ 
+-    const bt::TorrentInterface* ViewModel::torrentFromIndex(const QModelIndex& index) const
+-    {
+-        if (index.isValid() && index.row() < torrents.count())
+-            return torrents[index.row()]->tc;
+-        else
+-            return 0;
+-    }
+-
+-    bt::TorrentInterface* ViewModel::torrentFromIndex(const QModelIndex& index)
++    bt::TorrentInterface* ViewModel::torrentFromIndex(const QModelIndex& index) const
+     {
+         if (index.isValid() && index.row() < torrents.count())
+             return torrents[index.row()]->tc;
+         else
+-            return 0;
++            return nullptr;
+     }
+ 
+-    bt::TorrentInterface* ViewModel::torrentFromRow(int index)
++    bt::TorrentInterface* ViewModel::torrentFromRow(int index) const
+     {
+         if (index < torrents.count() && index >= 0)
+             return torrents[index]->tc;
+         else
+-            return 0;
++            return nullptr;
+     }
+ 
+     void ViewModel::allTorrents(QList<bt::TorrentInterface*> & tlist) const
+@@ -854,10 +762,7 @@ namespace kt
+     void ViewModel::onExit()
+     {
+         // items should be removed before Core delete their tc data.
+-        for (Item* item : qAsConst(torrents))
+-        {
+-            removeTorrent(item->tc);
+-        }
++        removeRows(0, rowCount(), QModelIndex());
+     }
+ 
+     class ViewModelItemCmp
+diff --git a/ktorrent/view/viewmodel.h b/ktorrent/view/viewmodel.h
+index d4e0a64..6422396 100644
+--- a/ktorrent/view/viewmodel.h
++++ b/ktorrent/view/viewmodel.h
+@@ -22,9 +22,15 @@
+ #ifndef KTVIEWMODEL_H
+ #define KTVIEWMODEL_H
+ 
+-#include <QList>
+ #include <QAbstractTableModel>
+-#include <interfaces/torrentinterface.h>
++#include <QList>
++
++#include <torrent/torrentstats.h>
++#include <util/constants.h>
++
++namespace bt {
++    class TorrentInterface;
++}
+ 
+ namespace kt
+ {
+@@ -98,21 +104,14 @@ namespace kt
+          * @param index The model index
+          * @return The torrent if the index is valid and in the proper range, 0 otherwise
+          */
+-        const bt::TorrentInterface* torrentFromIndex(const QModelIndex& index) const;
+-
+-        /**
+-         * Get a torrent from a model index.
+-         * @param index The model index
+-         * @return The torrent if the index is valid and in the proper range, 0 otherwise
+-         */
+-        bt::TorrentInterface* torrentFromIndex(const QModelIndex& index);
++        bt::TorrentInterface *torrentFromIndex(const QModelIndex& index) const;
+ 
+         /**
+          * Get a torrent from a row.
+          * @param index The row index
+          * @return The torrent if the index is valid and in the proper range, 0 otherwise
+          */
+-        bt::TorrentInterface* torrentFromRow(int index);
++        bt::TorrentInterface* torrentFromRow(int index) const;
+ 
+         /**
+          * Get all torrents
+-- 
+cgit v1.1

diff --git a/net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild b/net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild
new file mode 100644
index 00000000000..a23633e653d
--- /dev/null
+++ b/net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild
@@ -0,0 +1,106 @@
+# 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 ~arm64 ~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.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}/${PN}-5.1.1-singlefile-torrent.patch" # git master
+	"${FILESDIR}/${P}-crash-on-exit.patch" # bug #632588
+)
+
+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
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2020-01-04 13:55 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-01-04 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     2dea5212306d8c29b31d70dc1cda898e4c17e648
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  4 13:54:13 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jan  4 13:55:34 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2dea5212

net-p2p/ktorrent: Drop 5.1.1-r1

Dropping x86 after stable timeout.

Closes: https://bugs.gentoo.org/696858
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-p2p/ktorrent/Manifest                          |   1 -
 net-p2p/ktorrent/files/ktorrent-5.1.1-kcrash.patch |  23 -----
 net-p2p/ktorrent/files/ktorrent-5.1.1-kdehig.patch |  40 --------
 .../files/ktorrent-5.1.1-missing-header.patch      |  24 -----
 .../ktorrent-5.1.1-scanfolder-memcorruption.patch  |  69 -------------
 net-p2p/ktorrent/ktorrent-5.1.1-r1.ebuild          | 109 ---------------------
 6 files changed, 266 deletions(-)

diff --git a/net-p2p/ktorrent/Manifest b/net-p2p/ktorrent/Manifest
index d1df2f1290e..175ffedfbec 100644
--- a/net-p2p/ktorrent/Manifest
+++ b/net-p2p/ktorrent/Manifest
@@ -1,2 +1 @@
-DIST ktorrent-5.1.1.tar.xz 2049392 BLAKE2B 09ad841e1b6d7f332b19e2a660130b1f2b998cd6839614800cde7c99c8ec7f119f2adbdc3d9e06c8525e2dde534d73dab521c7df1d01b2fd0eb6b11fbb868d8f SHA512 bbe744853018380e30efc6ef95916a9b6f0ebec812d70d7970e5e7183d860d147b0693dd0107b146a5987aa27f30cd335fad73c8967839d53eee1c5b63a53c06
 DIST ktorrent-5.1.2.tar.xz 2048604 BLAKE2B 761df1e0aab5c4457311ae821a47ebf7b5b82b2839b4bf238491231caa213370cc649a1c0cafd332b42bbb84230f4a313e5172db722ff3c7af81c0daba450a98 SHA512 b62d05650216721299dc9db23da1a2d6ae5d3b77583ad4bd99ac032d7b135cce567feff3b66d27ac001d77e30517112e4e8c8bf8e83c1106a79509ec45498621

diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.1-kcrash.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-kcrash.patch
deleted file mode 100644
index 8beffd97b4c..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.1.1-kcrash.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-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
deleted file mode 100644
index 97115229889..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.1.1-kdehig.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-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-missing-header.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-missing-header.patch
deleted file mode 100644
index b574d302824..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.1.1-missing-header.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 909215cc912d89fbc8573f2f98e3b433472d8eae Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Fri, 9 Aug 2019 20:54:52 +0200
-Subject: [PATCH] Add missing QVector
-
----
- libktcore/plugin/pluginmanager.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libktcore/plugin/pluginmanager.h b/libktcore/plugin/pluginmanager.h
-index 50eaa768..3a04a729 100644
---- a/libktcore/plugin/pluginmanager.h
-+++ b/libktcore/plugin/pluginmanager.h
-@@ -23,6 +23,7 @@
- 
- #include <QList>
- #include <QStringList>
-+#include <QVector>
- 
- #include <KPluginInfo>
- #include <KPluginMetaData>
--- 
-2.22.0
-

diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch
deleted file mode 100644
index 4c41a6af11d..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 2d73d5f25a1a364a2115fb1d3262377f7fdf99cd Mon Sep 17 00:00:00 2001
-From: Valeriy Malov <jazzvoid@gmail.com>
-Date: Wed, 5 Sep 2018 20:43:51 +0300
-Subject: Fix memory corruption in ScanFolder plugin
-
-Summary:
-Reasoning behind this patch is kinda dubious because I don't fully understand what happens, but it shouldn't make the matters worse either
-
-Seems like deletion of KDirWatch objects from scan_folder in ~ScanThread(), after said QThread has been stopped, causes memory corruption.
-
-Preemptively deleting scan_folder contents before we stop the thread resolves this.
-
-also mark booleans shared across main thread and KDirWatch callbacks as atomic
-
-Test Plan:
-Without this patch unloading ScanFolder plugin sometimes crashes ktorrent, including unloading on exit
-Doesn't happen anymore with this patch
-
-Reviewers: stikonas
-
-Reviewed By: stikonas
-
-Differential Revision: https://phabricator.kde.org/D15265
----
- plugins/scanfolder/scanthread.cpp | 5 +++++
- plugins/scanfolder/scanthread.h   | 5 +++--
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/plugins/scanfolder/scanthread.cpp b/plugins/scanfolder/scanthread.cpp
-index 0e62768..d7b13e0 100644
---- a/plugins/scanfolder/scanthread.cpp
-+++ b/plugins/scanfolder/scanthread.cpp
-@@ -156,6 +156,11 @@ namespace kt
-     void ScanThread::stop()
-     {
-         stop_requested = true;
-+
-+        // XXX seems like deleting KDirWatch object(s) created in scan_folders
-+        // in destructor of this QThread after it has been stopped
-+        // causes memory corruption, so we delete them early
-+        scan_folders.clear();
-         exit();
-         wait();
-     }
-diff --git a/plugins/scanfolder/scanthread.h b/plugins/scanfolder/scanthread.h
-index d13ca08..fb214a4 100644
---- a/plugins/scanfolder/scanthread.h
-+++ b/plugins/scanfolder/scanthread.h
-@@ -29,6 +29,7 @@
- #include <util/ptrmap.h>
- #include "scanfolder.h"
- 
-+#include <atomic>
- 
- class QDir;
- 
-@@ -88,8 +89,8 @@ namespace kt
-     private:
-         QMutex mutex;
-         QStringList folders;
--        bool stop_requested;
--        bool recursive;
-+        std::atomic<bool> stop_requested;
-+        std::atomic<bool> recursive;
-         bt::PtrMap<QString, ScanFolder> scan_folders;
-     };
- 
--- 
-cgit v0.11.2

diff --git a/net-p2p/ktorrent/ktorrent-5.1.1-r1.ebuild b/net-p2p/ktorrent/ktorrent-5.1.1-r1.ebuild
deleted file mode 100644
index fe3574adf3d..00000000000
--- a/net-p2p/ktorrent/ktorrent-5.1.1-r1.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# 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"
-	"${FILESDIR}/${P}-missing-header.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_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
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2020-07-11  1:25 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-07-11  1:25 UTC (permalink / raw
  To: gentoo-commits

commit:     c4c24ea98d2f737b262d1eb64075fde9747d74f5
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 11 01:24:37 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jul 11 01:24:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4c24ea9

net-p2p/ktorrent: Fix linking with Taglib

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/ktorrent-5.2.0-taglib-linking.patch      | 247 +++++++++++++++++++++
 net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild          |   5 +-
 2 files changed, 251 insertions(+), 1 deletion(-)

diff --git a/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch b/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch
new file mode 100644
index 00000000000..1d02dcbfd9c
--- /dev/null
+++ b/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch
@@ -0,0 +1,247 @@
+From f4c1c91d9b091941ebb4dae6aef95bcf9bc1c388 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Sun, 21 Jun 2020 14:19:49 +0200
+Subject: [PATCH] Update FindTaglib from ECM.
+
+This fixes linking for me, there was just nothing in TAGLIB_LIBRARIES
+on my system (taglib in the same custom prefix as KDE code)
+---
+ cmake/modules/FindTaglib.cmake     | 191 +++++++++++------------------
+ plugins/mediaplayer/CMakeLists.txt |   3 +-
+ 2 files changed, 74 insertions(+), 120 deletions(-)
+
+diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake
+index 13db60b2..1e1b9075 100644
+--- a/cmake/modules/FindTaglib.cmake
++++ b/cmake/modules/FindTaglib.cmake
+@@ -1,135 +1,90 @@
+-# - Try to find the Taglib library
+-# Once done this will define
++#.rst:
++# FindTaglib
++#-----------
+ #
+-#  TAGLIB_FOUND - system has the taglib library
+-#  TAGLIB_CFLAGS - the taglib cflags
+-#  TAGLIB_LIBRARIES - The libraries needed to use taglib
+-
+-# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
++# Try to find the Taglib library.
+ #
+-# Redistribution and use is allowed according to the terms of the BSD license.
+-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+-
+-if(NOT TAGLIB_MIN_VERSION)
+-  set(TAGLIB_MIN_VERSION "1.6")
+-endif()
+-
+-if(NOT WIN32)
+-    find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
+-       ${BIN_INSTALL_DIR}
+-    )
+-endif()
+-
+-#reset vars
+-set(TAGLIB_LIBRARIES)
+-set(TAGLIB_CFLAGS)
+-
+-# if taglib-config has been found
+-if(TAGLIBCONFIG_EXECUTABLE)
+-
+-  exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
+-
+-  if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
+-     message(STATUS "TagLib version too old: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
+-     set(TAGLIB_FOUND FALSE)
+-  else()
+-
+-     exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
+-
+-     exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)
++# This will define the following variables:
++#
++# ``Taglib_FOUND``
++#       True if the system has the taglib library of at least the minimum
++#       version specified by the version parameter to find_package()
++# ``Taglib_INCLUDE_DIRS``
++#       The taglib include dirs for use with target_include_directories
++# ``Taglib_LIBRARIES``
++#       The taglib libraries for use with target_link_libraries()
++# ``Taglib_VERSION``
++#       The version of taglib that was found
++#
++# If ``Taglib_FOUND is TRUE, it will also define the following imported
++# target:
++#
++# ``Taglib::Taglib``
++#       The Taglib library
++#
++# Since 5.72.0
++#
++# SPDX-FileCopyrightText: 2006 Laurent Montel <montel@kde.org>
++# SPDX-FileCopyrightText: 2019 Heiko Becker <heirecka@exherbo.org>
++# SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org>
++# SPDX-License-Identifier: BSD-3-Clause
+ 
+-     if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
+-        set(TAGLIB_FOUND TRUE)
+-     endif()
+-     string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
+-  endif() 
+-  mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
++find_package(PkgConfig QUIET)
+ 
+-else()
++pkg_search_module(PC_TAGLIB QUIET taglib)
+ 
+-  find_path(TAGLIB_INCLUDES
+-    NAMES
+-    tag.h
++find_path(Taglib_INCLUDE_DIRS
++    NAMES tag.h
+     PATH_SUFFIXES taglib
+-    PATHS
+-    ${KDE4_INCLUDE_DIR}
+-    ${INCLUDE_INSTALL_DIR}
+-  )
+-
+-    if(NOT WIN32)
+-      # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX
++    HINTS ${PC_TAGLIB_INCLUDEDIR}
++)
+ 
+-      find_library(TAGLIB_LIBRARIES tag PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
++find_library(Taglib_LIBRARIES
++    NAMES tag
++    HINTS ${PC_TAGLIB_LIBDIR}
++)
+ 
+-    else()
++set(Taglib_VERSION ${PC_TAGLIB_VERSION})
+ 
+-      # 1. get all possible libnames
+-      set(args PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})             
+-      set(newargs "")               
+-      set(libnames_release "")      
+-      set(libnames_debug "")        
++if (Taglib_INCLUDE_DIRS AND NOT Taglib_VERSION)
++    if(EXISTS "${Taglib_INCLUDE_DIRS}/taglib.h")
++        file(READ "${Taglib_INCLUDE_DIRS}/taglib.h" TAGLIB_H)
+ 
+-      list(LENGTH args listCount)
++        string(REGEX MATCH "#define TAGLIB_MAJOR_VERSION[ ]+[0-9]+" TAGLIB_MAJOR_VERSION_MATCH ${TAGLIB_H})
++        string(REGEX MATCH "#define TAGLIB_MINOR_VERSION[ ]+[0-9]+" TAGLIB_MINOR_VERSION_MATCH ${TAGLIB_H})
++        string(REGEX MATCH "#define TAGLIB_PATCH_VERSION[ ]+[0-9]+" TAGLIB_PATCH_VERSION_MATCH ${TAGLIB_H})
+ 
+-        # just one name
+-        list(APPEND libnames_release "tag")
+-        list(APPEND libnames_debug   "tagd")
+-
+-        set(newargs ${args})
+-
+-      # search the release lib
+-      find_library(TAGLIB_LIBRARIES_RELEASE
+-                   NAMES ${libnames_release}
+-                   ${newargs}
+-      )
+-
+-      # search the debug lib
+-      find_library(TAGLIB_LIBRARIES_DEBUG
+-                   NAMES ${libnames_debug}
+-                   ${newargs}
+-      )
+-
+-      if(TAGLIB_LIBRARIES_RELEASE AND TAGLIB_LIBRARIES_DEBUG)
+-
+-        # both libs found
+-        set(TAGLIB_LIBRARIES optimized ${TAGLIB_LIBRARIES_RELEASE}
+-                        debug     ${TAGLIB_LIBRARIES_DEBUG})
+-
+-      else()
+-
+-        if(TAGLIB_LIBRARIES_RELEASE)
+-
+-          # only release found
+-          set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_RELEASE})
+-
+-        else()
+-
+-          # only debug (or nothing) found
+-          set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_DEBUG})
+-
+-        endif()
+-
+-      endif()
+-
+-      mark_as_advanced(TAGLIB_LIBRARIES_RELEASE)
+-      mark_as_advanced(TAGLIB_LIBRARIES_DEBUG)
++        string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MAJOR_VERSION "${TAGLIB_MAJOR_VERSION_MATCH}")
++        string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MINOR_VERSION "${TAGLIB_MINOR_VERSION_MATCH}")
++        string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TAGLIB_PATCH_VERSION "${TAGLIB_PATCH_VERSION_MATCH}")
+ 
++        set(Taglib_VERSION "${TAGLIB_MAJOR_VERSION}.${TAGLIB_MINOR_VERSION}.${TAGLIB_PATCH_VERSION}")
+     endif()
+-  
+-  include(FindPackageMessage)
+-  include(FindPackageHandleStandardArgs)
+-  find_package_handle_standard_args(Taglib DEFAULT_MSG TAGLIB_INCLUDES TAGLIB_LIBRARIES)
+-
+ endif()
+ 
+-
+-if(TAGLIB_FOUND)
+-  if(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
+-    message(STATUS "Taglib found: ${TAGLIB_LIBRARIES}")
+-  endif()
+-else()
+-  if(Taglib_FIND_REQUIRED)
+-    message(FATAL_ERROR "Could not find Taglib")
+-  endif()
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(Taglib
++    FOUND_VAR
++        Taglib_FOUND
++    REQUIRED_VARS
++        Taglib_LIBRARIES
++        Taglib_INCLUDE_DIRS
++    VERSION_VAR
++        Taglib_VERSION
++)
++
++if (Taglib_FOUND AND NOT TARGET Taglib::Taglib)
++    add_library(Taglib::Taglib UNKNOWN IMPORTED)
++    set_target_properties(Taglib::Taglib PROPERTIES
++        IMPORTED_LOCATION "${Taglib_LIBRARIES}"
++        INTERFACE_INCLUDE_DIRECTORIES "${Taglib_INCLUDE_DIRS}"
++    )
+ endif()
+ 
++mark_as_advanced(Taglib_LIBRARIES Taglib_INCLUDE_DIRS)
++
++include(FeatureSummary)
++set_package_properties(Taglib PROPERTIES
++    URL "https://taglib.org/"
++    DESCRIPTION "A library for reading and editing the meta-data of audio formats"
++)
+diff --git a/plugins/mediaplayer/CMakeLists.txt b/plugins/mediaplayer/CMakeLists.txt
+index 8bbeeb74..5fbe056f 100644
+--- a/plugins/mediaplayer/CMakeLists.txt
++++ b/plugins/mediaplayer/CMakeLists.txt
+@@ -1,5 +1,4 @@
+ find_package(Taglib REQUIRED)
+-include_directories(${TAGLIB_INCLUDES})
+ #find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Multimedia MultimediaWidgets)
+ #include_directories(${Qt5Multimedia_INCLUDE_DIRS})
+ include_directories(${PHONON_INCLUDES})
+@@ -34,7 +33,7 @@ kcoreaddons_desktop_to_json(ktorrent_mediaplayer ktorrent_mediaplayer.desktop)
+ target_link_libraries(
+     ktorrent_mediaplayer
+     ktcore
+-    ${TAGLIB_LIBRARIES}
++    Taglib::Taglib
+     Phonon::phonon4qt5
+     KF5::Torrent
+     KF5::I18n
+-- 
+GitLab
+

diff --git a/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild b/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild
index 1bddef4950b..de82600836c 100644
--- a/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild
+++ b/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild
@@ -76,7 +76,10 @@ RDEPEND="${COMMON_DEPEND}
 	)
 "
 
-PATCHES=( "${FILESDIR}/${P}-fix-start-in-systray.patch" ) # 5.2 branch
+PATCHES=(
+	"${FILESDIR}/${P}-fix-start-in-systray.patch" # 5.2 branch
+	"${FILESDIR}/${P}-taglib-linking.patch" # 5.2 branch
+)
 
 src_configure() {
 	local mycmakeargs=(


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2020-07-20 21:34 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-07-20 21:34 UTC (permalink / raw
  To: gentoo-commits

commit:     49817eeb7602a4682bc7bf144eb7894186af5a9f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 20 20:13:54 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 20 21:33:44 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49817eeb

net-p2p/ktorrent: Drop 5.1.2-r2

Package-Manager: Portage-3.0.0, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-p2p/ktorrent/Manifest                          |   1 -
 .../files/ktorrent-5.1.1-singlefile-torrent.patch  | 140 --------
 .../files/ktorrent-5.1.2-crash-on-exit.patch       | 386 ---------------------
 net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild          | 109 ------
 4 files changed, 636 deletions(-)

diff --git a/net-p2p/ktorrent/Manifest b/net-p2p/ktorrent/Manifest
index 9931d7ca79a..eeea1b586d7 100644
--- a/net-p2p/ktorrent/Manifest
+++ b/net-p2p/ktorrent/Manifest
@@ -1,2 +1 @@
-DIST ktorrent-5.1.2.tar.xz 2048604 BLAKE2B 761df1e0aab5c4457311ae821a47ebf7b5b82b2839b4bf238491231caa213370cc649a1c0cafd332b42bbb84230f4a313e5172db722ff3c7af81c0daba450a98 SHA512 b62d05650216721299dc9db23da1a2d6ae5d3b77583ad4bd99ac032d7b135cce567feff3b66d27ac001d77e30517112e4e8c8bf8e83c1106a79509ec45498621
 DIST ktorrent-5.2.0.tar.xz 2056012 BLAKE2B c59cb34675b9c4e023b6c22f795bf146d64acaea069efa1f1663888a0ada6f7c8328a15bdc2fc453e31a9f451c6b0203dfdfd02098cc52f5d828b87c23d857b5 SHA512 141976612cfe6bf4bd06e96842d7bc51ced7a3ab8e13c25446a00c031054698f851fbb1a31f3425dda5a428408bb1ceb51a4a420eaf2e79193b17a0cc7d7a387

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
deleted file mode 100644
index b2251865628..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.1.1-singlefile-torrent.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-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/files/ktorrent-5.1.2-crash-on-exit.patch b/net-p2p/ktorrent/files/ktorrent-5.1.2-crash-on-exit.patch
deleted file mode 100644
index 5cb6640d16f..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.1.2-crash-on-exit.patch
+++ /dev/null
@@ -1,386 +0,0 @@
-From b819ef6a35495e12a204cbb241cdb2502c4cd11e Mon Sep 17 00:00:00 2001
-From: Valerii Malov <jazzvoid@gmail.com>
-Date: Sun, 22 Sep 2019 21:20:47 +0300
-Subject: Cleanup ViewModel a bit and try to fix crash on exit
-
-Summary:
-removeTorrent makes changes to torrent list we are currently iterating
-on per-item basis, this causees heap-use-after-free in onExit
-Just call removeRows which should be functionally the same, but should
-delete all items in one batch
-
-CCBUG: 383127
-
-Compact ViewModel::Item::update
-Fix a few warnings (0 as nullptr, c-style casts)
-Remove useless ViewModel::torrentFromIndex variant
-Remove unused headers
-add CMakeLists.txt.user to gitignore
-
-Test Plan: build with asan, run & exit, see asan stacktrace before changing onExit
-
-Reviewers: stikonas
-
-Differential Revision: https://phabricator.kde.org/D24149
----
- .gitignore                  |   1 +
- ktorrent/CMakeLists.txt     |   1 +
- ktorrent/view/viewmodel.cpp | 197 ++++++++++++--------------------------------
- ktorrent/view/viewmodel.h   |  21 +++--
- 4 files changed, 63 insertions(+), 157 deletions(-)
-
-diff --git a/.gitignore b/.gitignore
-index 2ad76d6..d88e731 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1,3 +1,4 @@
- build
- .kdev4/
- ktorrent.kdev4
-+CMakeLists.txt.user
-diff --git a/ktorrent/CMakeLists.txt b/ktorrent/CMakeLists.txt
-index 75ba8a1..bf605a5 100644
---- a/ktorrent/CMakeLists.txt
-+++ b/ktorrent/CMakeLists.txt
-@@ -91,6 +91,7 @@ set(KTORRENT_ICONS_PNG
- ecm_add_app_icon(ktorrent_SRC ICONS ${KTORRENT_ICONS_PNG})
- 
- add_executable(ktorrent_app ${ktorrent_SRC})
-+set_property(TARGET ktorrent_app PROPERTY CXX_STANDARD 14)
- set_target_properties(ktorrent_app  PROPERTIES OUTPUT_NAME ktorrent)
- 
- target_link_libraries(ktorrent_app
-diff --git a/ktorrent/view/viewmodel.cpp b/ktorrent/view/viewmodel.cpp
-index 6834186..b9feeab 100644
---- a/ktorrent/view/viewmodel.cpp
-+++ b/ktorrent/view/viewmodel.cpp
-@@ -32,18 +32,17 @@
- 
- #include <KLocalizedString>
- 
--#include <util/log.h>
--#include <util/sha1hash.h>
--#include <util/functions.h>
-+#include <groups/group.h>
- #include <interfaces/torrentinterface.h>
--#include <interfaces/trackerinterface.h>
--#include <torrent/timeestimator.h>
- #include <torrent/queuemanager.h>
--#include <groups/group.h>
-+#include <torrent/timeestimator.h>
-+#include <util/functions.h>
-+#include <util/sha1hash.h>
-+
- #include "core.h"
--#include "viewdelegate.h"
--#include "view.h"
- #include "settings.h"
-+#include "view.h"
-+#include "viewdelegate.h"
- 
- using namespace bt;
- 
-@@ -80,125 +79,45 @@ namespace kt
-     {
-         bool ret = false;
-         const TorrentStats& s = tc->getStats();
--        if (status != s.status)
--        {
--            to_update.append(model->index(row, NAME));
--            status = s.status;
--            if (sort_column == NAME)
--                ret = true;
--        }
--
--        if (bytes_downloaded != s.bytes_downloaded)
--        {
--            to_update.append(model->index(row, BYTES_DOWNLOADED));
--            bytes_downloaded = s.bytes_downloaded;
--            if (sort_column == BYTES_DOWNLOADED)
--                ret = true;
--        }
--
--        if (total_bytes_to_download != s.total_bytes_to_download)
--        {
--            to_update.append(model->index(row, TOTAL_BYTES_TO_DOWNLOAD));
--            total_bytes_to_download = s.total_bytes_to_download;
--            if (sort_column == TOTAL_BYTES_TO_DOWNLOAD)
--                ret = true;
--        }
--
--        if (bytes_uploaded != s.bytes_uploaded)
--        {
--            to_update.append(model->index(row, BYTES_UPLOADED));
--            bytes_uploaded = s.bytes_uploaded;
--            if (sort_column == BYTES_UPLOADED)
--                ret = true;
--        }
--
--        if (bytes_left != s.bytes_left_to_download)
--        {
--            to_update.append(model->index(row, BYTES_LEFT));
--            bytes_left = s.bytes_left_to_download;
--            if (sort_column == BYTES_LEFT)
--                ret = true;
--        }
--
--        if (download_rate != s.download_rate)
--        {
--            to_update.append(model->index(row, DOWNLOAD_RATE));
--            download_rate = s.download_rate;
--            if (sort_column == DOWNLOAD_RATE)
--                ret = true;
--        }
--
--        if (upload_rate != s.upload_rate)
--        {
--            to_update.append(model->index(row, UPLOAD_RATE));
--            upload_rate = s.upload_rate;
--            if (sort_column == UPLOAD_RATE)
--                ret = true;
--        }
- 
--        int neta = tc->getETA();
--        if (eta != neta)
--        {
--            to_update.append(model->index(row, ETA));
--            eta = neta;
--            if (sort_column == ETA)
--                ret = true;
--        }
--
--        if (seeders_connected_to != s.seeders_connected_to || seeders_total != s.seeders_total)
--        {
--            to_update.append(model->index(row, SEEDERS));
--            seeders_connected_to = s.seeders_connected_to;
--            seeders_total = s.seeders_total;
--            if (sort_column == SEEDERS)
--                ret = true;
--        }
--
--        if (leechers_total != s.leechers_total || leechers_connected_to != s.leechers_connected_to)
--        {
--            to_update.append(model->index(row, LEECHERS));
--            leechers_total = s.leechers_total;
--            leechers_connected_to = s.leechers_connected_to;
--            if (sort_column == LEECHERS)
--                ret = true;
--        }
--
--        double perc = Percentage(s);
--        if (fabs(percentage - perc) > 0.001)
--        {
--            to_update.append(model->index(row, PERCENTAGE));
--            percentage = perc;
--            if (sort_column == PERCENTAGE)
--                ret = true;
--        }
--
--        float ratio = s.shareRatio();
--        if (fabsf(share_ratio - ratio) > 0.001)
--        {
--            to_update.append(model->index(row, SHARE_RATIO));
--            share_ratio = ratio;
--            if (sort_column == SHARE_RATIO)
--                ret = true;
--        }
-+        const auto update_if_differs = [&](auto &target, const auto &source, int column){
-+            if (target != source) {
-+                to_update.append(model->index(row, column));
-+                target = source;
-+                ret |= (sort_column == column);
-+            }
-+        };
- 
--        Uint32 rdl = tc->getRunningTimeDL();
--        if (runtime_dl != rdl)
--        {
--            to_update.append(model->index(row, DOWNLOAD_TIME));
--            runtime_dl = rdl;
--            if (sort_column == DOWNLOAD_TIME)
--                ret = true;
--        }
-+        const auto update_if_differs_float = [&](auto &target, const auto &source, int column){
-+            if (fabs(target - source) > 0.001) {
-+                to_update.append(model->index(row, column));
-+                target = source;
-+                ret |= (sort_column == column);
-+            }
-+        };
-+
-+        update_if_differs(status, s.status, NAME);
-+        update_if_differs(bytes_downloaded, s.bytes_downloaded, BYTES_DOWNLOADED);
-+        update_if_differs(total_bytes_to_download, s.total_bytes_to_download, TOTAL_BYTES_TO_DOWNLOAD);
-+        update_if_differs(bytes_uploaded, s.bytes_uploaded, BYTES_UPLOADED);
-+        update_if_differs(bytes_left, s.bytes_left, BYTES_LEFT);
-+        update_if_differs(download_rate, s.download_rate, DOWNLOAD_RATE);
-+        update_if_differs(upload_rate, s.upload_rate, UPLOAD_RATE);
-+        update_if_differs(eta, tc->getETA(), ETA);
-+        update_if_differs(seeders_connected_to, s.seeders_connected_to, SEEDERS);
-+        update_if_differs(seeders_total, s.seeders_total, SEEDERS);
-+        update_if_differs(leechers_connected_to, s.leechers_connected_to, LEECHERS);
-+        update_if_differs(leechers_total, s.leechers_total, LEECHERS);
-+
-+        update_if_differs_float(percentage, Percentage(s), PERCENTAGE);
-+        update_if_differs_float(share_ratio, s.shareRatio(), SHARE_RATIO);
-+
-+        update_if_differs(runtime_dl, tc->getRunningTimeDL(), DOWNLOAD_TIME);
-+        const auto rul = (tc->getRunningTimeUL() >= tc->getRunningTimeDL()
-+                              ? tc->getRunningTimeUL() - tc->getRunningTimeDL()
-+                              : 0);
-+        update_if_differs(runtime_ul, rul, SEED_TIME);
- 
--        Uint32 rul = tc->getRunningTimeUL();
--        rul = rul >= rdl ? rul - rdl : 0; // make sure rul cannot go negative
--        if (runtime_ul != rul)
--        {
--            to_update.append(model->index(row, SEED_TIME));
--            runtime_ul = rul;
--            if (sort_column == SEED_TIME)
--                ret = true;
--        }
-         return ret;
-     }
- 
-@@ -223,13 +142,11 @@ namespace kt
-                 return BytesPerSecToString(download_rate);
-             else
-                 return QVariant();
--            break;
-         case UPLOAD_RATE:
-             if (upload_rate >= 103) // lowest "visible" speed, all below will be 0,0 Kb/s
-                 return BytesPerSecToString(upload_rate);
-             else
-                 return QVariant();
--            break;
-         case ETA:
-             if (eta == bt::TimeEstimator::NEVER)
-                 return QString(QChar(0x221E)); // infinity
-@@ -237,7 +154,6 @@ namespace kt
-                 return DurationToString(eta);
-             else
-                 return QVariant();
--            break;
-         case SEEDERS:
-             return QString(QString::number(seeders_connected_to) + QLatin1String(" (") + QString::number(seeders_total) + QLatin1Char(')'));
-         case LEECHERS:
-@@ -397,7 +313,7 @@ namespace kt
-         connect(core, &Core::torrentRemoved, this, &ViewModel::removeTorrent);
-         sort_column = 0;
-         sort_order = Qt::AscendingOrder;
--        group = 0;
-+        group = nullptr;
-         num_visible = 0;
- 
-         kt::QueueManager* qman = core->getQueueManager();
-@@ -635,7 +551,7 @@ namespace kt
-         if (!index.isValid() || index.row() >= torrents.count())
-             return QVariant();
- 
--        Item* item = (Item*)index.internalPointer();
-+        Item* item = reinterpret_cast<Item*>(index.internalPointer());
-         if (!item)
-             return QVariant();
- 
-@@ -699,7 +615,7 @@ namespace kt
-             return false;
- 
-         QString name = value.toString();
--        Item* item = (Item*)index.internalPointer();
-+        Item* item = reinterpret_cast<Item*>(index.internalPointer());
-         if (!item)
-             return false;
- 
-@@ -796,28 +712,20 @@ namespace kt
-         }
-     }
- 
--    const bt::TorrentInterface* ViewModel::torrentFromIndex(const QModelIndex& index) const
--    {
--        if (index.isValid() && index.row() < torrents.count())
--            return torrents[index.row()]->tc;
--        else
--            return 0;
--    }
--
--    bt::TorrentInterface* ViewModel::torrentFromIndex(const QModelIndex& index)
-+    bt::TorrentInterface* ViewModel::torrentFromIndex(const QModelIndex& index) const
-     {
-         if (index.isValid() && index.row() < torrents.count())
-             return torrents[index.row()]->tc;
-         else
--            return 0;
-+            return nullptr;
-     }
- 
--    bt::TorrentInterface* ViewModel::torrentFromRow(int index)
-+    bt::TorrentInterface* ViewModel::torrentFromRow(int index) const
-     {
-         if (index < torrents.count() && index >= 0)
-             return torrents[index]->tc;
-         else
--            return 0;
-+            return nullptr;
-     }
- 
-     void ViewModel::allTorrents(QList<bt::TorrentInterface*> & tlist) const
-@@ -854,10 +762,7 @@ namespace kt
-     void ViewModel::onExit()
-     {
-         // items should be removed before Core delete their tc data.
--        for (Item* item : qAsConst(torrents))
--        {
--            removeTorrent(item->tc);
--        }
-+        removeRows(0, rowCount(), QModelIndex());
-     }
- 
-     class ViewModelItemCmp
-diff --git a/ktorrent/view/viewmodel.h b/ktorrent/view/viewmodel.h
-index d4e0a64..6422396 100644
---- a/ktorrent/view/viewmodel.h
-+++ b/ktorrent/view/viewmodel.h
-@@ -22,9 +22,15 @@
- #ifndef KTVIEWMODEL_H
- #define KTVIEWMODEL_H
- 
--#include <QList>
- #include <QAbstractTableModel>
--#include <interfaces/torrentinterface.h>
-+#include <QList>
-+
-+#include <torrent/torrentstats.h>
-+#include <util/constants.h>
-+
-+namespace bt {
-+    class TorrentInterface;
-+}
- 
- namespace kt
- {
-@@ -98,21 +104,14 @@ namespace kt
-          * @param index The model index
-          * @return The torrent if the index is valid and in the proper range, 0 otherwise
-          */
--        const bt::TorrentInterface* torrentFromIndex(const QModelIndex& index) const;
--
--        /**
--         * Get a torrent from a model index.
--         * @param index The model index
--         * @return The torrent if the index is valid and in the proper range, 0 otherwise
--         */
--        bt::TorrentInterface* torrentFromIndex(const QModelIndex& index);
-+        bt::TorrentInterface *torrentFromIndex(const QModelIndex& index) const;
- 
-         /**
-          * Get a torrent from a row.
-          * @param index The row index
-          * @return The torrent if the index is valid and in the proper range, 0 otherwise
-          */
--        bt::TorrentInterface* torrentFromRow(int index);
-+        bt::TorrentInterface* torrentFromRow(int index) const;
- 
-         /**
-          * Get all torrents
--- 
-cgit v1.1

diff --git a/net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild b/net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild
deleted file mode 100644
index cac1657e6a9..00000000000
--- a/net-p2p/ktorrent/ktorrent-5.1.2-r2.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ECM_HANDBOOK="optional"
-ECM_TEST="optional"
-KFMIN=5.60.0
-QTMIN=5.12.3
-VIRTUALX_REQUIRED="test"
-inherit ecm kde.org
-
-DESCRIPTION="Powerful BitTorrent client based on KDE Frameworks"
-HOMEPAGE="https://kde.org/applications/internet/org.kde.ktorrent"
-[[ ${KDE_BUILD_TYPE} = release ]] && SRC_URI="mirror://kde/stable/${PN}/${PV/%.0}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="+bwscheduler +downloadorder +infowidget +ipfilter +kross +logviewer +magnetgenerator
-+mediaplayer rss +scanfolder +search +shutdown +stats +upnp +zeroconf"
-
-BDEPEND="sys-devel/gettext"
-COMMON_DEPEND="
-	>=dev-qt/qtdbus-${QTMIN}:5
-	>=dev-qt/qtgui-${QTMIN}:5
-	>=dev-qt/qtnetwork-${QTMIN}:5
-	>=dev-qt/qtwidgets-${QTMIN}:5
-	>=dev-qt/qtxml-${QTMIN}:5
-	>=kde-frameworks/kcmutils-${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/ki18n-${KFMIN}:5
-	>=kde-frameworks/kiconthemes-${KFMIN}:5
-	>=kde-frameworks/kio-${KFMIN}:5
-	>=kde-frameworks/knotifications-${KFMIN}:5
-	>=kde-frameworks/knotifyconfig-${KFMIN}:5
-	>=kde-frameworks/kparts-${KFMIN}:5
-	>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
-	>=kde-frameworks/kwindowsystem-${KFMIN}:5
-	>=kde-frameworks/kxmlgui-${KFMIN}:5
-	>=kde-frameworks/solid-${KFMIN}:5
-	>=net-libs/libktorrent-2.1.1:5
-	infowidget? ( dev-libs/geoip )
-	kross? (
-		>=kde-frameworks/karchive-${KFMIN}:5
-		>=kde-frameworks/kitemviews-${KFMIN}:5
-		>=kde-frameworks/kross-${KFMIN}:5
-	)
-	mediaplayer? (
-		media-libs/phonon[qt5(+)]
-		>=media-libs/taglib-1.5
-	)
-	rss? (
-		>=kde-frameworks/kdewebkit-${KFMIN}:5
-		>=kde-frameworks/syndication-${KFMIN}:5
-	)
-	search? (
-		>=dev-qt/qtwebkit-5.212.0_pre20180120:5
-		>=kde-frameworks/kdewebkit-${KFMIN}:5
-	)
-	shutdown? ( >=kde-plasma/plasma-workspace-5.15.5 )
-	stats? ( >=kde-frameworks/kplotting-${KFMIN}:5 )
-	upnp? ( >=kde-frameworks/kcompletion-${KFMIN}:5 )
-	zeroconf? ( >=kde-frameworks/kdnssd-${KFMIN}:5 )
-"
-DEPEND="${COMMON_DEPEND}
-	dev-libs/boost
-"
-RDEPEND="${COMMON_DEPEND}
-	ipfilter? (
-		app-arch/bzip2
-		app-arch/unzip
-		>=kde-apps/kio-extras-19.04.3
-		>=kde-frameworks/ktextwidgets-${KFMIN}:5
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-5.1.1-singlefile-torrent.patch" # git master
-	"${FILESDIR}/${P}-crash-on-exit.patch" # bug #632588
-)
-
-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_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)
-	ecm_src_configure
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/
@ 2021-04-06  8:23 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2021-04-06  8:23 UTC (permalink / raw
  To: gentoo-commits

commit:     c9dc8c9a1b796c48261e7a65ec5e7294a13020c8
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  6 08:12:13 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Apr  6 08:23:27 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9dc8c9a

net-p2p/ktorrent: Drop 5.2.0-r1

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-p2p/ktorrent/Manifest                          |   1 -
 .../ktorrent-5.2.0-fix-start-in-systray.patch      |  24 --
 .../files/ktorrent-5.2.0-taglib-linking.patch      | 247 ---------------------
 net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild          | 111 ---------
 4 files changed, 383 deletions(-)

diff --git a/net-p2p/ktorrent/Manifest b/net-p2p/ktorrent/Manifest
index 36b942632ae..a1b8fb594dd 100644
--- a/net-p2p/ktorrent/Manifest
+++ b/net-p2p/ktorrent/Manifest
@@ -1,2 +1 @@
 DIST ktorrent-20.12.3.tar.xz 2141556 BLAKE2B 8c1bfd675597a724ae6143bddb88005da0ec852a93ef3cc843605b4a3a47d80acba23df2a2cc13ff49efa9e4576269f3157e8456c80388b7e309527befbf0297 SHA512 fb54341368b3260ceefdb9be8bbc62c74397ada1a824a96f9de316caa365be438adc96ed15ee0bc44b7cc0db8eb1082c9ffb49eacb9448c31e8fbfe6e6314e93
-DIST ktorrent-5.2.0.tar.xz 2056012 BLAKE2B c59cb34675b9c4e023b6c22f795bf146d64acaea069efa1f1663888a0ada6f7c8328a15bdc2fc453e31a9f451c6b0203dfdfd02098cc52f5d828b87c23d857b5 SHA512 141976612cfe6bf4bd06e96842d7bc51ced7a3ab8e13c25446a00c031054698f851fbb1a31f3425dda5a428408bb1ceb51a4a420eaf2e79193b17a0cc7d7a387

diff --git a/net-p2p/ktorrent/files/ktorrent-5.2.0-fix-start-in-systray.patch b/net-p2p/ktorrent/files/ktorrent-5.2.0-fix-start-in-systray.patch
deleted file mode 100644
index 50049afae35..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.2.0-fix-start-in-systray.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 9747a8f524942b57e2fd42254c3de73f9d42918c Mon Sep 17 00:00:00 2001
-From: Matt Scheirer <matt.scheirer@gmail.com>
-Date: Sun, 17 May 2020 02:36:09 -0400
-Subject: [PATCH] Fix starting in tray by removing redundant show() in main
-
----
- ktorrent/main.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/ktorrent/main.cpp b/ktorrent/main.cpp
-index b5866c22..8e532c9c 100644
---- a/ktorrent/main.cpp
-+++ b/ktorrent/main.cpp
-@@ -208,7 +208,6 @@ int main(int argc, char** argv)
-         bt::InitLog(kt::DataDir(kt::CreateIfNotExists) + QLatin1String("log"), true, true, logToStdout);
- 
-         kt::GUI widget;
--        widget.show();
- 
-         auto handleCmdLine = [&widget, &parser](const QStringList &arguments, const QString &workingDirectory)
-         {
--- 
-GitLab
-

diff --git a/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch b/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch
deleted file mode 100644
index 1d02dcbfd9c..00000000000
--- a/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From f4c1c91d9b091941ebb4dae6aef95bcf9bc1c388 Mon Sep 17 00:00:00 2001
-From: David Faure <faure@kde.org>
-Date: Sun, 21 Jun 2020 14:19:49 +0200
-Subject: [PATCH] Update FindTaglib from ECM.
-
-This fixes linking for me, there was just nothing in TAGLIB_LIBRARIES
-on my system (taglib in the same custom prefix as KDE code)
----
- cmake/modules/FindTaglib.cmake     | 191 +++++++++++------------------
- plugins/mediaplayer/CMakeLists.txt |   3 +-
- 2 files changed, 74 insertions(+), 120 deletions(-)
-
-diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake
-index 13db60b2..1e1b9075 100644
---- a/cmake/modules/FindTaglib.cmake
-+++ b/cmake/modules/FindTaglib.cmake
-@@ -1,135 +1,90 @@
--# - Try to find the Taglib library
--# Once done this will define
-+#.rst:
-+# FindTaglib
-+#-----------
- #
--#  TAGLIB_FOUND - system has the taglib library
--#  TAGLIB_CFLAGS - the taglib cflags
--#  TAGLIB_LIBRARIES - The libraries needed to use taglib
--
--# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
-+# Try to find the Taglib library.
- #
--# Redistribution and use is allowed according to the terms of the BSD license.
--# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
--
--if(NOT TAGLIB_MIN_VERSION)
--  set(TAGLIB_MIN_VERSION "1.6")
--endif()
--
--if(NOT WIN32)
--    find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
--       ${BIN_INSTALL_DIR}
--    )
--endif()
--
--#reset vars
--set(TAGLIB_LIBRARIES)
--set(TAGLIB_CFLAGS)
--
--# if taglib-config has been found
--if(TAGLIBCONFIG_EXECUTABLE)
--
--  exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
--
--  if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
--     message(STATUS "TagLib version too old: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
--     set(TAGLIB_FOUND FALSE)
--  else()
--
--     exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
--
--     exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)
-+# This will define the following variables:
-+#
-+# ``Taglib_FOUND``
-+#       True if the system has the taglib library of at least the minimum
-+#       version specified by the version parameter to find_package()
-+# ``Taglib_INCLUDE_DIRS``
-+#       The taglib include dirs for use with target_include_directories
-+# ``Taglib_LIBRARIES``
-+#       The taglib libraries for use with target_link_libraries()
-+# ``Taglib_VERSION``
-+#       The version of taglib that was found
-+#
-+# If ``Taglib_FOUND is TRUE, it will also define the following imported
-+# target:
-+#
-+# ``Taglib::Taglib``
-+#       The Taglib library
-+#
-+# Since 5.72.0
-+#
-+# SPDX-FileCopyrightText: 2006 Laurent Montel <montel@kde.org>
-+# SPDX-FileCopyrightText: 2019 Heiko Becker <heirecka@exherbo.org>
-+# SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org>
-+# SPDX-License-Identifier: BSD-3-Clause
- 
--     if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
--        set(TAGLIB_FOUND TRUE)
--     endif()
--     string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
--  endif() 
--  mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
-+find_package(PkgConfig QUIET)
- 
--else()
-+pkg_search_module(PC_TAGLIB QUIET taglib)
- 
--  find_path(TAGLIB_INCLUDES
--    NAMES
--    tag.h
-+find_path(Taglib_INCLUDE_DIRS
-+    NAMES tag.h
-     PATH_SUFFIXES taglib
--    PATHS
--    ${KDE4_INCLUDE_DIR}
--    ${INCLUDE_INSTALL_DIR}
--  )
--
--    if(NOT WIN32)
--      # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX
-+    HINTS ${PC_TAGLIB_INCLUDEDIR}
-+)
- 
--      find_library(TAGLIB_LIBRARIES tag PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
-+find_library(Taglib_LIBRARIES
-+    NAMES tag
-+    HINTS ${PC_TAGLIB_LIBDIR}
-+)
- 
--    else()
-+set(Taglib_VERSION ${PC_TAGLIB_VERSION})
- 
--      # 1. get all possible libnames
--      set(args PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})             
--      set(newargs "")               
--      set(libnames_release "")      
--      set(libnames_debug "")        
-+if (Taglib_INCLUDE_DIRS AND NOT Taglib_VERSION)
-+    if(EXISTS "${Taglib_INCLUDE_DIRS}/taglib.h")
-+        file(READ "${Taglib_INCLUDE_DIRS}/taglib.h" TAGLIB_H)
- 
--      list(LENGTH args listCount)
-+        string(REGEX MATCH "#define TAGLIB_MAJOR_VERSION[ ]+[0-9]+" TAGLIB_MAJOR_VERSION_MATCH ${TAGLIB_H})
-+        string(REGEX MATCH "#define TAGLIB_MINOR_VERSION[ ]+[0-9]+" TAGLIB_MINOR_VERSION_MATCH ${TAGLIB_H})
-+        string(REGEX MATCH "#define TAGLIB_PATCH_VERSION[ ]+[0-9]+" TAGLIB_PATCH_VERSION_MATCH ${TAGLIB_H})
- 
--        # just one name
--        list(APPEND libnames_release "tag")
--        list(APPEND libnames_debug   "tagd")
--
--        set(newargs ${args})
--
--      # search the release lib
--      find_library(TAGLIB_LIBRARIES_RELEASE
--                   NAMES ${libnames_release}
--                   ${newargs}
--      )
--
--      # search the debug lib
--      find_library(TAGLIB_LIBRARIES_DEBUG
--                   NAMES ${libnames_debug}
--                   ${newargs}
--      )
--
--      if(TAGLIB_LIBRARIES_RELEASE AND TAGLIB_LIBRARIES_DEBUG)
--
--        # both libs found
--        set(TAGLIB_LIBRARIES optimized ${TAGLIB_LIBRARIES_RELEASE}
--                        debug     ${TAGLIB_LIBRARIES_DEBUG})
--
--      else()
--
--        if(TAGLIB_LIBRARIES_RELEASE)
--
--          # only release found
--          set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_RELEASE})
--
--        else()
--
--          # only debug (or nothing) found
--          set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_DEBUG})
--
--        endif()
--
--      endif()
--
--      mark_as_advanced(TAGLIB_LIBRARIES_RELEASE)
--      mark_as_advanced(TAGLIB_LIBRARIES_DEBUG)
-+        string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MAJOR_VERSION "${TAGLIB_MAJOR_VERSION_MATCH}")
-+        string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MINOR_VERSION "${TAGLIB_MINOR_VERSION_MATCH}")
-+        string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TAGLIB_PATCH_VERSION "${TAGLIB_PATCH_VERSION_MATCH}")
- 
-+        set(Taglib_VERSION "${TAGLIB_MAJOR_VERSION}.${TAGLIB_MINOR_VERSION}.${TAGLIB_PATCH_VERSION}")
-     endif()
--  
--  include(FindPackageMessage)
--  include(FindPackageHandleStandardArgs)
--  find_package_handle_standard_args(Taglib DEFAULT_MSG TAGLIB_INCLUDES TAGLIB_LIBRARIES)
--
- endif()
- 
--
--if(TAGLIB_FOUND)
--  if(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
--    message(STATUS "Taglib found: ${TAGLIB_LIBRARIES}")
--  endif()
--else()
--  if(Taglib_FIND_REQUIRED)
--    message(FATAL_ERROR "Could not find Taglib")
--  endif()
-+include(FindPackageHandleStandardArgs)
-+find_package_handle_standard_args(Taglib
-+    FOUND_VAR
-+        Taglib_FOUND
-+    REQUIRED_VARS
-+        Taglib_LIBRARIES
-+        Taglib_INCLUDE_DIRS
-+    VERSION_VAR
-+        Taglib_VERSION
-+)
-+
-+if (Taglib_FOUND AND NOT TARGET Taglib::Taglib)
-+    add_library(Taglib::Taglib UNKNOWN IMPORTED)
-+    set_target_properties(Taglib::Taglib PROPERTIES
-+        IMPORTED_LOCATION "${Taglib_LIBRARIES}"
-+        INTERFACE_INCLUDE_DIRECTORIES "${Taglib_INCLUDE_DIRS}"
-+    )
- endif()
- 
-+mark_as_advanced(Taglib_LIBRARIES Taglib_INCLUDE_DIRS)
-+
-+include(FeatureSummary)
-+set_package_properties(Taglib PROPERTIES
-+    URL "https://taglib.org/"
-+    DESCRIPTION "A library for reading and editing the meta-data of audio formats"
-+)
-diff --git a/plugins/mediaplayer/CMakeLists.txt b/plugins/mediaplayer/CMakeLists.txt
-index 8bbeeb74..5fbe056f 100644
---- a/plugins/mediaplayer/CMakeLists.txt
-+++ b/plugins/mediaplayer/CMakeLists.txt
-@@ -1,5 +1,4 @@
- find_package(Taglib REQUIRED)
--include_directories(${TAGLIB_INCLUDES})
- #find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Multimedia MultimediaWidgets)
- #include_directories(${Qt5Multimedia_INCLUDE_DIRS})
- include_directories(${PHONON_INCLUDES})
-@@ -34,7 +33,7 @@ kcoreaddons_desktop_to_json(ktorrent_mediaplayer ktorrent_mediaplayer.desktop)
- target_link_libraries(
-     ktorrent_mediaplayer
-     ktcore
--    ${TAGLIB_LIBRARIES}
-+    Taglib::Taglib
-     Phonon::phonon4qt5
-     KF5::Torrent
-     KF5::I18n
--- 
-GitLab
-

diff --git a/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild b/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild
deleted file mode 100644
index 45aada634c7..00000000000
--- a/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ECM_HANDBOOK="optional"
-ECM_TEST="optional"
-KFMIN=5.64.0
-QTMIN=5.12.3
-VIRTUALX_REQUIRED="test"
-inherit ecm kde.org
-
-DESCRIPTION="Powerful BitTorrent client based on KDE Frameworks"
-HOMEPAGE="https://apps.kde.org/en/ktorrent"
-[[ ${KDE_BUILD_TYPE} = release ]] && SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~ppc64 ~x86"
-IUSE="+bwscheduler +downloadorder +infowidget +ipfilter +kross +logviewer +magnetgenerator
-+mediaplayer rss +scanfolder +shutdown +stats +upnp +webengine +zeroconf"
-
-BDEPEND="sys-devel/gettext"
-COMMON_DEPEND="
-	>=dev-qt/qtdbus-${QTMIN}:5
-	>=dev-qt/qtgui-${QTMIN}:5
-	>=dev-qt/qtnetwork-${QTMIN}:5
-	>=dev-qt/qtwidgets-${QTMIN}:5
-	>=dev-qt/qtxml-${QTMIN}:5
-	>=kde-frameworks/kcmutils-${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/ki18n-${KFMIN}:5
-	>=kde-frameworks/kiconthemes-${KFMIN}:5
-	>=kde-frameworks/kio-${KFMIN}:5
-	>=kde-frameworks/knotifications-${KFMIN}:5
-	>=kde-frameworks/knotifyconfig-${KFMIN}:5
-	>=kde-frameworks/kparts-${KFMIN}:5
-	>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
-	>=kde-frameworks/kwindowsystem-${KFMIN}:5
-	>=kde-frameworks/kxmlgui-${KFMIN}:5
-	>=kde-frameworks/solid-${KFMIN}:5
-	>=net-libs/libktorrent-2.2.0:5
-	infowidget? ( dev-libs/geoip )
-	kross? (
-		>=kde-frameworks/karchive-${KFMIN}:5
-		>=kde-frameworks/kitemviews-${KFMIN}:5
-		>=kde-frameworks/kross-${KFMIN}:5
-	)
-	mediaplayer? (
-		media-libs/phonon[qt5(+)]
-		>=media-libs/taglib-1.5
-	)
-	rss? (
-		>=dev-qt/qtwebengine-${QTMIN}:5
-		>=kde-frameworks/syndication-${KFMIN}:5
-	)
-	shutdown? ( kde-plasma/libkworkspace:5 )
-	stats? ( >=kde-frameworks/kplotting-${KFMIN}:5 )
-	upnp? ( >=kde-frameworks/kcompletion-${KFMIN}:5 )
-	webengine? ( >=dev-qt/qtwebengine-${QTMIN}:5 )
-	zeroconf? ( >=kde-frameworks/kdnssd-${KFMIN}:5 )
-"
-DEPEND="${COMMON_DEPEND}
-	dev-libs/boost
-"
-RDEPEND="${COMMON_DEPEND}
-	ipfilter? (
-		app-arch/bzip2
-		app-arch/unzip
-		kde-apps/kio-extras:5
-		>=kde-frameworks/ktextwidgets-${KFMIN}:5
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}/${P}-fix-start-in-systray.patch" # 5.2 branch
-	"${FILESDIR}/${P}-taglib-linking.patch" # 5.2 branch
-)
-
-src_prepare() {
-	ecm_src_prepare
-	ecm_punt_bogus_dep Qt Script
-}
-
-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_use_find_package rss KF5Syndication)
-		-DENABLE_SCANFOLDER_PLUGIN=$(usex scanfolder)
-		-DENABLE_SHUTDOWN_PLUGIN=$(usex shutdown)
-		-DENABLE_STATS_PLUGIN=$(usex stats)
-		-DENABLE_UPNP_PLUGIN=$(usex upnp)
-		-DENABLE_SEARCH_PLUGIN=$(usex webengine)
-		-DENABLE_ZEROCONF_PLUGIN=$(usex zeroconf)
-	)
-# add back when ported
-# 		-DENABLE_WEBINTERFACE_PLUGIN=$(usex webinterface)
-	ecm_src_configure
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-04-06  8:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-11  1:25 [gentoo-commits] repo/gentoo:master commit in: net-p2p/ktorrent/, net-p2p/ktorrent/files/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2021-04-06  8:23 Andreas Sturmlechner
2020-07-20 21:34 Andreas Sturmlechner
2020-01-04 13:55 Andreas Sturmlechner
2019-10-06 17:42 Andreas Sturmlechner
2018-09-08 12:09 Andreas Sturmlechner
2018-04-24  8:48 Lars Wendler
2017-09-30 12:44 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox