summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/bittorrent.scm5
-rw-r--r--gnu/packages/patches/transmission-4.0.5-fix-build.patch39
2 files changed, 42 insertions, 2 deletions
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 91c29c3af7..0d544235c1 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -87,15 +87,16 @@
 (define-public transmission
   (package
     (name "transmission")
-    (version "4.0.4")
+    (version "4.0.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/transmission/transmission"
                                   "/releases/download/" version "/transmission-"
                                   version ".tar.xz"))
+              (patches (search-patches "transmission-4.0.5-fix-build.patch"))
               (sha256
                (base32
-                "19nm7f4x3zq610da5fl63vpycj4kv07np6ldm8czpgyziwqv9xqm"))))
+                "0mv3ds3bbp1fbmdlrjinmzvk46acpafydirh7h2014j7988zys7x"))))
     (build-system cmake-build-system)
     (outputs '("out"                      ; library and command-line interface
                "gui"))                    ; graphical user interface
diff --git a/gnu/packages/patches/transmission-4.0.5-fix-build.patch b/gnu/packages/patches/transmission-4.0.5-fix-build.patch
new file mode 100644
index 0000000000..7eeb0f1921
--- /dev/null
+++ b/gnu/packages/patches/transmission-4.0.5-fix-build.patch
@@ -0,0 +1,39 @@
+Fix the build with gtkmm 4:
+
+https://github.com/transmission/transmission/issues/6392
+
+Patch copied from upstream source repository:
+
+https://github.com/transmission/transmission/commit/e116672b27b314d54514c96b1fa7aef1dee900b1
+
+From e116672b27b314d54514c96b1fa7aef1dee900b1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?C=C5=93ur?= <coeur@gmx.fr>
+Date: Sun, 17 Dec 2023 16:37:35 +0100
+Subject: [PATCH] fix: build error on  GTKMM-4 (#6393)
+
+---
+ gtk/OptionsDialog.cc | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/gtk/OptionsDialog.cc b/gtk/OptionsDialog.cc
+index 08198540c10..8c28fc76f98 100644
+--- a/gtk/OptionsDialog.cc
++++ b/gtk/OptionsDialog.cc
+@@ -338,7 +338,16 @@ void TorrentFileChooserDialog::onOpenDialogResponse(int response, Glib::RefPtr<S
+         bool const do_prompt = get_choice(std::string(ShowOptionsDialogChoice)) == "true";
+         bool const do_notify = false;
+ 
+-        auto const files = IF_GTKMM4(get_files2, get_files)();
++#if GTKMM_CHECK_VERSION(4, 0, 0)
++        auto files = std::vector<Glib::RefPtr<Gio::File>>();
++        auto files_model = get_files();
++        for (auto i = guint{ 0 }; i < files_model->get_n_items(); ++i)
++        {
++            files.push_back(gtr_ptr_dynamic_cast<Gio::File>(files_model->get_object(i)));
++        }
++#else
++        auto const files = get_files();
++#endif
+         g_assert(!files.empty());
+ 
+         /* remember this folder the next time we use this dialog */