summaryrefslogtreecommitdiff
path: root/net-p2p/transmission-components
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/transmission-components')
-rw-r--r--net-p2p/transmission-components/Makefile2
-rw-r--r--net-p2p/transmission-components/files/patch-cmake_FindFmt.cmake21
-rw-r--r--net-p2p/transmission-components/files/patch-gtk_DetailsDialog.cc24
-rw-r--r--net-p2p/transmission-components/files/patch-libtransmission_session-alt-speeds.cc19
-rw-r--r--net-p2p/transmission-components/files/patch-libtransmission_torrent.cc28
-rw-r--r--net-p2p/transmission-components/files/patch-utils_remote.cc19
-rw-r--r--net-p2p/transmission-components/files/patch-utils_show.cc11
7 files changed, 118 insertions, 6 deletions
diff --git a/net-p2p/transmission-components/Makefile b/net-p2p/transmission-components/Makefile
index 8b5441b67a07..2015ec0a8b22 100644
--- a/net-p2p/transmission-components/Makefile
+++ b/net-p2p/transmission-components/Makefile
@@ -1,6 +1,6 @@
PORTNAME= transmission
DISTVERSION= 4.0.6
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= net-p2p
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
diff --git a/net-p2p/transmission-components/files/patch-cmake_FindFmt.cmake b/net-p2p/transmission-components/files/patch-cmake_FindFmt.cmake
index f5ba5dee86f9..c1b115e1dc75 100644
--- a/net-p2p/transmission-components/files/patch-cmake_FindFmt.cmake
+++ b/net-p2p/transmission-components/files/patch-cmake_FindFmt.cmake
@@ -1,11 +1,26 @@
---- cmake/FindFmt.cmake.orig 2024-04-30 16:44:38 UTC
+--- cmake/FindFmt.cmake.orig 2025-10-15 08:40:38 UTC
+++ cmake/FindFmt.cmake
-@@ -2,7 +2,7 @@ target_include_directories(fmt::fmt-header-only
+@@ -1,10 +1,21 @@ add_library(fmt::fmt-header-only INTERFACE IMPORTED)
+ add_library(fmt::fmt-header-only INTERFACE IMPORTED)
++set(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE "${CMAKE_INSTALL_PREFIX}/include")
++
target_include_directories(fmt::fmt-header-only
INTERFACE
- ${CMAKE_CURRENT_LIST_DIR}/../third-party/fmt/include)
-+ ${CMAKE_INSTALL_PREFIX}/include)
++ ${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE})
++file(READ "${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE}/fmt/base.h" _FMT_BASE_H)
++if(_FMT_BASE_H MATCHES "FMT_VERSION ([0-9]+)([0-9][0-9])([0-9][0-9])")
++ # Use math to skip leading zeros if any.
++ math(EXPR _FMT_VERSION_MAJOR ${CMAKE_MATCH_1})
++ math(EXPR _FMT_VERSION_MINOR ${CMAKE_MATCH_2})
++ math(EXPR _FMT_VERSION_PATCH ${CMAKE_MATCH_3})
++ set(${CMAKE_FIND_PACKAGE_NAME}_VERSION "${_FMT_VERSION_MAJOR}.${_FMT_VERSION_MINOR}.${_FMT_VERSION_PATCH}")
++endif()
++
target_compile_definitions(fmt::fmt-header-only
INTERFACE
+- FMT_EXCEPTIONS=0
++ $<IF:$<VERSION_GREATER_EQUAL:${${CMAKE_FIND_PACKAGE_NAME}_VERSION},11.2.0>,FMT_USE_EXCEPTIONS,FMT_EXCEPTIONS>=0
+ FMT_HEADER_ONLY=1)
diff --git a/net-p2p/transmission-components/files/patch-gtk_DetailsDialog.cc b/net-p2p/transmission-components/files/patch-gtk_DetailsDialog.cc
index 0964723351fa..48aba6f6ccdd 100644
--- a/net-p2p/transmission-components/files/patch-gtk_DetailsDialog.cc
+++ b/net-p2p/transmission-components/files/patch-gtk_DetailsDialog.cc
@@ -1,6 +1,6 @@
---- gtk/DetailsDialog.cc.orig 2025-08-09 13:07:00 UTC
+--- gtk/DetailsDialog.cc.orig 2025-10-15 08:45:18 UTC
+++ gtk/DetailsDialog.cc
-@@ -49,6 +49,7 @@
+@@ -49,10 +49,12 @@
#include <fmt/chrono.h>
#include <fmt/core.h>
@@ -8,3 +8,23 @@
#include <fmt/format.h>
#include <algorithm>
+ #include <array>
++#include <chrono>
+ #include <cstddef>
+ #include <cstdlib> // abort()
+ #include <limits>
+@@ -606,12 +608,12 @@ void gtr_text_buffer_set_text(Glib::RefPtr<Gtk::TextBu
+
+ [[nodiscard]] std::string get_date_string(time_t t)
+ {
+- return t == 0 ? _("N/A") : fmt::format(FMT_STRING("{:%x}"), fmt::localtime(t));
++ return t == 0 ? _("N/A") : fmt::format("{:%x}", *std::localtime(&t));
+ }
+
+ [[nodiscard]] std::string get_date_time_string(time_t t)
+ {
+- return t == 0 ? _("N/A") : fmt::format(FMT_STRING("{:%c}"), fmt::localtime(t));
++ return t == 0 ? _("N/A") : fmt::format("{:%c}", *std::localtime(&t));
+ }
+
+ } // namespace
diff --git a/net-p2p/transmission-components/files/patch-libtransmission_session-alt-speeds.cc b/net-p2p/transmission-components/files/patch-libtransmission_session-alt-speeds.cc
new file mode 100644
index 000000000000..2bcd3f11480c
--- /dev/null
+++ b/net-p2p/transmission-components/files/patch-libtransmission_session-alt-speeds.cc
@@ -0,0 +1,19 @@
+--- libtransmission/session-alt-speeds.cc.orig 2025-10-15 08:50:14 UTC
++++ libtransmission/session-alt-speeds.cc
+@@ -3,6 +3,7 @@
+ // or any future license endorsed by Mnemosyne LLC.
+ // License text can be found in the licenses/ folder.
+
++#include <chrono>
+ #include <fmt/chrono.h>
+
+ #include "transmission.h"
+@@ -105,7 +106,7 @@ void tr_session_alt_speeds::setActive(bool active, Cha
+
+ [[nodiscard]] bool tr_session_alt_speeds::isActiveMinute(time_t time) const noexcept
+ {
+- auto const tm = fmt::localtime(time);
++ auto const tm = *std::localtime(&time);
+
+ size_t minute_of_the_week = tm.tm_wday * MinutesPerDay + tm.tm_hour * MinutesPerHour + tm.tm_min;
+
diff --git a/net-p2p/transmission-components/files/patch-libtransmission_torrent.cc b/net-p2p/transmission-components/files/patch-libtransmission_torrent.cc
new file mode 100644
index 000000000000..eb34b93d0803
--- /dev/null
+++ b/net-p2p/transmission-components/files/patch-libtransmission_torrent.cc
@@ -0,0 +1,28 @@
+--- libtransmission/torrent.cc.orig 2025-10-15 08:51:36 UTC
++++ libtransmission/torrent.cc
+@@ -6,6 +6,7 @@
+ #include <algorithm>
+ #include <array>
+ #include <cerrno> // EINVAL
++#include <chrono>
+ #include <climits> /* INT_MAX */
+ #include <csignal> /* signal() */
+ #include <ctime>
+@@ -438,6 +439,8 @@ void torrentCallScript(tr_torrent const* tor, std::str
+ return;
+ }
+
++ auto const now = tr_time();
++
+ auto torrent_dir = tr_pathbuf{ tor->currentDir() };
+ tr_sys_path_native_separators(std::data(torrent_dir));
+
+@@ -447,7 +450,7 @@ void torrentCallScript(tr_torrent const* tor, std::str
+ auto const labels_str = buildLabelsString(tor);
+ auto const trackers_str = buildTrackersString(tor);
+ auto const bytes_downloaded_str = std::to_string(tor->downloadedCur + tor->downloadedPrev);
+- auto const localtime_str = fmt::format("{:%a %b %d %T %Y%n}", fmt::localtime(tr_time()));
++ auto const localtime_str = fmt::format("{:%a %b %d %T %Y%n}", *std::localtime(&now));
+
+ auto const env = std::map<std::string_view, std::string_view>{
+ { "TR_APP_VERSION"sv, SHORT_VERSION_STRING },
diff --git a/net-p2p/transmission-components/files/patch-utils_remote.cc b/net-p2p/transmission-components/files/patch-utils_remote.cc
new file mode 100644
index 000000000000..77f47c740d09
--- /dev/null
+++ b/net-p2p/transmission-components/files/patch-utils_remote.cc
@@ -0,0 +1,19 @@
+--- utils/remote.cc.orig 2025-10-15 08:53:57 UTC
++++ utils/remote.cc
+@@ -8,6 +8,7 @@
+ #include <cctype> /* isspace */
+ #include <cinttypes> // PRId64
+ #include <cerrno>
++#include <chrono>
+ #include <cmath>
+ #include <cstdio>
+ #include <cstdlib>
+@@ -900,7 +901,7 @@ static char* format_date(char* buf, size_t buflen, tim
+
+ static char* format_date(char* buf, size_t buflen, time_t now)
+ {
+- *fmt::format_to_n(buf, buflen - 1, "{:%a %b %d %T %Y}", fmt::localtime(now)).out = '\0';
++ *fmt::format_to_n(buf, buflen - 1, "{:%a %b %d %T %Y}", *std::localtime(&now)).out = '\0';
+ return buf;
+ }
+
diff --git a/net-p2p/transmission-components/files/patch-utils_show.cc b/net-p2p/transmission-components/files/patch-utils_show.cc
new file mode 100644
index 000000000000..45ba2fda2d37
--- /dev/null
+++ b/net-p2p/transmission-components/files/patch-utils_show.cc
@@ -0,0 +1,11 @@
+--- utils/show.cc.orig 2025-10-15 08:54:46 UTC
++++ utils/show.cc
+@@ -160,7 +160,7 @@ int parseCommandLine(app_opts& opts, int argc, char co
+
+ [[nodiscard]] auto toString(time_t now)
+ {
+- return now == 0 ? "Unknown" : fmt::format("{:%a %b %d %T %Y}", fmt::localtime(now));
++ return now == 0 ? "Unknown" : fmt::format("{:%a %b %d %T %Y}", *std::localtime(&now));
+ }
+
+ bool compareSecondField(std::string_view l, std::string_view r)