]>
Commit | Line | Data |
---|---|---|
f1a9b771 | 1 | # TODO |
29951ed6 | 2 | # - subpackages for client/server, see http://xpra.org/dev.html |
6fb59b95 | 3 | # - nvenc/cuda support (on bcond) |
4d273b65 ER |
4 | # |
5 | # Conditional build: | |
6fb59b95 JB |
6 | %bcond_without client # client part |
7 | %bcond_without server # server part | |
8 | %bcond_without sound # (gstreamer) sound support | |
9 | %bcond_without clipboard # clipboard support | |
10 | %bcond_without csc # colorspace conversion support | |
11 | %bcond_without dec_av # avcodec decoding | |
12 | %bcond_without opengl # OpenGL support | |
6fb59b95 JB |
13 | %bcond_without vpx # VPX/WebM support |
14 | %bcond_without webp # WebP support | |
15 | %bcond_without x264 # x264 encoding | |
eeadf629 JR |
16 | %bcond_without x265 # x265 encoding |
17 | ||
c790771b | 18 | %ifarch i386 i486 x32 |
eeadf629 JR |
19 | %undefine with_x265 |
20 | %endif | |
4d273b65 | 21 | |
160ef313 | 22 | Summary: Xpra gives you "persistent remote applications" for X |
5a5f28f1 | 23 | Summary(pl.UTF-8): Xpra - "stałe zdalne aplikacje" dla X |
160ef313 | 24 | Name: xpra |
5b5972d7 | 25 | Version: 0.15.7 |
e6fbd35d | 26 | Release: 7 |
160ef313 | 27 | License: GPL v2+ |
33952dff | 28 | Group: X11/Applications/Networking |
f1a9b771 | 29 | Source0: http://xpra.org/src/%{name}-%{version}.tar.xz |
5b5972d7 | 30 | # Source0-md5: 63fa9e2cab464f53d2f37154eccf7596 |
ee1187c7 | 31 | Patch0: setup-cc-ccache.patch |
160ef313 | 32 | URL: http://xpra.org/ |
62cb8620 | 33 | BuildRequires: OpenCL-devel |
5a5f28f1 | 34 | BuildRequires: OpenGL-devel |
62cb8620 | 35 | # libavcodec libswscale |
29951ed6 | 36 | BuildRequires: ffmpeg-devel |
5a5f28f1 | 37 | BuildRequires: gtk+2-devel >= 2.0 |
5b5972d7 | 38 | BuildRequires: libvpx-devel >= 1.4 |
62cb8620 | 39 | BuildRequires: libwebp-devel >= 0.3 |
29951ed6 | 40 | BuildRequires: libx264-devel |
eeadf629 | 41 | %{?with_x265:BuildRequires: libx265-devel} |
29951ed6 | 42 | BuildRequires: pkgconfig |
5b5972d7 | 43 | BuildRequires: python-Cython >= 0.19.0 |
62cb8620 | 44 | BuildRequires: python-devel >= 1:2.6 |
5a5f28f1 JB |
45 | BuildRequires: python-pygobject-devel >= 2.0 |
46 | BuildRequires: python-pygtk-devel >= 2:2.0 | |
5b5972d7 | 47 | BuildRequires: python-setuptools |
160ef313 | 48 | BuildRequires: rpm-pythonprov |
5b5972d7 | 49 | BuildRequires: sed >= 4.0 |
f1a9b771 | 50 | BuildRequires: tar >= 1:1.22 |
5b5972d7 JB |
51 | BuildRequires: xorg-lib-libXcomposite-devel |
52 | BuildRequires: xorg-lib-libXdamage-devel | |
29951ed6 | 53 | BuildRequires: xorg-lib-libXtst-devel |
f1a9b771 | 54 | BuildRequires: xz |
5b5972d7 | 55 | Requires: libvpx >= 1.4 |
62cb8620 | 56 | Requires: libwebp >= 0.3 |
5a5f28f1 | 57 | Requires: python-pygtk-gtk >= 2:2.0 |
33952dff ER |
58 | Requires: xorg-app-setxkbmap |
59 | Requires: xorg-app-xauth | |
60 | Requires: xorg-app-xmodmap | |
282f26dd | 61 | Requires: xorg-xserver-Xvfb |
5b5972d7 | 62 | Suggests: python-PIL |
5c84ecfd | 63 | Suggests: python-PyOpenGL |
5b5972d7 | 64 | Suggests: python-numpy |
5c84ecfd | 65 | Suggests: python-pygtkglext |
160ef313 ER |
66 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
67 | ||
48f224e5 ER |
68 | # currently lib, not %{_lib} (see cups.spec) |
69 | %define cupsdir /usr/lib/cups/backend | |
70 | ||
160ef313 ER |
71 | %description |
72 | Xpra gives you "persistent remote applications" for X. That is, unlike | |
73 | normal X applications, applications run with xpra are "persistent" -- | |
74 | you can run them remotely, and they don't die if your connection does. | |
75 | You can detach them, and reattach them later -- even from another | |
76 | computer -- with no loss of state. And unlike VNC or RDP, xpra is for | |
77 | remote applications, not remote desktops -- individual applications | |
78 | show up as individual windows on your screen, managed by your window | |
79 | manager. They're not trapped in a box. | |
80 | ||
81 | So basically it's screen for remote X apps. | |
82 | ||
134fd9a0 | 83 | %description -l pl.UTF-8 |
5a5f28f1 JB |
84 | Xpra daje "stałe zdalne aplikacje" dla serwera X, które w |
85 | przeciwieństwie do zwykłych X-owych aplikacji, uruchamiane są z xprą | |
86 | jako niezamykające. Można je uruchomić zdalnie i one nie zostaną | |
87 | zamknięte, gdy połączenie zostanie przerwane. Można je odłączyć i | |
134fd9a0 | 88 | podłączyć z powrotem później, również z innego komputera, bez straty |
5a5f28f1 JB |
89 | stanu. W odróżnieniu od VNC czy RDP, xpra jest dla zdalnych aplikacji, |
90 | a nie zdalnych pulpitów - pojedyncze aplikacje pokazują się jako | |
91 | samodzielne okno na lokalnym ekranie, zarządzane przez lokalnego | |
92 | zarządcę okien. | |
134fd9a0 | 93 | |
5a5f28f1 | 94 | W uproszczeniu xpra to "screen" dla zdalnych aplikacji X-owych. |
134fd9a0 | 95 | |
48f224e5 ER |
96 | %package -n cups-backend-xpra |
97 | Summary: Xpra backend for CUPS | |
98 | Summary(pl.UTF-8): Backend Xpra dla CUPS-a | |
99 | Group: Applications/Printing | |
100 | Requires: %{name} = %{version}-%{release} | |
101 | Requires: cups | |
102 | ||
103 | %description -n cups-backend-xpra | |
104 | Xpra backend for CUPS. | |
105 | ||
106 | %description -n cups-backend-xpra -l pl.UTF-8 | |
107 | Backend Xpra dla CUPS-a. | |
108 | ||
160ef313 | 109 | %prep |
f1a9b771 | 110 | %setup -q |
ee1187c7 | 111 | %patch0 -p1 |
160ef313 | 112 | |
5b5972d7 JB |
113 | %{__sed} -e '1s,/usr/bin/env python,%{__python},' -i cups/xpraforwarder $(grep -l '/usr/bin/env python' -r xpra) |
114 | ||
160ef313 ER |
115 | %build |
116 | CC="%{__cc}" \ | |
117 | CFLAGS="%{rpmcflags}" \ | |
4d273b65 ER |
118 | %{__python} setup.py build \ |
119 | %{__with_without client} \ | |
120 | %{__with_without clipboard} \ | |
121 | %{__with_without csc csc_swscale} \ | |
5b5972d7 | 122 | %{__with_without dec_av dec_avcodec2} \ |
4d273b65 | 123 | %{__with_without opengl} \ |
4d273b65 ER |
124 | %{__with_without server shadow} \ |
125 | %{__with_without server} \ | |
126 | %{__with_without sound} \ | |
127 | %{__with_without vpx} \ | |
128 | %{__with_without webp} \ | |
129 | %{__with_without x264 enc_x264} \ | |
eeadf629 | 130 | %{__with_without x265 enc_x265} \ |
4d273b65 | 131 | --with-Xdummy \ |
4d273b65 ER |
132 | --with-gtk2 \ |
133 | --without-gtk3 \ | |
4d273b65 ER |
134 | --with-strict \ |
135 | --with-warn \ | |
136 | --with-x11 \ | |
137 | --with-PIC \ | |
138 | --with%{!?debug:out}-debug \ | |
139 | %{nil} | |
160ef313 ER |
140 | |
141 | %install | |
142 | rm -rf $RPM_BUILD_ROOT | |
143 | %{__python} setup.py install \ | |
144 | --skip-build \ | |
6a271dcc JR |
145 | --prefix=%{_prefix} \ |
146 | --install-purelib=%{py_sitescriptdir} \ | |
147 | --install-platlib=%{py_sitedir} \ | |
160ef313 ER |
148 | --optimize=2 \ |
149 | --root=$RPM_BUILD_ROOT | |
150 | ||
160ef313 | 151 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/COPYING |
5a5f28f1 | 152 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/xpra/README |
160ef313 ER |
153 | |
154 | %py_postclean | |
155 | ||
156 | %clean | |
157 | rm -rf $RPM_BUILD_ROOT | |
158 | ||
159 | %files | |
160 | %defattr(644,root,root,755) | |
5a5f28f1 | 161 | %doc NEWS README |
160ef313 ER |
162 | %dir %{_sysconfdir}/%{name} |
163 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xorg.conf | |
164 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/xpra.conf | |
160ef313 ER |
165 | %attr(755,root,root) %{_bindir}/xpra |
166 | %attr(755,root,root) %{_bindir}/xpra_Xdummy | |
167 | %attr(755,root,root) %{_bindir}/xpra_launcher | |
5b5972d7 JB |
168 | %{_datadir}/appdata/xpra.appdata.xml |
169 | %{_datadir}/mime/packages/application-x-xpraconfig.xml | |
160ef313 ER |
170 | %dir %{_datadir}/xpra |
171 | %dir %{_datadir}/xpra/icons | |
172 | %{_datadir}/xpra/icons/*.png | |
383a6766 ER |
173 | # experimental html5 client |
174 | %{_datadir}/%{name}/www | |
5a5f28f1 | 175 | %{_desktopdir}/xpra.desktop |
160ef313 ER |
176 | %{_desktopdir}/xpra_launcher.desktop |
177 | %{_iconsdir}/xpra.png | |
160ef313 ER |
178 | %{_mandir}/man1/xpra.1* |
179 | %{_mandir}/man1/xpra_launcher.1* | |
180 | ||
160ef313 | 181 | %dir %{py_sitedir}/xpra |
5a5f28f1 JB |
182 | %{py_sitedir}/xpra/client |
183 | %{py_sitedir}/xpra/clipboard | |
184 | %dir %{py_sitedir}/xpra/codecs | |
185 | %dir %{py_sitedir}/xpra/codecs/argb | |
186 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/argb/argb.so | |
187 | %{py_sitedir}/xpra/codecs/argb/__init__.py[co] | |
188 | %dir %{py_sitedir}/xpra/codecs/csc_swscale | |
189 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_swscale/colorspace_converter.so | |
190 | %{py_sitedir}/xpra/codecs/csc_swscale/__init__.py[co] | |
62cb8620 JB |
191 | %dir %{py_sitedir}/xpra/codecs/dec_avcodec2 |
192 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/dec_avcodec2/decoder.so | |
193 | %{py_sitedir}/xpra/codecs/dec_avcodec2/__init__.py[co] | |
194 | %dir %{py_sitedir}/xpra/codecs/enc_proxy | |
195 | %{py_sitedir}/xpra/codecs/enc_proxy/*.py[co] | |
5a5f28f1 JB |
196 | %dir %{py_sitedir}/xpra/codecs/enc_x264 |
197 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x264/encoder.so | |
198 | %{py_sitedir}/xpra/codecs/enc_x264/__init__.py[co] | |
eeadf629 | 199 | %if %{with x265} |
62cb8620 JB |
200 | %dir %{py_sitedir}/xpra/codecs/enc_x265 |
201 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/enc_x265/encoder.so | |
202 | %{py_sitedir}/xpra/codecs/enc_x265/__init__.py[co] | |
eeadf629 | 203 | %endif |
5a5f28f1 JB |
204 | %dir %{py_sitedir}/xpra/codecs/vpx |
205 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/decoder.so | |
206 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/vpx/encoder.so | |
207 | %{py_sitedir}/xpra/codecs/vpx/__init__.py[co] | |
62cb8620 JB |
208 | %dir %{py_sitedir}/xpra/codecs/webp |
209 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/decode.so | |
210 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/webp/encode.so | |
211 | %{py_sitedir}/xpra/codecs/webp/__init__.py[co] | |
5a5f28f1 JB |
212 | %dir %{py_sitedir}/xpra/codecs/xor |
213 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/xor/cyxor.so | |
214 | %{py_sitedir}/xpra/codecs/xor/*.py[co] | |
215 | %{py_sitedir}/xpra/codecs/*.py[co] | |
383a6766 ER |
216 | %dir %{py_sitedir}/xpra/codecs/csc_cython |
217 | %{py_sitedir}/xpra/codecs/csc_cython/*.py[co] | |
218 | %attr(755,root,root) %{py_sitedir}/xpra/codecs/csc_cython/colorspace_converter.so | |
219 | %dir %{py_sitedir}/xpra/codecs/csc_opencl | |
220 | %{py_sitedir}/xpra/codecs/csc_opencl/*.py[co] | |
221 | %dir %{py_sitedir}/xpra/net/bencode | |
222 | %{py_sitedir}/xpra/net/bencode/*.py[co] | |
223 | %attr(755,root,root) %{py_sitedir}/xpra/net/bencode/cython_bencode.so | |
5a5f28f1 JB |
224 | %dir %{py_sitedir}/xpra/gtk_common |
225 | %attr(755,root,root) %{py_sitedir}/xpra/gtk_common/gdk_atoms.so | |
226 | %{py_sitedir}/xpra/gtk_common/*.py[co] | |
227 | %{py_sitedir}/xpra/keyboard | |
228 | %dir %{py_sitedir}/xpra/net | |
5a5f28f1 JB |
229 | %{py_sitedir}/xpra/net/*.py[co] |
230 | %{py_sitedir}/xpra/platform | |
231 | %{py_sitedir}/xpra/scripts | |
232 | %dir %{py_sitedir}/xpra/server | |
5b5972d7 JB |
233 | %attr(755,root,root) %{py_sitedir}/xpra/server/cystats.so |
234 | %attr(755,root,root) %{py_sitedir}/xpra/server/region.so | |
5a5f28f1 | 235 | %{py_sitedir}/xpra/server/*.py[co] |
383a6766 ER |
236 | %dir %{py_sitedir}/xpra/server/auth |
237 | %{py_sitedir}/xpra/server/auth/*.py[co] | |
5a5f28f1 JB |
238 | %{py_sitedir}/xpra/sound |
239 | %dir %{py_sitedir}/xpra/x11 | |
240 | %dir %{py_sitedir}/xpra/x11/bindings | |
241 | %attr(755,root,root) %{py_sitedir}/xpra/x11/bindings/*.so | |
242 | %{py_sitedir}/xpra/x11/bindings/__init__.py[co] | |
243 | %dir %{py_sitedir}/xpra/x11/gtk_x11 | |
244 | %attr(755,root,root) %{py_sitedir}/xpra/x11/gtk_x11/gdk_*.so | |
245 | %{py_sitedir}/xpra/x11/gtk_x11/*.py[co] | |
246 | %{py_sitedir}/xpra/x11/*.py[co] | |
160ef313 | 247 | %{py_sitedir}/xpra/*.py[co] |
383a6766 | 248 | %{py_sitedir}/xpra-%{version}-py*.egg-info |
5b5972d7 | 249 | |
48f224e5 ER |
250 | %files -n cups-backend-xpra |
251 | %defattr(644,root,root,755) | |
252 | %attr(756,root,root) %{cupsdir}/xpraforwarder |