]> git.pld-linux.org Git - packages/libglvnd.git/blob - libglvnd.spec
R: vendor implementation for libEGL/libGL/libGLES
[packages/libglvnd.git] / libglvnd.spec
1 #
2 # Conditional build:
3 %bcond_without  default_gl      # build dispatcher as default libGL/libGLX/libGLESv1_CM/libGLESv2 provider
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
8 Version:        1.7.0
9 Release:        1
10 License:        MIT-like
11 Group:          Libraries
12 Source0:        https://gitlab.freedesktop.org/glvnd/libglvnd/uploads/c24806c283070dc70700234ca8ffacf8/%{name}-%{version}.tar.gz
13 # Source0-md5:  5cd61ff16ec9732f3bdf5eb46dc93699
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)
25
26 %if %{with default_gl}
27 %define         gl_incdir       %{_includedir}
28 %define         gl_libdir       %{_libdir}
29 %define         gl_pcdir        %{_pkgconfigdir}
30 %define         solink          %ghost
31 %else
32 %define         gl_incdir       %{_includedir}/%{name}
33 %define         gl_libdir       %{_libdir}/%{name}
34 %define         gl_pcdir        %{_libdir}/%{name}/pkgconfig
35 %define         solink          %{nil}
36 %define         noautoprov_files        %{_libdir}/%{name}
37 %endif
38 # _glapi_tls_Current symbol
39 %define         skip_post_check_so      libOpenGL.so.* libGL.so.* libGLESv1_CM.so.* libGLESv2.so.*
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
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
84 %endif
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
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}
97 Requires:       glvnd(EGL)%{?_isa}
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}
110 Requires:       %{name}-khrplatform-devel = %{version}-%{release}
111 %{?with_default_gl:Provides:    EGL-devel = 1.5}
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
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}
124 %{?with_default_gl:Conflicts:   Mesa-libGL < 21.3.1-2}
125 Requires:       glvnd(GL)%{?_isa}
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
137 Requires:       %{name}-khrplatform-devel = %{version}-%{release}
138 Requires:       %{name}-libGL = %{version}-%{release}
139 %if %{with default_gl}
140 Provides:       OpenGL-devel = 4.6
141 Provides:       OpenGL-GLX-devel = 1.4
142 %endif
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}
155 Requires:       glvnd(GLES)%{?_isa}
156 %if %{with default_gl}
157 Obsoletes:      Mesa-libGLES < 21.3.1-2
158 %endif
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
170 Requires:       %{name}-khrplatform-devel = %{version}-%{release}
171 Requires:       %{name}-libGLES = %{version}-%{release}
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
177 Obsoletes:      Mesa-libGLES-devel < 21.3.1-2
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
190 %meson build
191 %ninja_build -C build
192
193 %install
194 rm -rf $RPM_BUILD_ROOT
195
196 %ninja_install -C build
197
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}
203 %endif
204
205 install -d $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
206
207 %clean
208 rm -rf $RPM_BUILD_ROOT
209
210 %post   -p /sbin/ldconfig
211 %postun -p /sbin/ldconfig
212
213 %if %{with default_gl}
214 %post   libEGL -p /sbin/ldconfig
215 %postun libEGL -p /sbin/ldconfig
216
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
222 %endif
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}
230 %dir %{gl_libdir}
231 %endif
232 %dir %{_datadir}/glvnd
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
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
248 %files libEGL
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
253
254 %files libEGL-devel
255 %defattr(644,root,root,755)
256 %attr(755,root,root) %{gl_libdir}/libEGL.so
257 %{gl_incdir}/EGL
258 %{gl_pcdir}/egl.pc
259
260 %files libGL
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
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
276 %{gl_incdir}/GL
277 %{gl_pcdir}/gl.pc
278 %{_pkgconfigdir}/glx.pc
279 %{_pkgconfigdir}/opengl.pc
280
281 %files libGLES
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
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
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.13712 seconds and 4 git commands to generate.