aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafe <mondo.debater_0q@icloud.com>2023-09-06 00:49:34 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-09-10 16:12:57 +0000
commit8da970ab75e1a1031d93ff8e1aa8e3ff71afef07 (patch)
tree70587a63b9fac3be2db4995d128fe837e5dd0736
parente5731e2bf4e706904cae6131fc5e7fd32d6814c7 (diff)
downloadports-8da970ab75e1a1031d93ff8e1aa8e3ff71afef07.tar.gz
ports-8da970ab75e1a1031d93ff8e1aa8e3ff71afef07.zip
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
-rw-r--r--MOVED6
-rw-r--r--net-p2p/Makefile5
-rw-r--r--net-p2p/transmission-cli/Makefile91
-rw-r--r--net-p2p/transmission-cli/distinfo3
-rw-r--r--net-p2p/transmission-cli/files/patch-CMakeLists.txt26
-rw-r--r--net-p2p/transmission-cli/files/patch-cmake_FindDHT.cmake12
-rw-r--r--net-p2p/transmission-cli/files/patch-libtransmission_CMakeLists.txt11
-rw-r--r--net-p2p/transmission-cli/files/patch-libtransmission_tr-dht.c11
-rw-r--r--net-p2p/transmission-cli/files/patch-qt_Application.h10
-rw-r--r--net-p2p/transmission-cli/pkg-descr7
-rw-r--r--net-p2p/transmission-cli/pkg-plist8
-rw-r--r--net-p2p/transmission-daemon/Makefile18
-rw-r--r--net-p2p/transmission-daemon/pkg-descr9
-rw-r--r--net-p2p/transmission-daemon/pkg-message22
-rw-r--r--net-p2p/transmission-daemon/pkg-plist9
-rw-r--r--net-p2p/transmission-gtk/Makefile18
-rw-r--r--net-p2p/transmission-gtk/pkg-descr7
-rw-r--r--net-p2p/transmission-qt/Makefile19
-rw-r--r--net-p2p/transmission-qt/pkg-descr11
-rw-r--r--net-p2p/transmission-utils/Makefile12
-rw-r--r--net-p2p/transmission-utils/pkg-descr7
-rw-r--r--net-p2p/transmission-utils/pkg-plist14
-rw-r--r--net-p2p/transmission/Makefile182
-rw-r--r--net-p2p/transmission/distinfo11
-rw-r--r--net-p2p/transmission/files/patch-gtk_DetailsDialog.cc10
-rw-r--r--net-p2p/transmission/files/transmission.in (renamed from net-p2p/transmission-cli/files/transmission.in)8
-rw-r--r--net-p2p/transmission/pkg-plist.cli29
-rw-r--r--net-p2p/transmission/pkg-plist.daemon29
-rw-r--r--net-p2p/transmission/pkg-plist.full155
-rw-r--r--net-p2p/transmission/pkg-plist.gtk (renamed from net-p2p/transmission-gtk/pkg-plist)36
-rw-r--r--net-p2p/transmission/pkg-plist.qt (renamed from net-p2p/transmission-qt/pkg-plist)30
-rw-r--r--net-p2p/transmission/pkg-plist.utils18
-rw-r--r--www/Makefile1
-rw-r--r--www/transmission-web/Makefile15
-rw-r--r--www/transmission-web/pkg-descr14
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
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
+%%NLS%%share/locale/li/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/lv/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/mk/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ml/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/mr/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ms/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/mt/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/nn/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/oc/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/pt_PT/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/si/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/sq/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ta/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/te/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/th/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ug/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/ur/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/uz/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/zh_HK/LC_MESSAGES/transmission-gtk.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/transmission-gtk.mo
+share/metainfo/transmission-gtk.metainfo.xml
diff --git a/net-p2p/transmission-gtk/pkg-plist b/net-p2p/transmission/pkg-plist.gtk
index cbdbc80d0546..dfc35edbfb16 100644
--- a/net-p2p/transmission-gtk/pkg-plist
+++ b/net-p2p/transmission/pkg-plist.gtk
@@ -1,12 +1,27 @@
+%%CLI%%bin/transmission-cli
+%%UTILS%%bin/transmission-create
+%%DAEMON%%bin/transmission-daemon
+%%UTILS%%bin/transmission-edit
bin/transmission-gtk
-share/man/man1/transmission-gtk.1.gz
-%%NLS%%share/appdata/transmission-gtk.appdata.xml
+%%UTILS%%bin/transmission-remote
+%%UTILS%%bin/transmission-show
+%%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
+man/man1/transmission-gtk.1.gz
share/applications/transmission-gtk.desktop
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/NEWS.md
%%PORTDOCS%%%%DOCSDIR%%/README.md
-%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.txt
+%%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
share/icons/hicolor/scalable/apps/transmission-devel.svg
share/icons/hicolor/scalable/apps/transmission.svg
@@ -18,7 +33,6 @@ share/icons/hicolor/symbolic/apps/transmission-symbolic.svg
%%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/bo/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
@@ -70,13 +84,10 @@ share/icons/hicolor/symbolic/apps/transmission-symbolic.svg
%%NLS%%share/locale/mr/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/ms/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/mt/LC_MESSAGES/transmission-gtk.mo
-%%NLS%%share/locale/my/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/nb/LC_MESSAGES/transmission-gtk.mo
-%%NLS%%share/locale/nds/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/nl/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/nn/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/oc/LC_MESSAGES/transmission-gtk.mo
-%%NLS%%share/locale/pa/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/pl/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/pt/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/transmission-gtk.mo
@@ -89,11 +100,9 @@ share/icons/hicolor/symbolic/apps/transmission-symbolic.svg
%%NLS%%share/locale/sq/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/sr/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/sv/LC_MESSAGES/transmission-gtk.mo
-%%NLS%%share/locale/sw/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/ta/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/te/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/th/LC_MESSAGES/transmission-gtk.mo
-%%NLS%%share/locale/tl/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/tr/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/ug/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/uk/LC_MESSAGES/transmission-gtk.mo
@@ -103,3 +112,10 @@ share/icons/hicolor/symbolic/apps/transmission-symbolic.svg
%%NLS%%share/locale/zh_CN/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/zh_HK/LC_MESSAGES/transmission-gtk.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/transmission-gtk.mo
+share/metainfo/transmission-gtk.metainfo.xml
+%%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
diff --git a/net-p2p/transmission-qt/pkg-plist b/net-p2p/transmission/pkg-plist.qt
index d1d422662a14..b2a30e67e27b 100644
--- a/net-p2p/transmission-qt/pkg-plist
+++ b/net-p2p/transmission/pkg-plist.qt
@@ -1,12 +1,28 @@
bin/transmission-qt
-share/man/man1/transmission-qt.1.gz
+%%CLI%%bin/transmission-cli
+%%UTILS%%bin/transmission-create
+%%DAEMON%%bin/transmission-daemon
+%%UTILS%%bin/transmission-edit
+%%UTILS%%bin/transmission-remote
+%%UTILS%%bin/transmission-show
+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
-share/pixmaps/transmission-qt.png
+share/icons/hicolor/scalable/apps/transmission.svg
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/NEWS.md
%%PORTDOCS%%%%DOCSDIR%%/README.md
-%%PORTDOCS%%%%DOCSDIR%%/rpc-spec.txt
+%%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
@@ -29,6 +45,7 @@ share/pixmaps/transmission-qt.png
%%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
@@ -37,3 +54,8 @@ share/pixmaps/transmission-qt.png
%%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
diff --git a/net-p2p/transmission/pkg-plist.utils b/net-p2p/transmission/pkg-plist.utils
new file mode 100644
index 000000000000..cb5af6521393
--- /dev/null
+++ b/net-p2p/transmission/pkg-plist.utils
@@ -0,0 +1,18 @@
+bin/transmission-create
+bin/transmission-edit
+bin/transmission-remote
+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
+man/man1/transmission-create.1.gz
+man/man1/transmission-edit.1.gz
+man/man1/transmission-remote.1.gz
+man/man1/transmission-show.1.gz
diff --git a/www/Makefile b/www/Makefile
index 958cc65da538..84f8f63e1167 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2351,7 +2351,6 @@
SUBDIR += tor-browser
SUBDIR += trac-devel
SUBDIR += trafficserver
- SUBDIR += transmission-web
SUBDIR += transproxy
SUBDIR += trunk
SUBDIR += tt-rss
diff --git a/www/transmission-web/Makefile b/www/transmission-web/Makefile
deleted file mode 100644
index 16772b713b1d..000000000000
--- a/www/transmission-web/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-CATEGORIES= www
-PKGNAMESUFFIX= -web
-PORTREVISION= 1
-
-NO_ARCH= yes
-NO_BUILD= yes
-PORTDATA= web
-
-MASTERDIR= ${.CURDIR}/../../net-p2p/transmission-cli
-DESCR= ${.CURDIR}/pkg-descr
-PLIST= ${NONEXISTENT}
-
-SLAVEPORT= web
-
-.include "${MASTERDIR}/Makefile"
diff --git a/www/transmission-web/pkg-descr b/www/transmission-web/pkg-descr
deleted file mode 100644
index 6c80d174cba3..000000000000
--- a/www/transmission-web/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-Transmission Web Interface (Clutch) is a WebUI for the Transmission BitTorrent
-client. It allows you to manage your torrents from anywhere you can access the
-internet, and runs on OS X and various flavors of *nix. It provides most of
-the basic features of the desktop client, including torrent upload, torrent
-start/stop, file path selection, speed limiting etc.
-
-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.
-
-You will need to install either transmission-daemon, transmission-gtk2 or
-both to use WebUI.