]>
Commit | Line | Data |
---|---|---|
778c937e JB |
1 | # |
2 | # Conditional build: | |
79684644 | 3 | %bcond_without default_gl # build dispatcher as default libGL/libGLX/libGLESv1_CM/libGLESv2 provider |
778c937e JB |
4 | # |
5 | Summary: Vendor-neutral OpenGL dispatch library | |
6 | Summary(pl.UTF-8): Niezależna od producenta biblioteka przekazująca wywołania OpenGL | |
7 | Name: libglvnd | |
5aa94c03 | 8 | Version: 1.7.0 |
b6326c87 | 9 | Release: 1 |
778c937e JB |
10 | License: MIT-like |
11 | Group: Libraries | |
5aa94c03 JP |
12 | Source0: https://gitlab.freedesktop.org/glvnd/libglvnd/uploads/c24806c283070dc70700234ca8ffacf8/%{name}-%{version}.tar.gz |
13 | # Source0-md5: 5cd61ff16ec9732f3bdf5eb46dc93699 | |
8f3d9342 | 14 | URL: https://gitlab.freedesktop.org/glvnd/libglvnd |
419ecdb2 | 15 | BuildRequires: meson >= 0.48 |
93ca1e21 | 16 | BuildRequires: ninja >= 1.5 |
f41190f9 | 17 | BuildRequires: pkgconfig |
93ca1e21 JB |
18 | BuildRequires: python3 >= 1:3.5 |
19 | BuildRequires: python3-modules >= 1:3.5 | |
419ecdb2 | 20 | BuildRequires: rpmbuild(macros) >= 1.736 |
778c937e JB |
21 | BuildRequires: xorg-lib-libX11-devel |
22 | BuildRequires: xorg-lib-libXext-devel | |
23 | BuildRequires: xorg-proto-glproto-devel | |
24 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
25 | ||
26 | %if %{with default_gl} | |
aa879125 | 27 | %define gl_incdir %{_includedir} |
778c937e | 28 | %define gl_libdir %{_libdir} |
aa879125 JB |
29 | %define gl_pcdir %{_pkgconfigdir} |
30 | %define solink %ghost | |
778c937e | 31 | %else |
aa879125 | 32 | %define gl_incdir %{_includedir}/%{name} |
778c937e | 33 | %define gl_libdir %{_libdir}/%{name} |
aa879125 JB |
34 | %define gl_pcdir %{_libdir}/%{name}/pkgconfig |
35 | %define solink %{nil} | |
778c937e JB |
36 | %define noautoprov_files %{_libdir}/%{name} |
37 | %endif | |
74413a1d JB |
38 | # _glapi_tls_Current symbol |
39 | %define skip_post_check_so libOpenGL.so.* libGL.so.* libGLESv1_CM.so.* libGLESv2.so.* | |
778c937e JB |
40 | |
41 | %description | |
42 | This is a work-in-progress implementation of the vendor-neutral | |
43 | dispatch layer for arbitrating OpenGL API calls between multiple | |
44 | vendors on a per-screen basis, as described by Andy Ritger's OpenGL | |
45 | ABI proposal: | |
46 | <https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>. | |
47 | ||
48 | Currently, only the GLX window-system API and OpenGL are supported, | |
49 | but in the future this library may support EGL and OpenGL ES as well. | |
50 | ||
51 | %description -l pl.UTF-8 | |
52 | Ten pakiet to (będąca w trakcie tworzenia) implementacja warstwy | |
53 | przekazującej wywołania dowolnych wywołań API OpenGL między różnymi | |
54 | producentami w zależności od ekranu, zgodnie z propozycją opisaną | |
55 | przez Andy Ritgera: | |
56 | <https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>. | |
57 | ||
58 | Obecnie obsługiwane jest tylko API systemu okienek GLX oraz OpenGL, w | |
59 | przyszłości biblioteka może obsługiwać także EGL i OpenGL ES. | |
60 | ||
61 | %package devel | |
62 | Summary: Header files for libglvnd interface | |
63 | Summary(pl.UTF-8): Pliki nagłówkowe interfejsu libglvnd | |
64 | Group: Development/Libraries | |
65 | Requires: %{name} = %{version}-%{release} | |
66 | # <GL/gl.h> | |
67 | Requires: OpenGL-devel | |
68 | # <GL/glx.h> | |
69 | Requires: OpenGL-GLX-devel | |
70 | ||
71 | %description devel | |
72 | Header files for libglvnd interface. | |
73 | ||
74 | %description devel -l pl.UTF-8 | |
75 | Pliki nagłówkowe interfejsu libglvnd. | |
76 | ||
aa879125 JB |
77 | %package khrplatform-devel |
78 | Summary: Khronos platform header file | |
79 | Summary(pl.UTF-8): Plik nagłówkowy platformy Khronos | |
80 | Group: Development/Libraries | |
45f724b2 JP |
81 | %if %{with default_gl} |
82 | Provides: khrplatform-devel | |
79684644 | 83 | Obsoletes: Mesa-khrplatform-devel < 21.3.1-2 |
45f724b2 | 84 | %endif |
aa879125 JB |
85 | |
86 | %description khrplatform-devel | |
87 | Khronos platform header file. | |
88 | ||
89 | %description khrplatform-devel -l pl.UTF-8 | |
90 | Plik nagłówkowy platformy Khronos. | |
91 | ||
74413a1d JB |
92 | %package libEGL |
93 | Summary: EGL interface glvnd libraries | |
94 | Summary(pl.UTF-8): Biblioteki glvnd interfejsu EGL | |
95 | Group: Libraries | |
96 | Requires: %{name} = %{version}-%{release} | |
cd0d1a53 | 97 | Requires: glvnd(EGL)%{?_isa} |
74413a1d JB |
98 | |
99 | %description libEGL | |
100 | EGL interface glvnd libraries. | |
101 | ||
102 | %description libEGL -l pl.UTF-8 | |
103 | Biblioteki glvnd interfejsu EGL. | |
104 | ||
105 | %package libEGL-devel | |
106 | Summary: Development files for glvnd EGL interface | |
107 | Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu EGL | |
108 | Group: Development/Libraries | |
109 | Requires: %{name}-libEGL = %{version}-%{release} | |
aa879125 JB |
110 | Requires: %{name}-khrplatform-devel = %{version}-%{release} |
111 | %{?with_default_gl:Provides: EGL-devel = 1.5} | |
74413a1d JB |
112 | |
113 | %description libEGL-devel | |
114 | Development files for glvnd EGL interface. | |
115 | ||
116 | %description libEGL-devel -l pl.UTF-8 | |
117 | Pliki programistyczne glvnd interfejsu EGL. | |
118 | ||
778c937e JB |
119 | %package libGL |
120 | Summary: OpenGL 4.x interface glvnd libraries | |
121 | Summary(pl.UTF-8): Biblioteki glvnd interfejsu OpenGL 4.x | |
122 | Group: Libraries | |
123 | Requires: %{name} = %{version}-%{release} | |
52054f83 | 124 | %{?with_default_gl:Conflicts: Mesa-libGL < 21.3.1-2} |
cd0d1a53 | 125 | Requires: glvnd(GL)%{?_isa} |
778c937e JB |
126 | |
127 | %description libGL | |
128 | OpenGL 4.x interface glvnd libraries. | |
129 | ||
130 | %description libGL -l pl.UTF-8 | |
131 | Biblioteki glvnd interfejsu OpenGL 4.x. | |
132 | ||
133 | %package libGL-devel | |
134 | Summary: Development files for glvnd OpenGL 4.x interface | |
135 | Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu OpenGL 4.x | |
136 | Group: Development/Libraries | |
aa879125 | 137 | Requires: %{name}-khrplatform-devel = %{version}-%{release} |
778c937e | 138 | Requires: %{name}-libGL = %{version}-%{release} |
aa879125 JB |
139 | %if %{with default_gl} |
140 | Provides: OpenGL-devel = 4.6 | |
141 | Provides: OpenGL-GLX-devel = 1.4 | |
142 | %endif | |
778c937e JB |
143 | |
144 | %description libGL-devel | |
145 | Development files for glvnd OpenGL 4.x interface. | |
146 | ||
147 | %description libGL-devel -l pl.UTF-8 | |
148 | Pliki programistyczne glvnd interfejsu OpenGL 4.x. | |
149 | ||
150 | %package libGLES | |
151 | Summary: OpenGL ES 1, 2, 3 interface glvnd libraries | |
152 | Summary(pl.UTF-8): Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3 | |
153 | Group: Libraries | |
154 | Requires: %{name} = %{version}-%{release} | |
cd0d1a53 | 155 | Requires: glvnd(GLES)%{?_isa} |
79684644 JP |
156 | %if %{with default_gl} |
157 | Obsoletes: Mesa-libGLES < 21.3.1-2 | |
158 | %endif | |
778c937e JB |
159 | |
160 | %description libGLES | |
161 | OpenGL ES 1, 2, 3 interface glvnd libraries. | |
162 | ||
163 | %description libGLES -l pl.UTF-8 | |
164 | Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3. | |
165 | ||
166 | %package libGLES-devel | |
167 | Summary: Development files for glvnd OpenGL ES 1, 2, 3 interfaces | |
168 | Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsów OpenGL ES 1, 2, 3 | |
169 | Group: Development/Libraries | |
aa879125 | 170 | Requires: %{name}-khrplatform-devel = %{version}-%{release} |
778c937e | 171 | Requires: %{name}-libGLES = %{version}-%{release} |
aa879125 JB |
172 | %if %{with default_gl} |
173 | Provides: OpenGLES-devel = 3.2 | |
174 | Provides: OpenGLESv1-devel = 1.1 | |
175 | Provides: OpenGLESv2-devel = 2.0 | |
176 | Provides: OpenGLESv3-devel = 3.2 | |
79684644 | 177 | Obsoletes: Mesa-libGLES-devel < 21.3.1-2 |
778c937e JB |
178 | %endif |
179 | ||
180 | %description libGLES-devel | |
181 | Development files for glvnd OpenGL ES 1, 2, 3 interfaces. | |
182 | ||
183 | %description libGLES-devel -l pl.UTF-8 | |
184 | Pliki programistyczne glvnd interfejsów OpenGL ES 1, 2, 3. | |
185 | ||
186 | %prep | |
187 | %setup -q | |
188 | ||
189 | %build | |
419ecdb2 JP |
190 | %meson build |
191 | %ninja_build -C build | |
778c937e JB |
192 | |
193 | %install | |
194 | rm -rf $RPM_BUILD_ROOT | |
195 | ||
419ecdb2 | 196 | %ninja_install -C build |
778c937e JB |
197 | |
198 | %if %{without default_gl} | |
aa879125 | 199 | install -d $RPM_BUILD_ROOT{%{gl_libdir},%{gl_incdir},%{gl_pcdir}} |
74413a1d | 200 | %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib{EGL,GL,GLESv1_CM,GLESv2}.* $RPM_BUILD_ROOT%{gl_libdir} |
aa879125 JB |
201 | %{__mv} $RPM_BUILD_ROOT%{_includedir}/{EGL,GL,GLES,GLES2,GLES3,KHR} $RPM_BUILD_ROOT%{gl_incdir} |
202 | %{__mv} $RPM_BUILD_ROOT%{_pkgconfigdir}/{egl,gl,glesv1_cm,glesv2}.pc $RPM_BUILD_ROOT%{gl_pcdir} | |
778c937e JB |
203 | %endif |
204 | ||
aad86521 JP |
205 | install -d $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d |
206 | ||
778c937e JB |
207 | %clean |
208 | rm -rf $RPM_BUILD_ROOT | |
209 | ||
210 | %post -p /sbin/ldconfig | |
211 | %postun -p /sbin/ldconfig | |
212 | ||
74413a1d JB |
213 | %if %{with default_gl} |
214 | %post libEGL -p /sbin/ldconfig | |
215 | %postun libEGL -p /sbin/ldconfig | |
216 | ||
778c937e JB |
217 | %post libGL -p /sbin/ldconfig |
218 | %postun libGL -p /sbin/ldconfig | |
219 | ||
220 | %post libGLES -p /sbin/ldconfig | |
221 | %postun libGLES -p /sbin/ldconfig | |
74413a1d | 222 | %endif |
778c937e JB |
223 | |
224 | %files | |
225 | %defattr(644,root,root,755) | |
226 | %doc README.md | |
227 | %attr(755,root,root) %{_libdir}/libGLdispatch.so.*.*.* | |
228 | %attr(755,root,root) %ghost %{_libdir}/libGLdispatch.so.0 | |
229 | %if %{without default_gl} | |
aa879125 | 230 | %dir %{gl_libdir} |
778c937e | 231 | %endif |
aad86521 | 232 | %dir %{_datadir}/glvnd |
778c937e JB |
233 | |
234 | %files devel | |
235 | %defattr(644,root,root,755) | |
236 | %attr(755,root,root) %{_libdir}/libGLdispatch.so | |
237 | %{_includedir}/glvnd | |
238 | %{_pkgconfigdir}/libglvnd.pc | |
239 | ||
aa879125 JB |
240 | %files khrplatform-devel |
241 | %defattr(644,root,root,755) | |
242 | %if %{without default_gl} | |
243 | %dir %{gl_incdir} | |
244 | %dir %{gl_pcdir} | |
245 | %endif | |
246 | %{gl_incdir}/KHR | |
247 | ||
74413a1d JB |
248 | %files libEGL |
249 | %defattr(644,root,root,755) | |
74413a1d | 250 | %attr(755,root,root) %{gl_libdir}/libEGL.so.*.*.* |
aa879125 | 251 | %attr(755,root,root) %solink %{gl_libdir}/libEGL.so.1 |
aad86521 | 252 | %dir %{_datadir}/glvnd/egl_vendor.d |
74413a1d JB |
253 | |
254 | %files libEGL-devel | |
255 | %defattr(644,root,root,755) | |
256 | %attr(755,root,root) %{gl_libdir}/libEGL.so | |
aa879125 JB |
257 | %{gl_incdir}/EGL |
258 | %{gl_pcdir}/egl.pc | |
74413a1d | 259 | |
778c937e JB |
260 | %files libGL |
261 | %defattr(644,root,root,755) | |
778c937e | 262 | %attr(755,root,root) %{gl_libdir}/libGL.so.*.*.* |
aa879125 | 263 | %attr(755,root,root) %solink %{gl_libdir}/libGL.so.1 |
778c937e | 264 | %attr(755,root,root) %{gl_libdir}/libGL.so |
778c937e JB |
265 | |
266 | %attr(755,root,root) %{_libdir}/libGLX.so.*.*.* | |
267 | %attr(755,root,root) %ghost %{_libdir}/libGLX.so.0 | |
268 | ||
269 | %attr(755,root,root) %{_libdir}/libOpenGL.so.*.*.* | |
270 | %attr(755,root,root) %ghost %{_libdir}/libOpenGL.so.0 | |
271 | ||
272 | %files libGL-devel | |
273 | %defattr(644,root,root,755) | |
274 | %attr(755,root,root) %{_libdir}/libGLX.so | |
275 | %attr(755,root,root) %{_libdir}/libOpenGL.so | |
aa879125 JB |
276 | %{gl_incdir}/GL |
277 | %{gl_pcdir}/gl.pc | |
278 | %{_pkgconfigdir}/glx.pc | |
279 | %{_pkgconfigdir}/opengl.pc | |
778c937e JB |
280 | |
281 | %files libGLES | |
282 | %defattr(644,root,root,755) | |
778c937e | 283 | %attr(755,root,root) %{gl_libdir}/libGLESv1_CM.so.*.*.* |
aa879125 | 284 | %attr(755,root,root) %solink %{gl_libdir}/libGLESv1_CM.so.1 |
778c937e | 285 | %attr(755,root,root) %{gl_libdir}/libGLESv2.so.*.*.* |
aa879125 | 286 | %attr(755,root,root) %solink %{gl_libdir}/libGLESv2.so.2 |
778c937e JB |
287 | |
288 | %files libGLES-devel | |
289 | %defattr(644,root,root,755) | |
290 | %attr(755,root,root) %{gl_libdir}/libGLESv1_CM.so | |
291 | %attr(755,root,root) %{gl_libdir}/libGLESv2.so | |
aa879125 JB |
292 | %{gl_incdir}/GLES |
293 | %{gl_incdir}/GLES2 | |
294 | %{gl_incdir}/GLES3 | |
295 | %{gl_pcdir}/glesv1_cm.pc | |
296 | %{gl_pcdir}/glesv2.pc |