~ruther/guix-local

d263c49919235b81b318c45c99aa189be04c5f28 — Leo Famulari 2 years ago ceb6987
gnu: Transmission: Update to 4.0.5.

* gnu/packages/bittorrent.scm (transmission): Update to 4.0.5.
[source]: Use 'transmission-4.0.5-fix-build.patch'.
* gnu/packages/patches/transmission-4.0.5-fix-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: I8e9486dca07f01628e7886e7ac5757d511056cb7
M gnu/local.mk => gnu/local.mk +1 -0
@@ 2059,6 2059,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/tofi-32bit-compat.patch			\
  %D%/packages/patches/tpetra-remove-duplicate-using.patch	\
  %D%/packages/patches/transcode-ffmpeg.patch	\
  %D%/packages/patches/transmission-4.0.5-fix-build.patch	\
  %D%/packages/patches/trytond-add-egg-modules-to-path.patch	\
  %D%/packages/patches/trytond-add-guix_trytond_path.patch	\
  %D%/packages/patches/ttf2eot-cstddef.patch			\

M gnu/packages/bittorrent.scm => gnu/packages/bittorrent.scm +3 -2
@@ 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

A gnu/packages/patches/transmission-4.0.5-fix-build.patch => gnu/packages/patches/transmission-4.0.5-fix-build.patch +39 -0
@@ 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 */