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