git: 8da970ab75e1 - main - net-p2p/transmission: Update 3.00 -> 4.0.4 & modernize port

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Sun, 10 Sep 2023 16:13:27 UTC
The branch main has been updated by fuz:

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

commit 8da970ab75e1a1031d93ff8e1aa8e3ff71afef07
Author:     Rafe <mondo.debater_0q@icloud.com>
AuthorDate: 2023-09-06 00:49:34 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-09-10 16:12:57 +0000

    net-p2p/transmission: Update 3.00 -> 4.0.4 & modernize port
    
    This turns previous slave-ports net-p2p/transmission-{cli,daemon,gtk,qt,utils}
    and www/transmission-web into flavours of net-p2p/transmission.
    
    What's new in 4.0.4 (vis-a-vis 3.00)
    * Resource Efficiency: code profiled and improved
    * Code Modernization: standardization on C++ tools
    * Support for BitTorrent v2 torrents & hybrid torrents
    * New web client
    * Lots of bug fixes
    
    Changelog: https://github.com/transmission/transmission/releases/tag/4.0.4
    
    PR:             269504
    Reported by:    dutchman01@quicknet.nl
    Approved by:    rigoletto, tcberner (maintainer timeout)
    Reviewed By:    fcharlier_ploup.net
    Differential Revision: https://reviews.freebsd.org/D40910
---
 MOVED                                              |   6 +
 net-p2p/Makefile                                   |   5 -
 net-p2p/transmission-cli/Makefile                  |  91 -----------
 net-p2p/transmission-cli/distinfo                  |   3 -
 .../transmission-cli/files/patch-CMakeLists.txt    |  26 ---
 .../files/patch-cmake_FindDHT.cmake                |  12 --
 .../files/patch-libtransmission_CMakeLists.txt     |  11 --
 .../files/patch-libtransmission_tr-dht.c           |  11 --
 .../transmission-cli/files/patch-qt_Application.h  |  10 --
 net-p2p/transmission-cli/pkg-descr                 |   7 -
 net-p2p/transmission-cli/pkg-plist                 |   8 -
 net-p2p/transmission-daemon/Makefile               |  18 --
 net-p2p/transmission-daemon/pkg-descr              |   9 -
 net-p2p/transmission-daemon/pkg-message            |  22 ---
 net-p2p/transmission-daemon/pkg-plist              |   9 -
 net-p2p/transmission-gtk/Makefile                  |  18 --
 net-p2p/transmission-gtk/pkg-descr                 |   7 -
 net-p2p/transmission-qt/Makefile                   |  19 ---
 net-p2p/transmission-qt/pkg-descr                  |  11 --
 net-p2p/transmission-utils/Makefile                |  12 --
 net-p2p/transmission-utils/pkg-descr               |   7 -
 net-p2p/transmission-utils/pkg-plist               |  14 --
 net-p2p/transmission/Makefile                      | 182 ++++++++++++++++++---
 net-p2p/transmission/distinfo                      |  11 ++
 .../transmission/files/patch-gtk_DetailsDialog.cc  |  10 ++
 .../files/transmission.in                          |   8 -
 net-p2p/transmission/pkg-plist.cli                 |  29 ++++
 net-p2p/transmission/pkg-plist.daemon              |  29 ++++
 net-p2p/transmission/pkg-plist.full                | 155 ++++++++++++++++++
 .../pkg-plist => transmission/pkg-plist.gtk}       |  36 ++--
 .../pkg-plist => transmission/pkg-plist.qt}        |  30 +++-
 net-p2p/transmission/pkg-plist.utils               |  18 ++
 www/Makefile                                       |   1 -
 www/transmission-web/Makefile                      |  15 --
 www/transmission-web/pkg-descr                     |  14 --
 35 files changed, 472 insertions(+), 402 deletions(-)

diff --git a/MOVED b/MOVED
index 55bf588e6859..67e33c156acb 100644
--- a/MOVED
+++ b/MOVED
@@ -7847,3 +7847,9 @@ devel/rubygem-cucumber-messages18|devel/rubygem-cucumber-messages|2023-09-04|Rem
 textproc/rubygem-cucumber-gherkin23|textproc/rubygem-cucumber-gherkin|2023-09-04|Remove obsoleted port. Use textproc/rubygem-cucumber-gherkin instead
 textproc/rubygem-cucumber-html-formatter19|textproc/rubygem-cucumber-html-formatter|2023-09-04|Remove obsoleted port. Use textproc/rubygem-cucumber-html-formatter instead
 sysutils/bacula11-libs3|sysutils/bacula-libs3|2023-09-10|No reason to have version in the port name. Works with 11 and 13
+net-p2p/transmission-cli|net-p2p/transmission|2023-09-10|Moved to a flavored version
+net-p2p/transmission-daemon|net-p2p/transmission|2023-09-10|Moved to a flavored version
+net-p2p/transmission-gtk|net-p2p/transmission|2023-09-10|Moved to a flavored version
+net-p2p/transmission-qt|net-p2p/transmission|2023-09-10|Moved to a flavored version
+net-p2p/transmission-utils|net-p2p/transmission|2023-09-10|Moved to a flavored version
+www/transmission-web|net-p2p/transmission|2023-09-10|Moved to the daemon flavor
diff --git a/net-p2p/Makefile b/net-p2p/Makefile
index 4250706e20bf..d76c8be07b14 100644
--- a/net-p2p/Makefile
+++ b/net-p2p/Makefile
@@ -98,12 +98,7 @@
     SUBDIR += torrentcheck
     SUBDIR += torrentsniff
     SUBDIR += transmission
-    SUBDIR += transmission-cli
-    SUBDIR += transmission-daemon
-    SUBDIR += transmission-gtk
-    SUBDIR += transmission-qt
     SUBDIR += transmission-remote-gui
-    SUBDIR += transmission-utils
     SUBDIR += twitch-tui
     SUBDIR += udpt
     SUBDIR += uhub
diff --git a/net-p2p/transmission-cli/Makefile b/net-p2p/transmission-cli/Makefile
deleted file mode 100644
index 6dbbdac36fed..000000000000
--- a/net-p2p/transmission-cli/Makefile
+++ /dev/null
@@ -1,91 +0,0 @@
-PORTNAME=	transmission
-DISTVERSION=	3.00
-PORTREVISION?=	6
-CATEGORIES+=	net-p2p
-SLAVEPORT?=	cli
-PKGNAMESUFFIX?=	-cli
-
-MAINTAINER=	rigoletto@FreeBSD.org
-COMMENT=	Meta-port for Transmission BitTorrent client
-WWW=		https://www.transmissionbt.com/
-
-LICENSE+=	MIT
-
-USES+=		cpe
-
-CPE_VENDOR=	transmissionbt
-CPE_PRODUCT=	transmission
-
-.if ${SLAVEPORT:Ncli}
-LICENSE+=	GPLv2+
-LICENSE_COMB=	multi
-LICENSE_FILE=	${WRKSRC}/COPYING
-.endif
-
-.if ${SLAVEPORT:Nweb}
-LIB_DEPENDS+=	libcurl.so:ftp/curl \
-		libdht.so:devel/jech-dht \
-		libb64.so:converters/libb64 \
-		libevent.so:devel/libevent \
-		libnatpmp.so:net/libnatpmp \
-		libutp.so:net-p2p/libutp \
-		libminiupnpc.so:net/miniupnpc
-
-USES+=		cmake iconv libtool localbase pkgconfig ssl
-
-# Workaround: PR 248326
-# https://github.com/transmission/transmission/issues/1359
-CFLAGS+=	-DNDEBUG
-
-.  if ${SLAVEPORT:Mcli}
-NLS_USES=	gettext-runtime:run
-.  endif
-.endif
-
-USE_GITHUB=	yes
-
-.if ${SLAVEPORT:Nutils}
-CMAKE_OFF+=	ENABLE_UTILS
-.endif
-
-.if ${SLAVEPORT:Nweb}
-SLAVES=		cli daemon gtk qt utils
-CMAKE_ON+=	ENABLE_${SLAVEPORT:tu}
-CMAKE_OFF+=	${SLAVES:N${SLAVEPORT}:tu:S/^/ENABLE_/}
-
-DOCSDIR=	${PREFIX}/share/doc/${PORTNAME}-${SLAVEPORT}
-CMAKE_ARGS+=	-DCMAKE_INSTALL_DOCDIR=${DOCSDIR}
-
-OPTIONS_DEFINE+=	DOCS LITE NLS
-OPTIONS_SUB=		yes
-
-NLS_CMAKE_BOOL=		ENABLE_NLS
-LITE_CMAKE_BOOL=	ENABLE_LIGHTWEIGHT
-.endif
-
-post-extract:
-	@${FIND} ${WRKSRC}/web -name .git* -delete
-
-.if ${SLAVEPORT:Mweb}
-	@${FIND} ${WRKSRC}/web \( -name '*.am' -o -name '*.in' \
-		-o -name '*.scss' \) -delete
-
-do-install:
-	( cd ${WRKSRC} && ${COPYTREE_SHARE} web ${STAGEDIR}${DATADIR} )
-.endif
-
-.if ${SLAVEPORT:Mdaemon}
-post-install:
-	${MKDIR} ${STAGEDIR}${ETCDIR}/home
-.endif
-
-.if ${SLAVEPORT:Mqt}
-post-install:
-	${REINPLACE_CMD} -e "s/Icon=.*/&-qt/" \
-		${STAGEDIR}${DESKTOPDIR}/transmission-qt.desktop
-	${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
-	${INSTALL_DATA} ${WRKSRC}/qt/icons/transmission.png \
-		${STAGEDIR}${PREFIX}/share/pixmaps/transmission-qt.png
-.endif
-
-.include <bsd.port.mk>
diff --git a/net-p2p/transmission-cli/distinfo b/net-p2p/transmission-cli/distinfo
deleted file mode 100644
index 8a59f76c2f79..000000000000
--- a/net-p2p/transmission-cli/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1590336657
-SHA256 (transmission-transmission-3.00_GH0.tar.gz) = 535b8ccfb0d454ac80fe4b57acd7fdae14ddb0737e0ee4a15df10e2d189ed8fa
-SIZE (transmission-transmission-3.00_GH0.tar.gz) = 6786205
diff --git a/net-p2p/transmission-cli/files/patch-CMakeLists.txt b/net-p2p/transmission-cli/files/patch-CMakeLists.txt
deleted file mode 100644
index a814c9172730..000000000000
--- a/net-p2p/transmission-cli/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,26 +0,0 @@
---- CMakeLists.txt.orig	2020-04-25 22:05:56 UTC
-+++ CMakeLists.txt
-@@ -437,7 +437,11 @@ set(NEEDED_HEADERS
-     xlocale.h)
- 
- if(ENABLE_NLS)
--    list(APPEND NEEDED_HEADERS libintl.h)
-+	list(APPEND NEEDED_HEADERS libintl.h)
-+	find_package(Intl)
-+	if(Intl_FOUND)
-+		set(LIBINTL_LIBRARY ${Intl_LIBRARIES})
-+	endif()
- endif()
- 
- foreach(H ${NEEDED_HEADERS})
-@@ -552,10 +556,6 @@ foreach(P daemon cli utils gtk qt mac)
-         add_subdirectory(${P})
-     endif()
- endforeach()
--
--if(ENABLE_DAEMON OR ENABLE_GTK OR ENABLE_QT)
--    tr_install_web(${CMAKE_INSTALL_DATAROOTDIR}/${TR_NAME})
--endif()
- 
- if(INSTALL_DOC)
-     install(FILES AUTHORS COPYING NEWS README.md extras/rpc-spec.txt extras/send-email-when-torrent-done.sh DESTINATION ${CMAKE_INSTALL_DOCDIR})
diff --git a/net-p2p/transmission-cli/files/patch-cmake_FindDHT.cmake b/net-p2p/transmission-cli/files/patch-cmake_FindDHT.cmake
deleted file mode 100644
index d1a612bd66ec..000000000000
--- a/net-p2p/transmission-cli/files/patch-cmake_FindDHT.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
---- cmake/FindDHT.cmake.orig	2018-07-08 18:11:40 UTC
-+++ cmake/FindDHT.cmake
-@@ -15,6 +15,10 @@ endif()
- find_path(DHT_INCLUDE_DIR NAMES dht/dht.h HINTS ${_DHT_INCLUDEDIR})
- find_library(DHT_LIBRARY NAMES dht HINTS ${_DHT_LIBDIR})
- 
-+if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
-+  set(DHT_INCLUDE_DIR /usr/local/lib)
-+endif()
-+
- set(DHT_INCLUDE_DIRS ${DHT_INCLUDE_DIR})
- set(DHT_LIBRARIES ${DHT_LIBRARY})
diff --git a/net-p2p/transmission-cli/files/patch-libtransmission_CMakeLists.txt b/net-p2p/transmission-cli/files/patch-libtransmission_CMakeLists.txt
deleted file mode 100644
index 26f2dc4bd2b8..000000000000
--- a/net-p2p/transmission-cli/files/patch-libtransmission_CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- libtransmission/CMakeLists.txt.orig	2018-07-10 05:34:13 UTC
-+++ libtransmission/CMakeLists.txt
-@@ -281,7 +281,7 @@ if(ENABLE_TESTS)
-             set(${TP}_TEST_BASENAME "${T}")
-         endif()
-         add_executable(${TP} ${${TP}_TEST_BASENAME}-test.c ${${T}-test_ADD_SOURCES})
--        target_link_libraries(${TP} ${TR_NAME} ${TR_NAME}-test)
-+        target_link_libraries(${TP} ${TR_NAME} ${TR_NAME}-test ${DHT_LIBRARIES})
-         if(DEFINED ${T}-test_DEFINITIONS)
-             target_compile_definitions(${TP} PRIVATE ${${T}-test_DEFINITIONS})
-         endif()
diff --git a/net-p2p/transmission-cli/files/patch-libtransmission_tr-dht.c b/net-p2p/transmission-cli/files/patch-libtransmission_tr-dht.c
deleted file mode 100644
index 9f991199f06b..000000000000
--- a/net-p2p/transmission-cli/files/patch-libtransmission_tr-dht.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libtransmission/tr-dht.c.orig	2021-06-14 01:02:25 UTC
-+++ libtransmission/tr-dht.c
-@@ -716,7 +716,7 @@ static int tr_dhtAnnounce(tr_torrent* tor, int af, boo
-     {
-         rc = dht_search(tor->info.hash, announce ? tr_sessionGetPeerPort(session) : 0, af, callback, NULL);
- 
--        if (rc >= 1)
-+        if (rc >= 0)
-         {
-             tr_logAddTorInfo(tor, "Starting %s DHT announce (%s, %d nodes)", af == AF_INET6 ? "IPv6" : "IPv4",
-                 tr_dhtPrintableStatus(status), numnodes);
diff --git a/net-p2p/transmission-cli/files/patch-qt_Application.h b/net-p2p/transmission-cli/files/patch-qt_Application.h
deleted file mode 100644
index aea540e31885..000000000000
--- a/net-p2p/transmission-cli/files/patch-qt_Application.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- qt/Application.h.orig	2018-07-04 17:44:30 UTC
-+++ qt/Application.h
-@@ -15,6 +15,7 @@
- #include <QTimer>
- #include <QTranslator>
- 
-+#include <time.h>
- #include "FaviconCache.h"
- 
- class AddData;
diff --git a/net-p2p/transmission-cli/pkg-descr b/net-p2p/transmission-cli/pkg-descr
deleted file mode 100644
index aaa3f19c65d1..000000000000
--- a/net-p2p/transmission-cli/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-A fast and lightweight CLI (command line) BitTorrent client.
-
-Transmission has been built from the ground up to be a lightweight, yet
-powerful BitTorrent client. Its simple, intuitive interface is designed
-to integrate tightly with whatever computing environment you choose to
-use. Transmission strikes a balance between providing useful functionality
-without feature bloat. Furthermore, it is free for anyone to use or modify.
diff --git a/net-p2p/transmission-cli/pkg-plist b/net-p2p/transmission-cli/pkg-plist
deleted file mode 100644
index d57238146379..000000000000
--- a/net-p2p/transmission-cli/pkg-plist
+++ /dev/null
@@ -1,8 +0,0 @@
-bin/transmission-cli
-share/man/man1/transmission-cli.1.gz
-%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
-%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/NEWS.md
-%%PORTDOCS%%%%DOCSDIR%%/README.md
-%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.txt
-%%PORTDOCS%%%%DOCSDIR%%/send-email-when-torrent-done.sh
diff --git a/net-p2p/transmission-daemon/Makefile b/net-p2p/transmission-daemon/Makefile
deleted file mode 100644
index 335cf07a650f..000000000000
--- a/net-p2p/transmission-daemon/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-PKGNAMESUFFIX=	-daemon
-PORTREVISION=	5
-
-USES=		ssl
-NLS_USES=	gettext-runtime:run
-
-USERS=		transmission
-GROUPS=		transmission
-USE_RC_SUBR=	transmission
-
-MASTERDIR=	${.CURDIR}/../transmission-cli
-DESCR=		${.CURDIR}/pkg-descr
-PKGMESSAGE=	${.CURDIR}/pkg-message
-PLIST=		${.CURDIR}/pkg-plist
-
-SLAVEPORT=	daemon
-
-.include "${MASTERDIR}/Makefile"
diff --git a/net-p2p/transmission-daemon/pkg-descr b/net-p2p/transmission-daemon/pkg-descr
deleted file mode 100644
index 5db068be2e3f..000000000000
--- a/net-p2p/transmission-daemon/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-The transmission-daemon is a daemon-based Transmission session that can be
-controlled via RPC by transmission-remote (see transmission-utils) and
-other Transmission BiTtorrent client such as GTK+ and CLI interface.
-
-Transmission has been built from the ground up to be a lightweight, yet
-powerful BitTorrent client. Its simple, intuitive interface is designed
-to integrate tightly with whatever computing environment you choose to
-use. Transmission strikes a balance between providing useful functionality
-without feature bloat. Furthermore, it is free for anyone to use or modify.
diff --git a/net-p2p/transmission-daemon/pkg-message b/net-p2p/transmission-daemon/pkg-message
deleted file mode 100644
index 86a4903cbced..000000000000
--- a/net-p2p/transmission-daemon/pkg-message
+++ /dev/null
@@ -1,22 +0,0 @@
-[
-{ type: install
-  message: <<EOM
-To allow clients to connect to the transmission daemon using DNS with
-any hostname other than localhost, do one of the following:
-  - Enable password authentication, then any hostname is allowed.
-    This can be achieved by either:
-      - setting rpc-authentication-required to true, and adding
-        credentials to the rpc-username and rpc-password fields in
-        settings.json (must be done whilst the transmission service is
-        stopped); or
-      - running transmission-daemon with the following arguments
-        (these can be set with transmission_flags in /etc/rc.conf):
-        -t -u USERNAME -v PASSWORD
-  OR
-  - Add the allowed server hostnames to the rpc-host-whitelist setting
-    in settings.json (must be done whilst the transmission service is
-    stopped). Note that this value is NOT a list of allowed CLIENTS,
-    but instead a list of allowed SERVER hostnames.
-EOM
-}
-]
diff --git a/net-p2p/transmission-daemon/pkg-plist b/net-p2p/transmission-daemon/pkg-plist
deleted file mode 100644
index f8904d35f114..000000000000
--- a/net-p2p/transmission-daemon/pkg-plist
+++ /dev/null
@@ -1,9 +0,0 @@
-bin/transmission-daemon
-share/man/man1/transmission-daemon.1.gz
-%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
-%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/NEWS.md
-%%PORTDOCS%%%%DOCSDIR%%/README.md
-%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.txt
-%%PORTDOCS%%%%DOCSDIR%%/send-email-when-torrent-done.sh
-@dir %%ETCDIR%%/home
diff --git a/net-p2p/transmission-gtk/Makefile b/net-p2p/transmission-gtk/Makefile
deleted file mode 100644
index 4cd3b32d1428..000000000000
--- a/net-p2p/transmission-gtk/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-PKGNAMESUFFIX=	-gtk
-PORTREVISION=	6
-
-LIB_DEPENDS=	libdbus-glib-1.so:devel/dbus-glib \
-		libnotify.so:devel/libnotify
-RUN_DEPENDS=	xdg-open:devel/xdg-utils
-
-USES=		desktop-file-utils gnome ssl
-NLS_USES=	gettext-tools:build
-USE_GNOME=	cairo gdkpixbuf2 gtk30 intlhack pango
-
-MASTERDIR=	${.CURDIR}/../transmission-cli
-DESCR=		${.CURDIR}/pkg-descr
-PLIST=		${.CURDIR}/pkg-plist
-
-SLAVEPORT=	gtk
-
-.include "${MASTERDIR}/Makefile"
diff --git a/net-p2p/transmission-gtk/pkg-descr b/net-p2p/transmission-gtk/pkg-descr
deleted file mode 100644
index 57f58099f8d3..000000000000
--- a/net-p2p/transmission-gtk/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-A fast and lightweight GTK BitTorrent client.
-
-Transmission has been built from the ground up to be a lightweight, yet
-powerful BitTorrent client. Its simple, intuitive interface is designed
-to integrate tightly with whatever computing environment you choose to
-use. Transmission strikes a balance between providing useful functionality
-without feature bloat. Furthermore, it is free for anyone to use or modify.
diff --git a/net-p2p/transmission-qt/Makefile b/net-p2p/transmission-qt/Makefile
deleted file mode 100644
index 92dfd356c57f..000000000000
--- a/net-p2p/transmission-qt/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-PKGNAMESUFFIX=	-qt
-PORTREVISION=	5
-
-LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
-		libfreetype.so:print/freetype2
-
-USES=		compiler:c++11-lang qt:5
-NLS_USES=	gettext-runtime:run qt:5
-USE_QT=		buildtools:build linguisttools:build qmake:build \
-		core dbus gui network widgets
-CMAKE_ON=	USE_QT
-
-MASTERDIR=	${.CURDIR}/../transmission-cli
-DESCR=		${.CURDIR}/pkg-descr
-PLIST=		${.CURDIR}/pkg-plist
-
-SLAVEPORT=	qt
-
-.include "${MASTERDIR}/Makefile"
diff --git a/net-p2p/transmission-qt/pkg-descr b/net-p2p/transmission-qt/pkg-descr
deleted file mode 100644
index 9c26c6f29589..000000000000
--- a/net-p2p/transmission-qt/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-A fast and lightweight Qt BitTorrent client, loosely based on the GTK+ client.
-
-This is the only Transmission client that can act as its own self-contained
-session (as the GTK+ and Mac clients do), and can also connect to a remote
-session (as the web client and transmission-remote terminal client do).
-
-Transmission has been built from the ground up to be a lightweight, yet
-powerful BitTorrent client. Its simple, intuitive interface is designed
-to integrate tightly with whatever computing environment you choose to
-use. Transmission strikes a balance between providing useful functionality
-without feature bloat. Furthermore, it is free for anyone to use or modify.
diff --git a/net-p2p/transmission-utils/Makefile b/net-p2p/transmission-utils/Makefile
deleted file mode 100644
index 4d1423e32d4e..000000000000
--- a/net-p2p/transmission-utils/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-PKGNAMESUFFIX=	-utils
-PORTREVISION=	4
-
-NLS_USES=	gettext-tools:build
-
-MASTERDIR=	${.CURDIR}/../transmission-cli
-DESCR=		${.CURDIR}/pkg-descr
-PLIST=		${.CURDIR}/pkg-plist
-
-SLAVEPORT=	utils
-
-.include "${MASTERDIR}/Makefile"
diff --git a/net-p2p/transmission-utils/pkg-descr b/net-p2p/transmission-utils/pkg-descr
deleted file mode 100644
index cf85ed5a69ae..000000000000
--- a/net-p2p/transmission-utils/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-Transmission-utils includes the tools to create and manipulate torrent files.
-
-Transmission has been built from the ground up to be a lightweight, yet
-powerful BitTorrent client. Its simple, intuitive interface is designed to
-integrate tightly with whatever computing environment you choose to use.
-Transmission strikes a balance between providing useful functionality
-without feature bloat. Furthermore, it is free for anyone to use or modify.
diff --git a/net-p2p/transmission-utils/pkg-plist b/net-p2p/transmission-utils/pkg-plist
deleted file mode 100644
index 1b2f3cd8fe9d..000000000000
--- a/net-p2p/transmission-utils/pkg-plist
+++ /dev/null
@@ -1,14 +0,0 @@
-bin/transmission-create
-bin/transmission-edit
-bin/transmission-remote
-bin/transmission-show
-share/man/man1/transmission-create.1.gz
-share/man/man1/transmission-edit.1.gz
-share/man/man1/transmission-remote.1.gz
-share/man/man1/transmission-show.1.gz
-%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
-%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/NEWS.md
-%%PORTDOCS%%%%DOCSDIR%%/README.md
-%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.txt
-%%PORTDOCS%%%%DOCSDIR%%/send-email-when-torrent-done.sh
diff --git a/net-p2p/transmission/Makefile b/net-p2p/transmission/Makefile
index 0ac76799b609..19f0e1d2551b 100644
--- a/net-p2p/transmission/Makefile
+++ b/net-p2p/transmission/Makefile
@@ -1,29 +1,171 @@
 PORTNAME=	transmission
-DISTVERSION=	3.00
-PORTREVISION=	1
+DISTVERSION=	4.0.4
 CATEGORIES=	net-p2p
 
-MAINTAINER=	rigoletto@FreeBSD.org
-COMMENT=	Meta-port for Transmission BitTorrent client
-WWW=		https://www.transmissionbt.com/
+MAINTAINER=	mondo.debater_0q@icloud.com
+COMMENT=	Transmission BitTorrent client
+WWW=		https://www.transmissionbt.com
 
-USES=		metaport
+LICENSE=	GPLv3+
 
-OPTIONS_DEFINE=		CLI DAEMON GTK QT UTILS WEB
-OPTIONS_DEFAULT=	${OPTIONS_DEFINE}
+LIB_DEPENDS=	libb64.so:converters/libb64 \
+		libcurl.so:ftp/curl \
+		libdeflate.so:archivers/libdeflate \
+		libdht.so:devel/jech-dht \
+		libevent.so:devel/libevent \
+		libfmt.so:devel/libfmt \
+		libminiupnpc.so:net/miniupnpc \
+		libnatpmp.so:net/libnatpmp \
+		libpsl.so:dns/libpsl \
+		libutp.so:net-p2p/libutp
 
-CLI_DESC=		Command line version
-DAEMON_DESC=		Daemon version
-GTK_DESC=		GTK version
-QT_DESC=		Qt version
-UTILS_DESC=		Command line tools
-WEB_DESC=		Web client
+FLAVORS=		full cli daemon gtk qt utils
+FLAVOR?=		${FLAVORS:[1]}
+.for flavor in ${FLAVORS}
+${flavor}_PKGNAMESUFFIX=	-${flavor}
+.endfor
+full_LIB_DEPENDS=	${gtk_LIB_DEPENDS}
+gtk_LIB_DEPENDS=	libayatana-appindicator3.so:devel/libayatana-appindicator \
+			libharfbuzz.so:print/harfbuzz
 
-CLI_RUN_DEPENDS=	transmission-cli:net-p2p/transmission-cli
-DAEMON_RUN_DEPENDS=	transmission-daemon:net-p2p/transmission-daemon
-GTK_RUN_DEPENDS=	transmission-gtk:net-p2p/transmission-gtk
-QT_RUN_DEPENDS=		transmission-qt:net-p2p/transmission-qt
-UTILS_RUN_DEPENDS=	transmission-create:net-p2p/transmission-utils
-WEB_RUN_DEPENDS=	${DATADIR}/web/index.html:www/transmission-web
+USES=		cmake cpe iconv libtool localbase pkgconfig ssl
+
+CPE_VENDOR=	transmissionbt
+CPE_PRODUCT=	transmission
+
+USE_GITHUB=	YES
+GH_TUPLE=	google:googletest:af29db7:googletest/third-party/googletest \
+		transmission:fast_float:6624977:fast_float/third-party/fast_float \
+		transmission:utfcpp:b85efd6:utfcpp/third-party/utfcpp \
+		transmission:wide-integer:4de0b52:wideinteger/third-party/wide-integer
+
+.if ${FLAVOR} == gtk || ${FLAVOR} == full
+USES+=		desktop-file-utils gettext-runtime gettext-tools gnome
+USE_GNOME=	gdkpixbuf2 glibmm gtkmm30
+.endif
+
+.if ${FLAVOR} == qt || ${FLAVOR} == full
+USES+=		desktop-file-utils qmake:no_env qt:5
+USE_QT=		core dbus gui network svg widgets buildtools:build \
+		linguisttools:build
+.endif
+
+USE_RC_SUBR=	transmission
+
+CMAKE_ARGS=	-DCMAKE_C_STANDARD_INCLUDE_DIRECTORIES=${LOCALBASE}/include \
+		-DCMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES=${LOCALBASE}/include \
+		-DCMAKE_INSTALL_MANDIR="${PREFIX}/man"
+CMAKE_ON=	USE_SYSTEM_B64 USE_SYSTEM_DEFLATE USE_SYSTEM_DHT \
+		USE_SYSTEM_EVENT2 USE_SYSTEM_MINIUPNPC USE_SYSTEM_NATPMP \
+		USE_SYSTEM_PSL USE_SYSTEM_UTP
+CMAKE_OFF=	ENABLE_MAC REBUILD_WEB WITH_SYSTEMD
+
+USERS=		transmission
+GROUPS=		transmission
+
+PLIST=		${PKGDIR}/pkg-plist.${FLAVOR}
+
+.if ${FLAVOR} == cli
+CMAKE_ON+=	ENABLE_CLI
+CMAKE_OFF+=	ENABLE_GTK ENABLE_QT
+.endif
+
+.if ${FLAVOR} == daemon
+CMAKE_ON+=	ENABLE_DAEMON
+CMAKE_OFF+=	ENABLE_GTK ENABLE_QT
+.endif
+
+.if ${FLAVOR} == gtk || ${FLAVOR} == full
+CMAKE_ON+=	ENABLE_GTK GTK_IS_REQUIRED
+CMAKE_ARGS+=	-DUSE_GTK_VERSION=3
+.endif
+
+.if ${FLAVOR} == qt || ${FLAVOR} == full
+CMAKE_ON+=	ENABLE_QT QT_IS_REQUIRED
+CMAKE_ARGS+=	-DUSE_QT_VERSION=5
+.endif
+
+.if ${FLAVOR} == utils
+CMAKE_ON+=	ENABLE_UTILS
+CMAKE_OFF+=	ENABLE_CLI ENABLE_DAEMON ENABLE_GTK ENABLE_QT ENABLE_TESTS \
+		ENABLE_WERROR INSTALL_WEB
+.endif
+
+OPTIONS_DEFINE=		CLI DAEMON DOCS NLS TESTS UTILS WEB
+OPTIONS_DEFAULT=	DOCS NLS
+
+.if ${FLAVOR} == cli
+OPTIONS_DEFINE=		DAEMON DOCS NLS TESTS UTILS WEB
+OPTIONS_DEFAULT=	UTILS
+.endif
+
+.if ${FLAVOR} == daemon
+OPTIONS_DEFINE=		CLI DOCS NLS TESTS UTILS WEB
+OPTIONS_DEFAULT=	UTILS WEB
+.endif
+
+.if ${FLAVOR} == full
+OPTIONS_DEFAULT+=	CLI DAEMON DOCS NLS UTILS WEB
+.endif
+
+.if ${FLAVOR} == utils
+OPTIONS_DEFINE=		DOCS NLS
+OPTIONS_DEFAULT=	DOCS NLS
+.endif
+
+OPTIONS_SUB=	yes
+
+CLI_DESC=	Build remote & command-line (deprecated) clients
+DAEMON_DESC=	Build daemon
+TESTS_DESC=	Build & run unit tests
+UTILS_DESC=	Build utilities (create, edit, show)
+WEB_DESC=	Install web client
+
+CLI_CMAKE_BOOL=	ENABLE_CLI
+
+DAEMON_CMAKE_BOOL=	ENABLE_DAEMON
+
+NLS_USES=	gettext-runtime:lib
+NLS_CMAKE_BOOL=	ENABLE_NLS
+
+TESTS_CMAKE_BOOL=	ENABLE_TESTS
+
+UTILS_CMAKE_BOOL=	ENABLE_UTILS
+
+WEB_IMPLIES=	DAEMON
+WEB_CMAKE_BOOL=	INSTALL_WEB
+
+post-extract:
+	@${ECHO_MSG} "Cludging use of devel/libfmt as Transmission's CMakeLists.txt does not properly search for it."
+	@${MKDIR} ${WRKSRC}/third-party/fmt/include/fmt
+	@${LN} -Fs ${PREFIX}/include/fmt ${WRKSRC}/third-party/fmt/include/fmt
+
+post-extract-DOCS-on:
+	@${ECHO_MSG} "Removing outdated release notes"
+	@${FIND} ${WRKSRC}/news \( -name 'news-[0-3]*' -o -name '*beta*' \) -delete
+
+.if ${FLAVOR} == qt
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
+	${INSTALL_DATA}	${WRKSRC}/qt/icons/transmission.svg \
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/transmission.svg
+.endif
+
+.if ${FLAVOR} == daemon
+post-install:
+	${MKDIR} ${STAGEDIR}${ETCDIR}/home
+.endif
+
+post-install-DAEMON-on:
+	        ${MKDIR} ${STAGEDIR}${ETCDIR}/home
+
+post-install-TESTS-on:
+	@${ECHO_MSG} "Running tests..."
+	@cd ${BUILD_WRKSRC}/tests/libtransmission/ && \
+		eval ${BUILD_WRKSRC}/tests/libtransmission/libtransmission-test \
+		--gtest_filter="-DhtTest.usesBootstrapFile" \
+		#fails in poudriere due to lack of networking, passes otherwise
+		--gtest_brief=1 \
+		--gtest_output=json:libtransmission-test.json
 
 .include <bsd.port.mk>
diff --git a/net-p2p/transmission/distinfo b/net-p2p/transmission/distinfo
new file mode 100644
index 000000000000..d06368cb4126
--- /dev/null
+++ b/net-p2p/transmission/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1693298946
+SHA256 (transmission-transmission-4.0.4_GH0.tar.gz) = 767b4796a43c8bd3fc9d6c64d32dd49dedce3ad14909d6773ce2694e02b22a9d
+SIZE (transmission-transmission-4.0.4_GH0.tar.gz) = 8750421
+SHA256 (google-googletest-af29db7_GH0.tar.gz) = cebd59f4dd7380870c4cbc57f75bd4453d84c68847fee020c95019b2841ae7a2
+SIZE (google-googletest-af29db7_GH0.tar.gz) = 841006
+SHA256 (transmission-fast_float-6624977_GH0.tar.gz) = a7fed3253e8604ad0b3c0649f7b99e004f61bf0b82096f43edbb597f9a9b4dc3
+SIZE (transmission-fast_float-6624977_GH0.tar.gz) = 76763
+SHA256 (transmission-utfcpp-b85efd6_GH0.tar.gz) = 98c7f02180c92a6b5fa90bbf157c3f441fcf47565c10948d221de3097893507a
+SIZE (transmission-utfcpp-b85efd6_GH0.tar.gz) = 27376
+SHA256 (transmission-wide-integer-4de0b52_GH0.tar.gz) = 8754e29f002ba78228675ad95b7eb4d828e23c7a4ec227815fe8a2238c8111eb
+SIZE (transmission-wide-integer-4de0b52_GH0.tar.gz) = 124910
diff --git a/net-p2p/transmission/files/patch-gtk_DetailsDialog.cc b/net-p2p/transmission/files/patch-gtk_DetailsDialog.cc
new file mode 100644
index 000000000000..d759cae1a443
--- /dev/null
+++ b/net-p2p/transmission/files/patch-gtk_DetailsDialog.cc
@@ -0,0 +1,10 @@
+--- gtk/DetailsDialog.cc.orig	2023-07-05 18:51:40 UTC
++++ gtk/DetailsDialog.cc
+@@ -68,6 +68,7 @@
+ #include <ws2tcpip.h>
+ #else
+ #include <arpa/inet.h>
++#include <sys/socket.h>
+ #endif
+ 
+ using namespace std::literals;
diff --git a/net-p2p/transmission-cli/files/transmission.in b/net-p2p/transmission/files/transmission.in
similarity index 87%
rename from net-p2p/transmission-cli/files/transmission.in
rename to net-p2p/transmission/files/transmission.in
index a98db72833ba..6bbd39ba7830 100644
--- a/net-p2p/transmission-cli/files/transmission.in
+++ b/net-p2p/transmission/files/transmission.in
@@ -67,12 +67,4 @@ transmission_prestart()
 	fi
 }
 
-# Unfortunately there was a typo in a previous version, which may have
-# left some people with /var/run/transmission/damon.pid .  Deal with
-# this for a few months at least, until everyone will have restarted
-# transmission
-if [ ! -f $pidfile -a -f /var/run/transmission/damon.pid ]; then
-	pidfile=/var/run/transmission/damon.pid
-fi
-
 run_rc_command $1
diff --git a/net-p2p/transmission/pkg-plist.cli b/net-p2p/transmission/pkg-plist.cli
new file mode 100644
index 000000000000..7648c077b770
--- /dev/null
+++ b/net-p2p/transmission/pkg-plist.cli
@@ -0,0 +1,29 @@
+bin/transmission-cli
+%%UTILS%%bin/transmission-create
+%%DAEMON%%bin/transmission-daemon
+%%UTILS%%bin/transmission-edit
+%%UTILS%%bin/transmission-remote
+%%UTILS%%bin/transmission-show
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.0.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.1.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.2.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.3.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.4.md
+%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.md
+%%PORTDOCS%%%%DOCSDIR%%/send-email-when-torrent-done.sh
+%%DAEMON%%@dir %%ETCDIR%%/home
+man/man1/transmission-cli.1.gz
+%%UTILS%%man/man1/transmission-create.1.gz
+%%DAEMON%%man/man1/transmission-daemon.1.gz
+%%UTILS%%man/man1/transmission-edit.1.gz
+%%UTILS%%man/man1/transmission-remote.1.gz
+%%UTILS%%man/man1/transmission-show.1.gz
+%%WEB%%%%DATADIR%%/public_html/images/favicon.ico
+%%WEB%%%%DATADIR%%/public_html/images/favicon.png
+%%WEB%%%%DATADIR%%/public_html/images/webclip-icon.png
+%%WEB%%%%DATADIR%%/public_html/index.html
+%%WEB%%%%DATADIR%%/public_html/transmission-app.js
+%%WEB%%%%DATADIR%%/public_html/transmission-app.js.LICENSE.txt
diff --git a/net-p2p/transmission/pkg-plist.daemon b/net-p2p/transmission/pkg-plist.daemon
new file mode 100644
index 000000000000..c8b0586cd2d1
--- /dev/null
+++ b/net-p2p/transmission/pkg-plist.daemon
@@ -0,0 +1,29 @@
+%%CLI%%bin/transmission-cli
+%%UTILS%%bin/transmission-create
+bin/transmission-daemon
+%%UTILS%%bin/transmission-edit
+%%UTILS%%bin/transmission-remote
+%%UTILS%%bin/transmission-show
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.0.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.1.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.2.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.3.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.4.md
+%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.md
+%%PORTDOCS%%%%DOCSDIR%%/send-email-when-torrent-done.sh
+@dir %%ETCDIR%%/home
+%%CLI%%man/man1/transmission-cli.1.gz
+%%UTILS%%man/man1/transmission-create.1.gz
+man/man1/transmission-daemon.1.gz
+%%UTILS%%man/man1/transmission-edit.1.gz
+%%UTILS%%man/man1/transmission-remote.1.gz
+%%UTILS%%man/man1/transmission-show.1.gz
+%%WEB%%%%DATADIR%%/public_html/images/favicon.ico
+%%WEB%%%%DATADIR%%/public_html/images/favicon.png
+%%WEB%%%%DATADIR%%/public_html/images/webclip-icon.png
+%%WEB%%%%DATADIR%%/public_html/index.html
+%%WEB%%%%DATADIR%%/public_html/transmission-app.js
+%%WEB%%%%DATADIR%%/public_html/transmission-app.js.LICENSE.txt
diff --git a/net-p2p/transmission/pkg-plist.full b/net-p2p/transmission/pkg-plist.full
new file mode 100644
index 000000000000..b98827b27894
--- /dev/null
+++ b/net-p2p/transmission/pkg-plist.full
@@ -0,0 +1,155 @@
+bin/transmission-qt
+%%CLI%%bin/transmission-cli
+%%UTILS%%bin/transmission-create
+%%DAEMON%%bin/transmission-daemon
+%%UTILS%%bin/transmission-edit
+%%UTILS%%bin/transmission-remote
+%%UTILS%%bin/transmission-show
+%%DAEMON%%@dir %%ETCDIR%%/home
+man/man1/transmission-qt.1.gz
+%%CLI%%man/man1/transmission-cli.1.gz
+%%UTILS%%man/man1/transmission-create.1.gz
+%%DAEMON%%man/man1/transmission-daemon.1.gz
+%%UTILS%%man/man1/transmission-edit.1.gz
+%%UTILS%%man/man1/transmission-remote.1.gz
+%%UTILS%%man/man1/transmission-show.1.gz
+share/applications/transmission-qt.desktop
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.0.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.1.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.2.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.3.md
+%%PORTDOCS%%%%DOCSDIR%%/news/news-4.0.4.md
+%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.md
+%%PORTDOCS%%%%DOCSDIR%%/send-email-when-torrent-done.sh
+%%NLS%%%%DATADIR%%/translations/transmission_af.qm
+%%NLS%%%%DATADIR%%/translations/transmission_ca.qm
+%%NLS%%%%DATADIR%%/translations/transmission_da.qm
+%%NLS%%%%DATADIR%%/translations/transmission_de.qm
+%%NLS%%%%DATADIR%%/translations/transmission_el.qm
+%%NLS%%%%DATADIR%%/translations/transmission_en.qm
+%%NLS%%%%DATADIR%%/translations/transmission_es.qm
+%%NLS%%%%DATADIR%%/translations/transmission_eu.qm
+%%NLS%%%%DATADIR%%/translations/transmission_fi.qm
+%%NLS%%%%DATADIR%%/translations/transmission_fr.qm
+%%NLS%%%%DATADIR%%/translations/transmission_hu.qm
+%%NLS%%%%DATADIR%%/translations/transmission_id.qm
+%%NLS%%%%DATADIR%%/translations/transmission_it_IT.qm
+%%NLS%%%%DATADIR%%/translations/transmission_ja.qm
+%%NLS%%%%DATADIR%%/translations/transmission_ka.qm
+%%NLS%%%%DATADIR%%/translations/transmission_kk.qm
+%%NLS%%%%DATADIR%%/translations/transmission_ko.qm
+%%NLS%%%%DATADIR%%/translations/transmission_lt.qm
+%%NLS%%%%DATADIR%%/translations/transmission_nb.qm
+%%NLS%%%%DATADIR%%/translations/transmission_nl.qm
+%%NLS%%%%DATADIR%%/translations/transmission_pl.qm
+%%NLS%%%%DATADIR%%/translations/transmission_pt.qm
+%%NLS%%%%DATADIR%%/translations/transmission_pt_BR.qm
+%%NLS%%%%DATADIR%%/translations/transmission_pt_PT.qm
+%%NLS%%%%DATADIR%%/translations/transmission_ru.qm
+%%NLS%%%%DATADIR%%/translations/transmission_sl.qm
+%%NLS%%%%DATADIR%%/translations/transmission_sv.qm
+%%NLS%%%%DATADIR%%/translations/transmission_tr.qm
+%%NLS%%%%DATADIR%%/translations/transmission_uk.qm
+%%NLS%%%%DATADIR%%/translations/transmission_zh_CN.qm
+%%WEB%%%%DATADIR%%/public_html/images/favicon.ico
+%%WEB%%%%DATADIR%%/public_html/images/favicon.png
+%%WEB%%%%DATADIR%%/public_html/images/webclip-icon.png
+%%WEB%%%%DATADIR%%/public_html/index.html
+%%WEB%%%%DATADIR%%/public_html/transmission-app.js
+%%WEB%%%%DATADIR%%/public_html/transmission-app.js.LICENSE.txt
+bin/transmission-gtk
+man/man1/transmission-gtk.1.gz
+share/applications/transmission-gtk.desktop
+share/icons/hicolor/scalable/apps/transmission-devel.svg
+share/icons/hicolor/scalable/apps/transmission.svg
+share/icons/hicolor/symbolic/apps/transmission-symbolic.svg
+%%NLS%%share/locale/an/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ar/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ast/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/az/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/be/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/bg/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/bn/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/br/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/bs/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ca@valencia/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ceb/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ckb/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/cy/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/da/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/de/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/el/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/en_AU/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/en_CA/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/eo/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/es/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/et/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/eu/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/fa/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/fil/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/fo/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/fr_CA/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ga/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/gv/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/he/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/hi/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/hy/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ia/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/id/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/is/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/it/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/jbo/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ka/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/kk/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ku/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ky/LC_MESSAGES/transmission-gtk.mo
*** 255 LINES SKIPPED ***