]>
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 |
289e4ab4 | 28 | Release: 3 |
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 |
160ef313 | 34 | URL: http://xpra.org/ |
62cb8620 | 35 | BuildRequires: OpenCL-devel |
5a5f28f1 | 36 | BuildRequires: OpenGL-devel |
c4d2001e | 37 | # libavcodec >= 56 libswscale |
29951ed6 | 38 | BuildRequires: ffmpeg-devel |
5a5f28f1 | 39 | BuildRequires: gtk+2-devel >= 2.0 |
5b5972d7 | 40 | BuildRequires: libvpx-devel >= 1.4 |
62cb8620 | 41 | BuildRequires: libwebp-devel >= 0.3 |
c4d2001e | 42 | %{?with_x264:BuildRequires: libx264-devel} |
eeadf629 | 43 | %{?with_x265:BuildRequires: libx265-devel} |
c4d2001e | 44 | BuildRequires: libyuv-devel |
29951ed6 | 45 | BuildRequires: pkgconfig |
5b5972d7 | 46 | BuildRequires: python-Cython >= 0.19.0 |
62cb8620 | 47 | BuildRequires: python-devel >= 1:2.6 |
c4d2001e | 48 | BuildRequires: python-pycairo-devel |
5a5f28f1 JB |
49 | BuildRequires: python-pygobject-devel >= 2.0 |
50 | BuildRequires: python-pygtk-devel >= 2:2.0 | |
5b5972d7 | 51 | BuildRequires: python-setuptools |
160ef313 | 52 | BuildRequires: rpm-pythonprov |
5b5972d7 | 53 | BuildRequires: sed >= 4.0 |
f1a9b771 | 54 | BuildRequires: tar >= 1:1.22 |
c4d2001e | 55 | BuildRequires: xorg-lib-libX11-devel |
5b5972d7 JB |
56 | BuildRequires: xorg-lib-libXcomposite-devel |
57 | BuildRequires: xorg-lib-libXdamage-devel | |
c4d2001e JB |
58 | BuildRequires: xorg-lib-libXext-devel |
59 | BuildRequires: xorg-lib-libXfixes-devel | |
60 | BuildRequires: xorg-lib-libXrandr-devel | |
29951ed6 | 61 | BuildRequires: xorg-lib-libXtst-devel |
c4d2001e | 62 | BuildRequires: xorg-lib-libxkbfile-devel |
f1a9b771 | 63 | BuildRequires: xz |
5b5972d7 | 64 | Requires: libvpx >= 1.4 |
62cb8620 | 65 | Requires: libwebp >= 0.3 |
5a5f28f1 | 66 | Requires: python-pygtk-gtk >= 2:2.0 |
33952dff ER |
67 | Requires: xorg-app-setxkbmap |
68 | Requires: xorg-app-xauth | |
69 | Requires: xorg-app-xmodmap | |
282f26dd | 70 | Requires: xorg-xserver-Xvfb |
5b5972d7 | 71 | Suggests: python-PIL |
5c84ecfd | 72 | Suggests: python-PyOpenGL |
5b5972d7 | 73 | Suggests: python-numpy |
5c84ecfd | 74 | Suggests: python-pygtkglext |
160ef313 ER |
75 | BuildRoot: %{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 |
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. | |
91 | ||
92 | So basically it's screen for remote X apps. | |
93 | ||
134fd9a0 | 94 | %description -l pl.UTF-8 |
5a5f28f1 JB |
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 | |
134fd9a0 | 99 | podłączyć z powrotem później, również z innego komputera, bez straty |
5a5f28f1 JB |
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 | |
103 | zarządcę okien. | |
134fd9a0 | 104 | |
5a5f28f1 | 105 | W uproszczeniu xpra to "screen" dla zdalnych aplikacji X-owych. |
134fd9a0 | 106 | |
48f224e5 ER |
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} | |
112 | Requires: cups | |
113 | ||
114 | %description -n cups-backend-xpra | |
115 | Xpra backend for CUPS. | |
116 | ||
117 | %description -n cups-backend-xpra -l pl.UTF-8 | |
118 | Backend Xpra dla CUPS-a. | |
119 | ||
160ef313 | 120 | %prep |
f1a9b771 | 121 | %setup -q |
ee1187c7 | 122 | %patch0 -p1 |
160ef313 | 123 | |
5b5972d7 JB |
124 | %{__sed} -e '1s,/usr/bin/env python,%{__python},' -i cups/xpraforwarder $(grep -l '/usr/bin/env python' -r xpra) |
125 | ||
160ef313 ER |
126 | %build |
127 | CC="%{__cc}" \ | |
128 | CFLAGS="%{rpmcflags}" \ | |
4d273b65 | 129 | %{__python} setup.py build \ |
c4d2001e JB |
130 | --with-PIC \ |
131 | --with-Xdummy \ | |
4d273b65 ER |
132 | %{__with_without client} \ |
133 | %{__with_without clipboard} \ | |
c4d2001e JB |
134 | %{__with_without opencl csc_opencl} \ |
135 | %{__with_without swscale csc_swscale} \ | |
136 | --with%{!?debug:out}-debug \ | |
137 | %{__with_without avcodec dec_avcodec2} \ | |
4d273b65 | 138 | %{__with_without x264 enc_x264} \ |
eeadf629 | 139 | %{__with_without x265 enc_x265} \ |
4d273b65 ER |
140 | --with-gtk2 \ |
141 | --without-gtk3 \ | |
c4d2001e JB |
142 | %{__with_without opengl} \ |
143 | %{__with_without server} \ | |
144 | %{__with_without server shadow} \ | |
145 | %{__with_without sound} \ | |
4d273b65 | 146 | --with-strict \ |
c4d2001e | 147 | %{__with_without vpx} \ |
4d273b65 | 148 | --with-warn \ |
c4d2001e | 149 | %{__with_without webp} \ |
4d273b65 | 150 | --with-x11 \ |
4d273b65 | 151 | %{nil} |
160ef313 ER |
152 | |
153 | %install | |
154 | rm -rf $RPM_BUILD_ROOT | |
155 | %{__python} setup.py install \ | |
156 | --skip-build \ | |
6a271dcc JR |
157 | --prefix=%{_prefix} \ |
158 | --install-purelib=%{py_sitescriptdir} \ | |
159 | --install-platlib=%{py_sitedir} \ | |
160ef313 ER |
160 | --optimize=2 \ |
161 | --root=$RPM_BUILD_ROOT | |
162 | ||
160ef313 | 163 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/COPYING |
5a5f28f1 | 164 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/README |
160ef313 ER |
165 | |
166 | %py_postclean | |
167 | ||
168 | %clean | |
169 | rm -rf $RPM_BUILD_ROOT | |
170 | ||
171 | %files | |
172 | %defattr(644,root,root,755) | |
5a5f28f1 | 173 | %doc NEWS README |
160ef313 ER |
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 | |
160ef313 ER |
177 | %attr(755,root,root) %{_bindir}/xpra |
178 | %attr(755,root,root) %{_bindir}/xpra_Xdummy | |
179 | %attr(755,root,root) %{_bindir}/xpra_launcher | |
5b5972d7 JB |
180 | %{_datadir}/appdata/xpra.appdata.xml |
181 | %{_datadir}/mime/packages/application-x-xpraconfig.xml | |
160ef313 ER |
182 | %dir %{_datadir}/xpra |
183 | %dir %{_datadir}/xpra/icons | |
184 | %{_datadir}/xpra/icons/*.png | |
383a6766 ER |
185 | # experimental html5 client |
186 | %{_datadir}/%{name}/www | |
5a5f28f1 | 187 | %{_desktopdir}/xpra.desktop |
160ef313 ER |
188 | %{_desktopdir}/xpra_launcher.desktop |
189 | %{_iconsdir}/xpra.png | |
c4d2001e JB |
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 | |
160ef313 ER |
193 | %{_mandir}/man1/xpra.1* |
194 | %{_mandir}/man1/xpra_launcher.1* | |
195 | ||
160ef313 | 196 | %dir %{py_sitedir}/xpra |
5a5f28f1 JB |
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] | |
c4d2001e JB |
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] | |
209 | %if %{with opencl} | |
210 | %{py_sitedir}/xpra/codecs/csc_opencl | |
211 | %endif | |
212 | %{py_sitedir}/xpra/codecs/csc_opencv | |
213 | %if %{with swscale} | |
5a5f28f1 JB |
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] | |
c4d2001e JB |
217 | %endif |
218 | %if %{with avcodec} | |
62cb8620 JB |
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] | |
c4d2001e | 222 | %endif |
62cb8620 JB |
223 | %dir %{py_sitedir}/xpra/codecs/enc_proxy |
224 | %{py_sitedir}/xpra/codecs/enc_proxy/*.py[co] | |
c4d2001e | 225 | %if %{with x264} |
5a5f28f1 JB |
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] | |
c4d2001e | 229 | %endif |
eeadf629 | 230 | %if %{with x265} |
62cb8620 JB |
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] | |
eeadf629 | 234 | %endif |
c4d2001e JB |
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] | |
5a5f28f1 JB |
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] | |
62cb8620 JB |
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] | |
5a5f28f1 JB |
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] | |
c4d2001e | 254 | %{py_sitedir}/xpra/dbus |
5a5f28f1 JB |
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 | |
c4d2001e | 260 | %attr(755,root,root) %{py_sitedir}/xpra/net/vsock.so |
5a5f28f1 | 261 | %{py_sitedir}/xpra/net/*.py[co] |
c4d2001e JB |
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 | |
5a5f28f1 JB |
265 | %{py_sitedir}/xpra/platform |
266 | %{py_sitedir}/xpra/scripts | |
267 | %dir %{py_sitedir}/xpra/server | |
5b5972d7 | 268 | %attr(755,root,root) %{py_sitedir}/xpra/server/cystats.so |
5a5f28f1 | 269 | %{py_sitedir}/xpra/server/*.py[co] |
383a6766 ER |
270 | %dir %{py_sitedir}/xpra/server/auth |
271 | %{py_sitedir}/xpra/server/auth/*.py[co] | |
c4d2001e JB |
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] | |
5a5f28f1 JB |
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] | |
c4d2001e JB |
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 | |
5a5f28f1 | 289 | %dir %{py_sitedir}/xpra/x11/gtk_x11 |
5a5f28f1 JB |
290 | %{py_sitedir}/xpra/x11/gtk_x11/*.py[co] |
291 | %{py_sitedir}/xpra/x11/*.py[co] | |
160ef313 | 292 | %{py_sitedir}/xpra/*.py[co] |
383a6766 | 293 | %{py_sitedir}/xpra-%{version}-py*.egg-info |
5b5972d7 | 294 | |
48f224e5 ER |
295 | %files -n cups-backend-xpra |
296 | %defattr(644,root,root,755) | |
297 | %attr(756,root,root) %{cupsdir}/xpraforwarder |