]> git.pld-linux.org Git - packages/xpra.git/blame - xpra.spec
- release 3 (by relup.sh)
[packages/xpra.git] / xpra.spec
CommitLineData
f1a9b771 1# TODO
ed17098a 2# - test and finish systemd integration
29951ed6 3# - subpackages for client/server, see http://xpra.org/dev.html
c4d2001e
JB
4# - nvenc (4,5,6)/cuda support (on bcond)
5# - xvid? (checks for xvid.pc)
4d273b65
ER
6#
7# Conditional build:
6fb59b95
JB
8%bcond_without client # client part
9%bcond_without server # server part
10%bcond_without sound # (gstreamer) sound support
11%bcond_without clipboard # clipboard support
c4d2001e 12%bcond_without swscale # swscale colorspace conversion support
c4d2001e 13%bcond_without avcodec # avcodec decoding
6fb59b95 14%bcond_without opengl # OpenGL support
6fb59b95
JB
15%bcond_without vpx # VPX/WebM support
16%bcond_without webp # WebP support
17%bcond_without x264 # x264 encoding
eeadf629
JR
18%bcond_without x265 # x265 encoding
19
c790771b 20%ifarch i386 i486 x32
eeadf629
JR
21%undefine with_x265
22%endif
4d273b65 23
160ef313 24Summary: Xpra gives you "persistent remote applications" for X
5a5f28f1 25Summary(pl.UTF-8): Xpra - "stałe zdalne aplikacje" dla X
160ef313 26Name: xpra
ed17098a 27Version: 2.2.6
95cde624 28Release: 3
160ef313 29License: GPL v2+
33952dff 30Group: X11/Applications/Networking
f1a9b771 31Source0: http://xpra.org/src/%{name}-%{version}.tar.xz
ed17098a 32# Source0-md5: 22c032c29be6d22fa7e21405792a1372
ee1187c7 33Patch0: setup-cc-ccache.patch
160ef313 34URL: http://xpra.org/
5a5f28f1 35BuildRequires: OpenGL-devel
c4d2001e 36# libavcodec >= 56 libswscale
29951ed6 37BuildRequires: ffmpeg-devel
5a5f28f1 38BuildRequires: gtk+2-devel >= 2.0
ed17098a 39BuildRequires: gtk+3-devel
5b5972d7 40BuildRequires: libvpx-devel >= 1.4
62cb8620 41BuildRequires: libwebp-devel >= 0.3
c4d2001e 42%{?with_x264:BuildRequires: libx264-devel}
eeadf629 43%{?with_x265:BuildRequires: libx265-devel}
c4d2001e 44BuildRequires: libyuv-devel
29951ed6 45BuildRequires: pkgconfig
5b5972d7 46BuildRequires: python-Cython >= 0.19.0
62cb8620 47BuildRequires: python-devel >= 1:2.6
c4d2001e 48BuildRequires: python-pycairo-devel
5a5f28f1
JB
49BuildRequires: python-pygobject-devel >= 2.0
50BuildRequires: python-pygtk-devel >= 2:2.0
5b5972d7 51BuildRequires: python-setuptools
160ef313 52BuildRequires: rpm-pythonprov
5b5972d7 53BuildRequires: sed >= 4.0
f1a9b771 54BuildRequires: tar >= 1:1.22
c4d2001e 55BuildRequires: xorg-lib-libX11-devel
5b5972d7
JB
56BuildRequires: xorg-lib-libXcomposite-devel
57BuildRequires: xorg-lib-libXdamage-devel
c4d2001e
JB
58BuildRequires: xorg-lib-libXext-devel
59BuildRequires: xorg-lib-libXfixes-devel
60BuildRequires: xorg-lib-libXrandr-devel
29951ed6 61BuildRequires: xorg-lib-libXtst-devel
c4d2001e 62BuildRequires: xorg-lib-libxkbfile-devel
f1a9b771 63BuildRequires: xz
5b5972d7 64Requires: libvpx >= 1.4
62cb8620 65Requires: libwebp >= 0.3
5a5f28f1 66Requires: python-pygtk-gtk >= 2:2.0
33952dff
ER
67Requires: xorg-app-setxkbmap
68Requires: xorg-app-xauth
69Requires: xorg-app-xmodmap
282f26dd 70Requires: xorg-xserver-Xvfb
5b5972d7 71Suggests: python-PIL
5c84ecfd 72Suggests: python-PyOpenGL
5b5972d7 73Suggests: python-numpy
5c84ecfd 74Suggests: python-pygtkglext
160ef313
ER
75BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76
48f224e5
ER
77# currently lib, not %{_lib} (see cups.spec)
78%define cupsdir /usr/lib/cups/backend
c4d2001e
JB
79# xpra/x11/bindings/randr_bindings.c:... error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
80%define specflags -fno-strict-aliasing
48f224e5 81
160ef313
ER
82%description
83Xpra gives you "persistent remote applications" for X. That is, unlike
84normal X applications, applications run with xpra are "persistent" --
85you can run them remotely, and they don't die if your connection does.
86You can detach them, and reattach them later -- even from another
87computer -- with no loss of state. And unlike VNC or RDP, xpra is for
88remote applications, not remote desktops -- individual applications
89show up as individual windows on your screen, managed by your window
90manager. They're not trapped in a box.
91
92So basically it's screen for remote X apps.
93
134fd9a0 94%description -l pl.UTF-8
5a5f28f1
JB
95Xpra daje "stałe zdalne aplikacje" dla serwera X, które w
96przeciwieństwie do zwykłych X-owych aplikacji, uruchamiane są z xprą
97jako niezamykające. Można je uruchomić zdalnie i one nie zostaną
98zamknięte, gdy połączenie zostanie przerwane. Można je odłączyć i
134fd9a0 99podłączyć z powrotem później, również z innego komputera, bez straty
5a5f28f1
JB
100stanu. W odróżnieniu od VNC czy RDP, xpra jest dla zdalnych aplikacji,
101a nie zdalnych pulpitów - pojedyncze aplikacje pokazują się jako
102samodzielne okno na lokalnym ekranie, zarządzane przez lokalnego
103zarządcę okien.
134fd9a0 104
5a5f28f1 105W uproszczeniu xpra to "screen" dla zdalnych aplikacji X-owych.
134fd9a0 106
48f224e5
ER
107%package -n cups-backend-xpra
108Summary: Xpra backend for CUPS
109Summary(pl.UTF-8): Backend Xpra dla CUPS-a
110Group: Applications/Printing
111Requires: %{name} = %{version}-%{release}
112Requires: cups
113
114%description -n cups-backend-xpra
115Xpra backend for CUPS.
116
117%description -n cups-backend-xpra -l pl.UTF-8
118Backend Xpra dla CUPS-a.
119
160ef313 120%prep
f1a9b771 121%setup -q
ee1187c7 122%patch0 -p1
160ef313 123
ed17098a
JR
124%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' cups/xpraforwarder $(grep -l '/usr/bin/env python' -r xpra)
125%{__sed} -i -e 's,"/bin/udev_product_version","%{_bindir}/udev_product_version",' udev/rules.d/71-xpra-virtual-pointer.rules
5b5972d7 126
160ef313
ER
127%build
128CC="%{__cc}" \
129CFLAGS="%{rpmcflags}" \
4d273b65 130%{__python} setup.py build \
c4d2001e
JB
131 --with-PIC \
132 --with-Xdummy \
4d273b65
ER
133 %{__with_without client} \
134 %{__with_without clipboard} \
c4d2001e
JB
135 %{__with_without swscale csc_swscale} \
136 --with%{!?debug:out}-debug \
137 %{__with_without avcodec dec_avcodec2} \
ed17098a 138 %{__with_without ffmpeg enc_ffmpeg} \
4d273b65 139 %{__with_without x264 enc_x264} \
eeadf629 140 %{__with_without x265 enc_x265} \
ed17098a
JR
141 --without-gtk2 \
142 --with-gtk3 \
c4d2001e
JB
143 %{__with_without opengl} \
144 %{__with_without server} \
145 %{__with_without server shadow} \
146 %{__with_without sound} \
ed17098a 147 --without-strict \
c4d2001e 148 %{__with_without vpx} \
4d273b65 149 --with-warn \
c4d2001e 150 %{__with_without webp} \
4d273b65 151 --with-x11 \
4d273b65 152 %{nil}
160ef313
ER
153
154%install
155rm -rf $RPM_BUILD_ROOT
156%{__python} setup.py install \
157 --skip-build \
6a271dcc
JR
158 --prefix=%{_prefix} \
159 --install-purelib=%{py_sitescriptdir} \
160 --install-platlib=%{py_sitedir} \
160ef313
ER
161 --optimize=2 \
162 --root=$RPM_BUILD_ROOT
163
160ef313 164%{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/COPYING
5a5f28f1 165%{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/README
160ef313 166
dbf2afa5
JR
167install -d $RPM_BUILD_ROOT/lib/udev/rules.d
168%{__mv} $RPM_BUILD_ROOT{%{_prefix},}/lib/udev/rules.d/71-xpra-virtual-pointer.rules
169
160ef313
ER
170%py_postclean
171
172%clean
173rm -rf $RPM_BUILD_ROOT
174
175%files
176%defattr(644,root,root,755)
5a5f28f1 177%doc NEWS README
160ef313
ER
178%dir %{_sysconfdir}/%{name}
179%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xorg.conf
180%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xpra.conf
ed17098a
JR
181%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xorg-uinput.conf
182%dir %{_sysconfdir}/%{name}/conf.d
183%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/05_features.conf
184%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/10_network.conf
185%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/12_ssl.conf
186%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/15_file_transfers.conf
187%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/16_printing.conf
188%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/20_sound.conf
189%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/30_picture.conf
190%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/35_webcam.conf
191%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/40_client.conf
192%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/42_client_keyboard.conf
193%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/50_server_network.conf
194%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/55_server_x11.conf
195%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/60_server.conf
196%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/65_proxy.conf
197%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xpra
198%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/90-xpra-virtual.conf
199%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/xpra
200/etc/dbus-1/system.d/xpra.conf
201%{systemdunitdir}/xpra.service
202%{systemdunitdir}/xpra.socket
203/usr/lib/sysusers.d/xpra.conf
dbf2afa5 204/lib/udev/rules.d/71-xpra-virtual-pointer.rules
ed17098a 205%attr(755,root,root) %{_bindir}/udev_product_version
160ef313 206%attr(755,root,root) %{_bindir}/xpra
ed17098a 207%attr(755,root,root) %{_bindir}/xpra_browser
160ef313 208%attr(755,root,root) %{_bindir}/xpra_launcher
ed17098a 209%attr(755,root,root) %{_bindir}/xpra_signal_listener
5b5972d7
JB
210%{_datadir}/appdata/xpra.appdata.xml
211%{_datadir}/mime/packages/application-x-xpraconfig.xml
160ef313 212%dir %{_datadir}/xpra
ed17098a 213%{_datadir}/xpra/bell.wav
160ef313
ER
214%dir %{_datadir}/xpra/icons
215%{_datadir}/xpra/icons/*.png
383a6766
ER
216# experimental html5 client
217%{_datadir}/%{name}/www
5a5f28f1 218%{_desktopdir}/xpra.desktop
ed17098a
JR
219%{_desktopdir}/xpra-browser.desktop
220%{_desktopdir}/xpra-launcher.desktop
160ef313 221%{_iconsdir}/xpra.png
ed17098a 222%{_iconsdir}/xpra-mdns.png
c4d2001e
JB
223%{systemdtmpfilesdir}/xpra.conf
224# specified in the above (xpra group seems to be optional though)
225#%attr(770,root,xpra) %dir /var/run/xpra
160ef313 226%{_mandir}/man1/xpra.1*
ed17098a 227%{_mandir}/man1/xpra_browser.1*
160ef313
ER
228%{_mandir}/man1/xpra_launcher.1*
229
160ef313 230%dir %{py_sitedir}/xpra
ed17098a
JR
231%dir %{py_sitedir}/xpra/buffers
232%{py_sitedir}/xpra/buffers/__init__.py[co]
233%attr(755,root,root) %{py_sitedir}/xpra/buffers/membuf.so
5a5f28f1
JB
234%{py_sitedir}/xpra/client
235%{py_sitedir}/xpra/clipboard
236%dir %{py_sitedir}/xpra/codecs
237%dir %{py_sitedir}/xpra/codecs/argb
238%attr(755,root,root) %{py_sitedir}/xpra/codecs/argb/argb.so
239%{py_sitedir}/xpra/codecs/argb/__init__.py[co]
c4d2001e
JB
240%dir %{py_sitedir}/xpra/codecs/csc_libyuv
241%attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_libyuv/colorspace_converter.so
242%{py_sitedir}/xpra/codecs/csc_libyuv/__init__.py[co]
c4d2001e 243%if %{with swscale}
5a5f28f1
JB
244%dir %{py_sitedir}/xpra/codecs/csc_swscale
245%attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_swscale/colorspace_converter.so
246%{py_sitedir}/xpra/codecs/csc_swscale/__init__.py[co]
c4d2001e
JB
247%endif
248%if %{with avcodec}
62cb8620
JB
249%dir %{py_sitedir}/xpra/codecs/dec_avcodec2
250%attr(755,root,root) %{py_sitedir}/xpra/codecs/dec_avcodec2/decoder.so
251%{py_sitedir}/xpra/codecs/dec_avcodec2/__init__.py[co]
c4d2001e 252%endif
62cb8620
JB
253%dir %{py_sitedir}/xpra/codecs/enc_proxy
254%{py_sitedir}/xpra/codecs/enc_proxy/*.py[co]
c4d2001e 255%if %{with x264}
5a5f28f1
JB
256%dir %{py_sitedir}/xpra/codecs/enc_x264
257%attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x264/encoder.so
258%{py_sitedir}/xpra/codecs/enc_x264/__init__.py[co]
c4d2001e 259%endif
eeadf629 260%if %{with x265}
62cb8620
JB
261%dir %{py_sitedir}/xpra/codecs/enc_x265
262%attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x265/encoder.so
263%{py_sitedir}/xpra/codecs/enc_x265/__init__.py[co]
eeadf629 264%endif
ed17098a
JR
265%dir %{py_sitedir}/xpra/codecs/jpeg
266%{py_sitedir}/xpra/codecs/jpeg/__init__.py[co]
267%attr(755,root,root) %{py_sitedir}/xpra/codecs/jpeg/decoder.so
268%attr(755,root,root) %{py_sitedir}/xpra/codecs/jpeg/encoder.so
c4d2001e
JB
269%dir %{py_sitedir}/xpra/codecs/libav_common
270%attr(755,root,root) %{py_sitedir}/xpra/codecs/libav_common/av_log.so
271%{py_sitedir}/xpra/codecs/libav_common/__init__.py[co]
272%{py_sitedir}/xpra/codecs/pillow
273%dir %{py_sitedir}/xpra/codecs/v4l2
274%attr(755,root,root) %{py_sitedir}/xpra/codecs/v4l2/pusher.so
275%{py_sitedir}/xpra/codecs/v4l2/__init__.py[co]
5a5f28f1
JB
276%dir %{py_sitedir}/xpra/codecs/vpx
277%attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/decoder.so
278%attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/encoder.so
279%{py_sitedir}/xpra/codecs/vpx/__init__.py[co]
62cb8620
JB
280%dir %{py_sitedir}/xpra/codecs/webp
281%attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/decode.so
282%attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/encode.so
283%{py_sitedir}/xpra/codecs/webp/__init__.py[co]
5a5f28f1
JB
284%dir %{py_sitedir}/xpra/codecs/xor
285%attr(755,root,root) %{py_sitedir}/xpra/codecs/xor/cyxor.so
286%{py_sitedir}/xpra/codecs/xor/*.py[co]
287%{py_sitedir}/xpra/codecs/*.py[co]
c4d2001e 288%{py_sitedir}/xpra/dbus
5a5f28f1 289%dir %{py_sitedir}/xpra/gtk_common
5a5f28f1 290%{py_sitedir}/xpra/gtk_common/*.py[co]
ed17098a
JR
291%dir %{py_sitedir}/xpra/gtk_common/gtk2
292%{py_sitedir}/xpra/gtk_common/gtk2/__init__.py[co]
293%attr(755,root,root) %{py_sitedir}/xpra/gtk_common/gtk2/gdk_atoms.so
294%attr(755,root,root) %{py_sitedir}/xpra/gtk_common/gtk2/gdk_bindings.so
5a5f28f1 295%{py_sitedir}/xpra/keyboard
ed17098a 296%attr(755,root,root) %{py_sitedir}/xpra/monotonic_time.so
5a5f28f1 297%dir %{py_sitedir}/xpra/net
ed17098a 298%{py_sitedir}/xpra/net/mdns
c4d2001e 299%attr(755,root,root) %{py_sitedir}/xpra/net/vsock.so
5a5f28f1 300%{py_sitedir}/xpra/net/*.py[co]
c4d2001e
JB
301%dir %{py_sitedir}/xpra/net/bencode
302%{py_sitedir}/xpra/net/bencode/*.py[co]
303%attr(755,root,root) %{py_sitedir}/xpra/net/bencode/cython_bencode.so
5a5f28f1
JB
304%{py_sitedir}/xpra/platform
305%{py_sitedir}/xpra/scripts
306%dir %{py_sitedir}/xpra/server
5b5972d7 307%attr(755,root,root) %{py_sitedir}/xpra/server/cystats.so
5a5f28f1 308%{py_sitedir}/xpra/server/*.py[co]
383a6766
ER
309%dir %{py_sitedir}/xpra/server/auth
310%{py_sitedir}/xpra/server/auth/*.py[co]
c4d2001e 311%{py_sitedir}/xpra/server/dbus
ed17098a 312%attr(755,root,root) %{py_sitedir}/xpra/server/pam.so
c4d2001e 313%{py_sitedir}/xpra/server/proxy
ed17098a 314%{py_sitedir}/xpra/server/rfb
c4d2001e
JB
315%{py_sitedir}/xpra/server/shadow
316%dir %{py_sitedir}/xpra/server/window
317%attr(755,root,root) %{py_sitedir}/xpra/server/window/region.so
318%{py_sitedir}/xpra/server/window/*.py[co]
ed17098a 319%attr(755,root,root) %{py_sitedir}/xpra/server/window/motion.so
5a5f28f1
JB
320%{py_sitedir}/xpra/sound
321%dir %{py_sitedir}/xpra/x11
322%dir %{py_sitedir}/xpra/x11/bindings
323%attr(755,root,root) %{py_sitedir}/xpra/x11/bindings/*.so
324%{py_sitedir}/xpra/x11/bindings/__init__.py[co]
c4d2001e
JB
325%{py_sitedir}/xpra/x11/dbus
326%dir %{py_sitedir}/xpra/x11/gtk2
327%attr(755,root,root) %{py_sitedir}/xpra/x11/gtk2/gdk_bindings.so
328%attr(755,root,root) %{py_sitedir}/xpra/x11/gtk2/gdk_display_source.so
329%{py_sitedir}/xpra/x11/gtk2/*.py[co]
330%{py_sitedir}/xpra/x11/gtk2/models
5a5f28f1 331%dir %{py_sitedir}/xpra/x11/gtk_x11
5a5f28f1
JB
332%{py_sitedir}/xpra/x11/gtk_x11/*.py[co]
333%{py_sitedir}/xpra/x11/*.py[co]
160ef313 334%{py_sitedir}/xpra/*.py[co]
383a6766 335%{py_sitedir}/xpra-%{version}-py*.egg-info
5b5972d7 336
48f224e5
ER
337%files -n cups-backend-xpra
338%defattr(644,root,root,755)
339%attr(756,root,root) %{cupsdir}/xpraforwarder
This page took 0.122122 seconds and 4 git commands to generate.