public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/transmission] epel10: 4.0.0, move to qt6.
@ 2026-07-20 20:37 Gwyn Ciesla
  0 siblings, 0 replies; only message in thread
From: Gwyn Ciesla @ 2026-07-20 20:37 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/transmission
Branch : epel10
Commit : 2df765fc143bd188c67bcbf324f5e793395b766b
Author : Gwyn Ciesla <gwync@protonmail.com>
Date   : 2023-02-08T16:53:14-06:00
Stats  : +24/-197 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/transmission/c/2df765fc143bd188c67bcbf324f5e793395b766b?branch=epel10

Log:
4.0.0, move to qt6.

---
diff --git a/.gitignore b/.gitignore
index b6ad07d..75a6f39 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,3 +26,4 @@ transmission-2.04.tar.xz
 /transmission-2.93.tar.xz
 /transmission-2.94.tar.xz
 /transmission-3.00.tar.xz
+/transmission-4.0.0.tar.xz

diff --git a/0001-gtk-use-com.transmissionbt.Transmission.-D-Bus-names.patch b/0001-gtk-use-com.transmissionbt.Transmission.-D-Bus-names.patch
deleted file mode 100644
index f54c69d..0000000
--- a/0001-gtk-use-com.transmissionbt.Transmission.-D-Bus-names.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gtk/main.c~	2020-05-22 06:04:23.000000000 -0500
-+++ gtk/main.c	2020-07-02 08:50:35.087089387 -0500
-@@ -675,7 +675,7 @@
- 
-     /* init the application for the specified config dir */
-     stat(cbdata.config_dir, &sb);
--    application_id = g_strdup_printf("com.transmissionbt.transmission_%lu_%lu", (unsigned long)sb.st_dev,
-+    application_id = g_strdup_printf("com.transmissionbt.Transmission._%lu_%lu", (unsigned long)sb.st_dev,
-         (unsigned long)sb.st_ino);
-     app = gtk_application_new(application_id, G_APPLICATION_HANDLES_OPEN);
-     g_signal_connect(app, "open", G_CALLBACK(on_open), &cbdata);

diff --git a/openssl3-compat.patch b/openssl3-compat.patch
deleted file mode 100644
index 247d56e..0000000
--- a/openssl3-compat.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-Description: Compatibility with OpenSSL 3
- We rely on RC4 because of the torrent protocol we're implementing, but this
- is no longer available in the default provider.
-Author: Steve Langasek <steve.langasek@ubuntu.com>
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/1946215
-Last-Update: 2021-12-13
-Forwarded: no
-
-Index: transmission-3.00/libtransmission/crypto-utils-openssl.c
-===================================================================
---- libtransmission/crypto-utils-openssl.c
-+++ libtransmission/crypto-utils-openssl.c
-@@ -20,6 +20,9 @@
- #include <openssl/rand.h>
- #include <openssl/ssl.h>
- #include <openssl/x509.h>
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+#include <openssl/provider.h>
-+#endif
- 
- #include "transmission.h"
- #include "crypto-utils.h"
-@@ -182,46 +185,86 @@
- 
- #endif
- 
-+typedef struct tr_rc4_ctx {
-+    EVP_CIPHER_CTX *cipher_ctx;
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+    OSSL_LIB_CTX *lib_ctx;
-+#endif
-+} tr_rc4_ctx;
-+
- tr_rc4_ctx_t tr_rc4_new(void)
- {
--    EVP_CIPHER_CTX* handle = EVP_CIPHER_CTX_new();
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+    OSSL_PROVIDER *legacy_provider = NULL;
-+    OSSL_PROVIDER *default_provider = NULL;
-+#endif
-+    const EVP_CIPHER *cipher;
- 
--    if (check_result(EVP_CipherInit_ex(handle, EVP_rc4(), NULL, NULL, NULL, -1)))
-+    tr_rc4_ctx *handle = malloc(sizeof(tr_rc4_ctx));
-+
-+    handle->cipher_ctx = EVP_CIPHER_CTX_new();
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+    handle->lib_ctx = OSSL_LIB_CTX_new();
-+    TR_ASSERT(handle->lib_ctx);
-+    legacy_provider = OSSL_PROVIDER_load(handle->lib_ctx, "legacy");
-+    TR_ASSERT(legacy_provider);
-+    default_provider = OSSL_PROVIDER_load(handle->lib_ctx, "default");
-+    TR_ASSERT(default_provider);
-+    
-+    cipher = EVP_CIPHER_fetch(handle->lib_ctx, "RC4", NULL);
-+#else
-+    cipher = EVP_rc4();
-+#endif
-+
-+    if (check_result(EVP_CipherInit_ex(handle->cipher_ctx, cipher, NULL, NULL,
-+                                       NULL, -1)))
-     {
-         return handle;
-     }
- 
--    EVP_CIPHER_CTX_free(handle);
-+    EVP_CIPHER_CTX_free(handle->cipher_ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+    OSSL_LIB_CTX_free(handle->lib_ctx);
-+#endif
-     return NULL;
- }
- 
--void tr_rc4_free(tr_rc4_ctx_t handle)
-+void tr_rc4_free(tr_rc4_ctx_t h)
- {
--    if (handle == NULL)
-+    if (h == NULL)
-     {
-         return;
-     }
- 
--    EVP_CIPHER_CTX_free(handle);
-+    tr_rc4_ctx *handle = (tr_rc4_ctx *)h;
-+
-+    EVP_CIPHER_CTX_free(handle->cipher_ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+    OSSL_LIB_CTX_free(handle->lib_ctx);
-+#endif
-+    free(handle);
- }
- 
--void tr_rc4_set_key(tr_rc4_ctx_t handle, uint8_t const* key, size_t key_length)
-+void tr_rc4_set_key(tr_rc4_ctx_t h, uint8_t const* key, size_t key_length)
- {
--    TR_ASSERT(handle != NULL);
-+    TR_ASSERT(h != NULL);
-     TR_ASSERT(key != NULL);
- 
--    if (!check_result(EVP_CIPHER_CTX_set_key_length(handle, key_length)))
-+    tr_rc4_ctx *handle = (tr_rc4_ctx *)h;
-+    if (!check_result(EVP_CIPHER_CTX_set_key_length(handle->cipher_ctx, key_length)))
-     {
-         return;
-     }
- 
--    check_result(EVP_CipherInit_ex(handle, NULL, NULL, key, NULL, -1));
-+    check_result(EVP_CipherInit_ex(handle->cipher_ctx, NULL, NULL, key, NULL, -1));
- }
- 
--void tr_rc4_process(tr_rc4_ctx_t handle, void const* input, void* output, size_t length)
-+void tr_rc4_process(tr_rc4_ctx_t h, void const* input, void* output, size_t length)
- {
--    TR_ASSERT(handle != NULL);
-+    TR_ASSERT(h != NULL);
- 
-+    tr_rc4_ctx *handle = (tr_rc4_ctx *)h;
-     if (length == 0)
-     {
-         return;
-@@ -232,7 +275,7 @@
- 
-     int output_length;
- 
--    check_result(EVP_CipherUpdate(handle, output, &output_length, input, length));
-+    check_result(EVP_CipherUpdate(handle->cipher_ctx, output, &output_length, input, length));
- }
- 
- /***

diff --git a/sources b/sources
index 55d0db4..83b59f4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (transmission-3.00.tar.xz) = eeaf7fe46797326190008776a7fa641b6341c806b0f1684c2e7326c1284832a320440013e42a37acda9fd0ee5dca695f215d6263c8acb39188c5d9a836104a61
+SHA512 (transmission-4.0.0.tar.xz) = 79945af73fe7226dddadba7cc039516f2f878e05a9cf6c6d799b636b8298e2b2fa25c4426789bd41ef4d2b00d75a3c1c115c1676b4d2a9f09a1526456dceb3f8

diff --git a/transmission-fdlimits.patch b/transmission-fdlimits.patch
deleted file mode 100644
index dead58d..0000000
--- a/transmission-fdlimits.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- libtransmission/fdlimit.c~	2020-05-22 06:04:23.000000000 -0500
-+++ libtransmission/fdlimit.c	2020-07-02 08:53:15.170954677 -0500
-@@ -390,26 +390,6 @@
-         fileset_construct(&i->fileset, FILE_CACHE_SIZE);
-         session->fdInfo = i;
- 
--#ifndef _WIN32
--
--        /* set the open-file limit to the largest safe size wrt FD_SETSIZE */
--        struct rlimit limit;
--
--        if (getrlimit(RLIMIT_NOFILE, &limit) == 0)
--        {
--            int const old_limit = (int)limit.rlim_cur;
--            int const new_limit = MIN(limit.rlim_max, FD_SETSIZE);
--
--            if (new_limit != old_limit)
--            {
--                limit.rlim_cur = new_limit;
--                setrlimit(RLIMIT_NOFILE, &limit);
--                getrlimit(RLIMIT_NOFILE, &limit);
--                tr_logAddInfo("Changed open file limit from %d to %d", old_limit, (int)limit.rlim_cur);
--            }
--        }
--
--#endif
-     }
- }
- 

diff --git a/transmission.spec b/transmission.spec
index 255176e..28e8b27 100644
--- a/transmission.spec
+++ b/transmission.spec
@@ -1,26 +1,24 @@
 %global _hardened_build 1
 
 Name:           transmission
-Version:        3.00
-Release:        15%{?dist}
+Version:        4.0.0
+Release:        1%{?dist}
 Summary:        A lightweight GTK+ BitTorrent client
 # See COPYING. This licensing situation is... special.
 License:        MIT and GPLv2
 URL:            http://www.transmissionbt.com
 
-Source0:        https://github.com/transmission/transmission-releases/raw/master/transmission-%{version}.tar.xz
+Source0:        https://github.com/transmission/transmission/releases/download/%{version}/transmission-%{version}.tar.xz
 # https://bugzilla.redhat.com/show_bug.cgi?id=1221292
 Source1:        https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/transmission-symbolic.svg
-Patch1:		transmission-fdlimits.patch
-# Fix the DBus name to match the app name for flatpak builds
-# https://github.com/transmission/transmission/pull/847
-Patch2:         0001-gtk-use-com.transmissionbt.Transmission.-D-Bus-names.patch
-Patch3:         openssl3-compat.patch
 
-BuildRequires: make
+BuildRequires:  make
+BuildRequires:  cmake
 BuildRequires:  openssl-devel
 BuildRequires:  glib2-devel >= 2.32.0
-BuildRequires:  gtk3-devel >= 3.2.0
+# gtk4 works on f37 but not on f38. Not sure why yet. -Gwyn
+BuildRequires:  gtk3-devel
+BuildRequires:  gtkmm3.0-devel
 BuildRequires:  libnotify-devel >= 0.4.3
 BuildRequires:  libcanberra-devel
 BuildRequires:  libcurl-devel >= 7.16.3
@@ -28,7 +26,9 @@ BuildRequires:  dbus-glib-devel >= 0.70
 BuildRequires:  libevent-devel >= 2.0.10
 BuildRequires:  desktop-file-utils
 BuildRequires:  gettext intltool
-BuildRequires:  qt5-qtbase-devel
+BuildRequires:  qt6-qtbase-devel
+BuildRequires:  qt6-qtsvg-devel
+BuildRequires:  qt6-qttools-devel
 BuildRequires:  systemd-devel
 BuildRequires:  libnatpmp-devel >= 20150609-1
 BuildRequires:  libappindicator-gtk3-devel
@@ -101,25 +101,19 @@ mv AUTHORS.new AUTHORS
 CXXFLAGS="%{optflags} -fPIC"
 CFLAGS="%{optflags} -fPIC"
 
-%configure --disable-static --enable-utp --enable-daemon --with-systemd-daemon \
-           --enable-nls --enable-cli --enable-daemon \
-           --enable-external-natpmp
-%make_build
-
-pushd qt
-	%{qmake_qt5}  qtr.pro
-	%make_build
-popd
+%cmake -DENABLE_CLI=ON -DENABLE_QT=ON -DUSE_GTK_VERSION=3
+%cmake_build
 
 %check
-%make_build check
+%ctest
 
 %install
 mkdir -p %{buildroot}%{_unitdir}
 install -m0644 daemon/transmission-daemon.service  %{buildroot}%{_unitdir}/
 mkdir -p %{buildroot}%{_sharedstatedir}/transmission
-%make_install
-%make_install INSTALL_ROOT=%{buildroot}%{_prefix} -C qt
+%cmake_install
+
+mv -f %{buildroot}/usr/share/doc/transmission %{buildroot}/usr/share/doc/transmission-common
 
 # Install the symbolic icon
 mkdir -p  %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
@@ -145,13 +139,12 @@ desktop-file-install \
 
 %files common
 %license COPYING
-%doc AUTHORS NEWS.md README.md
+%doc COPYING AUTHORS README.md news/ rpc-spec.md send-email-when-torrent-done.sh
 %{_bindir}/transmission-remote
 %{_bindir}/transmission-create
 %{_bindir}/transmission-edit
 %{_bindir}/transmission-show
 %{_datadir}/transmission/
-%{_datadir}/pixmaps/*
 %{_datadir}/icons/hicolor/*/apps/transmission.*
 %{_datadir}/icons/hicolor/symbolic/apps/transmission-symbolic.svg
 %{_datadir}/icons/hicolor/scalable/apps/transmission-devel.svg
@@ -172,7 +165,7 @@ desktop-file-install \
 
 %files gtk -f %{name}-gtk.lang
 %{_bindir}/transmission-gtk
-%{_datadir}/appdata/transmission-gtk.appdata.xml
+%{_datadir}/metainfo/transmission-gtk.metainfo.xml
 %{_datadir}/applications/transmission-gtk.desktop
 %doc %{_mandir}/man1/transmission-gtk.*
 
@@ -182,6 +175,9 @@ desktop-file-install \
 %doc %{_mandir}/man1/transmission-qt.*
 
 %changelog
+* Wed Feb 08 2023 Gwyn Ciesla <gwync@protonmail.com> - 4.0.0-1
+- 4.0.0, moved to qt6.
+
 * Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.00-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-20 20:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-20 20:37 [rpms/transmission] epel10: 4.0.0, move to qt6 Gwyn Ciesla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox