3 %bcond_without default_gl # build dispatcher as default libGL/libGLX/libGLESv1_CM/libGLESv2 provider
5 Summary: Vendor-neutral OpenGL dispatch library
6 Summary(pl.UTF-8): Niezależna od producenta biblioteka przekazująca wywołania OpenGL
12 Source0: https://gitlab.freedesktop.org/glvnd/libglvnd/uploads/2ea903100818cb7703dbabc9a11bc025/%{name}-%{version}.tar.gz
13 # Source0-md5: 0735780d0e48e37b746d6a21eab1f0c6
14 URL: https://gitlab.freedesktop.org/glvnd/libglvnd
15 BuildRequires: meson >= 0.48
16 BuildRequires: ninja >= 1.5
17 BuildRequires: pkgconfig
18 BuildRequires: python3 >= 1:3.5
19 BuildRequires: python3-modules >= 1:3.5
20 BuildRequires: rpmbuild(macros) >= 1.736
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)
26 %if %{with default_gl}
27 %define gl_incdir %{_includedir}
28 %define gl_libdir %{_libdir}
29 %define gl_pcdir %{_pkgconfigdir}
32 %define gl_incdir %{_includedir}/%{name}
33 %define gl_libdir %{_libdir}/%{name}
34 %define gl_pcdir %{_libdir}/%{name}/pkgconfig
36 %define noautoprov_files %{_libdir}/%{name}
38 # _glapi_tls_Current symbol
39 %define skip_post_check_so libOpenGL.so.* libGL.so.* libGLESv1_CM.so.* libGLESv2.so.*
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
46 <https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>.
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.
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ą
56 <https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>.
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.
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}
67 Requires: OpenGL-devel
69 Requires: OpenGL-GLX-devel
72 Header files for libglvnd interface.
74 %description devel -l pl.UTF-8
75 Pliki nagłówkowe interfejsu libglvnd.
77 %package khrplatform-devel
78 Summary: Khronos platform header file
79 Summary(pl.UTF-8): Plik nagłówkowy platformy Khronos
80 Group: Development/Libraries
81 %if %{with default_gl}
82 Provides: khrplatform-devel
83 Obsoletes: Mesa-khrplatform-devel < 21.3.1-2
86 %description khrplatform-devel
87 Khronos platform header file.
89 %description khrplatform-devel -l pl.UTF-8
90 Plik nagłówkowy platformy Khronos.
93 Summary: EGL interface glvnd libraries
94 Summary(pl.UTF-8): Biblioteki glvnd interfejsu EGL
96 Requires: %{name} = %{version}-%{release}
99 EGL interface glvnd libraries.
101 %description libEGL -l pl.UTF-8
102 Biblioteki glvnd interfejsu EGL.
104 %package libEGL-devel
105 Summary: Development files for glvnd EGL interface
106 Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu EGL
107 Group: Development/Libraries
108 Requires: %{name}-libEGL = %{version}-%{release}
109 Requires: %{name}-khrplatform-devel = %{version}-%{release}
110 %{?with_default_gl:Provides: EGL-devel = 1.5}
112 %description libEGL-devel
113 Development files for glvnd EGL interface.
115 %description libEGL-devel -l pl.UTF-8
116 Pliki programistyczne glvnd interfejsu EGL.
119 Summary: OpenGL 4.x interface glvnd libraries
120 Summary(pl.UTF-8): Biblioteki glvnd interfejsu OpenGL 4.x
122 Requires: %{name} = %{version}-%{release}
123 %{?with_default_gl:Conflicts: Mesa-libGL < 21.3.1-2}
126 OpenGL 4.x interface glvnd libraries.
128 %description libGL -l pl.UTF-8
129 Biblioteki glvnd interfejsu OpenGL 4.x.
132 Summary: Development files for glvnd OpenGL 4.x interface
133 Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu OpenGL 4.x
134 Group: Development/Libraries
135 Requires: %{name}-khrplatform-devel = %{version}-%{release}
136 Requires: %{name}-libGL = %{version}-%{release}
137 %if %{with default_gl}
138 Provides: OpenGL-devel = 4.6
139 Provides: OpenGL-GLX-devel = 1.4
142 %description libGL-devel
143 Development files for glvnd OpenGL 4.x interface.
145 %description libGL-devel -l pl.UTF-8
146 Pliki programistyczne glvnd interfejsu OpenGL 4.x.
149 Summary: OpenGL ES 1, 2, 3 interface glvnd libraries
150 Summary(pl.UTF-8): Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3
152 Requires: %{name} = %{version}-%{release}
153 %if %{with default_gl}
154 Obsoletes: Mesa-libGLES < 21.3.1-2
158 OpenGL ES 1, 2, 3 interface glvnd libraries.
160 %description libGLES -l pl.UTF-8
161 Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3.
163 %package libGLES-devel
164 Summary: Development files for glvnd OpenGL ES 1, 2, 3 interfaces
165 Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsów OpenGL ES 1, 2, 3
166 Group: Development/Libraries
167 Requires: %{name}-khrplatform-devel = %{version}-%{release}
168 Requires: %{name}-libGLES = %{version}-%{release}
169 %if %{with default_gl}
170 Provides: OpenGLES-devel = 3.2
171 Provides: OpenGLESv1-devel = 1.1
172 Provides: OpenGLESv2-devel = 2.0
173 Provides: OpenGLESv3-devel = 3.2
174 Obsoletes: Mesa-libGLES-devel < 21.3.1-2
177 %description libGLES-devel
178 Development files for glvnd OpenGL ES 1, 2, 3 interfaces.
180 %description libGLES-devel -l pl.UTF-8
181 Pliki programistyczne glvnd interfejsów OpenGL ES 1, 2, 3.
188 %ninja_build -C build
191 rm -rf $RPM_BUILD_ROOT
193 %ninja_install -C build
195 %if %{without default_gl}
196 install -d $RPM_BUILD_ROOT{%{gl_libdir},%{gl_incdir},%{gl_pcdir}}
197 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib{EGL,GL,GLESv1_CM,GLESv2}.* $RPM_BUILD_ROOT%{gl_libdir}
198 %{__mv} $RPM_BUILD_ROOT%{_includedir}/{EGL,GL,GLES,GLES2,GLES3,KHR} $RPM_BUILD_ROOT%{gl_incdir}
199 %{__mv} $RPM_BUILD_ROOT%{_pkgconfigdir}/{egl,gl,glesv1_cm,glesv2}.pc $RPM_BUILD_ROOT%{gl_pcdir}
202 install -d $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
205 rm -rf $RPM_BUILD_ROOT
207 %post -p /sbin/ldconfig
208 %postun -p /sbin/ldconfig
210 %if %{with default_gl}
211 %post libEGL -p /sbin/ldconfig
212 %postun libEGL -p /sbin/ldconfig
214 %post libGL -p /sbin/ldconfig
215 %postun libGL -p /sbin/ldconfig
217 %post libGLES -p /sbin/ldconfig
218 %postun libGLES -p /sbin/ldconfig
222 %defattr(644,root,root,755)
224 %attr(755,root,root) %{_libdir}/libGLdispatch.so.*.*.*
225 %attr(755,root,root) %ghost %{_libdir}/libGLdispatch.so.0
226 %if %{without default_gl}
229 %dir %{_datadir}/glvnd
232 %defattr(644,root,root,755)
233 %attr(755,root,root) %{_libdir}/libGLdispatch.so
235 %{_pkgconfigdir}/libglvnd.pc
237 %files khrplatform-devel
238 %defattr(644,root,root,755)
239 %if %{without default_gl}
246 %defattr(644,root,root,755)
247 %attr(755,root,root) %{gl_libdir}/libEGL.so.*.*.*
248 %attr(755,root,root) %solink %{gl_libdir}/libEGL.so.1
249 %dir %{_datadir}/glvnd/egl_vendor.d
252 %defattr(644,root,root,755)
253 %attr(755,root,root) %{gl_libdir}/libEGL.so
258 %defattr(644,root,root,755)
259 %attr(755,root,root) %{gl_libdir}/libGL.so.*.*.*
260 %attr(755,root,root) %solink %{gl_libdir}/libGL.so.1
261 %attr(755,root,root) %{gl_libdir}/libGL.so
263 %attr(755,root,root) %{_libdir}/libGLX.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libGLX.so.0
266 %attr(755,root,root) %{_libdir}/libOpenGL.so.*.*.*
267 %attr(755,root,root) %ghost %{_libdir}/libOpenGL.so.0
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/libGLX.so
272 %attr(755,root,root) %{_libdir}/libOpenGL.so
275 %{_pkgconfigdir}/glx.pc
276 %{_pkgconfigdir}/opengl.pc
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{gl_libdir}/libGLESv1_CM.so.*.*.*
281 %attr(755,root,root) %solink %{gl_libdir}/libGLESv1_CM.so.1
282 %attr(755,root,root) %{gl_libdir}/libGLESv2.so.*.*.*
283 %attr(755,root,root) %solink %{gl_libdir}/libGLESv2.so.2
286 %defattr(644,root,root,755)
287 %attr(755,root,root) %{gl_libdir}/libGLESv1_CM.so
288 %attr(755,root,root) %{gl_libdir}/libGLESv2.so
292 %{gl_pcdir}/glesv1_cm.pc
293 %{gl_pcdir}/glesv2.pc