packaging: disable ivi-shell for wearable profile
[platform/upstream/weston.git] / packaging / weston.spec
1 %bcond_with wayland
2 %bcond_with libva
3 %bcond_with mobile
4 %bcond_with wearable
5 %bcond_with rdp
6
7 %if %{with mobile}
8 %define extra_config_options1 --disable-drm-compositor
9 %endif
10
11 %if %{with rdp}
12 %define extra_config_options2 --enable-rdp-compositor --enable-screen-sharing
13 %endif
14
15 %if "%{profile}" == "common"
16 %define extra_config_options3 --enable-sys-uid --disable-ivi-shell
17 %endif
18
19 %if "%{profile}" == "tv"
20 %define extra_config_options4 --enable-sys-uid --disable-ivi-shell
21 %endif
22
23 %if "%{profile}" == "mobile"
24 %define extra_config_options5 --enable-sys-uid --disable-ivi-shell
25 %endif
26
27 %if "%{profile}" == "wearable"
28 %define extra_config_options5 --enable-sys-uid --disable-ivi-shell
29 %endif
30
31 %if "%{profile}" == "ivi"
32 %define extra_config_options4 --disable-default-vkb --enable-transform
33 %endif
34
35 Name:           weston
36 Version:        1.8.0
37 Release:        0
38 Summary:        Wayland Compositor Infrastructure
39 License:        MIT
40 Group:          Graphics & UI Framework/Wayland Window System
41 Url:            http://weston.freedesktop.org/
42
43 #Git-Clone:     git://anongit.freedesktop.org/wayland/weston
44 #Git-Web:       http://cgit.freedesktop.org/wayland/weston/
45 Source0:        %name-%version.tar.xz
46 Source1:        %name.ini
47 Source1001:     %name.manifest
48 BuildRequires:  autoconf >= 2.64, automake >= 1.11
49 BuildRequires:  expat-devel
50 BuildRequires:  libjpeg-devel
51 BuildRequires:  libtool >= 2.2
52 BuildRequires:  libvpx-devel
53 BuildRequires:  pam-devel
54 BuildRequires:  pkgconfig
55 BuildRequires:  xz
56 BuildRequires:  pkgconfig(cairo)
57 BuildRequires:  pkgconfig(cairo-egl) >= 1.11.3
58 BuildRequires:  pkgconfig(egl) >= 7.10
59 %if %{with rdp}
60 BuildRequires:  pkgconfig(freerdp)
61 %endif
62 BuildRequires:  pkgconfig(gbm)
63 BuildRequires:  pkgconfig(gio-2.0)
64 BuildRequires:  pkgconfig(glesv2)
65 BuildRequires:  pkgconfig(glib-2.0)
66 BuildRequires:  pkgconfig(gobject-2.0)
67 %if !%{with mobile}
68 BuildRequires:  pkgconfig(libdrm) >= 2.4.30
69 %endif
70 BuildRequires:  pkgconfig(libffi)
71 BuildRequires:  pkgconfig(libinput) >= 0.8.0
72 BuildRequires:  pkgconfig(libsystemd-login)
73 BuildRequires:  pkgconfig(libudev) >= 136
74 %if %{with libva}
75 BuildRequires:  pkgconfig(libva)
76 %endif
77 BuildRequires:  pkgconfig(mtdev) >= 1.1.0
78 BuildRequires:  pkgconfig(pangocairo)
79 BuildRequires:  pkgconfig(pixman-1)
80 BuildRequires:  pkgconfig(poppler-glib)
81 BuildRequires:  pkgconfig(wayland-client)
82 BuildRequires:  pkgconfig(wayland-egl)
83 BuildRequires:  pkgconfig(wayland-server)
84 BuildRequires:  pkgconfig(xkbcommon) >= 0.3.0
85 Requires:       tlm
86 Requires(pre):  /usr/sbin/groupadd
87
88 %if !%{with wayland}
89 ExclusiveArch:
90 %endif
91
92 %description
93 Weston is the reference implementation of a Wayland compositor, and a
94 useful compositor in its own right. Weston has various backends that
95 lets it run on Linux kernel modesetting and evdev input as well as
96 under X11. Weston ships with a few example clients, from simple
97 clients that demonstrate certain aspects of the protocol to more
98 complete clients and a simplistic toolkit. There is also a quite
99 capable terminal emulator (weston-terminal) and an toy/example
100 desktop shell. Finally, weston also provides integration with the
101 Xorg server and can pull X clients into the Wayland desktop and act
102 as a X window manager.
103
104 %package devel
105 Summary: Development files for package %{name}
106 Group:   Graphics & UI Framework/Development
107 %description devel
108 This package provides header files and other developer releated files
109 for package %{name}.
110
111 %package clients
112 Summary: Sample clients for package %{name}
113 Group:   Graphics & UI Framework/Development
114 %description clients
115 This package provides a set of example wayland clients useful for
116 validating the functionality of wayland with very little dependencies
117 on other system components.
118
119 %if %{with rdp}
120 %package rdp
121 Summary: RDP compositor for %{name}
122 Group:   Graphics & UI Framework/Development
123 %description rdp
124 This package provides a RDP compositor allowing to do remote rendering
125 through the network.
126 %endif
127
128 %if "%{profile}" == "ivi"
129 %package ivi-shell
130 Summary: %{name} IVI Shell
131 Group:   Graphics & UI Framework/Wayland Window System
132 %description ivi-shell
133 A reference Weston shell designed for use in IVI systems.
134
135 %package ivi-shell-config
136 Summary: Tizen IVI %{name} configuration
137 Group:   Automotive/Configuration
138 Conflicts: weston-ivi-config
139 Conflicts: ico-uxf-weston-plugin
140 %description ivi-shell-config
141 This package contains Tizen IVI-specific configuration.
142 %endif
143
144 %prep
145 %setup -q
146 cp %{SOURCE1001} .
147
148 %build
149 %autogen --disable-static \
150          --disable-setuid-install \
151          --enable-simple-clients \
152          --enable-clients \
153          --disable-libunwind \
154          --disable-xwayland \
155          --disable-xwayland-test \
156          --disable-x11-compositor \
157          --disable-rpi-compositor \
158          --with-cairo=glesv2 \
159          %{?extra_config_options1:%extra_config_options1} \
160          %{?extra_config_options2:%extra_config_options2} \
161          %{?extra_config_options3:%extra_config_options3} \
162          %{?extra_config_options4:%extra_config_options4} \
163          %{?extra_config_options5:%extra_config_options5}
164
165 make %{?_smp_mflags}
166
167 %install
168 %make_install
169
170 # install example clients
171 install -m 755 weston-calibrator %{buildroot}%{_bindir}
172 install -m 755 weston-simple-touch %{buildroot}%{_bindir}
173 install -m 755 weston-simple-shm %{buildroot}%{_bindir}
174 install -m 755 weston-simple-egl %{buildroot}%{_bindir}
175 install -m 755 weston-simple-damage %{buildroot}%{_bindir}
176 install -m 755 weston-presentation-shm %{buildroot}%{_bindir}
177 install -m 755 weston-nested-client %{buildroot}%{_bindir}
178 install -m 755 weston-nested %{buildroot}%{_bindir}
179 install -m 755 weston-multi-resource %{buildroot}%{_bindir}
180 install -m 755 weston-flower %{buildroot}%{_bindir}
181 install -m 755 weston-image %{buildroot}%{_bindir}
182 install -m 755 weston-cliptest %{buildroot}%{_bindir}
183 install -m 755 weston-dnd %{buildroot}%{_bindir}
184 install -m 755 weston-editor %{buildroot}%{_bindir}
185 install -m 755 weston-stacking %{buildroot}%{_bindir}
186 install -m 755 weston-smoke %{buildroot}%{_bindir}
187 install -m 755 weston-scaler %{buildroot}%{_bindir}
188 install -m 755 weston-resizor %{buildroot}%{_bindir}
189 install -m 755 weston-eventdemo %{buildroot}%{_bindir}
190 install -m 755 weston-clickdot %{buildroot}%{_bindir}
191 install -m 755 weston-subsurfaces %{buildroot}%{_bindir}
192 install -m 755 weston-transformed %{buildroot}%{_bindir}
193 install -m 755 weston-fullscreen %{buildroot}%{_bindir}
194
195 %if "%{profile}" == "ivi"
196 mkdir -p %{buildroot}%{_sysconfdir}/xdg
197 install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/xdg
198 %endif
199
200 rm -rf %{buildroot}%{_datadir}/wayland-sessions
201
202 %pre
203 getent group weston-launch >/dev/null || %{_sbindir}/groupadd -o -r weston-launch
204
205 %docs_package
206
207 %files
208 %manifest %{name}.manifest
209 %defattr(-,root,root)
210 %license COPYING
211 %{_bindir}/wcap-*
212 %{_bindir}/weston
213 %{_bindir}/weston-info
214 %attr(4755,root,root) %{_bindir}/weston-launch
215 %{_bindir}/weston-terminal
216 %{_libexecdir}/weston-*
217 %{_libdir}/weston/desktop-shell.so
218 %if !%{with mobile}
219 %{_libdir}/weston/drm-backend.so
220 %endif
221 %{_libdir}/weston/fbdev-backend.so
222 %{_libdir}/weston/fullscreen-shell.so
223 %{_libdir}/weston/headless-backend.so
224 %{_libdir}/weston/wayland-backend.so
225 %{_libdir}/weston/gl-renderer.so
226 %{_datadir}/weston
227 # exclude ivi-shell-specific files
228 %exclude %{_libexecdir}/weston-ivi-shell-user-interface
229 %exclude %{_datadir}/weston/background.png
230 %exclude %{_datadir}/weston/panel.png
231 %exclude %{_datadir}/weston/tiling.png
232 %exclude %{_datadir}/weston/sidebyside.png
233 %exclude %{_datadir}/weston/fullscreen.png
234 %exclude %{_datadir}/weston/random.png
235 %exclude %{_datadir}/weston/home.png
236 %exclude %{_datadir}/weston/icon_ivi_simple-egl.png
237 %exclude %{_datadir}/weston/icon_ivi_simple-shm.png
238 %exclude %{_datadir}/weston/icon_ivi_smoke.png
239 %exclude %{_datadir}/weston/icon_ivi_flower.png
240 %exclude %{_datadir}/weston/icon_ivi_clickdot.png
241
242 %files devel
243 %manifest %{name}.manifest
244 %{_includedir}/weston/*.h
245 %{_libdir}/pkgconfig/*.pc
246
247 %files clients
248 %manifest %{name}.manifest
249 %{_bindir}/weston-simple-touch
250 %{_bindir}/weston-simple-shm
251 %{_bindir}/weston-simple-egl
252 %{_bindir}/weston-simple-damage
253 %{_bindir}/weston-presentation-shm
254 %{_bindir}/weston-nested-client
255 %{_bindir}/weston-nested
256 %{_bindir}/weston-multi-resource
257 %{_bindir}/weston-flower
258 %{_bindir}/weston-image
259 %{_bindir}/weston-cliptest
260 %{_bindir}/weston-dnd
261 %{_bindir}/weston-editor
262 %{_bindir}/weston-stacking
263 %{_bindir}/weston-smoke
264 %{_bindir}/weston-scaler
265 %{_bindir}/weston-resizor
266 %{_bindir}/weston-eventdemo
267 %{_bindir}/weston-clickdot
268 %{_bindir}/weston-subsurfaces
269 %{_bindir}/weston-transformed
270 %{_bindir}/weston-fullscreen
271 %{_bindir}/weston-calibrator
272
273 %if %{with rdp}
274 %files rdp
275 %manifest %{name}.manifest
276 %{_libdir}/weston/rdp-backend.so
277 %{_libdir}/weston/screen-share.so
278 %endif
279
280 %if "%{profile}" == "ivi"
281 %files ivi-shell
282 %manifest %{name}.manifest
283 %{_libdir}/weston/hmi-controller.so
284 %{_libdir}/weston/ivi-shell.so
285 %{_libexecdir}/weston-ivi-shell-user-interface
286 %{_datadir}/weston/background.png
287 %{_datadir}/weston/panel.png
288 %{_datadir}/weston/tiling.png
289 %{_datadir}/weston/sidebyside.png
290 %{_datadir}/weston/fullscreen.png
291 %{_datadir}/weston/random.png
292 %{_datadir}/weston/home.png
293 %{_datadir}/weston/icon_ivi_simple-egl.png
294 %{_datadir}/weston/icon_ivi_simple-shm.png
295 %{_datadir}/weston/icon_ivi_smoke.png
296 %{_datadir}/weston/icon_ivi_flower.png
297 %{_datadir}/weston/icon_ivi_clickdot.png
298
299 %files ivi-shell-config
300 %manifest %{name}.manifest
301 %config  %{_sysconfdir}/xdg/weston.ini
302 %endif
303
304 %changelog