]>
Commit | Line | Data |
---|---|---|
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 | 24 | Summary: Xpra gives you "persistent remote applications" for X |
5a5f28f1 | 25 | Summary(pl.UTF-8): Xpra - "stałe zdalne aplikacje" dla X |
160ef313 | 26 | Name: xpra |
c4d2001e | 27 | Version: 0.17.5 |
e6ed3c6b | 28 | Release: 7 |
160ef313 | 29 | License: GPL v2+ |
33952dff | 30 | Group: X11/Applications/Networking |
f1a9b771 | 31 | Source0: http://xpra.org/src/%{name}-%{version}.tar.xz |
c4d2001e | 32 | # Source0-md5: 9ec20dae64cee8dbc70e6d5dbae0ab4a |
ee1187c7 | 33 | Patch0: setup-cc-ccache.patch |
e6ed3c6b | 34 | Patch1: ffmpeg4.patch |
160ef313 | 35 | URL: http://xpra.org/ |
62cb8620 | 36 | BuildRequires: OpenCL-devel |
5a5f28f1 | 37 | BuildRequires: OpenGL-devel |
c4d2001e | 38 | # libavcodec >= 56 libswscale |
29951ed6 | 39 | BuildRequires: ffmpeg-devel |
5a5f28f1 | 40 | BuildRequires: gtk+2-devel >= 2.0 |
5b5972d7 | 41 | BuildRequires: libvpx-devel >= 1.4 |
62cb8620 | 42 | BuildRequires: libwebp-devel >= 0.3 |
c4d2001e | 43 | %{?with_x264:BuildRequires: libx264-devel} |
eeadf629 | 44 | %{?with_x265:BuildRequires: libx265-devel} |
c4d2001e | 45 | BuildRequires: libyuv-devel |
29951ed6 | 46 | BuildRequires: pkgconfig |
5b5972d7 | 47 | BuildRequires: python-Cython >= 0.19.0 |
62cb8620 | 48 | BuildRequires: python-devel >= 1:2.6 |
c4d2001e | 49 | BuildRequires: python-pycairo-devel |
5a5f28f1 JB |
50 | BuildRequires: python-pygobject-devel >= 2.0 |
51 | BuildRequires: python-pygtk-devel >= 2:2.0 | |
5b5972d7 | 52 | BuildRequires: python-setuptools |
160ef313 | 53 | BuildRequires: rpm-pythonprov |
5b5972d7 | 54 | BuildRequires: sed >= 4.0 |
f1a9b771 | 55 | BuildRequires: tar >= 1:1.22 |
c4d2001e | 56 | BuildRequires: xorg-lib-libX11-devel |
5b5972d7 JB |
57 | BuildRequires: xorg-lib-libXcomposite-devel |
58 | BuildRequires: xorg-lib-libXdamage-devel | |
c4d2001e JB |
59 | BuildRequires: xorg-lib-libXext-devel |
60 | BuildRequires: xorg-lib-libXfixes-devel | |
61 | BuildRequires: xorg-lib-libXrandr-devel | |
29951ed6 | 62 | BuildRequires: xorg-lib-libXtst-devel |
c4d2001e | 63 | BuildRequires: xorg-lib-libxkbfile-devel |
f1a9b771 | 64 | BuildRequires: xz |
5b5972d7 | 65 | Requires: libvpx >= 1.4 |
62cb8620 | 66 | Requires: libwebp >= 0.3 |
5a5f28f1 | 67 | Requires: python-pygtk-gtk >= 2:2.0 |
33952dff ER |
68 | Requires: xorg-app-setxkbmap |
69 | Requires: xorg-app-xauth | |
70 | Requires: xorg-app-xmodmap | |
282f26dd | 71 | Requires: xorg-xserver-Xvfb |
5b5972d7 | 72 | Suggests: python-PIL |
5c84ecfd | 73 | Suggests: python-PyOpenGL |
5b5972d7 | 74 | Suggests: python-numpy |
5c84ecfd | 75 | Suggests: python-pygtkglext |
160ef313 ER |
76 | BuildRoot: %{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 |
84 | Xpra gives you "persistent remote applications" for X. That is, unlike | |
85 | normal X applications, applications run with xpra are "persistent" -- | |
86 | you can run them remotely, and they don't die if your connection does. | |
87 | You can detach them, and reattach them later -- even from another | |
88 | computer -- with no loss of state. And unlike VNC or RDP, xpra is for | |
89 | remote applications, not remote desktops -- individual applications | |
90 | show up as individual windows on your screen, managed by your window | |
91 | manager. They're not trapped in a box. | |
92 | ||
93 | So basically it's screen for remote X apps. | |
94 | ||
134fd9a0 | 95 | %description -l pl.UTF-8 |
5a5f28f1 JB |
96 | Xpra daje "stałe zdalne aplikacje" dla serwera X, które w |
97 | przeciwieństwie do zwykłych X-owych aplikacji, uruchamiane są z xprą | |
98 | jako niezamykające. Można je uruchomić zdalnie i one nie zostaną | |
99 | zamknięte, gdy połączenie zostanie przerwane. Można je odłączyć i | |
134fd9a0 | 100 | podłączyć z powrotem później, również z innego komputera, bez straty |
5a5f28f1 JB |
101 | stanu. W odróżnieniu od VNC czy RDP, xpra jest dla zdalnych aplikacji, |
102 | a nie zdalnych pulpitów - pojedyncze aplikacje pokazują się jako | |
103 | samodzielne okno na lokalnym ekranie, zarządzane przez lokalnego | |
104 | zarządcę okien. | |
134fd9a0 | 105 | |
5a5f28f1 | 106 | W uproszczeniu xpra to "screen" dla zdalnych aplikacji X-owych. |
134fd9a0 | 107 | |
48f224e5 ER |
108 | %package -n cups-backend-xpra |
109 | Summary: Xpra backend for CUPS | |
110 | Summary(pl.UTF-8): Backend Xpra dla CUPS-a | |
111 | Group: Applications/Printing | |
112 | Requires: %{name} = %{version}-%{release} | |
113 | Requires: cups | |
114 | ||
115 | %description -n cups-backend-xpra | |
116 | Xpra backend for CUPS. | |
117 | ||
118 | %description -n cups-backend-xpra -l pl.UTF-8 | |
119 | Backend 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 |
129 | CC="%{__cc}" \ | |
130 | CFLAGS="%{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 | |
156 | rm -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 | |
171 | rm -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 |