]> git.pld-linux.org Git - packages/transmission.git/blame - transmission.spec
up to 4.0.4
[packages/transmission.git] / transmission.spec
CommitLineData
00900554 1#
a1d9536a 2# Conditional build:
7b5e04bd 3%bcond_without gtk # without GTK GUI
058ef471 4%bcond_with gtk4 # use GTK4 for GTK GUI
7b5e04bd 5%bcond_without qt # without Qt GUI
058ef471 6%bcond_with qt6 # use Qt6 for Qt GUI
b04b9fcb 7%bcond_without systemd # without systemd unit
45cd44dc 8
058ef471 9%define qtver 5.6
c72d551a 10
0f16bf9a 11Summary: A versatile and multi-platform BitTorrent client
f2dfe381 12Summary(hu.UTF-8): Egy sokoldalú és multiplatformos BitTorrent kliens
bb59eb4f 13Summary(pl.UTF-8): Wszechstronny i wieloplatformowy klient BitTorrenta
905dacdd 14Name: transmission
85634e91 15Version: 4.0.4
92a6b8eb 16Release: 1
0f16bf9a
PZ
17License: MIT
18Group: Applications/Communications
058ef471 19Source0: https://github.com/transmission/transmission/releases/download/%{version}/%{name}-%{version}.tar.xz
85634e91 20# Source0-md5: a9985ff897d060d40b80e763263ffaf9
9232dd57
PG
21Source1: %{name}.sysconfig
22Source2: %{name}.init
ec12ede2 23URL: http://transmissionbt.com/
058ef471
JP
24BuildRequires: cmake >= 3.12
25BuildRequires: curl-devel >= 7.28.0
9bafbf8d 26BuildRequires: gettext-tools
7b5e04bd 27%if %{with gtk}
058ef471
JP
28%if %{with gtk4}
29BuildRequires: glibmm2.68-devel >= 2.60.0
30BuildRequires: gtkmm4-devel >= 3.24.0
31%else
32BuildRequires: glibmm-devel >= 2.60.0
33BuildRequires: gtkmm3-devel >= 3.24.0
34BuildRequires: libayatana-appindicator-gtk3-devel
7b5e04bd 35%endif
058ef471
JP
36%endif
37BuildRequires: libb64-devel
92a6b8eb 38BuildRequires: libdeflate-devel >= 1.7
058ef471 39BuildRequires: libevent-devel >= 2.1.0
c72d551a 40BuildRequires: libnatpmp-devel
058ef471
JP
41BuildRequires: libpsl-devel >= 0.21.1
42BuildRequires: libstdc++-devel >= 6:5
4c544984 43BuildRequires: lsb-release
c72d551a 44BuildRequires: miniupnpc-devel >= 1.7
07b38397 45BuildRequires: openssl-devel >= 0.9.7
0f16bf9a 46BuildRequires: pkgconfig
bddc269c 47BuildRequires: rpm-build >= 4.6
058ef471
JP
48BuildRequires: rpmbuild(macros) >= 1.742
49%{?with_systemd:BuildRequires: systemd-devel}
05606945 50BuildRequires: tar >= 1:1.22
071083d3 51BuildRequires: xfsprogs-devel
05606945 52BuildRequires: xz
7b5e04bd 53%if %{with qt}
058ef471
JP
54%if %{with qt6}
55BuildRequires: Qt6Core-devel >= %{qtver}
56BuildRequires: Qt6DBus-devel >= %{qtver}
57BuildRequires: Qt6Gui-devel >= %{qtver}
58BuildRequires: Qt6Network-devel >= %{qtver}
59BuildRequires: Qt6Svg-devel >= %{qtver}
60BuildRequires: Qt6Widgets-devel >= %{qtver}
61BuildRequires: qt6-build >= %{qtver}
62BuildRequires: qt6-linguist >= %{qtver}
63%else
7b5e04bd
JP
64BuildRequires: Qt5Core-devel >= %{qtver}
65BuildRequires: Qt5DBus-devel >= %{qtver}
66BuildRequires: Qt5Gui-devel >= %{qtver}
67BuildRequires: Qt5Network-devel >= %{qtver}
058ef471 68BuildRequires: Qt5Svg-devel >= %{qtver}
7b5e04bd
JP
69BuildRequires: Qt5Widgets-devel >= %{qtver}
70BuildRequires: qt5-build >= %{qtver}
058ef471
JP
71BuildRequires: qt5-linguist >= %{qtver}
72%endif
7b5e04bd 73%endif
b4dc7e64 74BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
0f16bf9a
PZ
75
76%description
77Transmission has been built from the ground up to be a lightweight,
78yet powerful BitTorrent client. Its simple, intuitive interface is
79designed to integrate tightly with whatever computing environment you
80choose to use. Transmission strikes a balance between providing useful
81functionality without feature bloat.
82
f2dfe381 83%description -l hu.UTF-8
d8e696e8 84Transmission egy könnyűsúlyú, de mégis egy erőteljes BitTorrent
85kliens. Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
f2dfe381
ZU
86számítógépes környezetbe, amit csak választasz. A Transmission célja
87megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
88
bb59eb4f
JB
89%description -l pl.UTF-8
90Transmission został stworzony od podstaw, aby być lekkim lecz mającym
91duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
92interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
93przez użytkownika. Transmission stawia na równowagę zapewnienia
94przydatnej funkcjonalności bez nadmiaru opcji.
95
35de15cb
JP
96%package cli
97Summary: Command line implementation for BitTorrent client
98Summary(pl.UTF-8): Implementacja w wierszu poleceń dla klienta BitTorrenta
99Group: Applications/Networking
100Requires: %{name}-common = %{version}-%{release}
058ef471 101Requires: curl-libs >= 7.28.0
92a6b8eb 102Requires: libdeflate >= 1.7
058ef471
JP
103Requires: libevent >= 2.1.0
104Requires: libpsl >= 0.21.1
35de15cb
JP
105Requires: miniupnpc >= 1.7
106Requires: openssl >= 0.9.7
35de15cb
JP
107
108%description cli
109Transmission has been built from the ground up to be a lightweight,
110yet powerful BitTorrent client. Its simple, intuitive interface is
111designed to integrate tightly with whatever computing environment you
112choose to use. Transmission strikes a balance between providing useful
113functionality without feature bloat.
114
115Command line implementation for BitTorrent client.
116
117%description cli -l hu.UTF-8
118Transmission egy könnyűsúlyú, de mégis egy erőteljes BitTorrent
119kliens. Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
120számítógépes környezetbe, amit csak választasz. A Transmission célja
121megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
122
123%description cli -l pl.UTF-8
124Transmission został stworzony od podstaw, aby być lekkim lecz mającym
125duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
126interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
127przez użytkownika. Transmission stawia na równowagę zapewnienia
128przydatnej funkcjonalności bez nadmiaru opcji.
129
130Implementacja w wierszu poleceń dla klienta BitTorrenta.
131
132%package common
133Summary: Common files for Transmission BitTorrent client
134Summary(pl.UTF-8): Pliki wspólne dla klienta BitTorrenta Transmission
135Group: Applications/Networking
d42be15d 136BuildArch: noarch
35de15cb
JP
137
138%description common
139Common files for Transmission BitTorrent client.
140
141%description common -l pl.UTF-8
142Pliki wspólne dla klienta BitTorrenta Transmission.
143
144%package daemon
00900554
JB
145Summary: Daemon package for BitTorrent client
146Summary(pl.UTF-8): Pakiet demona dla klienta BitTorrenta
4c544984 147Group: Networking/Daemons
35de15cb 148Requires: %{name}-common = %{version}-%{release}
058ef471 149Requires: curl-libs >= 7.28.0
92a6b8eb 150Requires: libdeflate >= 1.7
058ef471
JP
151Requires: libevent >= 2.1.0
152Requires: libpsl >= 0.21.1
35de15cb
JP
153Requires: miniupnpc >= 1.7
154Requires: openssl >= 0.9.7
b04b9fcb 155%{?with_systemd:Requires: systemd-units >= 38}
6cdf40a0
JP
156Provides: group(transmission)
157Provides: user(transmission)
35de15cb
JP
158Obsoletes: Transmission <= 1.05
159Obsoletes: transmission < 3.00-2
160Obsoletes: transmission-init < 3.00-2
161
162%description daemon
163Transmission has been built from the ground up to be a lightweight,
164yet powerful BitTorrent client. Its simple, intuitive interface is
165designed to integrate tightly with whatever computing environment you
166choose to use. Transmission strikes a balance between providing useful
167functionality without feature bloat.
9232dd57 168
00900554
JB
169Daemon package for BitTorrent client.
170
35de15cb
JP
171%description daemon -l hu.UTF-8
172Transmission egy könnyűsúlyú, de mégis egy erőteljes BitTorrent
173kliens. Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
174számítógépes környezetbe, amit csak választasz. A Transmission célja
175megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
176
177%description daemon -l pl.UTF-8
178Transmission został stworzony od podstaw, aby być lekkim lecz mającym
179duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
180interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
181przez użytkownika. Transmission stawia na równowagę zapewnienia
182przydatnej funkcjonalności bez nadmiaru opcji.
183
00900554 184Pakiet demona dla klienta BitTorrenta.
9232dd57 185
f237c99d
KK
186%package gui
187Summary: A versatile and multi-platform BitTorrent client
188Summary(pl.UTF-8): Wszechstronny i wieloplatformowy klient BitTorrenta
4c544984 189Group: X11/Applications/Networking
a29d91d7 190Requires(post,postun): gtk-update-icon-cache
4c544984 191Requires(post,postun): hicolor-icon-theme
35de15cb 192Requires: %{name}-common = %{version}-%{release}
058ef471
JP
193Requires: curl-libs >= 7.28.0
194%if %{with gtk4}
195Requires: glibmm2.68 >= 2.60.0
196Requires: gtkmm4 >= 3.24.0
197%else
198Requires: glibmm >= 2.60.0
199Requires: gtkmm3 >= 3.24.0
200%endif
c72d551a 201Requires: libcanberra-gtk3
92a6b8eb 202Requires: libdeflate >= 1.7
058ef471
JP
203Requires: libevent >= 2.1.0
204Requires: libpsl >= 0.21.1
35de15cb
JP
205Requires: miniupnpc >= 1.7
206Requires: openssl >= 0.9.7
f237c99d
KK
207
208%description gui
209Transmission has been built from the ground up to be a lightweight,
210yet powerful BitTorrent client. Its simple, intuitive interface is
211designed to integrate tightly with whatever computing environment you
212choose to use. Transmission strikes a balance between providing useful
213functionality without feature bloat.
214
215%description gui -l hu.UTF-8
216Transmission egy könnyűsúlyú de mégis egy erőteljes BitTorrent kliens.
217Egyszerű, intuitív felülete szorosan illeszkedik bármilyen
218számítógépes környezetbe, amit csak választasz. A Transmission célja
219megtalálni a használható funkcionalitást lehetőségek áradata nélkül.
220
221%description gui -l pl.UTF-8
222Transmission został stworzony od podstaw, aby być lekkim lecz mającym
223duże możliwości klientem BitTorrenta. Jego prosty, intuicyjny
224interfejs jest zaprojektowany spójnie z dowolnym środowiskiem wybranym
225przez użytkownika. Transmission stawia na równowagę zapewnienia
226przydatnej funkcjonalności bez nadmiaru opcji.
227
820ff2df 228%package gui-qt
00900554
JB
229Summary: A GUI to Transmission based on Qt 5
230Summary(pl.UTF-8): Graficzny interfejs do Transmission oparty na Qt 5
4c544984 231Group: X11/Applications/Networking
35de15cb 232Requires: %{name}-common = %{version}-%{release}
058ef471
JP
233%if %{with qt6}
234Requires: Qt6Core >= %{qtver}
235Requires: Qt6DBus >= %{qtver}
236Requires: Qt6Gui >= %{qtver}
237Requires: Qt6Network >= %{qtver}
238Requires: Qt6Svg >= %{qtver}
239Requires: Qt6Widgets >= %{qtver}
240%else
c72d551a
JP
241Requires: Qt5Core >= %{qtver}
242Requires: Qt5DBus >= %{qtver}
243Requires: Qt5Gui >= %{qtver}
244Requires: Qt5Network >= %{qtver}
058ef471 245Requires: Qt5Svg >= %{qtver}
c72d551a 246Requires: Qt5Widgets >= %{qtver}
058ef471
JP
247%endif
248Requires: curl-libs >= 7.28.0
c72d551a 249Requires: libcanberra-gtk3
92a6b8eb 250Requires: libdeflate >= 1.7
058ef471
JP
251Requires: libevent >= 2.1.0
252Requires: libpsl >= 0.21.1
35de15cb
JP
253Requires: miniupnpc >= 1.7
254Requires: openssl >= 0.9.7
820ff2df
ZU
255
256%description gui-qt
00900554
JB
257A GUI to Transmission based on Qt 5.
258
259%description gui-qt -l pl.UTF-8
260Graficzny interfejs do Transmission oparty na Qt 5.
820ff2df 261
35de15cb
JP
262%package utils
263Summary: Utilities for Transmission BitTorrent client
264Summary(pl.UTF-8): Narzędzia dla klienta BitTorrenta Transmission
265Group: Applications/Networking
266
267%description utils
268Utilities for Transmission BitTorrent client.
269
270%description utils -l pl.UTF-8
271Narzędzia dla klienta BitTorrenta Transmission.
272
0f16bf9a 273%prep
8f94c0ac 274%setup -q
0f16bf9a
PZ
275
276%build
058ef471
JP
277install -d build
278cd build
279%cmake .. \
280 -DENABLE_CLI:BOOL=ON \
058ef471
JP
281 %{cmake_on_off gtk ENABLE_GTK} \
282 -DUSE_GTK_VERSION=%{?with_gtk4:4}%{!?with_gtk4:3} \
283 %{cmake_on_off qt ENABLE_QT} \
284 -DUSE_QT_VERSION=%{?with_qt6:6}%{!?with_qt6:5} \
92a6b8eb 285 %{cmake_on_off systemd ENABLE_SYSTEMD}
0f16bf9a 286
820ff2df
ZU
287%{__make}
288
0f16bf9a
PZ
289%install
290rm -rf $RPM_BUILD_ROOT
4c544984 291install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
292 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
b04b9fcb
JP
293 $RPM_BUILD_ROOT/var/lib/%{name} \
294 %{?with_systemd:$RPM_BUILD_ROOT%{systemdunitdir}}
0f16bf9a 295
058ef471 296%{__make} -C build install \
0f16bf9a
PZ
297 DESTDIR=$RPM_BUILD_ROOT
298
9232dd57 299install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
61330340 300install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
9232dd57 301
b04b9fcb
JP
302%if %{with systemd}
303cp -p daemon/transmission-daemon.service $RPM_BUILD_ROOT%{systemdunitdir}
304%endif
305
7b5e04bd 306%if %{with gtk}
96d8dcbd 307%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ceb,jbo,pt_PT}
65730317
ZU
308
309%find_lang %{name} --all-name --with-gnome
7b5e04bd 310%endif
ec12ede2 311
058ef471
JP
312%if %{with qt}
313%find_lang %{name} --with-qm -o %{name}-qt.lang
314%endif
315
ec12ede2 316# copy of GPLv2 not needed
058ef471 317%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/public_html/transmission-app.js.LICENSE.txt
ec12ede2 318
0f16bf9a
PZ
319%clean
320rm -rf $RPM_BUILD_ROOT
321
6cdf40a0
JP
322%triggerpostun daemon -- transmission < 3.00-2
323if [ -d /var/lib/transmission ] ; then
324 chown -R transmission:transmission /var/lib/transmission || :
325fi
326
327%pre daemon
328%groupadd -g 339 transmission
329%useradd -u 339 -r -d /var/lib/transmission -s /bin/false -c "Transmission user" -g transmission transmission
330
35de15cb 331%post daemon
9232dd57
PG
332/sbin/chkconfig --add transmission
333%service transmission restart
b04b9fcb 334%{?with_systemd:%systemd_post transmission-daemon.service}
9232dd57 335
35de15cb 336%preun daemon
9232dd57
PG
337if [ "$1" = "0" ]; then
338 %service transmission stop
339 /sbin/chkconfig --del transmission
340fi
b04b9fcb
JP
341%{?with_systemd:%systemd_preun transmission-daemon.service}
342
343%postun daemon
6cdf40a0
JP
344if [ "$1" = "0" ]; then
345 %userremove transmission
346 %groupremove transmission
347fi
b04b9fcb 348%{?with_systemd:%systemd_reload}
9232dd57 349
f237c99d 350%post gui
0f16bf9a 351%update_desktop_database_post
e65cafbb 352%update_icon_cache hicolor
0f16bf9a 353
f237c99d 354%postun gui
0f16bf9a 355%update_desktop_database_postun
e65cafbb 356%update_icon_cache hicolor
0f16bf9a 357
35de15cb 358%files cli
0f16bf9a 359%defattr(644,root,root,755)
fccbf9d7 360%attr(755,root,root) %{_bindir}/transmission-cli
fccbf9d7 361%{_mandir}/man1/transmission-cli.1*
35de15cb
JP
362
363%files common
364%defattr(644,root,root,755)
058ef471 365%doc AUTHORS README.md
147f3fba 366%dir %{_datadir}/%{name}
058ef471 367%{_datadir}/%{name}/public_html
f237c99d 368
35de15cb 369%files daemon
9232dd57 370%defattr(644,root,root,755)
4c544984 371%attr(751,root,daemon) %dir %{_sysconfdir}/%{name}
9232dd57 372%attr(640,root,daemon) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
61330340 373%attr(754,root,root) /etc/rc.d/init.d/%{name}
35de15cb 374%attr(755,root,root) %{_bindir}/transmission-daemon
b04b9fcb 375%{?with_systemd:%{systemdunitdir}/transmission-daemon.service}
35de15cb 376%{_mandir}/man1/transmission-daemon.1*
6cdf40a0 377%attr(750,transmission,transmission) %dir /var/lib/%{name}
9232dd57 378
7b5e04bd 379%if %{with gtk}
b911b3bd 380%files gui -f %{name}.lang
c1ca1d17 381%defattr(644,root,root,755)
fccbf9d7
CM
382%attr(755,root,root) %{_bindir}/transmission-gtk
383%{_mandir}/man1/transmission-gtk.1*
384%{_desktopdir}/transmission-gtk.desktop
058ef471
JP
385%{_iconsdir}/hicolor/scalable/apps/transmission.svg
386%{_iconsdir}/hicolor/scalable/apps/transmission-devel.svg
b8fbc1de 387%{_iconsdir}/hicolor/symbolic/apps/transmission-symbolic.svg
058ef471 388%{_datadir}/metainfo/transmission-gtk.metainfo.xml
7b5e04bd 389%endif
820ff2df 390
7b5e04bd 391%if %{with qt}
058ef471 392%files gui-qt -f %{name}-qt.lang
820ff2df 393%defattr(644,root,root,755)
67a32c48 394%attr(755,root,root) %{_bindir}/transmission-qt
6f24f938 395%dir %{_datadir}/%{name}/translations
67a32c48 396%{_desktopdir}/transmission-qt.desktop
058ef471 397%{_mandir}/man1/transmission-qt.1*
7b5e04bd 398%endif
35de15cb
JP
399
400%files utils
401%defattr(644,root,root,755)
402%attr(755,root,root) %{_bindir}/transmission-create
403%attr(755,root,root) %{_bindir}/transmission-edit
404%attr(755,root,root) %{_bindir}/transmission-remote
405%attr(755,root,root) %{_bindir}/transmission-show
406%{_mandir}/man1/transmission-create.1*
407%{_mandir}/man1/transmission-edit.1*
408%{_mandir}/man1/transmission-remote.1*
409%{_mandir}/man1/transmission-show.1*
This page took 0.257664 seconds and 4 git commands to generate.