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