]> git.pld-linux.org Git - packages/xpra.git/blame - xpra.spec
- updated to 2.2.6
[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
JR
27Version: 2.2.6
28Release: 1
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
ER
166
167%py_postclean
168
169%clean
170rm -rf $RPM_BUILD_ROOT
171
172%files
173%defattr(644,root,root,755)
5a5f28f1 174%doc NEWS README
160ef313
ER
175%dir %{_sysconfdir}/%{name}
176%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xorg.conf
177%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xpra.conf
ed17098a
JR
178%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xorg-uinput.conf
179%dir %{_sysconfdir}/%{name}/conf.d
180%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/05_features.conf
181%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/10_network.conf
182%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/12_ssl.conf
183%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/15_file_transfers.conf
184%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/16_printing.conf
185%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/20_sound.conf
186%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/30_picture.conf
187%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/35_webcam.conf
188%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/40_client.conf
189%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/42_client_keyboard.conf
190%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/50_server_network.conf
191%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/55_server_x11.conf
192%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/60_server.conf
193%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/65_proxy.conf
194%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xpra
195%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/90-xpra-virtual.conf
196%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/xpra
197/etc/dbus-1/system.d/xpra.conf
198%{systemdunitdir}/xpra.service
199%{systemdunitdir}/xpra.socket
200/usr/lib/sysusers.d/xpra.conf
201/usr/lib/udev/rules.d/71-xpra-virtual-pointer.rules
202%attr(755,root,root) %{_bindir}/udev_product_version
160ef313 203%attr(755,root,root) %{_bindir}/xpra
ed17098a 204%attr(755,root,root) %{_bindir}/xpra_browser
160ef313 205%attr(755,root,root) %{_bindir}/xpra_launcher
ed17098a 206%attr(755,root,root) %{_bindir}/xpra_signal_listener
5b5972d7
JB
207%{_datadir}/appdata/xpra.appdata.xml
208%{_datadir}/mime/packages/application-x-xpraconfig.xml
160ef313 209%dir %{_datadir}/xpra
ed17098a 210%{_datadir}/xpra/bell.wav
160ef313
ER
211%dir %{_datadir}/xpra/icons
212%{_datadir}/xpra/icons/*.png
383a6766
ER
213# experimental html5 client
214%{_datadir}/%{name}/www
5a5f28f1 215%{_desktopdir}/xpra.desktop
ed17098a
JR
216%{_desktopdir}/xpra-browser.desktop
217%{_desktopdir}/xpra-launcher.desktop
160ef313 218%{_iconsdir}/xpra.png
ed17098a 219%{_iconsdir}/xpra-mdns.png
c4d2001e
JB
220%{systemdtmpfilesdir}/xpra.conf
221# specified in the above (xpra group seems to be optional though)
222#%attr(770,root,xpra) %dir /var/run/xpra
160ef313 223%{_mandir}/man1/xpra.1*
ed17098a 224%{_mandir}/man1/xpra_browser.1*
160ef313
ER
225%{_mandir}/man1/xpra_launcher.1*
226
160ef313 227%dir %{py_sitedir}/xpra
ed17098a
JR
228%dir %{py_sitedir}/xpra/buffers
229%{py_sitedir}/xpra/buffers/__init__.py[co]
230%attr(755,root,root) %{py_sitedir}/xpra/buffers/membuf.so
5a5f28f1
JB
231%{py_sitedir}/xpra/client
232%{py_sitedir}/xpra/clipboard
233%dir %{py_sitedir}/xpra/codecs
234%dir %{py_sitedir}/xpra/codecs/argb
235%attr(755,root,root) %{py_sitedir}/xpra/codecs/argb/argb.so
236%{py_sitedir}/xpra/codecs/argb/__init__.py[co]
c4d2001e
JB
237%dir %{py_sitedir}/xpra/codecs/csc_libyuv
238%attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_libyuv/colorspace_converter.so
239%{py_sitedir}/xpra/codecs/csc_libyuv/__init__.py[co]
c4d2001e 240%if %{with swscale}
5a5f28f1
JB
241%dir %{py_sitedir}/xpra/codecs/csc_swscale
242%attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_swscale/colorspace_converter.so
243%{py_sitedir}/xpra/codecs/csc_swscale/__init__.py[co]
c4d2001e
JB
244%endif
245%if %{with avcodec}
62cb8620
JB
246%dir %{py_sitedir}/xpra/codecs/dec_avcodec2
247%attr(755,root,root) %{py_sitedir}/xpra/codecs/dec_avcodec2/decoder.so
248%{py_sitedir}/xpra/codecs/dec_avcodec2/__init__.py[co]
c4d2001e 249%endif
62cb8620
JB
250%dir %{py_sitedir}/xpra/codecs/enc_proxy
251%{py_sitedir}/xpra/codecs/enc_proxy/*.py[co]
c4d2001e 252%if %{with x264}
5a5f28f1
JB
253%dir %{py_sitedir}/xpra/codecs/enc_x264
254%attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x264/encoder.so
255%{py_sitedir}/xpra/codecs/enc_x264/__init__.py[co]
c4d2001e 256%endif
eeadf629 257%if %{with x265}
62cb8620
JB
258%dir %{py_sitedir}/xpra/codecs/enc_x265
259%attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x265/encoder.so
260%{py_sitedir}/xpra/codecs/enc_x265/__init__.py[co]
eeadf629 261%endif
ed17098a
JR
262%dir %{py_sitedir}/xpra/codecs/jpeg
263%{py_sitedir}/xpra/codecs/jpeg/__init__.py[co]
264%attr(755,root,root) %{py_sitedir}/xpra/codecs/jpeg/decoder.so
265%attr(755,root,root) %{py_sitedir}/xpra/codecs/jpeg/encoder.so
c4d2001e
JB
266%dir %{py_sitedir}/xpra/codecs/libav_common
267%attr(755,root,root) %{py_sitedir}/xpra/codecs/libav_common/av_log.so
268%{py_sitedir}/xpra/codecs/libav_common/__init__.py[co]
269%{py_sitedir}/xpra/codecs/pillow
270%dir %{py_sitedir}/xpra/codecs/v4l2
271%attr(755,root,root) %{py_sitedir}/xpra/codecs/v4l2/pusher.so
272%{py_sitedir}/xpra/codecs/v4l2/__init__.py[co]
5a5f28f1
JB
273%dir %{py_sitedir}/xpra/codecs/vpx
274%attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/decoder.so
275%attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/encoder.so
276%{py_sitedir}/xpra/codecs/vpx/__init__.py[co]
62cb8620
JB
277%dir %{py_sitedir}/xpra/codecs/webp
278%attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/decode.so
279%attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/encode.so
280%{py_sitedir}/xpra/codecs/webp/__init__.py[co]
5a5f28f1
JB
281%dir %{py_sitedir}/xpra/codecs/xor
282%attr(755,root,root) %{py_sitedir}/xpra/codecs/xor/cyxor.so
283%{py_sitedir}/xpra/codecs/xor/*.py[co]
284%{py_sitedir}/xpra/codecs/*.py[co]
c4d2001e 285%{py_sitedir}/xpra/dbus
5a5f28f1 286%dir %{py_sitedir}/xpra/gtk_common
5a5f28f1 287%{py_sitedir}/xpra/gtk_common/*.py[co]
ed17098a
JR
288%dir %{py_sitedir}/xpra/gtk_common/gtk2
289%{py_sitedir}/xpra/gtk_common/gtk2/__init__.py[co]
290%attr(755,root,root) %{py_sitedir}/xpra/gtk_common/gtk2/gdk_atoms.so
291%attr(755,root,root) %{py_sitedir}/xpra/gtk_common/gtk2/gdk_bindings.so
5a5f28f1 292%{py_sitedir}/xpra/keyboard
ed17098a 293%attr(755,root,root) %{py_sitedir}/xpra/monotonic_time.so
5a5f28f1 294%dir %{py_sitedir}/xpra/net
ed17098a 295%{py_sitedir}/xpra/net/mdns
c4d2001e 296%attr(755,root,root) %{py_sitedir}/xpra/net/vsock.so
5a5f28f1 297%{py_sitedir}/xpra/net/*.py[co]
c4d2001e
JB
298%dir %{py_sitedir}/xpra/net/bencode
299%{py_sitedir}/xpra/net/bencode/*.py[co]
300%attr(755,root,root) %{py_sitedir}/xpra/net/bencode/cython_bencode.so
5a5f28f1
JB
301%{py_sitedir}/xpra/platform
302%{py_sitedir}/xpra/scripts
303%dir %{py_sitedir}/xpra/server
5b5972d7 304%attr(755,root,root) %{py_sitedir}/xpra/server/cystats.so
5a5f28f1 305%{py_sitedir}/xpra/server/*.py[co]
383a6766
ER
306%dir %{py_sitedir}/xpra/server/auth
307%{py_sitedir}/xpra/server/auth/*.py[co]
c4d2001e 308%{py_sitedir}/xpra/server/dbus
ed17098a 309%attr(755,root,root) %{py_sitedir}/xpra/server/pam.so
c4d2001e 310%{py_sitedir}/xpra/server/proxy
ed17098a 311%{py_sitedir}/xpra/server/rfb
c4d2001e
JB
312%{py_sitedir}/xpra/server/shadow
313%dir %{py_sitedir}/xpra/server/window
314%attr(755,root,root) %{py_sitedir}/xpra/server/window/region.so
315%{py_sitedir}/xpra/server/window/*.py[co]
ed17098a 316%attr(755,root,root) %{py_sitedir}/xpra/server/window/motion.so
5a5f28f1
JB
317%{py_sitedir}/xpra/sound
318%dir %{py_sitedir}/xpra/x11
319%dir %{py_sitedir}/xpra/x11/bindings
320%attr(755,root,root) %{py_sitedir}/xpra/x11/bindings/*.so
321%{py_sitedir}/xpra/x11/bindings/__init__.py[co]
c4d2001e
JB
322%{py_sitedir}/xpra/x11/dbus
323%dir %{py_sitedir}/xpra/x11/gtk2
324%attr(755,root,root) %{py_sitedir}/xpra/x11/gtk2/gdk_bindings.so
325%attr(755,root,root) %{py_sitedir}/xpra/x11/gtk2/gdk_display_source.so
326%{py_sitedir}/xpra/x11/gtk2/*.py[co]
327%{py_sitedir}/xpra/x11/gtk2/models
5a5f28f1 328%dir %{py_sitedir}/xpra/x11/gtk_x11
5a5f28f1
JB
329%{py_sitedir}/xpra/x11/gtk_x11/*.py[co]
330%{py_sitedir}/xpra/x11/*.py[co]
160ef313 331%{py_sitedir}/xpra/*.py[co]
383a6766 332%{py_sitedir}/xpra-%{version}-py*.egg-info
5b5972d7 333
48f224e5
ER
334%files -n cups-backend-xpra
335%defattr(644,root,root,755)
336%attr(756,root,root) %{cupsdir}/xpraforwarder
This page took 0.110226 seconds and 4 git commands to generate.