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