2 # - subpackages for client/server, see http://xpra.org/dev.html
3 # - nvenc (4,5,6)/cuda support (on bcond)
4 # - xvid? (checks for xvid.pc)
7 %bcond_without client # client part
8 %bcond_without server # server part
9 %bcond_without sound # (gstreamer) sound support
10 %bcond_without clipboard # clipboard support
11 %bcond_without swscale # swscale colorspace conversion support
12 %bcond_without opencl # OpenCL colorspace conversion support (only AMD icd supported at runtime?)
13 %bcond_without avcodec # avcodec decoding
14 %bcond_without opengl # OpenGL support
15 %bcond_without vpx # VPX/WebM support
16 %bcond_without webp # WebP support
17 %bcond_without x264 # x264 encoding
18 %bcond_without x265 # x265 encoding
24 Summary: Xpra gives you "persistent remote applications" for X
25 Summary(pl.UTF-8): Xpra - "stałe zdalne aplikacje" dla X
30 Group: X11/Applications/Networking
31 Source0: http://xpra.org/src/%{name}-%{version}.tar.xz
32 # Source0-md5: 9ec20dae64cee8dbc70e6d5dbae0ab4a
33 Patch0: setup-cc-ccache.patch
35 BuildRequires: OpenCL-devel
36 BuildRequires: OpenGL-devel
37 # libavcodec >= 56 libswscale
38 BuildRequires: ffmpeg-devel
39 BuildRequires: gtk+2-devel >= 2.0
40 BuildRequires: libvpx-devel >= 1.4
41 BuildRequires: libwebp-devel >= 0.3
42 %{?with_x264:BuildRequires: libx264-devel}
43 %{?with_x265:BuildRequires: libx265-devel}
44 BuildRequires: libyuv-devel
45 BuildRequires: pkgconfig
46 BuildRequires: python-Cython >= 0.19.0
47 BuildRequires: python-devel >= 1:2.6
48 BuildRequires: python-pycairo-devel
49 BuildRequires: python-pygobject-devel >= 2.0
50 BuildRequires: python-pygtk-devel >= 2:2.0
51 BuildRequires: python-setuptools
52 BuildRequires: rpm-pythonprov
53 BuildRequires: sed >= 4.0
54 BuildRequires: tar >= 1:1.22
55 BuildRequires: xorg-lib-libX11-devel
56 BuildRequires: xorg-lib-libXcomposite-devel
57 BuildRequires: xorg-lib-libXdamage-devel
58 BuildRequires: xorg-lib-libXext-devel
59 BuildRequires: xorg-lib-libXfixes-devel
60 BuildRequires: xorg-lib-libXrandr-devel
61 BuildRequires: xorg-lib-libXtst-devel
62 BuildRequires: xorg-lib-libxkbfile-devel
64 Requires: libvpx >= 1.4
65 Requires: libwebp >= 0.3
66 Requires: python-pygtk-gtk >= 2:2.0
67 Requires: xorg-app-setxkbmap
68 Requires: xorg-app-xauth
69 Requires: xorg-app-xmodmap
70 Requires: xorg-xserver-Xvfb
72 Suggests: python-PyOpenGL
73 Suggests: python-numpy
74 Suggests: python-pygtkglext
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 # currently lib, not %{_lib} (see cups.spec)
78 %define cupsdir /usr/lib/cups/backend
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
83 Xpra gives you "persistent remote applications" for X. That is, unlike
84 normal X applications, applications run with xpra are "persistent" --
85 you can run them remotely, and they don't die if your connection does.
86 You can detach them, and reattach them later -- even from another
87 computer -- with no loss of state. And unlike VNC or RDP, xpra is for
88 remote applications, not remote desktops -- individual applications
89 show up as individual windows on your screen, managed by your window
90 manager. They're not trapped in a box.
92 So basically it's screen for remote X apps.
94 %description -l pl.UTF-8
95 Xpra daje "stałe zdalne aplikacje" dla serwera X, które w
96 przeciwieństwie do zwykłych X-owych aplikacji, uruchamiane są z xprą
97 jako niezamykające. Można je uruchomić zdalnie i one nie zostaną
98 zamknięte, gdy połączenie zostanie przerwane. Można je odłączyć i
99 podłączyć z powrotem później, również z innego komputera, bez straty
100 stanu. W odróżnieniu od VNC czy RDP, xpra jest dla zdalnych aplikacji,
101 a nie zdalnych pulpitów - pojedyncze aplikacje pokazują się jako
102 samodzielne okno na lokalnym ekranie, zarządzane przez lokalnego
105 W uproszczeniu xpra to "screen" dla zdalnych aplikacji X-owych.
107 %package -n cups-backend-xpra
108 Summary: Xpra backend for CUPS
109 Summary(pl.UTF-8): Backend Xpra dla CUPS-a
110 Group: Applications/Printing
111 Requires: %{name} = %{version}-%{release}
114 %description -n cups-backend-xpra
115 Xpra backend for CUPS.
117 %description -n cups-backend-xpra -l pl.UTF-8
118 Backend Xpra dla CUPS-a.
124 %{__sed} -e '1s,/usr/bin/env python,%{__python},' -i cups/xpraforwarder $(grep -l '/usr/bin/env python' -r xpra)
128 CFLAGS="%{rpmcflags}" \
129 %{__python} setup.py build \
132 %{__with_without client} \
133 %{__with_without clipboard} \
134 %{__with_without opencl csc_opencl} \
135 %{__with_without swscale csc_swscale} \
136 --with%{!?debug:out}-debug \
137 %{__with_without avcodec dec_avcodec2} \
138 %{__with_without x264 enc_x264} \
139 %{__with_without x265 enc_x265} \
142 %{__with_without opengl} \
143 %{__with_without server} \
144 %{__with_without server shadow} \
145 %{__with_without sound} \
147 %{__with_without vpx} \
149 %{__with_without webp} \
154 rm -rf $RPM_BUILD_ROOT
155 %{__python} setup.py install \
157 --prefix=%{_prefix} \
158 --install-purelib=%{py_sitescriptdir} \
159 --install-platlib=%{py_sitedir} \
161 --root=$RPM_BUILD_ROOT
163 %{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/COPYING
164 %{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/README
169 rm -rf $RPM_BUILD_ROOT
172 %defattr(644,root,root,755)
174 %dir %{_sysconfdir}/%{name}
175 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xorg.conf
176 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xpra.conf
177 %attr(755,root,root) %{_bindir}/xpra
178 %attr(755,root,root) %{_bindir}/xpra_Xdummy
179 %attr(755,root,root) %{_bindir}/xpra_launcher
180 %{_datadir}/appdata/xpra.appdata.xml
181 %{_datadir}/mime/packages/application-x-xpraconfig.xml
182 %dir %{_datadir}/xpra
183 %dir %{_datadir}/xpra/icons
184 %{_datadir}/xpra/icons/*.png
185 # experimental html5 client
186 %{_datadir}/%{name}/www
187 %{_desktopdir}/xpra.desktop
188 %{_desktopdir}/xpra_launcher.desktop
189 %{_iconsdir}/xpra.png
190 %{systemdtmpfilesdir}/xpra.conf
191 # specified in the above (xpra group seems to be optional though)
192 #%attr(770,root,xpra) %dir /var/run/xpra
193 %{_mandir}/man1/xpra.1*
194 %{_mandir}/man1/xpra_launcher.1*
196 %dir %{py_sitedir}/xpra
197 %{py_sitedir}/xpra/client
198 %{py_sitedir}/xpra/clipboard
199 %dir %{py_sitedir}/xpra/codecs
200 %dir %{py_sitedir}/xpra/codecs/argb
201 %attr(755,root,root) %{py_sitedir}/xpra/codecs/argb/argb.so
202 %{py_sitedir}/xpra/codecs/argb/__init__.py[co]
203 %dir %{py_sitedir}/xpra/codecs/csc_cython
204 %attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_cython/colorspace_converter.so
205 %{py_sitedir}/xpra/codecs/csc_cython/__init__.py[co]
206 %dir %{py_sitedir}/xpra/codecs/csc_libyuv
207 %attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_libyuv/colorspace_converter.so
208 %{py_sitedir}/xpra/codecs/csc_libyuv/__init__.py[co]
210 %{py_sitedir}/xpra/codecs/csc_opencl
212 %{py_sitedir}/xpra/codecs/csc_opencv
214 %dir %{py_sitedir}/xpra/codecs/csc_swscale
215 %attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_swscale/colorspace_converter.so
216 %{py_sitedir}/xpra/codecs/csc_swscale/__init__.py[co]
219 %dir %{py_sitedir}/xpra/codecs/dec_avcodec2
220 %attr(755,root,root) %{py_sitedir}/xpra/codecs/dec_avcodec2/decoder.so
221 %{py_sitedir}/xpra/codecs/dec_avcodec2/__init__.py[co]
223 %dir %{py_sitedir}/xpra/codecs/enc_proxy
224 %{py_sitedir}/xpra/codecs/enc_proxy/*.py[co]
226 %dir %{py_sitedir}/xpra/codecs/enc_x264
227 %attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x264/encoder.so
228 %{py_sitedir}/xpra/codecs/enc_x264/__init__.py[co]
231 %dir %{py_sitedir}/xpra/codecs/enc_x265
232 %attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x265/encoder.so
233 %{py_sitedir}/xpra/codecs/enc_x265/__init__.py[co]
235 %dir %{py_sitedir}/xpra/codecs/libav_common
236 %attr(755,root,root) %{py_sitedir}/xpra/codecs/libav_common/av_log.so
237 %{py_sitedir}/xpra/codecs/libav_common/__init__.py[co]
238 %{py_sitedir}/xpra/codecs/pillow
239 %dir %{py_sitedir}/xpra/codecs/v4l2
240 %attr(755,root,root) %{py_sitedir}/xpra/codecs/v4l2/pusher.so
241 %{py_sitedir}/xpra/codecs/v4l2/__init__.py[co]
242 %dir %{py_sitedir}/xpra/codecs/vpx
243 %attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/decoder.so
244 %attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/encoder.so
245 %{py_sitedir}/xpra/codecs/vpx/__init__.py[co]
246 %dir %{py_sitedir}/xpra/codecs/webp
247 %attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/decode.so
248 %attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/encode.so
249 %{py_sitedir}/xpra/codecs/webp/__init__.py[co]
250 %dir %{py_sitedir}/xpra/codecs/xor
251 %attr(755,root,root) %{py_sitedir}/xpra/codecs/xor/cyxor.so
252 %{py_sitedir}/xpra/codecs/xor/*.py[co]
253 %{py_sitedir}/xpra/codecs/*.py[co]
254 %{py_sitedir}/xpra/dbus
255 %dir %{py_sitedir}/xpra/gtk_common
256 %attr(755,root,root) %{py_sitedir}/xpra/gtk_common/gdk_atoms.so
257 %{py_sitedir}/xpra/gtk_common/*.py[co]
258 %{py_sitedir}/xpra/keyboard
259 %dir %{py_sitedir}/xpra/net
260 %attr(755,root,root) %{py_sitedir}/xpra/net/vsock.so
261 %{py_sitedir}/xpra/net/*.py[co]
262 %dir %{py_sitedir}/xpra/net/bencode
263 %{py_sitedir}/xpra/net/bencode/*.py[co]
264 %attr(755,root,root) %{py_sitedir}/xpra/net/bencode/cython_bencode.so
265 %{py_sitedir}/xpra/platform
266 %{py_sitedir}/xpra/scripts
267 %dir %{py_sitedir}/xpra/server
268 %attr(755,root,root) %{py_sitedir}/xpra/server/cystats.so
269 %{py_sitedir}/xpra/server/*.py[co]
270 %dir %{py_sitedir}/xpra/server/auth
271 %{py_sitedir}/xpra/server/auth/*.py[co]
272 %{py_sitedir}/xpra/server/dbus
273 %{py_sitedir}/xpra/server/proxy
274 %{py_sitedir}/xpra/server/shadow
275 %dir %{py_sitedir}/xpra/server/window
276 %attr(755,root,root) %{py_sitedir}/xpra/server/window/region.so
277 %{py_sitedir}/xpra/server/window/*.py[co]
278 %{py_sitedir}/xpra/sound
279 %dir %{py_sitedir}/xpra/x11
280 %dir %{py_sitedir}/xpra/x11/bindings
281 %attr(755,root,root) %{py_sitedir}/xpra/x11/bindings/*.so
282 %{py_sitedir}/xpra/x11/bindings/__init__.py[co]
283 %{py_sitedir}/xpra/x11/dbus
284 %dir %{py_sitedir}/xpra/x11/gtk2
285 %attr(755,root,root) %{py_sitedir}/xpra/x11/gtk2/gdk_bindings.so
286 %attr(755,root,root) %{py_sitedir}/xpra/x11/gtk2/gdk_display_source.so
287 %{py_sitedir}/xpra/x11/gtk2/*.py[co]
288 %{py_sitedir}/xpra/x11/gtk2/models
289 %dir %{py_sitedir}/xpra/x11/gtk_x11
290 %{py_sitedir}/xpra/x11/gtk_x11/*.py[co]
291 %{py_sitedir}/xpra/x11/*.py[co]
292 %{py_sitedir}/xpra/*.py[co]
293 %{py_sitedir}/xpra-%{version}-py*.egg-info
295 %files -n cups-backend-xpra
296 %defattr(644,root,root,755)
297 %attr(756,root,root) %{cupsdir}/xpraforwarder