]> git.pld-linux.org Git - packages/libglvnd.git/blame - libglvnd.spec
R: vendor implementation for libEGL/libGL/libGLES
[packages/libglvnd.git] / libglvnd.spec
CommitLineData
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#
5Summary: Vendor-neutral OpenGL dispatch library
6Summary(pl.UTF-8): Niezależna od producenta biblioteka przekazująca wywołania OpenGL
7Name: libglvnd
5aa94c03 8Version: 1.7.0
b6326c87 9Release: 1
778c937e
JB
10License: MIT-like
11Group: Libraries
5aa94c03
JP
12Source0: https://gitlab.freedesktop.org/glvnd/libglvnd/uploads/c24806c283070dc70700234ca8ffacf8/%{name}-%{version}.tar.gz
13# Source0-md5: 5cd61ff16ec9732f3bdf5eb46dc93699
8f3d9342 14URL: https://gitlab.freedesktop.org/glvnd/libglvnd
419ecdb2 15BuildRequires: meson >= 0.48
93ca1e21 16BuildRequires: ninja >= 1.5
f41190f9 17BuildRequires: pkgconfig
93ca1e21
JB
18BuildRequires: python3 >= 1:3.5
19BuildRequires: python3-modules >= 1:3.5
419ecdb2 20BuildRequires: rpmbuild(macros) >= 1.736
778c937e
JB
21BuildRequires: xorg-lib-libX11-devel
22BuildRequires: xorg-lib-libXext-devel
23BuildRequires: xorg-proto-glproto-devel
24BuildRoot: %{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
42This is a work-in-progress implementation of the vendor-neutral
43dispatch layer for arbitrating OpenGL API calls between multiple
44vendors on a per-screen basis, as described by Andy Ritger's OpenGL
45ABI proposal:
46<https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>.
47
48Currently, only the GLX window-system API and OpenGL are supported,
49but in the future this library may support EGL and OpenGL ES as well.
50
51%description -l pl.UTF-8
52Ten pakiet to (będąca w trakcie tworzenia) implementacja warstwy
53przekazującej wywołania dowolnych wywołań API OpenGL między różnymi
54producentami w zależności od ekranu, zgodnie z propozycją opisaną
55przez Andy Ritgera:
56<https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt>.
57
58Obecnie obsługiwane jest tylko API systemu okienek GLX oraz OpenGL, w
59przyszłości biblioteka może obsługiwać także EGL i OpenGL ES.
60
61%package devel
62Summary: Header files for libglvnd interface
63Summary(pl.UTF-8): Pliki nagłówkowe interfejsu libglvnd
64Group: Development/Libraries
65Requires: %{name} = %{version}-%{release}
66# <GL/gl.h>
67Requires: OpenGL-devel
68# <GL/glx.h>
69Requires: OpenGL-GLX-devel
70
71%description devel
72Header files for libglvnd interface.
73
74%description devel -l pl.UTF-8
75Pliki nagłówkowe interfejsu libglvnd.
76
aa879125
JB
77%package khrplatform-devel
78Summary: Khronos platform header file
79Summary(pl.UTF-8): Plik nagłówkowy platformy Khronos
80Group: Development/Libraries
45f724b2
JP
81%if %{with default_gl}
82Provides: khrplatform-devel
79684644 83Obsoletes: Mesa-khrplatform-devel < 21.3.1-2
45f724b2 84%endif
aa879125
JB
85
86%description khrplatform-devel
87Khronos platform header file.
88
89%description khrplatform-devel -l pl.UTF-8
90Plik nagłówkowy platformy Khronos.
91
74413a1d
JB
92%package libEGL
93Summary: EGL interface glvnd libraries
94Summary(pl.UTF-8): Biblioteki glvnd interfejsu EGL
95Group: Libraries
96Requires: %{name} = %{version}-%{release}
cd0d1a53 97Requires: glvnd(EGL)%{?_isa}
74413a1d
JB
98
99%description libEGL
100EGL interface glvnd libraries.
101
102%description libEGL -l pl.UTF-8
103Biblioteki glvnd interfejsu EGL.
104
105%package libEGL-devel
106Summary: Development files for glvnd EGL interface
107Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu EGL
108Group: Development/Libraries
109Requires: %{name}-libEGL = %{version}-%{release}
aa879125
JB
110Requires: %{name}-khrplatform-devel = %{version}-%{release}
111%{?with_default_gl:Provides: EGL-devel = 1.5}
74413a1d
JB
112
113%description libEGL-devel
114Development files for glvnd EGL interface.
115
116%description libEGL-devel -l pl.UTF-8
117Pliki programistyczne glvnd interfejsu EGL.
118
778c937e
JB
119%package libGL
120Summary: OpenGL 4.x interface glvnd libraries
121Summary(pl.UTF-8): Biblioteki glvnd interfejsu OpenGL 4.x
122Group: Libraries
123Requires: %{name} = %{version}-%{release}
52054f83 124%{?with_default_gl:Conflicts: Mesa-libGL < 21.3.1-2}
cd0d1a53 125Requires: glvnd(GL)%{?_isa}
778c937e
JB
126
127%description libGL
128OpenGL 4.x interface glvnd libraries.
129
130%description libGL -l pl.UTF-8
131Biblioteki glvnd interfejsu OpenGL 4.x.
132
133%package libGL-devel
134Summary: Development files for glvnd OpenGL 4.x interface
135Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsu OpenGL 4.x
136Group: Development/Libraries
aa879125 137Requires: %{name}-khrplatform-devel = %{version}-%{release}
778c937e 138Requires: %{name}-libGL = %{version}-%{release}
aa879125
JB
139%if %{with default_gl}
140Provides: OpenGL-devel = 4.6
141Provides: OpenGL-GLX-devel = 1.4
142%endif
778c937e
JB
143
144%description libGL-devel
145Development files for glvnd OpenGL 4.x interface.
146
147%description libGL-devel -l pl.UTF-8
148Pliki programistyczne glvnd interfejsu OpenGL 4.x.
149
150%package libGLES
151Summary: OpenGL ES 1, 2, 3 interface glvnd libraries
152Summary(pl.UTF-8): Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3
153Group: Libraries
154Requires: %{name} = %{version}-%{release}
cd0d1a53 155Requires: glvnd(GLES)%{?_isa}
79684644
JP
156%if %{with default_gl}
157Obsoletes: Mesa-libGLES < 21.3.1-2
158%endif
778c937e
JB
159
160%description libGLES
161OpenGL ES 1, 2, 3 interface glvnd libraries.
162
163%description libGLES -l pl.UTF-8
164Biblioteki glvnd interfejsów OpenGL ES 1, 2, 3.
165
166%package libGLES-devel
167Summary: Development files for glvnd OpenGL ES 1, 2, 3 interfaces
168Summary(pl.UTF-8): Pliki programistyczne glvnd interfejsów OpenGL ES 1, 2, 3
169Group: Development/Libraries
aa879125 170Requires: %{name}-khrplatform-devel = %{version}-%{release}
778c937e 171Requires: %{name}-libGLES = %{version}-%{release}
aa879125
JB
172%if %{with default_gl}
173Provides: OpenGLES-devel = 3.2
174Provides: OpenGLESv1-devel = 1.1
175Provides: OpenGLESv2-devel = 2.0
176Provides: OpenGLESv3-devel = 3.2
79684644 177Obsoletes: Mesa-libGLES-devel < 21.3.1-2
778c937e
JB
178%endif
179
180%description libGLES-devel
181Development files for glvnd OpenGL ES 1, 2, 3 interfaces.
182
183%description libGLES-devel -l pl.UTF-8
184Pliki 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
194rm -rf $RPM_BUILD_ROOT
195
419ecdb2 196%ninja_install -C build
778c937e
JB
197
198%if %{without default_gl}
aa879125 199install -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
205install -d $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
206
778c937e
JB
207%clean
208rm -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
This page took 0.2337 seconds and 4 git commands to generate.