4 Summary: Library for developing wayland compositor
6 Group: Graphics & UI Framework/Wayland Window System
8 Source: %{name}-%{version}.tar.gz
9 source1001: %name.manifest
14 BuildRequires: autoconf > 2.64
15 BuildRequires: automake >= 1.11
16 BuildRequires: libtool >= 2.2
17 BuildRequires: pkgconfig
18 BuildRequires: pkgconfig(wayland-server)
19 BuildRequires: pkgconfig(wayland-client)
20 BuildRequires: pkgconfig(pixman-1)
21 BuildRequires: pkgconfig(libinput)
22 BuildRequires: pkgconfig(libdrm)
23 BuildRequires: pkgconfig(libudev)
24 %if "%{ENABLE_DRM}" == "1"
25 BuildRequires: pkgconfig(gbm)
27 BuildRequires: pkgconfig(egl)
28 BuildRequires: pkgconfig(glesv2)
29 BuildRequires: pkgconfig(xkbcommon)
30 BuildRequires: doxygen
31 BuildRequires: pkgconfig(wayland-tbm-server)
32 BuildRequires: pkgconfig(tizen-extension-server)
33 BuildRequires: pkgconfig(tizen-extension-client)
34 %if "%{ENABLE_TDM}" == "1"
35 BuildRequires: pkgconfig(libtdm)
37 BuildRequires: pkgconfig(dlog)
38 BuildRequires: pkgconfig(cynara-client)
39 BuildRequires: pkgconfig(cynara-creds-socket)
40 BuildRequires: pkgconfig(libsmack)
41 BuildRequires: pkgconfig(gmock)
43 %{!?TZ_SYS_RO_SHARE: %global TZ_SYS_RO_SHARE /usr/share}
46 Pepper is a lightweight and flexible library for developing various types of wayland compositors.
50 Summary: Development module for pepper package
51 Requires: %{name} = %{version}-%{release}
54 This package includes developer files common to all packages.
58 Summary: inotify module for pepper package
61 This package includes inotify module files.
64 %package inotify-devel
65 Summary: Inotify development module for pepper package
66 Requires: pepper-inotify = %{version}-%{release}
68 %description inotify-devel
69 This package includes inotify development module files.
73 Summary: Keyrouter module for pepper package
75 %description keyrouter
76 This package includes keyrouter module files.
78 ###### keyrouter-devel
79 %package keyrouter-devel
80 Summary: Keyrouter development module for pepper package
81 Requires: pepper-keyrouter = %{version}-%{release}
83 %description keyrouter-devel
84 This package includes keyrouter development module files.
88 Summary: Keyrouter module for pepper package
90 %description devicemgr
91 This package includes devicemgr module files.
93 ###### devicemgr-devel
94 %package devicemgr-devel
95 Summary: Devicemgr development module for pepper package
96 Requires: pepper-devicemgr = %{version}-%{release}
98 %description devicemgr-devel
99 This package includes devicemgr development module files.
103 Summary: evdev module for pepper package
106 This package includes evdev module files.
110 Summary: Evdev development module for pepper package
111 Requires: pepper-evdev = %{version}-%{release}
113 %description evdev-devel
114 This package includes evdev development module files.
118 Summary: xkb module for pepper package
119 Requires: xkeyboard-config
122 This package includes xkb module files.
126 Summary: XKB development module for pepper package
127 Requires: pepper-xkb = %{version}-%{release}
128 Requires: pkgconfig(xkbcommon)
130 %description xkb-devel
131 This package includes xkb development module files.
135 Summary: Libinput module for pepper package
137 %description libinput
138 This package includes libinput module files.
140 ###### libinput-devel
141 %package libinput-devel
142 Summary: Libinput development module for pepper package
143 Requires: pepper-libinput = %{version}-%{release}
145 %description libinput-devel
146 This package includes libinput development module files.
149 %package desktop-shell
150 Summary: Desktop-shell module for pepper package
152 %description desktop-shell
153 This package includes desktop-shell module files.
155 ###### desktop-shell-devel
156 %package desktop-shell-devel
157 Summary: Desktop-shell development module for pepper package
158 Requires: pepper-desktop-shell = %{version}-%{release}
159 Requires: pepper-xkb = %{version}-%{release}
161 %description desktop-shell-devel
162 This package includes desktop-shell development module files.
166 Summary: Render module for pepper package
169 This package includes render module files.
172 %package render-devel
173 Summary: Render development module for pepper package
174 Requires: pepper-render = %{version}-%{release}
176 %description render-devel
177 This package includes render development module files.
179 %if "%{ENABLE_DRM}" == "1"
182 Summary: Drm backend module for pepper package
185 This package includes drm backend module files.
187 ###### drm backend devel
189 Summary: Drm backend development module for pepper package
190 Requires: pepper-drm = %{version}-%{release}
192 %description drm-devel
193 This package includes drm backend development module files.
196 %if "%{ENABLE_TDM}" == "1"
199 Summary: TDM backend module for pepper package
202 This package includes tdm backend module files.
204 ###### tdm backend devel
206 Summary: TDM backend development module for pepper package
207 Requires: pepper-tdm = %{version}-%{release}
209 %description tdm-devel
210 This package includes drm backend development module files.
215 Summary: Fbdev backend module for pepper package
218 This package includes fbdev backend module files.
220 ###### fbdev backend devel
222 Summary: Fbdev backend development module for pepper package
223 Requires: pepper-fbdev = %{version}-%{release}
225 %description fbdev-devel
226 This package includes fbdev backend development module files.
228 ###### wayland backend
230 Summary: Wayland backend module for pepper package
233 This package includes wayland backend module files.
235 ###### wayland backend devel
236 %package wayland-devel
237 Summary: Wayland backend development module for pepper package
238 Requires: pepper-wayland = %{version}-%{release}
240 %description wayland-devel
241 This package includes wayland backend development module files.
245 Summary: Doctor server for pepper package
246 Requires: pepper pepper-keyrouter pepper-devicemgr pepper-evdev
250 This package includes doctor server files.
254 Summary: samples for pepper package
255 %if "%{ENABLE_DRM}" == "1"
258 Requires: pepper-desktop-shell
259 Requires: pepper-fbdev
260 %if "%{ENABLE_TDM}" == "1"
263 Requires: pepper-wayland pepper-x11
264 Requires: pepper-libinput
265 Requires: pepper-keyrouter pepper-evdev pepper-devicemgr pepper-inotify
269 This package includes samples files.
273 Summary: Pepper unit tests package
276 gtest test cases for pepper
285 export CFLAGS+=" -fPIE "
286 export LDFLAGS+=" -pie "
289 %if "%{ENABLE_DRM}" == "0"
292 %if "%{ENABLE_TDM}" == "0"
295 --enable-socket-fd=yes \
297 --with-keylayout-dir=%{TZ_SYS_RO_SHARE}/X11/xkb/tizen_key_layout.txt
304 %define display_user display
305 %define display_group display
307 # install system session services
308 %__mkdir_p %{buildroot}%{_unitdir}
309 install -m 644 data/units/display-manager.service %{buildroot}%{_unitdir}
310 install -m 644 data/units/display-manager-ready.path %{buildroot}%{_unitdir}
311 install -m 644 data/units/display-manager-ready.service %{buildroot}%{_unitdir}
313 # install user session service
314 %__mkdir_p %{buildroot}%{_unitdir_user}
315 install -m 644 data/units/display-user.service %{buildroot}%{_unitdir_user}
317 # install env file and scripts for service
318 %__mkdir_p %{buildroot}%{_sysconfdir}/sysconfig
319 install -m 0644 data/units/display-manager.env %{buildroot}%{_sysconfdir}/sysconfig
320 %__mkdir_p %{buildroot}%{_sysconfdir}/profile.d
321 install -m 0644 data/units/display_env.sh %{buildroot}%{_sysconfdir}/profile.d
323 %post -n %{name} -p /sbin/ldconfig
324 %postun -n %{name} -p /sbin/ldconfig
326 %post inotify -p /sbin/ldconfig
327 %postun inotify -p /sbin/ldconfig
329 %post keyrouter -p /sbin/ldconfig
330 %postun keyrouter -p /sbin/ldconfig
332 %post devicemgr -p /sbin/ldconfig
333 %postun devicemgr -p /sbin/ldconfig
335 %post evdev -p /sbin/ldconfig
336 %postun evdev -p /sbin/ldconfig
338 %post libinput -p /sbin/ldconfig
339 %postun libinput -p /sbin/ldconfig
341 %post desktop-shell -p /sbin/ldconfig
342 %postun desktop-shell -p /sbin/ldconfig
344 %post render -p /sbin/ldconfig
345 %postun render -p /sbin/ldconfig
347 %if "%{ENABLE_DRM}" == "1"
348 %post drm -p /sbin/ldconfig
349 %postun drm -p /sbin/ldconfig
352 %if "%{ENABLE_TDM}" == "1"
353 %post tdm -p /sbin/ldconfig
354 %postun tdm -p /sbin/ldconfig
357 %post fbdev -p /sbin/ldconfig
358 %postun fbdev -p /sbin/ldconfig
360 %post wayland -p /sbin/ldconfig
361 %postun wayland -p /sbin/ldconfig
364 # create groups 'display'
365 getent group %{display_group} >/dev/null || %{_sbindir}/groupadd -r -o %{display_group}
366 # create user 'display'
367 getent passwd %{display_user} >/dev/null || %{_sbindir}/useradd -r -g %{display_group} -d /run/display -s /bin/false -c "Display" %{display_user}
369 # create links within systemd's target(s)
370 %__mkdir_p %{_unitdir}/graphical.target.wants/
371 %__mkdir_p %{_unitdir_user}/basic.target.wants/
372 ln -sf ../display-manager.service %{_unitdir}/graphical.target.wants/
373 ln -sf ../display-manager-ready.service %{_unitdir}/graphical.target.wants/
374 ln -sf ../display-user.service %{_unitdir_user}/basic.target.wants/
377 rm -f %{_unitdir}/graphical.target.wants/display-manager.service
378 rm -f %{_unitdir}/graphical.target.wants/display-manager-ready.service
379 rm -f %{_unitdir_user}/basic.target.wants/display-user.service
382 %manifest %{name}.manifest
383 %defattr(-,root,root,-)
385 %{_libdir}/libpepper.so.*
388 %manifest %{name}.manifest
389 %defattr(-,root,root,-)
390 %{_includedir}/pepper/pepper.h
391 %{_includedir}/pepper/pepper-utils.h
392 %{_includedir}/pepper/pepper-utils-pixman.h
393 %{_includedir}/pepper/pepper-output-backend.h
394 %{_includedir}/pepper/pepper-input-backend.h
395 %{_libdir}/pkgconfig/pepper.pc
396 %{_libdir}/libpepper.so
399 %manifest %{name}.manifest
400 %defattr(-,root,root,-)
402 %{_libdir}/libpepper-inotify.so.*
405 %manifest %{name}.manifest
406 %defattr(-,root,root,-)
407 %{_includedir}/pepper/pepper-inotify.h
408 %{_libdir}/pkgconfig/pepper-inotify.pc
409 %{_libdir}/libpepper-inotify.so
412 %manifest %{name}.manifest
413 %defattr(-,root,root,-)
415 %{_libdir}/libpepper-keyrouter.so.*
417 %files keyrouter-devel
418 %manifest %{name}.manifest
419 %defattr(-,root,root,-)
420 %{_includedir}/pepper/keyrouter.h
421 %{_includedir}/pepper/pepper-keyrouter.h
422 %{_libdir}/pkgconfig/pepper-keyrouter.pc
423 %{_libdir}/libpepper-keyrouter.so
426 %manifest %{name}.manifest
427 %defattr(-,root,root,-)
429 %{_libdir}/libpepper-devicemgr.so.*
431 %files devicemgr-devel
432 %manifest %{name}.manifest
433 %defattr(-,root,root,-)
434 %{_includedir}/pepper/devicemgr.h
435 %{_includedir}/pepper/pepper-devicemgr.h
436 %{_libdir}/pkgconfig/pepper-devicemgr.pc
437 %{_libdir}/libpepper-devicemgr.so
440 %manifest %{name}.manifest
441 %defattr(-,root,root,-)
443 %{_libdir}/libpepper-evdev.so.*
446 %manifest %{name}.manifest
447 %defattr(-,root,root,-)
448 %{_includedir}/pepper/pepper-evdev.h
449 %{_libdir}/pkgconfig/pepper-evdev.pc
450 %{_libdir}/libpepper-evdev.so
453 %manifest %{name}.manifest
454 %defattr(-,root,root,-)
456 %{_libdir}/libpepper-xkb.so.*
459 %manifest %{name}.manifest
460 %defattr(-,root,root,-)
461 %{_includedir}/pepper/pepper-xkb.h
462 %{_libdir}/pkgconfig/pepper-xkb.pc
463 %{_libdir}/libpepper-xkb.so
466 %manifest %{name}.manifest
467 %defattr(-,root,root,-)
469 %{_libdir}/libpepper-libinput.so.*
471 %files libinput-devel
472 %manifest %{name}.manifest
473 %defattr(-,root,root,-)
474 %{_includedir}/pepper/pepper-libinput.h
475 %{_libdir}/pkgconfig/pepper-libinput.pc
476 %{_libdir}/libpepper-libinput.so
479 %manifest %{name}.manifest
480 %defattr(-,root,root,-)
482 %{_libdir}/libpepper-desktop-shell.so.*
483 %{_bindir}/shell-client
485 %files desktop-shell-devel
486 %manifest %{name}.manifest
487 %defattr(-,root,root,-)
488 %{_includedir}/pepper/pepper-desktop-shell.h
489 %{_includedir}/pepper/pepper-shell-client-protocol.h
490 %{_includedir}/pepper/xdg-shell-client-protocol.h
491 %{_libdir}/pkgconfig/pepper-desktop-shell.pc
492 %{_libdir}/libpepper-desktop-shell.so
495 %manifest %{name}.manifest
496 %defattr(-,root,root,-)
498 %{_libdir}/libpepper-render.so.*
501 %manifest %{name}.manifest
502 %defattr(-,root,root,-)
503 %{_includedir}/pepper/pepper-render.h
504 %{_includedir}/pepper/pepper-*-renderer.h
505 %{_libdir}/pkgconfig/pepper-render.pc
506 %{_libdir}/libpepper-render.so
508 %if "%{ENABLE_DRM}" == "1"
510 %manifest %{name}.manifest
511 %defattr(-,root,root,-)
513 %{_libdir}/libpepper-drm.so.*
516 %manifest %{name}.manifest
517 %defattr(-,root,root,-)
518 %{_includedir}/pepper/pepper-drm.h
519 %{_libdir}/pkgconfig/pepper-drm.pc
520 %{_libdir}/libpepper-drm.so
523 %if "%{ENABLE_TDM}" == "1"
525 %manifest %{name}.manifest
526 %defattr(-,root,root,-)
528 %{_libdir}/libpepper-tdm.so.*
531 %manifest %{name}.manifest
532 %defattr(-,root,root,-)
533 %{_includedir}/pepper/pepper-tdm.h
534 %{_libdir}/pkgconfig/pepper-tdm.pc
535 %{_libdir}/libpepper-tdm.so
539 %manifest %{name}.manifest
540 %defattr(-,root,root,-)
542 %{_libdir}/libpepper-fbdev.so.*
545 %manifest %{name}.manifest
546 %defattr(-,root,root,-)
547 %{_includedir}/pepper/pepper-fbdev.h
548 %{_libdir}/pkgconfig/pepper-fbdev.pc
549 %{_libdir}/libpepper-fbdev.so
552 %manifest %{name}.manifest
553 %defattr(-,root,root,-)
555 %{_libdir}/libpepper-wayland.so.*
558 %manifest %{name}.manifest
559 %defattr(-,root,root,-)
560 %{_includedir}/pepper/pepper-wayland.h
561 %{_libdir}/pkgconfig/pepper-wayland.pc
562 %{_libdir}/libpepper-wayland.so
565 %manifest %{name}.manifest
566 %defattr(-,root,root,-)
569 %{_unitdir}/display-manager-ready.path
570 %{_unitdir}/display-manager-ready.service
571 %{_unitdir}/display-manager.service
572 %{_unitdir_user}/display-user.service
573 %config %{_sysconfdir}/sysconfig/display-manager.env
574 %config %{_sysconfdir}/profile.d/display_env.sh
577 %manifest %{name}.manifest
578 %defattr(-,root,root,-)
583 %defattr(-,root,root,-)