diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/bittorrent.scm | 5 | ||||
-rw-r--r-- | gnu/packages/patches/transmission-4.0.5-fix-build.patch | 39 |
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 */ |