4 Summary: Library for developing wayland compositor
6 Group: Graphics & UI Framework/Wayland Window System
8 Source: %{name}-%{version}.tar.xz
9 source1001: %name.manifest
12 %define HEADLESS_SERVER 1
14 BuildRequires: autoconf > 2.64
15 BuildRequires: automake >= 1.11
16 BuildRequires: libtool >= 2.2
17 BuildRequires: pkgconfig
19 BuildRequires: pkgconfig(wayland-server)
20 BuildRequires: pkgconfig(wayland-client)
21 BuildRequires: pkgconfig(pixman-1)
22 BuildRequires: pkgconfig(libinput)
23 BuildRequires: pkgconfig(libdrm)
24 BuildRequires: pkgconfig(gbm)
25 BuildRequires: pkgconfig(egl)
26 BuildRequires: pkgconfig(glesv2)
27 BuildRequires: pkgconfig(xkbcommon)
28 BuildRequires: doxygen
29 BuildRequires: pkgconfig(wayland-tbm-server)
30 #BuildRequires: pkgconfig(libtbm)
31 BuildRequires: pkgconfig(tizen-extension-server)
32 BuildRequires: pkgconfig(tizen-extension-client)
33 %if "%{ENABLE_TDM}" == "1"
34 BuildRequires: pkgconfig(libtdm)
36 BuildRequires: pkgconfig(dlog)
37 %if "%{HEADLESS_SERVER}" == "1"
38 BuildRequires: pkgconfig(capi-system-peripheral-io)
39 BuildRequires: pkgconfig(xdg-shell-unstable-v6-server)
40 BuildRequires: pkgconfig(tizen-extension-server)
42 BuildRequires: pkgconfig(cynara-client)
43 BuildRequires: pkgconfig(cynara-creds-socket)
44 BuildRequires: pkgconfig(libsmack)
47 Pepper is a lightweight and flexible library for developing various types of wayland compositors.
51 Summary: Development module for pepper package
52 Requires: %{name} = %{version}-%{release}
55 This package includes developer files common to all packages.
59 Summary: inotify module for pepper package
62 This package includes inotify module files.
65 %package inotify-devel
66 Summary: Inotify development module for pepper package
67 Requires: pepper-inotify = %{version}-%{release}
69 %description inotify-devel
70 This package includes inotify development module files.
74 Summary: Keyrouter module for pepper package
76 %description keyrouter
77 This package includes keyrouter module files.
79 ###### keyrouter-devel
80 %package keyrouter-devel
81 Summary: Keyrouter development module for pepper package
82 Requires: pepper-keyrouter = %{version}-%{release}
84 %description keyrouter-devel
85 This package includes keyrouter development module files.
89 Summary: Keyrouter module for pepper package
91 %description devicemgr
92 This package includes devicemgr module files.
94 ###### devicemgr-devel
95 %package devicemgr-devel
96 Summary: Devicemgr development module for pepper package
97 Requires: pepper-devicemgr = %{version}-%{release}
99 %description devicemgr-devel
100 This package includes devicemgr development module files.
104 Summary: evdev module for pepper package
107 This package includes evdev module files.
111 Summary: Evdev development module for pepper package
112 Requires: pepper-evdev = %{version}-%{release}
114 %description evdev-devel
115 This package includes evdev development module files.
119 Summary: xkb module for pepper package
120 Requires: xkeyboard-config
123 This package includes xkb module files.
127 Summary: XKB development module for pepper package
128 Requires: pepper-xkb = %{version}-%{release}
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.
181 Summary: Drm backend module for pepper package
184 This package includes drm backend module files.
186 ###### drm backend devel
188 Summary: Drm backend development module for pepper package
189 Requires: pepper-drm = %{version}-%{release}
191 %description drm-devel
192 This package includes drm backend development module files.
196 Summary: TDM backend module for pepper package
199 This package includes tdm backend module files.
201 ###### tdm backend devel
203 Summary: TDM backend development module for pepper package
204 Requires: pepper-tdm = %{version}-%{release}
206 %description tdm-devel
207 This package includes drm backend development module files.
211 Summary: Fbdev backend module for pepper package
214 This package includes fbdev backend module files.
216 ###### fbdev backend devel
218 Summary: Fbdev backend development module for pepper package
219 Requires: pepper-fbdev = %{version}-%{release}
221 %description fbdev-devel
222 This package includes fbdev backend development module files.
224 ###### wayland backend
226 Summary: Wayland backend module for pepper package
229 This package includes wayland backend module files.
231 ###### wayland backend devel
232 %package wayland-devel
233 Summary: Wayland backend development module for pepper package
234 Requires: pepper-wayland = %{version}-%{release}
236 %description wayland-devel
237 This package includes wayland backend development module files.
241 Summary: Doctor server for pepper package
242 Requires: pepper pepper-keyrouter pepper-devicemgr pepper-evdev
244 Conflicts: pepper-headless
247 This package includes doctor server files.
249 ###### headless server
251 Summary: Headless server for pepper package
252 Requires: pepper pepper-keyrouter pepper-devicemgr pepper-evdev
253 Requires: pepper-xkb xkeyboard-config xkb-tizen-data
255 Conflicts: pepper-doctor
257 %description headless
258 This package includes headless server files.
262 Summary: samples for pepper package
263 Requires: pepper-drm pepper-desktop-shell
264 Requires: pepper-fbdev
266 Requires: pepper-wayland pepper-x11
267 Requires: pepper-libinput
268 Requires: pepper-keyrouter pepper-evdev pepper-devicemgr pepper-inotify
272 This package includes samples files.
283 %if "%{ENABLE_TDM}" == "0"
286 --enable-socket-fd=yes \
294 %define display_user display
295 %define display_group display
297 # install system session services
298 %__mkdir_p %{buildroot}%{_unitdir}
299 install -m 644 data/units/display-manager.service.doctor %{buildroot}%{_unitdir}
300 install -m 644 data/units/display-manager.service.headless %{buildroot}%{_unitdir}
301 install -m 550 data/scripts/* %{buildroot}%{_bindir}
302 install -m 644 data/units/display-manager-ready.path %{buildroot}%{_unitdir}
303 install -m 644 data/units/display-manager-ready.service %{buildroot}%{_unitdir}
305 # install user session service
306 %__mkdir_p %{buildroot}%{_unitdir_user}
307 install -m 644 data/units/display-user.service %{buildroot}%{_unitdir_user}
309 # install env file and scripts for service
310 %__mkdir_p %{buildroot}%{_sysconfdir}/sysconfig
311 install -m 0644 data/units/display-manager.env %{buildroot}%{_sysconfdir}/sysconfig
312 %__mkdir_p %{buildroot}%{_sysconfdir}/profile.d
313 install -m 0644 data/units/display_env.sh %{buildroot}%{_sysconfdir}/profile.d
315 %post -n %{name} -p /sbin/ldconfig
316 %postun -n %{name} -p /sbin/ldconfig
318 %post inotify -p /sbin/ldconfig
319 %postun inotify -p /sbin/ldconfig
321 %post keyrouter -p /sbin/ldconfig
322 %postun keyrouter -p /sbin/ldconfig
324 %post devicemgr -p /sbin/ldconfig
325 %postun devicemgr -p /sbin/ldconfig
327 %post evdev -p /sbin/ldconfig
328 %postun evdev -p /sbin/ldconfig
330 %post libinput -p /sbin/ldconfig
331 %postun libinput -p /sbin/ldconfig
333 %post desktop-shell -p /sbin/ldconfig
334 %postun desktop-shell -p /sbin/ldconfig
336 %post render -p /sbin/ldconfig
337 %postun render -p /sbin/ldconfig
339 %post drm -p /sbin/ldconfig
340 %postun drm -p /sbin/ldconfig
342 %post fbdev -p /sbin/ldconfig
343 %postun fbdev -p /sbin/ldconfig
345 %post wayland -p /sbin/ldconfig
346 %postun wayland -p /sbin/ldconfig
349 # create groups 'display'
350 getent group %{display_group} >/dev/null || %{_sbindir}/groupadd -r -o %{display_group}
351 # create user 'display'
352 getent passwd %{display_user} >/dev/null || %{_sbindir}/useradd -r -g %{display_group} -d /run/display -s /bin/false -c "Display" %{display_user}
354 # create links within systemd's target(s)
355 %__mkdir_p %{_unitdir}/graphical.target.wants/
356 %__mkdir_p %{_unitdir_user}/basic.target.wants/
357 ln -sf ../display-manager.service %{_unitdir}/graphical.target.wants/
358 ln -sf ../display-manager-ready.service %{_unitdir}/graphical.target.wants/
359 ln -sf ../display-user.service %{_unitdir_user}/basic.target.wants/
362 # create groups 'display'
363 getent group %{display_group} >/dev/null || %{_sbindir}/groupadd -r -o %{display_group}
364 # create user 'display'
365 getent passwd %{display_user} >/dev/null || %{_sbindir}/useradd -r -g %{display_group} -d /run/display -s /bin/false -c "Display" %{display_user}
367 # create links within systemd's target(s)
368 %__mkdir_p %{_unitdir}/graphical.target.wants/
369 %__mkdir_p %{_unitdir_user}/basic.target.wants/
370 ln -sf ../display-manager.service %{_unitdir}/graphical.target.wants/
371 ln -sf ../display-manager-ready.service %{_unitdir}/graphical.target.wants/
372 ln -sf ../display-user.service %{_unitdir_user}/basic.target.wants/
375 mv -f %{_unitdir}/display-manager.service.doctor %{_unitdir}/display-manager.service
378 mv -f %{_unitdir}/display-manager.service.headless %{_unitdir}/display-manager.service
381 rm -f %{_unitdir}/graphical.target.wants/display-manager.service
382 rm -f %{_unitdir}/graphical.target.wants/display-manager-ready.service
383 rm -f %{_unitdir_user}/basic.target.wants/display-user.service
386 rm -f %{_unitdir}/graphical.target.wants/display-manager.service
387 rm -f %{_unitdir}/graphical.target.wants/display-manager-ready.service
388 rm -f %{_unitdir_user}/basic.target.wants/display-user.service
391 %manifest %{name}.manifest
392 %defattr(-,root,root,-)
394 %{_libdir}/libpepper.so.*
397 %manifest %{name}.manifest
398 %defattr(-,root,root,-)
399 %{_includedir}/pepper/pepper.h
400 %{_includedir}/pepper/pepper-utils.h
401 %{_includedir}/pepper/pepper-utils-pixman.h
402 %{_includedir}/pepper/pepper-output-backend.h
403 %{_includedir}/pepper/pepper-input-backend.h
404 %{_libdir}/pkgconfig/pepper.pc
405 %{_libdir}/libpepper.so
408 %manifest %{name}.manifest
409 %defattr(-,root,root,-)
411 %{_libdir}/libpepper-inotify.so.*
414 %manifest %{name}.manifest
415 %defattr(-,root,root,-)
416 %{_includedir}/pepper/pepper-inotify.h
417 %{_libdir}/pkgconfig/pepper-inotify.pc
418 %{_libdir}/libpepper-inotify.so
421 %manifest %{name}.manifest
422 %defattr(-,root,root,-)
424 %{_libdir}/libpepper-keyrouter.so.*
426 %files keyrouter-devel
427 %manifest %{name}.manifest
428 %defattr(-,root,root,-)
429 %{_includedir}/pepper/keyrouter.h
430 %{_includedir}/pepper/pepper-keyrouter.h
431 %{_libdir}/pkgconfig/pepper-keyrouter.pc
432 %{_libdir}/libpepper-keyrouter.so
435 %manifest %{name}.manifest
436 %defattr(-,root,root,-)
438 %{_libdir}/libpepper-devicemgr.so.*
440 %files devicemgr-devel
441 %manifest %{name}.manifest
442 %defattr(-,root,root,-)
443 %{_includedir}/pepper/devicemgr.h
444 %{_includedir}/pepper/pepper-devicemgr.h
445 %{_libdir}/pkgconfig/pepper-devicemgr.pc
446 %{_libdir}/libpepper-devicemgr.so
449 %manifest %{name}.manifest
450 %defattr(-,root,root,-)
452 %{_libdir}/libpepper-evdev.so.*
455 %manifest %{name}.manifest
456 %defattr(-,root,root,-)
457 %{_includedir}/pepper/pepper-evdev.h
458 %{_libdir}/pkgconfig/pepper-evdev.pc
459 %{_libdir}/libpepper-evdev.so
462 %manifest %{name}.manifest
463 %defattr(-,root,root,-)
465 %{_libdir}/libpepper-xkb.so.*
468 %manifest %{name}.manifest
469 %defattr(-,root,root,-)
470 %{_includedir}/pepper/pepper-xkb.h
471 %{_libdir}/pkgconfig/pepper-xkb.pc
472 %{_libdir}/libpepper-xkb.so
475 %manifest %{name}.manifest
476 %defattr(-,root,root,-)
478 %{_libdir}/libpepper-libinput.so.*
480 %files libinput-devel
481 %manifest %{name}.manifest
482 %defattr(-,root,root,-)
483 %{_includedir}/pepper/pepper-libinput.h
484 %{_libdir}/pkgconfig/pepper-libinput.pc
485 %{_libdir}/libpepper-libinput.so
488 %manifest %{name}.manifest
489 %defattr(-,root,root,-)
491 %{_libdir}/libpepper-desktop-shell.so.*
492 %{_bindir}/shell-client
494 %files desktop-shell-devel
495 %manifest %{name}.manifest
496 %defattr(-,root,root,-)
497 %{_includedir}/pepper/pepper-desktop-shell.h
498 %{_includedir}/pepper/pepper-shell-client-protocol.h
499 %{_includedir}/pepper/xdg-shell-client-protocol.h
500 %{_libdir}/pkgconfig/pepper-desktop-shell.pc
501 %{_libdir}/libpepper-desktop-shell.so
504 %manifest %{name}.manifest
505 %defattr(-,root,root,-)
507 %{_libdir}/libpepper-render.so.*
510 %manifest %{name}.manifest
511 %defattr(-,root,root,-)
512 %{_includedir}/pepper/pepper-render.h
513 %{_includedir}/pepper/pepper-*-renderer.h
514 %{_libdir}/pkgconfig/pepper-render.pc
515 %{_libdir}/libpepper-render.so
518 %manifest %{name}.manifest
519 %defattr(-,root,root,-)
521 %{_libdir}/libpepper-drm.so.*
524 %manifest %{name}.manifest
525 %defattr(-,root,root,-)
526 %{_includedir}/pepper/pepper-drm.h
527 %{_libdir}/pkgconfig/pepper-drm.pc
528 %{_libdir}/libpepper-drm.so
530 %if "%{ENABLE_TDM}" == "1"
532 %manifest %{name}.manifest
533 %defattr(-,root,root,-)
535 %{_libdir}/libpepper-tdm.so.*
538 %manifest %{name}.manifest
539 %defattr(-,root,root,-)
540 %{_includedir}/pepper/pepper-tdm.h
541 %{_libdir}/pkgconfig/pepper-tdm.pc
542 %{_libdir}/libpepper-tdm.so
546 %manifest %{name}.manifest
547 %defattr(-,root,root,-)
549 %{_libdir}/libpepper-fbdev.so.*
552 %manifest %{name}.manifest
553 %defattr(-,root,root,-)
554 %{_includedir}/pepper/pepper-fbdev.h
555 %{_libdir}/pkgconfig/pepper-fbdev.pc
556 %{_libdir}/libpepper-fbdev.so
559 %manifest %{name}.manifest
560 %defattr(-,root,root,-)
562 %{_libdir}/libpepper-wayland.so.*
565 %manifest %{name}.manifest
566 %defattr(-,root,root,-)
567 %{_includedir}/pepper/pepper-wayland.h
568 %{_libdir}/pkgconfig/pepper-wayland.pc
569 %{_libdir}/libpepper-wayland.so
572 %manifest %{name}.manifest
573 %defattr(-,root,root,-)
576 %{_unitdir}/display-manager-ready.path
577 %{_unitdir}/display-manager-ready.service
578 %{_unitdir}/display-manager.service.doctor
579 %{_unitdir_user}/display-user.service
580 %config %{_sysconfdir}/sysconfig/display-manager.env
581 %config %{_sysconfdir}/profile.d/display_env.sh
584 %manifest %{name}.manifest
585 %defattr(-,root,root,-)
589 %{_unitdir}/display-manager-ready.path
590 %{_unitdir}/display-manager-ready.service
591 %{_unitdir}/display-manager.service.headless
592 %{_unitdir_user}/display-user.service
593 %config %{_sysconfdir}/sysconfig/display-manager.env
594 %config %{_sysconfdir}/profile.d/display_env.sh
597 %manifest %{name}.manifest
598 %defattr(-,root,root,-)