git: d9bf924e99dd - main - net-p2p/qbittorrent: Adjust default settings when using libtorrent-rasterbar 2.x

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Tue, 25 Apr 2023 09:05:45 UTC
The branch main has been updated by diizzy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d9bf924e99dd21a80d29cae265fdfa2bf0b77486

commit d9bf924e99dd21a80d29cae265fdfa2bf0b77486
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2023-04-25 08:52:48 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2023-04-25 09:05:39 +0000

    net-p2p/qbittorrent: Adjust default settings when using libtorrent-rasterbar 2.x
    
    * Disable memmory mapped file handling and use "POSIX-compliant"
    * Backport commit 8bcac1bed28f93c0712e915f43294b1e5fd03659 which
      reduces FilePoolSize
    * Change status to experimental
    
    This change only applies to new installs, if you have a configuration
    already you need to apply these changes by hand
    
    References:
    https://github.com/qbittorrent/qBittorrent/commit/8bcac1bed28f93c0712e915f43294b1e5fd03659
    https://github.com/arvidn/libtorrent/issues/6667#issuecomment-1502670412
    
    PR:             270765
    Reviewed by:    yuri (previous revision)
---
 net-p2p/qbittorrent/Makefile                            |  3 ++-
 .../files/extrapatch-libtorrent-rasterbar2-settings     | 17 +++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/net-p2p/qbittorrent/Makefile b/net-p2p/qbittorrent/Makefile
index 43d20ca3aeec..b92a9c896e9f 100644
--- a/net-p2p/qbittorrent/Makefile
+++ b/net-p2p/qbittorrent/Makefile
@@ -54,7 +54,7 @@ OPTIONS_DEFAULT=		DBUS LIBTORRENT1
 
 LIBTORRENT_DESC=	libtorrent version number to use
 LIBTORRENT1_DESC=	Version 1.x (default)
-LIBTORRENT2_DESC=	Version 2.x (unstable, has memory issues)
+LIBTORRENT2_DESC=	Version 2.x (experimental)
 
 DEBUG_CONFIGURE_ENABLE=	debug
 DBUS_CONFIGURE_ENABLE=	qt-dbus
@@ -64,6 +64,7 @@ LIBTORRENT1_BUILD_DEPENDS=	libtorrent-rasterbar>0:net-p2p/libtorrent-rasterbar
 LIBTORRENT1_RUN_DEPENDS=	libtorrent-rasterbar>0:net-p2p/libtorrent-rasterbar
 LIBTORRENT2_BUILD_DEPENDS=	libtorrent-rasterbar2>0:net-p2p/libtorrent-rasterbar2
 LIBTORRENT2_RUN_DEPENDS=	libtorrent-rasterbar2>0:net-p2p/libtorrent-rasterbar2
+LIBTORRENT2_EXTRA_PATCHES=	${FILESDIR}/extrapatch-libtorrent-rasterbar2-settings
 
 PYTHON_DESC=		Install Python to support some plugin functionality
 PYTHON_USES=		python:3.6+,run
diff --git a/net-p2p/qbittorrent/files/extrapatch-libtorrent-rasterbar2-settings b/net-p2p/qbittorrent/files/extrapatch-libtorrent-rasterbar2-settings
new file mode 100644
index 000000000000..673afe7f73fe
--- /dev/null
+++ b/net-p2p/qbittorrent/files/extrapatch-libtorrent-rasterbar2-settings
@@ -0,0 +1,17 @@
+--- src/base/bittorrent/sessionimpl.cpp.orig	2023-02-27 22:40:57 UTC
++++ src/base/bittorrent/sessionimpl.cpp
+@@ -396,12 +396,12 @@ SessionImpl::SessionImpl(QObject *parent)
+     , m_announceToAllTiers(BITTORRENT_SESSION_KEY(u"AnnounceToAllTiers"_qs), true)
+     , m_asyncIOThreads(BITTORRENT_SESSION_KEY(u"AsyncIOThreadsCount"_qs), 10)
+     , m_hashingThreads(BITTORRENT_SESSION_KEY(u"HashingThreadsCount"_qs), 1)
+-    , m_filePoolSize(BITTORRENT_SESSION_KEY(u"FilePoolSize"_qs), 5000)
++    , m_filePoolSize(BITTORRENT_SESSION_KEY(u"FilePoolSize"_qs), 500)
+     , m_checkingMemUsage(BITTORRENT_SESSION_KEY(u"CheckingMemUsageSize"_qs), 32)
+     , m_diskCacheSize(BITTORRENT_SESSION_KEY(u"DiskCacheSize"_qs), -1)
+     , m_diskCacheTTL(BITTORRENT_SESSION_KEY(u"DiskCacheTTL"_qs), 60)
+     , m_diskQueueSize(BITTORRENT_SESSION_KEY(u"DiskQueueSize"_qs), (1024 * 1024))
+-    , m_diskIOType(BITTORRENT_SESSION_KEY(u"DiskIOType"_qs), DiskIOType::Default)
++    , m_diskIOType(BITTORRENT_SESSION_KEY(u"DiskIOType"_qs), DiskIOType::Posix)
+     , m_diskIOReadMode(BITTORRENT_SESSION_KEY(u"DiskIOReadMode"_qs), DiskIOReadMode::EnableOSCache)
+     , m_diskIOWriteMode(BITTORRENT_SESSION_KEY(u"DiskIOWriteMode"_qs), DiskIOWriteMode::EnableOSCache)
+ #ifdef Q_OS_WIN