/[packages]/cauldron/mesa/current/SPECS/mesa.spec
ViewVC logotype

Contents of /cauldron/mesa/current/SPECS/mesa.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1355920 - (show annotations) (download)
Sun Jan 13 14:22:00 2019 UTC (6 months ago) by tmb
File size: 25988 byte(s)
add current fixes from upstream staging/18.3 branch
1 # (cg) Cheater...
2 %define Werror_cflags %nil
3
4 # (aco) Needed for the dri drivers
5 %define _disable_ld_no_undefined 1
6
7 # https://cgit.freedesktop.org/mesa/mesa/commit/?h=13.0&id=3bb0415ab96f74183f7aa58c1a543448653ccb3e
8 %define git 0
9 %define git_branch 18.0
10
11 %define opengl_ver 4.5
12
13 # define version, RC & release
14 %define main_version 18.3.1
15 #define relc 1
16 %define rel 3
17
18 %define release %mkrel %{?relc:0.rc%{relc}.}%{rel}
19
20 %if %{git}
21 %if %{?relc:1}%{!?relc:0}
22 %define release %mkrel 1~rc%{relc}.1.git%{git}.%{rel}
23 %else
24 %define release 1.git%{git}.%{rel}
25 %endif
26 %endif
27
28 %define makedepend %{_bindir}/gccmakedep
29
30 %define d3dname d3d
31 %define eglname mesaegl
32 %define glname mesagl
33 %define glwname mesaglw
34 %define glesv1name mesaglesv1
35 %define glesv2name mesaglesv2
36 %define glapiname glapi
37 %define gbmname gbm
38 %define waylandeglname wayland-egl
39 %define xaname xatracker
40 %define vulkanname mesavulkan
41
42 %define d3dmajor 1
43 %define eglmajor 1
44 %define glmajor 1
45 %define glwmajor 1
46 %define glesv1major 1
47 %define glesv2major 2
48 %define glapimajor 0
49 %define gbmmajor 1
50 %define waylandeglmajor 1
51 %define osmesamajor 8
52 %define xamajor 2
53
54 %define libd3dname %mklibname %{d3dname} %{d3dmajor}
55 %define libeglname %mklibname %{eglname} %{eglmajor}
56 %define libglname %mklibname %{glname} %{glmajor}
57 %define libglwname %mklibname %{glwname} %{glwmajor}
58 %define libglesv1name %mklibname %{glesv1name}_ %{glesv1major}
59 %define libglesv2name %mklibname %{glesv2name}_ %{glesv2major}
60 %define libglapiname %mklibname %{glapiname} %{glapimajor}
61 %define libgbmname %mklibname %{gbmname} %{gbmmajor}
62 %define libwaylandeglname %mklibname %{waylandeglname} %{waylandeglmajor}
63 %define libosmesaname %mklibname osmesa %{osmesamajor}
64 %define libxaname %mklibname %{xaname} %{xamajor}
65
66 %define dridrivers %mklibname dri-drivers
67
68 %define vulkandrivers %mklibname %{vulkanname}-drivers
69 %define vulkandevel %mklibname %{vulkanname} -d
70
71 %define khrdevel %mklibname mesakhr -d
72 %define osmesadevel %mklibname osmesa -d
73
74 # Architecture-independent Virtual provides:
75 %define libd3dname_virt lib%{d3dname}
76 %define libeglname_virt lib%{eglname}
77 %define libglname_virt lib%{glname}
78 %define libglwname_virt lib%{glwname}
79 %define libglesv1name_virt lib%{glesv1name}
80 %define libglesv2name_virt lib%{glesv2name}
81 %define libglapiname_virt lib%{glapiname}
82 %define libgbmname_virt lib%{gbmname}
83 %define libwaylandeglname_virt lib%{waylandeglname}
84 %define libxaname_virt lib%{xaname}
85
86 %define mesasrcdir %{_prefix}/src/Mesa/
87
88 %define with_vaapi 1
89
90 %ifarch %{ix86} x86_64
91 %define vulkan_drivers --with-vulkan-drivers=intel,radeon
92 %else
93 %define vulkan_drivers --with-vulkan-drivers=radeon
94 %endif
95
96
97 %ifarch %{arm} aarch64
98 %define with_etnaviv 1
99 %define with_freedreno 1
100 %define with_vc4 1
101 %endif
102
103 %define base_drivers swrast,nouveau,radeon,r200
104 %ifarch %{ix86} x86_64
105 %define platform_drivers ,i915,i965
106 %define gallium_platform_drivers ,svga
107 %endif
108
109 %define with_wayland_egl 0
110
111 %define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers}
112
113 Name: mesa
114 Version: %{main_version}
115 Release: %{release}
116 Summary: OpenGL %{opengl_ver} compatible 3D graphics library
117 Group: System/Libraries
118
119 # temp force new gcc
120 BuildRequires: gcc >= 5.4.0-2
121
122 BuildRequires: pkgconfig(xfixes) >= 4.0.3
123 BuildRequires: pkgconfig(xshmfence)
124 BuildRequires: pkgconfig(xt) >= 1.0.5
125 BuildRequires: pkgconfig(xmu) >= 1.0.3
126 BuildRequires: pkgconfig(x11) >= 1.3.3
127 BuildRequires: pkgconfig(xdamage) >= 1.1.1
128 BuildRequires: pkgconfig(expat) >= 2.0.1
129 BuildRequires: gccmakedep
130 BuildRequires: x11-proto-devel >= 7.3
131 BuildRequires: pkgconfig(libdrm) >= 2.4.91
132 BuildRequires: pkgconfig(xcb-dri3)
133 BuildRequires: pkgconfig(xcb-present) >= 1.11
134 BuildRequires: pkgconfig(xext) >= 1.1.1
135 BuildRequires: pkgconfig(xxf86vm) >= 1.1.0
136 BuildRequires: pkgconfig(xi) >= 1.3
137 BuildRequires: pkgconfig(xrandr)
138 BuildRequires: pkgconfig(talloc)
139 BuildRequires: python2-libxml2
140 BuildRequires: python2-mako
141 BuildRequires: python3-libxml2
142 BuildRequires: python3-mako
143 BuildRequires: makedepend
144 BuildRequires: bison
145 BuildRequires: flex
146 BuildRequires: pkgconfig(libelf)
147 BuildRequires: llvm-devel >= 3.9.1-5
148 BuildRequires: pkgconfig(libudev)
149 %if 0%{?with_vaapi}
150 BuildRequires: pkgconfig(libva)
151 %endif
152 BuildRequires: pkgconfig(vdpau)
153 BuildRequires: pkgconfig(wayland-client)
154 BuildRequires: pkgconfig(wayland-server)
155 BuildRequires: pkgconfig(wayland-protocols)
156 BuildRequires: libgcrypt-devel
157 BuildRequires: pkgconfig(wayland-protocols) >= 1.8
158
159 URL: http://www.mesa3d.org
160 %if %{git}
161 #Source0: %{name}-%{git}.tar.bz2
162 # (blino) snapshot of 13.0 branch
163 Source0: %{name}-%{git_branch}-%{git}.tar.xz
164 %else
165 Source0: https://mesa.freedesktop.org/archive/mesa-%{main_version}%{?relc:-rc%{relc}}.tar.xz
166 %endif
167 Source3: make-git-snapshot.sh
168
169 Patch000: fix-linking.patch
170
171 # mesa staging/18.3 branch from 1
172 Patch001: 0001-docs-add-sha256-checksums-for-18.3.1.patch
173 #Patch002: 0002-bin-get-pick-list.sh-rework-handing-of-sha-nominatio.patch
174 #Patch003: 0003-bin-get-pick-list.sh-warn-when-commit-lists-invalid-.patch
175 Patch004: 0004-freedreno-drm-fix-memory-leak.patch
176 Patch005: 0005-v3d-Fix-a-leak-of-the-transfer-helper-on-screen-dest.patch
177 Patch006: 0006-vc4-Fix-a-leak-of-the-transfer-helper-on-screen-dest.patch
178 Patch007: 0007-v3d-Fix-a-leak-of-the-disassembled-instruction-strin.patch
179 Patch008: 0008-loader-free-error-state-when-checking-the-drawable-t.patch
180 Patch009: 0009-mesa-st-nir-fix-missing-nir_compact_varyings.patch
181 #Patch010: 0010-cherry-ignore-meson-libfreedreno-depends-upon-libdrm.patch
182 Patch011: 0011-radv-switch-on-EOP-when-primitive-restart-is-enabled.patch
183 Patch012: 0012-virgl-wrap-vertex-element-state-in-a-struct.patch
184 Patch013: 0013-virgl-work-around-bad-assumptions-in-virglrenderer.patch
185 Patch014: 0014-glx-mandate-xf86vidmode-only-for-drm-dri-platforms.patch
186 Patch015: 0015-radv-xfb-fix-counter-buffer-bounds-checks.patch
187 Patch016: 0016-pci_ids-add-new-vega10-pci-ids.patch
188 Patch017: 0017-pci_ids-add-new-vega20-pci-id.patch
189 Patch018: 0018-v3d-Make-sure-that-a-thrsw-doesn-t-split-a-multop-fr.patch
190 Patch019: 0019-v3d-Add-missing-flagging-of-SYNCB-as-a-TSY-op.patch
191 Patch020: 0020-clover-Fix-build-after-clang-r348827.patch
192 Patch021: 0021-nir-constant_folding-Fix-source-bit-size-logic.patch
193 Patch022: 0022-radv-don-t-set-surf_index-for-stencil-only-images.patch
194 Patch023: 0023-i965-vec4-dce-Don-t-narrow-the-write-mask-if-the-fla.patch
195 Patch024: 0024-meson-Fix-ppc64-little-endian-detection.patch
196 Patch025: 0025-meson-Add-support-for-gnu-hurd.patch
197 Patch026: 0026-meson-Add-toggle-for-glx-direct.patch
198 Patch027: 0027-Revert-nir-lower_indirect-Bail-early-if-modes-0.patch
199 Patch028: 0028-meson-Fix-typo.patch
200 Patch029: 0029-meson-Fix-libsensors-detection.patch
201 Patch030: 0030-nir-properly-clear-the-entry-sources-in-copy_prop_va.patch
202 Patch031: 0031-nir-properly-find-the-entry-to-keep-in-copy_prop_var.patch
203 Patch032: 0032-meson-don-t-require-glx-egl-gbm-with-gallium-drivers.patch
204 Patch033: 0033-pipe-loader-meson-reference-correct-library.patch
205 Patch034: 0034-TODO-glx-meson-build-dri-based-glx-tests-only-with-D.patch
206 Patch035: 0035-glx-meson-drop-includes-from-a-link-only-library.patch
207 Patch036: 0036-glx-meson-wire-up-the-dispatch-index-check-test.patch
208 Patch037: 0037-glx-test-meson-assorted-include-fixes.patch
209 Patch038: 0038-pci_ids-add-new-VegaM-pci-id.patch
210 Patch039: 0039-st-nine-Fix-volumetexture-dtor-on-ctor-failure.patch
211 Patch040: 0040-st-nine-Bind-src-not-dst-in-nine_context_box_upload.patch
212 Patch041: 0041-st-nine-Add-src-reference-to-nine_context_range_uplo.patch
213 Patch042: 0042-anv-don-t-do-partial-resolve-on-layer-0.patch
214 Patch043: 0043-gallium-ttn-Fix-setup-of-outputs_written.patch
215 Patch044: 0044-virgl-vtest-fix-front-buffer-flush-with-protocol-ver.patch
216 Patch045: 0045-meson-Override-C-standard-to-gnu-11-when-building-wi.patch
217 Patch046: 0046-radv-Do-a-cache-flush-if-needed-before-reading-predi.patch
218 Patch047: 0047-tgsi-scan-fix-loop-exit-point-in-tgsi_scan_tess_ctrl.patch
219 Patch048: 0048-tgsi-scan-correctly-walk-instructions-in-tgsi_scan_t.patch
220 Patch049: 0049-egl-haiku-Fix-reference-to-disp-vs-dpy.patch
221 Patch050: 0050-meson-Error-out-if-building-nouveau-and-using-LLVM-w.patch
222 Patch051: 0051-i965-include-draw_params-derived_draw_params-for-VF-.patch
223 Patch052: 0052-i965-add-CS-stall-on-VF-invalidation-workaround.patch
224 Patch053: 0053-nir-remove-dead-code-from-copy_prop_vars.patch
225 Patch054: 0054-intel-blorp-Be-more-conservative-about-copying-clear.patch
226 Patch055: 0055-radv-Implement-buffer-stores-with-less-than-4-compon.patch
227 Patch056: 0056-anv-android-Do-not-reject-storage-images.patch
228 Patch057: 0057-glsl-correct-typo-in-GLSL-compilation-error-message.patch
229 Patch058: 0058-radv-Fix-rasterization-precision-bits.patch
230 Patch059: 0059-spirv-Fix-matrix-parameters-in-function-calls.patch
231 Patch060: 0060-spirv-Handle-any-bit-size-in-vector_insert-extract.patch
232 Patch061: 0061-anv-apply_pipeline_layout-Set-the-cursor-in-lower_re.patch
233 Patch062: 0062-spirv-Sign-extend-array-indices.patch
234 Patch063: 0063-anv-explictly-specify-format-for-blorp-ccs-mcs-op.patch
235 Patch064: 0064-anv-flush-fast-clear-colors-into-compressed-surfaces.patch
236 Patch065: 0065-autotools-Remove-tegra-vdpau-driver.patch
237 Patch066: 0066-ac-nir-radv-radeonsi-nir-use-correct-indices-for-int.patch
238 Patch067: 0067-radeonsi-Fix-use-of-1-or-2-component-GL_DOUBLE-vbo-s.patch
239 Patch068: 0068-st-mesa-don-t-leak-pipe_surface-if-pipe_context-is-n.patch
240 Patch069: 0069-intel-fs-Handle-source-modifiers-in-lower_integer_mu.patch
241 Patch070: 0070-intel-fs-Implement-quad-swizzles-on-ICL.patch
242 Patch071: 0071-intel-fs-Fix-bug-in-lower_simd_width-while-splitting.patch
243 Patch072: 0072-intel-eu-gen7-Fix-brw_MOV-with-DF-destination-and-st.patch
244 Patch073: 0073-intel-fs-Respect-CHV-BXT-regioning-restrictions-in-c.patch
245 Patch074: 0074-glsl-linker-specify-proper-direction-in-location-ali.patch
246 Patch075: 0075-intel-peephole_ffma-Fix-swizzle-propagation.patch
247 Patch076: 0076-nv50-ir-fix-use-after-free-in-ConstantFolding-visit.patch
248 Patch077: 0077-meson-link-LLVM-native-component-when-LLVM-is-availa.patch
249 Patch078: 0078-ac-split-16-bit-ssbo-loads-that-may-not-be-dword-ali.patch
250
251 # mesa master branch from 201
252
253 #------------------------------------------------------------------------------
254
255 # package mesa
256 License: MIT
257 Requires: %{libglname} = %{version}-%{release}
258 Provides: hackMesa = %{version}
259 Obsoletes: hackMesa <= %{version}
260 Provides: Mesa = %{version}
261 Obsoletes: Mesa < %{version}
262
263 %package -n %{libglname}
264 Summary: Files for Mesa (GL and GLX libs)
265 Group: System/Libraries
266 Provides: %{libglname_virt} = %{version}-%{release}
267 Requires: %{dridrivers} >= %{version}-%{release}
268
269 # (anssi) Forces the upgrade of x11-server-common to happen before
270 # alternatives removal, which allows x11-server-common to grab the symlink.
271 Conflicts: x11-server-common < 1.3.0.0-17
272
273 %package -n %{dridrivers}
274 Summary: Mesa DRI drivers
275 Group: System/Libraries
276 # do not require exact release to avoid conflicts when having
277 # x86_64 dri drivers from tainted and i586 dri drivers from core
278 Requires: mesa = %{version}
279 Conflicts: %{_lib}MesaGL1 < 7.7-5
280 Obsoletes: %{_lib}dri-drivers-experimental < 7.11.2-4
281 Provides: %{_lib}dri-drivers-experimental = %{version}-%{release}
282
283 %package -n %{libd3dname}
284 Summary: Mesa Direct3D9 state tracker
285 Group: System/Libraries
286 Provides: %{libd3dname_virt} = %{version}-%{release}
287
288 %package -n %{libd3dname}-devel
289 Summary: Development files for Mesa Direct3D9 state tracker
290 Group: Development/C
291 Requires: %{libd3dname} = %{version}-%{release}
292 Provides: lib%{d3dname}-devel
293 Provides: %{d3dname}-devel
294 Provides: libd3d-devel
295
296 %package -n %{libglname}-devel
297 Summary: Development files for Mesa (OpenGL compatible 3D lib)
298 Group: Development/C
299 Requires: %{libglname} = %{version}-%{release}
300 Requires: %{khrdevel} = %{version}-%{release}
301 Provides: lib%{glname}-devel = %{version}-%{release}
302 Provides: %{glname}-devel = %{version}-%{release}
303 Provides: GL-devel
304 Provides: libMesaGL-devel = %{version}-%{release}
305 Provides: MesaGL-devel = %{version}-%{release}
306 Provides: libgl-devel
307
308 %package -n %{libeglname}
309 Summary: Files for Mesa (EGL libs)
310 Group: System/Libraries
311 Provides: %{libeglname_virt} = %{version}-%{release}
312
313 %package -n %{libeglname}-devel
314 Summary: Development files for Mesa (EGL libs)
315 Group: Development/C
316 Requires: %{libeglname} = %{version}-%{release}
317 Requires: %{khrdevel} = %{version}-%{release}
318 Provides: EGL-devel
319 Provides: lib%{eglname}-devel
320 Provides: %{eglname}-devel
321 Provides: libegl-devel
322
323 %package -n %{khrdevel}
324 Summary: Mesa Khronos development headers
325 Group: Development/C
326 Provides: mesakhr-devel = %{version}-%{release}
327
328 %package -n %{libosmesaname}
329 Summary: Mesa offscreen rendering library
330 Group: System/Libraries
331
332 %package -n %{osmesadevel}
333 Summary: Development files for libosmesa
334 Group: Development/C
335 Requires: %{libosmesaname} = %{version}-%{release}
336 Provides: osmesa-devel = %{version}-%{release}
337 Conflicts: MesaGL-devel < 8.1.0-0.git20120727.3
338
339 %package -n %{libglapiname}
340 Summary: Files for mesa (glapi libs)
341 Group: System/Libraries
342 Provides: %{libglapiname_virt} = %{version}-%{release}
343
344 %package -n %{libglapiname}-devel
345 Summary: Development files for glapi libs
346 Group: Development/C
347 Requires: %{libglapiname_virt} = %{version}-%{release}
348 Provides: lib%{glapiname}-devel
349 Provides: %{libglapiname}-devel
350
351 %package -n %{libglesv1name}
352 Summary: Files for Mesa (glesv1 libs)
353 Group: System/Libraries
354 Provides: %{libglesv1name_virt} = %{version}-%{release}
355
356 %package -n %{libglesv1name}-devel
357 Summary: Development files for glesv1 libs
358 Group: Development/C
359 Requires: %{libglesv1name} = %{version}-%{release}
360 Requires: %{khrdevel} = %{version}-%{release}
361 Provides: lib%{glesv1name}-devel
362 Provides: %{glesv1name}-devel
363 Provides: libglesv1-devel
364
365 %package -n %{libglesv2name}
366 Summary: Files for Mesa (glesv2 libs)
367 Group: System/Libraries
368 Provides: %{libglesv2name_virt} = %{version}-%{release}
369
370 %package -n %{libglesv2name}-devel
371 Summary: Development files for glesv2 libs
372 Group: Development/C
373 Requires: %{libglesv2name} = %{version}-%{release}
374 Requires: %{khrdevel} = %{version}-%{release}
375 Provides: lib%{glesv2name}-devel
376 Provides: %{glesv2name}-devel
377 Provides: libglesv2-devel
378
379 %package -n %{libgbmname}
380 Summary: Files for Mesa (gbm libs)
381 Group: System/Libraries
382 Provides: %{libgbmname_virt} = %{version}-%{release}
383
384 %package -n %{libgbmname}-devel
385 Summary: Development files for Mesa (gbm libs)
386 Group: Development/C
387 Requires: %{libgbmname} = %{version}-%{release}
388 Provides: lib%{gbmname}-devel
389 Provides: %{gbmname}-devel
390
391 %if %{?with_wayland_egl}
392 %package -n %{libwaylandeglname}
393 Summary: Files for Mesa (Wayland EGL libs)
394 Group: System/Libraries
395 Provides: %{libwaylandeglname_virt} = %{version}-%{release}
396
397 %package -n %{libwaylandeglname}-devel
398 Summary: Development files for Mesa (Wayland EGL libs)
399 Group: Development/C
400 Requires: %{libwaylandeglname} = %{version}-%{release}
401 Provides: lib%{waylandeglname}-devel
402 Provides: %{waylandeglname}-devel
403 %endif
404
405 %package -n %{_lib}vdpau-driver-nouveau
406 Summary: VDPAU plugin for nouveau driver
407 Group: System/Libraries
408 # temporary:
409 %rename vdpau-driver-nouveau
410
411 %package -n %{_lib}vdpau-driver-r300
412 Summary: VDPAU plugin for r300 driver
413 Group: System/Libraries
414 # temporary:
415 %rename vdpau-driver-r300
416
417 %package -n %{_lib}vdpau-driver-r600
418 Summary: VDPAU plugin for r600 driver
419 Group: System/Libraries
420 # temporary:
421 %rename vdpau-driver-r600
422
423 %package -n %{_lib}vdpau-driver-radeonsi
424 Summary: VDPAU plugin for radeonsi driver
425 Group: System/Libraries
426 # temporary:
427 %rename vdpau-driver-radeonsi
428
429 %package -n %{libxaname}
430 Summary: Files for Mesa XA state tracker
431 Group: System/Libraries
432 Provides: %{libxaname_virt} = %{version}-%{release}
433
434 %package -n %{libxaname}-devel
435 Summary: Development files for XA libs
436 Group: Development/C
437 Requires: %{libxaname_virt} = %{version}-%{release}
438 Provides: lib%{xaname}-devel
439 Provides: %{libxaname}-devel
440
441 %package -n %{vulkandrivers}
442 Summary: Mesa Vulkan driver for Intel and Radeon GPUs
443 Group: System/Libraries
444 %ifarch %{ix86} x86_64
445 Obsoletes: %{_lib}vulkan_intel < 18.3.0-4
446 Provides: %{_lib}vulkan_intel = %{version}-%{release}
447 %endif
448 Obsoletes: %{_lib}vulkan_radeon < 18.3.0-4
449 Provides: %{_lib}vulkan_radeon = %{version}-%{release}
450
451 %package -n %{vulkandevel}
452 Summary: Mesa's Vulkan development files for Intel and Radeon drivers
453 Group: Development/C
454 Requires: %{vulkandrivers} = %{version}-%{release}
455 Obsoletes: %{_lib}vulkan-devel < 0:18.3.0-4
456 Provides: %{vulkanname}-devel = %{version}-%{release}
457
458 %package common-devel
459 Summary: Meta package for mesa devel
460 Group: Development/C
461 Provides: Mesa-common-devel = %{version}-%{release}
462 Provides: hackMesa-common-devel = %{version}
463 Obsoletes: Mesa-common-devel < %{version}
464 Obsoletes: hackMesa-common-devel < %{version}
465 Requires: %{libglname}-devel = %{version}
466 Requires: mesaglu-devel
467 Requires: freeglut-devel
468 Requires: %{libeglname}-devel = %{version}
469 Requires: %{libglesv1name}-devel = %{version}
470 Requires: %{libglesv2name}-devel = %{version}
471
472 #------------------------------------------------------------------------------
473
474 %description
475 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
476
477 %description common-devel
478 Mesa common metapackage devel
479
480 %description -n %{libeglname}
481 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
482 EGL parts.
483
484 %description -n %{libeglname}-devel
485 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
486 EGL development parts.
487
488 %description -n %{libglname}
489 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
490 GL and GLX parts.
491
492 %description -n %{dridrivers}
493 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
494 DRI drivers.
495
496 %description -n %{libglname}-devel
497 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
498
499 This package contains the headers needed to compile Mesa programs.
500
501 %description -n %{libglesv1name}
502 OpenGL ES is a low-level, lightweight API for advanced embedded graphics using
503 well-defined subset profiles of OpenGL.
504
505 This package provides the OpenGL ES library version 1.
506
507 %description -n %{khrdevel}
508 Mesa Khronos development headers.
509
510 %description -n %{libosmesaname}
511 Mesa offscreen rendering libraries for rendering OpenGL into
512 application-allocated blocks of memory.
513
514 %description -n %{osmesadevel}
515 This package contains the headers needed to compile programs against
516 the Mesa offscreen rendering library.
517
518 %description -n %{libglapiname}
519 This packages provides the glapi shared library used by gallium.
520
521 %description -n %{libglapiname}-devel
522 This package contains the headers needed to compile programes against glapi shared library.
523
524 %description -n %{libglesv1name}-devel
525 This package contains the headers needed to compile OpenGL ES 1 programs.
526
527 %description -n %{libd3dname}
528 Mesa Direct3D9 state tracker.
529
530 %description -n %{libd3dname}-devel
531 Mesa Direct3D9 state tracker development package.
532
533 %description -n %{libglesv2name}
534 OpenGL ES is a low-level, lightweight API for advanced embedded graphics using
535 well-defined subset profiles of OpenGL.
536
537 This package provides the OpenGL ES library version 2.
538
539 %description -n %{libglesv2name}-devel
540 This package contains the headers needed to compile OpenGL ES 2 programs.
541
542 %description -n %{libgbmname}
543 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
544 GBM (Graphics Buffer Manager) parts.
545
546 %description -n %{libgbmname}-devel
547 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
548 GBM (Graphics Buffer Manager) development parts.
549
550 %if %{?with_wayland_egl}
551 %description -n %{libwaylandeglname}
552 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
553 Wayland EGL platform parts.
554
555 %description -n %{libwaylandeglname}-devel
556 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
557 Wayland EGL platform development parts.
558 %endif
559
560 %description -n %{libxaname}
561 This packages provides the xa shared library used by gallium.
562
563 %description -n %{libxaname}-devel
564 This package contains the headers needed to compile programes against xa shared library.
565
566 %description -n %{_lib}vdpau-driver-nouveau
567 This packages provides a VPDAU plugin to enable video acceleration
568 with the nouveau driver.
569
570 %description -n %{_lib}vdpau-driver-r300
571 This packages provides a VPDAU plugin to enable video acceleration
572 with the r300 driver.
573
574 %description -n %{_lib}vdpau-driver-r600
575 This packages provides a VPDAU plugin to enable video acceleration
576 with the r600 driver.
577
578 %description -n %{_lib}vdpau-driver-radeonsi
579 This packages provides a VPDAU plugin to enable video acceleration
580 with the radeonsi driver.
581
582 %description -n %{vulkandrivers}
583 This package contains the Vulkan parts for Mesa's Intel and Radeon drivers.
584
585 %description -n %{vulkandevel}
586 This package contains the development files for Mesa's Vulkan implementation.
587
588 #------------------------------------------------------------------------------
589
590 %prep
591 %autosetup -n %{name}-%{version}%{?relc:-rc%{relc}} -p1
592
593 %build
594 # (re)generate auto* generated files using our autotools and libtoolize
595 autoreconf -vfi
596
597 # for bin/test-driver:
598 automake --add-missing
599
600 %configure2_5x \
601 --enable-gallium-osmesa \
602 --with-dri-driverdir=%{_libdir}/dri \
603 --enable-egl \
604 --enable-gles1 \
605 --enable-gles2 \
606 --disable-xvmc \
607 --enable-vdpau \
608 %{?with_vaapi:--enable-va} \
609 --with-platforms=x11,drm,surfaceless,wayland \
610 --enable-shared-glapi \
611 --enable-gbm \
612 --enable-glx \
613 --enable-glx-tls \
614 --enable-texture-float=yes \
615 --enable-llvm \
616 --enable-dri \
617 --enable-xa \
618 --enable-nine \
619 --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,%{?with_freedreno:freedreno,}%{?with_etnaviv:etnaviv,imx,}%{?with_vc4:vc4,}virgl%{?gallium_platform_drivers} \
620 %{?vulkan_drivers} \
621 %{?dri_drivers}
622 # end of configure options
623
624
625 %make
626
627 %install
628 %make_install
629
630 # FIXME: strip will likely break the hardlink
631 # (blino) hardlink libGL files in %{_libdir}/mesa
632 # to prevent proprietary driver installers from removing them
633 mkdir -p $RPM_BUILD_ROOT%{_libdir}/mesa
634 pushd $RPM_BUILD_ROOT%{_libdir}/mesa
635 for l in ../libGL.so.*; do cp -a $l .; done
636 popd
637
638 %ifarch %{x86_64}
639 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/dri
640 %endif
641
642 # libvdpau opens the versioned name, don't bother including the unversioned
643 rm -f %{buildroot}%{_libdir}/vdpau/*.so
644
645 # strip out useless headers
646 rm -f %{buildroot}%{_includedir}/GL/w*.h
647
648 # remove .la files
649 find %{buildroot} -name '*.la' -delete
650
651 # remove libwayland-egl on F28+ where it's built as part of wayland source package
652 %if !%{?with_wayland_egl}
653 rm -f %{buildroot}%{_libdir}/libwayland-egl.so*
654 rm -f %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
655 %endif
656
657 %ifnarch %{ix86} x86_64
658 # To have something to package for mesavulkan-devel on arm/aarch64 for now
659 mkdir %{buildroot}%{_includedir}/vulkan
660 %endif
661
662 #------------------------------------------------------------------------------
663
664 %files
665 /usr/share/drirc.d/
666
667 %files -n %{dridrivers}
668 %dir %{_libdir}/dri
669 %{_libdir}/dri/*_dri.so
670 %{_libdir}/dri/*_drv*.so
671
672 %files -n %{libglname}
673 %{_libdir}/libGL.so.*
674 %dir %{_libdir}/mesa
675 %{_libdir}/mesa/libGL.so.%{glmajor}{,.*}
676
677 %files -n %{libeglname}
678 %{_libdir}/libEGL.so.%{eglmajor}{,.*}
679
680 %files -n %{libosmesaname}
681 %{_libdir}/libOSMesa.so.%{osmesamajor}{,.*}
682
683 %files -n %{libglapiname}
684 %{_libdir}/libglapi.so.%{glapimajor}{,.*}
685
686 %files -n %{libglesv1name}
687 %{_libdir}/libGLESv1_CM.so.%{glesv1major}{,.*}
688
689 %files -n %{libd3dname}
690 %{_libdir}/d3d/*.so.*
691
692 %files -n %{libglesv2name}
693 %{_libdir}/libGLESv2.so.%{glesv2major}{,.*}
694
695 %files -n %{libgbmname}
696 %{_libdir}/libgbm.so.%{gbmmajor}
697 %{_libdir}/libgbm.so.%{gbmmajor}.*
698
699 %if %{?with_wayland_egl}
700 %files -n %{libwaylandeglname}
701 %{_libdir}/libwayland-egl.so.%{waylandeglmajor}
702 %{_libdir}/libwayland-egl.so.%{waylandeglmajor}.*
703 %endif
704
705 %files -n %{libxaname}
706 %{_libdir}/libxatracker.so.%{xamajor}{,.*}
707
708 %files -n %{libglname}-devel
709 %dir %{_includedir}/GL
710 %{_includedir}/GL/gl.h
711 %{_includedir}/GL/gl_mangle.h
712 %{_includedir}/GL/glext.h
713 %{_includedir}/GL/glx.h
714 %{_includedir}/GL/glx_mangle.h
715 %{_includedir}/GL/glxext.h
716 %{_includedir}/GL/glcorearb.h
717 %dir %{_includedir}/GL/internal
718 %{_includedir}/GL/internal/dri_interface.h
719 %{_libdir}/pkgconfig/dri.pc
720 %{_libdir}/libGL.so
721 %{_libdir}/pkgconfig/gl.pc
722
723 %files common-devel
724
725 %files -n %{libeglname}-devel
726 %{_includedir}/EGL
727 %{_libdir}/libEGL.so
728 %{_libdir}/pkgconfig/egl.pc
729
730 %files -n %{khrdevel}
731 %{_includedir}/KHR
732
733 %files -n %{osmesadevel}
734 %dir %{_includedir}/GL
735 %{_includedir}/GL/osmesa.h
736 %{_libdir}/libOSMesa.so
737 %{_libdir}/pkgconfig/osmesa.pc
738
739 %files -n %{libglapiname}-devel
740 %{_libdir}/libglapi.so
741
742 %files -n %{libglesv1name}-devel
743 %{_includedir}/GLES
744 %{_libdir}/libGLESv1_CM.so
745 %{_libdir}/pkgconfig/glesv1_cm.pc
746
747 %files -n %{libglesv2name}-devel
748 %{_includedir}/GLES2
749 %{_includedir}/GLES3
750 %{_libdir}/libGLESv2.so
751 %{_libdir}/pkgconfig/glesv2.pc
752
753 %files -n %{libd3dname}-devel
754 %{_includedir}/d3dadapter
755 %{_libdir}/d3d/*.so
756 %{_libdir}/pkgconfig/d3d.pc
757
758 %files -n %{libgbmname}-devel
759 %{_libdir}/libgbm.so
760 %{_includedir}/gbm.h
761 %{_libdir}/pkgconfig/gbm.pc
762
763 %if %{?with_wayland_egl}
764 %files -n %{libwaylandeglname}-devel
765 %{_libdir}/libwayland-egl.so
766 %{_libdir}/pkgconfig/wayland-egl.pc
767 %endif
768
769 %files -n %{libxaname}-devel
770 %{_libdir}/libxatracker.so
771 %{_includedir}/xa_tracker.h
772 %{_includedir}/xa_composite.h
773 %{_includedir}/xa_context.h
774 %{_libdir}/pkgconfig/xatracker.pc
775
776 %files -n %{_lib}vdpau-driver-nouveau
777 %{_libdir}/vdpau/libvdpau_nouveau.so.*
778
779 %files -n %{_lib}vdpau-driver-r300
780 %{_libdir}/vdpau/libvdpau_r300.so.*
781
782 %files -n %{_lib}vdpau-driver-r600
783 %{_libdir}/vdpau/libvdpau_r600.so.*
784
785 %files -n %{_lib}vdpau-driver-radeonsi
786 %{_libdir}/vdpau/libvdpau_radeonsi.so.*
787
788 %files -n %{vulkandrivers}
789 %dir %{_datadir}/vulkan
790 %dir %{_datadir}/vulkan/icd.d
791 %ifarch %{ix86} x86_64
792 %{_datadir}/vulkan/icd.d/intel_icd*.json
793 %{_libdir}/libvulkan_intel.so
794 %endif
795 %{_datadir}/vulkan/icd.d/radeon_icd*.json
796 %{_libdir}/libvulkan_radeon.so
797
798 %files -n %{vulkandevel}
799 %dir %{_includedir}/vulkan
800 %ifarch %{ix86} x86_64
801 %{_includedir}/vulkan/vulkan_intel.h
802 %endif

  ViewVC Help
Powered by ViewVC 1.1.26