2f69b8155d53a20a831f8249b96edf3e8f8cbfff
[platform/upstream/wayland.git] / packaging / wayland.spec
1 %define EGL_PACKAGE 0
2
3 Name:           wayland
4 Version:        1.15.0
5 Release:        0
6 Summary:        Wayland Compositor Infrastructure
7 License:        MIT
8 Group:          Graphics & UI Framework/Wayland Window System
9 URL:            http://wayland.freedesktop.org/
10
11 #Git-Clone:     git://anongit.freedesktop.org/wayland/wayland
12 #Git-Web:       http://cgit.freedesktop.org/wayland/wayland/
13 Source:         %name-%version.tar.xz
14 Source1001:     %name.manifest
15 BuildRequires:  meson
16 BuildRequires:  autoconf >= 2.64, automake >= 1.11
17 BuildRequires:  libtool >= 2.2
18 BuildRequires:  pkgconfig
19 BuildRequires:  pkgconfig(libffi)
20 BuildRequires:  pkgconfig(dlog)
21 BuildRequires:  expat-devel
22 BuildRequires:  pkgconfig(libxml-2.0)
23
24 %description
25 Wayland is a protocol for a compositor to talk to its clients as well
26 as a C library implementation of that protocol. The compositor can be
27 a standalone display server running on Linux kernel modesetting and
28 evdev input devices, an X application, or a wayland client itself.
29 The clients can be traditional applications, X servers (rootless or
30 fullscreen) or other display servers.
31
32 %package -n libwayland-client
33 Group:          Graphics & UI Framework/Wayland Window System
34 Summary:        Wayland core client library
35
36 %description -n libwayland-client
37 Wayland is a protocol for a compositor to talk to its clients as well
38 as a C library implementation of that protocol. The compositor can be
39 a standalone display server running on Linux kernel modesetting and
40 evdev input devices, an X application, or a wayland client itself.
41 The clients can be traditional applications, X servers (rootless or
42 fullscreen) or other display servers.
43
44 %package -n libwayland-cursor
45 Group:          Graphics & UI Framework/Wayland Window System
46 Summary:        Wayland cursor library
47
48 %description -n libwayland-cursor
49 The purpose of this library is to be the equivalent of libXcursor in
50 the X world. This library is compatible with X cursor themes and
51 loads them directly into an shm pool making it easy for the clients
52 to get buffer for each cursor image.
53
54 %package -n libwayland-server
55 Group:          Graphics & UI Framework/Wayland Window System
56 Summary:        Wayland core server library
57
58 %description -n libwayland-server
59 Wayland is a protocol for a compositor to talk to its clients as well
60 as a C library implementation of that protocol. The compositor can be
61 a standalone display server running on Linux kernel modesetting and
62 evdev input devices, an X application, or a wayland client itself.
63 The clients can be traditional applications, X servers (rootless or
64 fullscreen) or other display servers.
65
66 %if "%{EGL_PACKAGE}" == "1"
67 %package -n libwayland-egl
68 Group:          Graphics & UI Framework/Wayland Window System
69 Summary:        Wayland egl library
70
71 %description -n libwayland-egl
72 The purpose of this library is to support wayland-egl frontend APIs and
73 make the backend for each target.
74 %endif
75
76 %package devel
77 Summary:        Development files for the Wayland Compositor Infrastructure
78 Group:          Graphics & UI Framework/Development
79 Requires:       libwayland-client = %version
80 Requires:       libwayland-cursor = %version
81 Requires:       libwayland-server = %version
82 %if "%{EGL_PACKAGE}" == "1"
83 Requires:       libwayland-egl = %version
84 %endif
85
86 %description devel
87 Wayland is a protocol for a compositor to talk to its clients as well
88 as a C library implementation of that protocol. The compositor can be
89 a standalone display server running on Linux kernel modesetting and
90 evdev input devices, an X application, or a wayland client itself.
91 The clients can be traditional applications, X servers (rootless or
92 fullscreen) or other display servers.
93
94 This package contains all necessary include files and libraries needed
95 to develop applications that require these.
96
97 %prep
98 %setup -q
99 cp %{SOURCE1001} .
100
101 %build
102 EGLLIB="no"
103 %if "%{EGL_PACKAGE}" == "1"
104 EGLLIB="yes"
105 %endif
106 meson setup \
107           --prefix /usr \
108           --libdir %{_libdir} \
109           --bindir %{_bindir} \
110           builddir
111 ninja -C builddir all
112
113 %install
114 export DESTDIR=%{buildroot}
115 ninja -C builddir install
116
117 %post -n libwayland-client -p /sbin/ldconfig
118 %postun -n libwayland-client -p /sbin/ldconfig
119 %post -n libwayland-cursor -p /sbin/ldconfig
120 %postun -n libwayland-cursor -p /sbin/ldconfig
121 %post -n libwayland-server -p /sbin/ldconfig
122 %postun -n libwayland-server -p /sbin/ldconfig
123 %if "%{EGL_PACKAGE}" == "1"
124 %post -n libwayland-egl -p /sbin/ldconfig
125 %postun -n libwayland-egl -p /sbin/ldconfig
126 %endif
127
128 %files -n libwayland-client
129 %manifest %{name}.manifest
130 %license COPYING
131 %defattr(-,root,root)
132 %_libdir/libwayland-client.so.0*
133
134 %files -n libwayland-cursor
135 %manifest %{name}.manifest
136 %license COPYING
137 %defattr(-,root,root)
138 %_libdir/libwayland-cursor.so.0*
139
140 %files -n libwayland-server
141 %manifest %{name}.manifest
142 %license COPYING
143 %defattr(-,root,root)
144 %_libdir/libwayland-server.so.0*
145
146 %if "%{EGL_PACKAGE}" == "1"
147 %files -n libwayland-egl
148 %manifest %{name}.manifest
149 %license COPYING
150 %defattr(-,root,root)
151 %_libdir/libwayland-egl.so.1*
152 %endif
153
154 %files devel
155 %manifest %{name}.manifest
156 %defattr(-,root,root)
157 %_bindir/wayland-scanner
158 %_includedir/wayland-*.h
159 %_libdir/libwayland-*.so
160 %_libdir/pkgconfig/wayland-*.pc
161 %_datadir/wayland/wayland*
162 %_datadir/aclocal
163 %doc README TODO
164
165 %changelog