3 %bcond_with 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 #Source0Download: https://github.com/NVIDIA/libglvnd/releases
13 Source0: https://github.com/NVIDIA/libglvnd/archive/v%{version}/%{name}-%{version}.tar.gz
14 # Source0-md5: f413526865e776688f3c0e031a7a71c1
15 URL: https://github.com/NVIDIA/libglvnd
16 BuildRequires: autoconf >= 2.63
17 BuildRequires: automake >= 1:1.11
18 BuildRequires: libtool
19 BuildRequires: pkgconfig
20 BuildRequires: python >= 1:2.7
21 BuildRequires: python-modules >= 1:2.7
22 BuildRequires: xorg-lib-libX11-devel
23 BuildRequires: xorg-lib-libXext-devel
24 BuildRequires: xorg-proto-glproto-devel
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 %if %{with default_gl}
28 %define gl_incdir %{_includedir}
29 %define gl_libdir %{_libdir}
30 %define gl_pcdir %{_pkgconfigdir}
33 %define gl_incdir %{_includedir}/%{name}
34 %define gl_libdir %{_libdir}/%{name}
35 %define gl_pcdir %{_libdir}/%{name}/pkgconfig
37 %define noautoprov_files %{_libdir}/%{name}
39 # _glapi_tls_Current symbol
40 %define skip_post_check_so libOpenGL.so.* libGL.so.* libGLESv1_CM.so.* libGLESv2.so.*
43 This is a work-in-progress implementation of the vendor-neutral
44 dispatch layer for arbitrating OpenGL API calls between multiple
45 vendors on a per-screen basis, as described by Andy Ritger's OpenGL
47 <https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>.
49 Currently, only the GLX window-system API and OpenGL are supported,
50 but in the future this library may support EGL and OpenGL ES as well.
52 %description -l pl.UTF-8
53 Ten pakiet to (będąca w trakcie tworzenia) implementacja warstwy
54 przekazującej wywołania dowolnych wywołań API OpenGL między różnymi
55 producentami w zależności od ekranu, zgodnie z propozycją opisaną
57 <https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>.
59 Obecnie obsługiwane jest tylko API systemu okienek GLX oraz OpenGL, w
60 przyszłości biblioteka może obsługiwać także EGL i OpenGL ES.
63 Summary: Header files for libglvnd interface
64 Summary(pl.UTF-8): Pliki nagłówkowe interfejsu libglvnd
65 Group: Development/Libraries
66 Requires: %{name} = %{version}-%{release}
68 Requires: OpenGL-devel
70 Requires: OpenGL-GLX-devel
73 Header files for libglvnd interface.
75 %description devel -l pl.UTF-8
76 Pliki nagłówkowe interfejsu libglvnd.
78 %package khrplatform-devel
79 Summary: Khronos platform header file
80 Summary(pl.UTF-8): Plik nagłówkowy platformy Khronos
81 Group: Development/Libraries
83 %description khrplatform-devel
84 Khronos platform header file.
86 %description khrplatform-devel -l pl.UTF-8
87 Plik nagłówkowy platformy Khronos.
90 Summary: EGL interface glvnd libraries
91 Summary(pl.UTF-8): Biblioteki glvnd interfejsu EGL
93 Requires: %{name} = %{version}-%{release}
96 EGL interface glvnd libraries.
98 %description libEGL -l pl.UTF-8
99 Biblioteki glvnd interfejsu EGL.
101 %package libEGL-devel
102 Summary: Development files for glvnd EGL interface
103 Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu EGL
104 Group: Development/Libraries
105 Requires: %{name}-libEGL = %{version}-%{release}
106 Requires: %{name}-khrplatform-devel = %{version}-%{release}
107 %{?with_default_gl:Provides: EGL-devel = 1.5}
109 %description libEGL-devel
110 Development files for glvnd EGL interface.
112 %description libEGL-devel -l pl.UTF-8
113 Pliki programistyczne glvnd interfejsu EGL.
116 Summary: OpenGL 4.x interface glvnd libraries
117 Summary(pl.UTF-8): Biblioteki glvnd interfejsu OpenGL 4.x
119 Requires: %{name} = %{version}-%{release}
122 OpenGL 4.x interface glvnd libraries.
124 %description libGL -l pl.UTF-8
125 Biblioteki glvnd interfejsu OpenGL 4.x.
128 Summary: Development files for glvnd OpenGL 4.x interface
129 Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu OpenGL 4.x
130 Group: Development/Libraries
131 Requires: %{name}-khrplatform-devel = %{version}-%{release}
132 Requires: %{name}-libGL = %{version}-%{release}
133 %if %{with default_gl}
134 Provides: OpenGL-devel = 4.6
135 Provides: OpenGL-GLX-devel = 1.4
138 %description libGL-devel
139 Development files for glvnd OpenGL 4.x interface.
141 %description libGL-devel -l pl.UTF-8
142 Pliki programistyczne glvnd interfejsu OpenGL 4.x.
145 Summary: OpenGL ES 1, 2, 3 interface glvnd libraries
146 Summary(pl.UTF-8): Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3
148 Requires: %{name} = %{version}-%{release}
151 OpenGL ES 1, 2, 3 interface glvnd libraries.
153 %description libGLES -l pl.UTF-8
154 Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3.
156 %package libGLES-devel
157 Summary: Development files for glvnd OpenGL ES 1, 2, 3 interfaces
158 Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsów OpenGL ES 1, 2, 3
159 Group: Development/Libraries
160 Requires: %{name}-khrplatform-devel = %{version}-%{release}
161 Requires: %{name}-libGLES = %{version}-%{release}
162 %if %{with default_gl}
163 Provides: OpenGLES-devel = 3.2
164 Provides: OpenGLESv1-devel = 1.1
165 Provides: OpenGLESv2-devel = 2.0
166 Provides: OpenGLESv3-devel = 3.2
169 %description libGLES-devel
170 Development files for glvnd OpenGL ES 1, 2, 3 interfaces.
172 %description libGLES-devel -l pl.UTF-8
173 Pliki programistyczne glvnd interfejsów OpenGL ES 1, 2, 3.
185 CFLAGS="%{rpmcflags} -O1" \
186 --disable-silent-rules \
187 %{!?with_static_libs:--disable-static}
191 rm -rf $RPM_BUILD_ROOT
194 DESTDIR=$RPM_BUILD_ROOT
196 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
198 %if %{without default_gl}
199 install -d $RPM_BUILD_ROOT{%{gl_libdir},%{gl_incdir},%{gl_pcdir}}
200 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib{EGL,GL,GLESv1_CM,GLESv2}.* $RPM_BUILD_ROOT%{gl_libdir}
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}
205 install -d $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
208 rm -rf $RPM_BUILD_ROOT
210 %post -p /sbin/ldconfig
211 %postun -p /sbin/ldconfig
213 %if %{with default_gl}
214 %post libEGL -p /sbin/ldconfig
215 %postun libEGL -p /sbin/ldconfig
217 %post libGL -p /sbin/ldconfig
218 %postun libGL -p /sbin/ldconfig
220 %post libGLES -p /sbin/ldconfig
221 %postun libGLES -p /sbin/ldconfig
225 %defattr(644,root,root,755)
227 %attr(755,root,root) %{_libdir}/libGLdispatch.so.*.*.*
228 %attr(755,root,root) %ghost %{_libdir}/libGLdispatch.so.0
229 %if %{without default_gl}
232 %dir %{_datadir}/glvnd
235 %defattr(644,root,root,755)
236 %attr(755,root,root) %{_libdir}/libGLdispatch.so
238 %{_pkgconfigdir}/libglvnd.pc
240 %files khrplatform-devel
241 %defattr(644,root,root,755)
242 %if %{without default_gl}
249 %defattr(644,root,root,755)
250 %attr(755,root,root) %{gl_libdir}/libEGL.so.*.*.*
251 %attr(755,root,root) %solink %{gl_libdir}/libEGL.so.1
252 %dir %{_datadir}/glvnd/egl_vendor.d
255 %defattr(644,root,root,755)
256 %attr(755,root,root) %{gl_libdir}/libEGL.so
261 %defattr(644,root,root,755)
262 %attr(755,root,root) %{gl_libdir}/libGL.so.*.*.*
263 %attr(755,root,root) %solink %{gl_libdir}/libGL.so.1
264 %attr(755,root,root) %{gl_libdir}/libGL.so
266 %attr(755,root,root) %{_libdir}/libGLX.so.*.*.*
267 %attr(755,root,root) %ghost %{_libdir}/libGLX.so.0
269 %attr(755,root,root) %{_libdir}/libOpenGL.so.*.*.*
270 %attr(755,root,root) %ghost %{_libdir}/libOpenGL.so.0
273 %defattr(644,root,root,755)
274 %attr(755,root,root) %{_libdir}/libGLX.so
275 %attr(755,root,root) %{_libdir}/libOpenGL.so
278 %{_pkgconfigdir}/glx.pc
279 %{_pkgconfigdir}/opengl.pc
282 %defattr(644,root,root,755)
283 %attr(755,root,root) %{gl_libdir}/libGLESv1_CM.so.*.*.*
284 %attr(755,root,root) %solink %{gl_libdir}/libGLESv1_CM.so.1
285 %attr(755,root,root) %{gl_libdir}/libGLESv2.so.*.*.*
286 %attr(755,root,root) %solink %{gl_libdir}/libGLESv2.so.2
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
295 %{gl_pcdir}/glesv1_cm.pc
296 %{gl_pcdir}/glesv2.pc