diff --git a/README.md b/README.md index 9f113b7..bf70eaa 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,5 @@ Transmission is a fast, easy, and free multi-platform BitTorrent client. Transmission is designed from the ground up to balance power with simplicity. We've set initial preferences so things "Just Work", while advanced features like watch directories, bad peer blocking, and the web interface can be configured with just a few clicks. When Ubuntu chose Transmission as its default BitTorrent client, one of the most-cited reasons was its easy learning curve. +This package provides the Gtk interface. diff --git a/transmission-cli.sysusers b/transmission-cli.sysusers new file mode 100644 index 0000000..b76ca3b --- /dev/null +++ b/transmission-cli.sysusers @@ -0,0 +1 @@ +u transmission - "Transmission BitTorrent Daemon" /var/lib/transmission diff --git a/transmission-cli.tmpfiles b/transmission-cli.tmpfiles new file mode 100644 index 0000000..85d5a92 --- /dev/null +++ b/transmission-cli.tmpfiles @@ -0,0 +1 @@ +d /var/lib/transmission 0750 transmission transmission diff --git a/transmission.spec b/transmission.spec index 77f5440..7ae82cb 100644 --- a/transmission.spec +++ b/transmission.spec @@ -1,6 +1,6 @@ Name: transmission Version: 4.0.6 -Release: 1mamba +Release: 2mamba Summary: Transmission is a fast, easy, and free multi-platform BitTorrent client Group: Graphical Desktop/Applications/Internet Vendor: openmamba @@ -8,19 +8,23 @@ Distribution: openmamba Packager: Silvan Calarco URL: https://transmissionbt.com/ Source: https://github.com/transmission/transmission.git/%{version}/transmission-%{version}.tar.bz2 +Source1: transmission-cli.sysusers +Source2: transmission-cli.tmpfiles Patch0: transmission-4.0.6-miniupnpc-2.2.8.patch License: GPL2 ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: libQt5Svg-devel +BuildRequires: libb64-devel BuildRequires: libcairo-devel BuildRequires: libcairomm-devel BuildRequires: libcurl-devel +BuildRequires: libdeflate-devel BuildRequires: libevent-devel BuildRequires: libgcc BuildRequires: libgdk-pixbuf-devel BuildRequires: libglib-devel BuildRequires: libglibmm-devel +BuildRequires: libglvnd-devel BuildRequires: libgraphene-devel BuildRequires: libgtk-devel BuildRequires: libgtkmm-devel @@ -35,22 +39,72 @@ BuildRequires: libsigc++-devel BuildRequires: libstdc++6-devel BuildRequires: libsystemd-devel BuildRequires: libvulkan-devel -BuildRequires: qt5-qtbase-devel +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtsvg-devel ## AUTOBUILDREQ-END +BuildRequires: libdht-devel BuildRequires: libminiupnpc-devel >= 0:2.2.8-1mamba %description Transmission is a fast, easy, and free multi-platform BitTorrent client. Transmission is designed from the ground up to balance power with simplicity. We've set initial preferences so things "Just Work", while advanced features like watch directories, bad peer blocking, and the web interface can be configured with just a few clicks. When Ubuntu chose Transmission as its default BitTorrent client, one of the most-cited reasons was its easy learning curve. +This package provides the Gtk interface. + +%package -n lib%{name}-devel +Group: Development/Libraries +Summary: Development files for %{name} + +%description -n lib%{name}-devel +This package contains libraries and header files for developing applications that use %{name}. + +%package cli +Summary: Cli interface for %{name} +Group: Applications/Communication + +%description cli +Transmission is a fast, easy, and free multi-platform BitTorrent client. +Transmission is designed from the ground up to balance power with simplicity. We've set initial preferences so things "Just Work", while advanced features like watch directories, bad peer blocking, and the web interface can be configured with just a few clicks. When Ubuntu chose Transmission as its default BitTorrent client, one of the most-cited reasons was its easy learning curve. +This package provides the UI interface. + +%package qt +Summary: Qt interface for %{name} +Group: Graphical Desktop/Applications/Internet + +%description qt +Transmission is a fast, easy, and free multi-platform BitTorrent client. +Transmission is designed from the ground up to balance power with simplicity. We've set initial preferences so things "Just Work", while advanced features like watch directories, bad peer blocking, and the web interface can be configured with just a few clicks. When Ubuntu chose Transmission as its default BitTorrent client, one of the most-cited reasons was its easy learning curve. +This package provides the Qt interface. %debug_package %prep %setup -q +#-D -T +#:<< _EOF %patch 0 -p1 %build -%cmake +#:<< _EOF +%cmake \ + -DENABLE_CLI=ON \ + -DENABLE_DAEMON=ON \ + -DENABLE_GTK=ON \ + -DENABLE_MAC=OFF \ + -DENABLE_QT=ON \ + -DREBUILD_WEB=ON \ + -DENABLE_TESTS=ON \ + -DENABLE_UTILS=ON \ + -DENABLE_UTP=ON \ + -DINSTALL_LIB=ON \ + -DUSE_SYSTEM_B64=ON \ + -DUSE_SYSTEM_DEFLATE=ON \ + -DUSE_SYSTEM_DHT=ON \ + -DUSE_SYSTEM_EVENT2=ON \ + -DUSE_SYSTEM_MINIUPNPC=ON \ + -DUSE_SYSTEM_NATPMP=ON \ + -DUSE_SYSTEM_PSL=ON \ + -DUSE_SYSTEM_UTP=OFF \ + -DWITH_CRYPTO=openssl %cmake_build @@ -58,27 +112,76 @@ Transmission is designed from the ground up to balance power with simplicity. We [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %cmake_install +install -Dm644 daemon/transmission-daemon.service \ + %{buildroot}%{_unitdir}/transmission.service +install -Dm644 %{SOURCE1} \ + %{buildroot}%{_sysusersdir}/transmission.conf +install -Dm644 %{SOURCE2} \ + %{buildroot}%{_tmpfilesdir}/transmission.conf + %find_lang %{name}-gtk +%pre cli +%sysusers_create_package transmission %{SOURCE1} +%tmpfiles_create_package transmission %{SOURCE2} +: + %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %files -f %{name}-gtk.lang %defattr(-,root,root) -%attr(755,root,root) %{_bindir}/transmission* +%{_bindir}/transmission-gtk %{_datadir}/applications/transmission-gtk.desktop -%{_datadir}/applications/transmission-qt.desktop %{_metainfodir}/transmission-gtk.metainfo.xml %dir %{_datadir}/transmission -%{_datadir}/transmission/* -%{_datadir}/icons/* -%{_mandir}/man?/* +%{_datadir}/icons/hicolor/scalable/apps/transmission*.svg +%{_datadir}/icons/hicolor/symbolic/apps/transmission-symbolic.svg +%{_mandir}/man1/transmission-gtk.1* %dir %{_docdir}/transmission %{_docdir}/transmission/* %doc AUTHORS COPYING -#NEWS README + +%files cli +%defattr(-,root,root) +%{_bindir}/transmission-cli +%{_bindir}/transmission-create +%{_bindir}/transmission-daemon +%{_bindir}/transmission-edit +%{_bindir}/transmission-remote +%{_bindir}/transmission-show +%{_unitdir}/transmission.service +%{_sysusersdir}/transmission.conf +%{_tmpfilesdir}/transmission.conf +%dir %{_datadir}/transmission/public_html +%{_datadir}/transmission/public_html/* +%{_mandir}/man1/transmission-cli.1* +%{_mandir}/man1/transmission-create.1* +%{_mandir}/man1/transmission-daemon.1* +%{_mandir}/man1/transmission-edit.1* +%{_mandir}/man1/transmission-remote.1* +%{_mandir}/man1/transmission-show.1* +%doc AUTHORS COPYING + +%files qt +%defattr(-,root,root) +%{_bindir}/transmission-qt +%{_datadir}/applications/transmission-qt.desktop +%dir %{_datadir}/transmission/translations +%{_datadir}/transmission/translations/transmission_*.qm +%{_mandir}/man1/transmission-qt.1* +#%doc AUTHORS COPYING + +%files -n lib%{name}-devel +%defattr(-,root,root) +%dir %{_includedir}/transmission +%{_includedir}/transmission/* +%{_libdir}/libtransmission.a %changelog +* Sun Aug 04 2024 Silvan Calarco 4.0.6-2mamba +- add more cmake options, provide -cli and -qt subpackages + * Wed Jun 26 2024 Silvan Calarco 4.0.6-1mamba - update to 4.0.6