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