From 9dbdeeb48e7bf731adcd9a31ce04f7decaf913fa Mon Sep 17 00:00:00 2001 From: DengXiewei Date: Mon, 17 Apr 2023 15:34:12 +0800 Subject: [PATCH] Optimise spec Signed-off-by: DengXiewei --- mesa.spec | 426 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 287 insertions(+), 139 deletions(-) diff --git a/mesa.spec b/mesa.spec index 57eff14..28bdeef 100644 --- a/mesa.spec +++ b/mesa.spec @@ -1,6 +1,7 @@ -%define anolis_release 1 +%define anolis_release 2 + +%bcond_without hardware -%global with_hardware 1 %global with_vulkan_hw 1 %global with_vdpau 1 %global with_va 1 @@ -30,273 +31,415 @@ %global vulkan_drivers swrast%{?base_vulkan}%{?platform_vulkan} -Name: mesa -Summary: Mesa graphics libraries -Version: 23.0.2 -Release: %{anolis_release}%{?dist} -License: MIT -URL: http://www.mesa3d.org - -Source0: https://archive.mesa3d.org/mesa-%{version}.tar.xz - -BuildRequires: meson >= 1.0.0 -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: gettext -%if 0%{?with_hardware} -BuildRequires: kernel-headers -%endif -BuildRequires: pkgconfig(libdrm) >= 2.4.109 -BuildRequires: pkgconfig(expat) -BuildRequires: pkgconfig(zlib) >= 1.2.3 -BuildRequires: pkgconfig(libselinux) -BuildRequires: pkgconfig(wayland-scanner) >= 1.15 -BuildRequires: pkgconfig(wayland-protocols) >= 1.24 -BuildRequires: pkgconfig(wayland-client) >= 1.18 -BuildRequires: pkgconfig(wayland-server) >= 1.18 -BuildRequires: pkgconfig(wayland-egl-backend) >= 3 -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(xdamage) >= 1.1 -BuildRequires: pkgconfig(xfixes) >= 2.0 -BuildRequires: pkgconfig(xcb-glx) >= 1.8.1 -BuildRequires: pkgconfig(xxf86vm) -BuildRequires: pkgconfig(xcb) -BuildRequires: pkgconfig(x11-xcb) -BuildRequires: pkgconfig(xcb-dri2) >= 1.8 -BuildRequires: pkgconfig(xcb-dri3) -BuildRequires: pkgconfig(xcb-present) -BuildRequires: pkgconfig(xcb-sync) -BuildRequires: pkgconfig(xshmfence) >= 1.1 -BuildRequires: pkgconfig(dri2proto) >= 2.8 -BuildRequires: pkgconfig(glproto) >= 1.4.14 -BuildRequires: pkgconfig(xcb-xfixes) -BuildRequires: pkgconfig(xcb-randr) -BuildRequires: pkgconfig(xrandr) >= 1.3 -BuildRequires: pkgconfig(libunwind) -BuildRequires: pkgconfig(libzstd) -BuildRequires: pkgconfig(libudev) -BuildRequires: lm_sensors-devel -BuildRequires: bison -BuildRequires: flex +Name: mesa +Summary: Mesa graphics libraries +Version: 23.0.2 +Release: %{anolis_release}%{?dist} +License: MIT +URL: http://www.mesa3d.org +Source0: https://archive.mesa3d.org/mesa-%{version}.tar.xz + +BuildRequires: gcc, gcc-c++, gettext, meson >= 1.0.0 +%if %{with hardware} +BuildRequires: kernel-headers +%endif +BuildRequires: pkgconfig(libdrm) >= 2.4.109, pkgconfig(zlib) >= 1.2.3 +BuildRequires: pkgconfig(expat), pkgconfig(libselinux), pkgconfig(x11) +BuildRequires: pkgconfig(wayland-scanner) >= 1.15, pkgconfig(wayland-protocols) >= 1.24 +BuildRequires: pkgconfig(wayland-client) >= 1.18, pkgconfig(wayland-server) >= 1.18 +BuildRequires: pkgconfig(wayland-egl-backend) >= 3, pkgconfig(xdamage) >= 1.1 +BuildRequires: pkgconfig(xext), pkgconfig(xxf86vm), pkgconfig(xcb), pkgconfig(x11-xcb) +BuildRequires: pkgconfig(xfixes) >= 2.0, pkgconfig(xcb-glx) >= 1.8.1 +BuildRequires: pkgconfig(xcb-dri2) >= 1.8, pkgconfig(xcb-dri3), pkgconfig(xcb-present) +BuildRequires: pkgconfig(xcb-sync), pkgconfig(xshmfence) >= 1.1, pkgconfig(dri2proto) >= 2.8 +BuildRequires: pkgconfig(glproto) >= 1.4.14, pkgconfig(xrandr) >= 1.3 +BuildRequires: pkgconfig(xcb-xfixes), pkgconfig(xcb-randr), pkgconfig(libunwind) +BuildRequires: pkgconfig(libzstd), pkgconfig(libudev) +BuildRequires: lm_sensors-devel, bison, flex +BuildRequires: pkgconfig(libelf), pkgconfig(libglvnd) >= 1.3.2, llvm-devel >= 7.0.0 +BuildRequires: python3-devel, python3-mako, vulkan-headers, glslang %if 0%{?with_vdpau} -BuildRequires: pkgconfig(vdpau) >= 1.1 +BuildRequires: pkgconfig(vdpau) >= 1.1 %endif %if 0%{?with_va} -BuildRequires: pkgconfig(libva) >= 0.38.0 +BuildRequires: pkgconfig(libva) >= 0.38.0 %endif %if 0%{?with_omx} -BuildRequires: pkgconfig(libomxil-bellagio) +BuildRequires: pkgconfig(libomxil-bellagio) %endif -BuildRequires: pkgconfig(libelf) -BuildRequires: pkgconfig(libglvnd) >= 1.3.2 -BuildRequires: llvm-devel >= 7.0.0 %if 0%{?with_opencl} -BuildRequires: clang-devel -BuildRequires: bindgen -BuildRequires: rust-packaging -BuildRequires: pkgconfig(libclc) -BuildRequires: pkgconfig(SPIRV-Tools) -BuildRequires: pkgconfig(LLVMSPIRVLib) +BuildRequires: clang-devel, bindgen, rust-packaging +BuildRequires: pkgconfig(libclc) +BuildRequires: pkgconfig(SPIRV-Tools) +BuildRequires: pkgconfig(LLVMSPIRVLib) %endif %if %{with valgrind} -BuildRequires: pkgconfig(valgrind) +BuildRequires: pkgconfig(valgrind) %endif -BuildRequires: python3-devel -BuildRequires: python3-mako -BuildRequires: vulkan-headers -BuildRequires: glslang %if 0%{?with_vulkan_hw} -BuildRequires: pkgconfig(vulkan) +BuildRequires: pkgconfig(vulkan) %endif %description +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package filesystem -Summary: Mesa driver filesystem -Provides: mesa-dri-filesystem = %{EVR} -Obsoletes: mesa-dri-filesystem < %{EVR} +Summary: Mesa driver filesystem +Provides: mesa-dri-filesystem = %{EVR} +Obsoletes: mesa-dri-filesystem < %{EVR} %description filesystem +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libGL -Summary: Mesa libGL runtime libraries -Requires: %{name}-libglapi = %{EVR} -Requires: libglvnd-glx >= 1:1.3.2 +Summary: Mesa libGL runtime libraries +Requires: %{name}-libglapi = %{EVR} +Requires: libglvnd-glx >= 1:1.3.2 %description libGL +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libGL-devel -Summary: Mesa libGL development package -Requires: %{name}-libGL = %{EVR} -Requires: libglvnd-devel >= 1:1.3.2 -Provides: libGL-devel -Recommends: gl-manpages +Summary: Mesa libGL development package +Requires: %{name}-libGL = %{EVR} +Requires: libglvnd-devel >= 1:1.3.2 +Provides: libGL-devel +Recommends: gl-manpages %description libGL-devel +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libEGL -Summary: Mesa libEGL runtime libraries -Requires: libglvnd-egl >= 1:1.3.2 +Summary: Mesa libEGL runtime libraries +Requires: libglvnd-egl >= 1:1.3.2 %description libEGL +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libEGL-devel -Summary: Mesa libEGL development package -Requires: %{name}-libEGL = %{EVR} -Requires: libglvnd-devel >= 1:1.3.2 -Requires: %{name}-khr-devel -Provides: libEGL-devel +Summary: Mesa libEGL development package +Requires: %{name}-libEGL = %{EVR} +Requires: libglvnd-devel >= 1:1.3.2 +Requires: %{name}-khr-devel +Provides: libEGL-devel %description libEGL-devel +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package dri-drivers -Summary: Mesa-based DRI drivers -Requires: %{name}-filesystem = %{EVR} +Summary: Mesa-based DRI drivers +Requires: %{name}-filesystem = %{EVR} %if 0%{?with_va} -Recommends: %{name}-va-drivers = %{EVR} +Recommends: %{name}-va-drivers = %{EVR} %endif %description dri-drivers +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %if 0%{?with_omx} %package omx-drivers -Summary: Mesa-based OMX drivers -Requires: %{name}-filesystem = %{EVR} +Summary: Mesa-based OMX drivers +Requires: %{name}-filesystem = %{EVR} %description omx-drivers +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %endif %if 0%{?with_va} -%package va-drivers -Summary: Mesa-based VA-API video acceleration drivers -Requires: %{name}-filesystem = %{EVR} -Obsoletes: %{name}-vaapi-drivers < 22.2.0-5 -Conflicts: %{name}-dri-drivers < 22.3.0 +%package va-drivers +Summary: Mesa-based VA-API video acceleration drivers +Requires: %{name}-filesystem = %{EVR} +Obsoletes: %{name}-vaapi-drivers < 22.2.0-5 +Conflicts: %{name}-dri-drivers < 22.3.0 %description va-drivers +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %endif %if 0%{?with_vdpau} -%package vdpau-drivers -Summary: Mesa-based VDPAU drivers -Requires: %{name}-filesystem = %{EVR} +%package vdpau-drivers +Summary: Mesa-based VDPAU drivers +Requires: %{name}-filesystem = %{EVR} %description vdpau-drivers +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %endif %package libOSMesa -Summary: Mesa offscreen rendering libraries -Requires: %{name}-libglapi = %{EVR} -Provides: libOSMesa +Summary: Mesa offscreen rendering libraries +Requires: %{name}-libglapi = %{EVR} +Provides: libOSMesa %description libOSMesa +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libOSMesa-devel -Summary: Mesa offscreen rendering development package -Requires: %{name}-libOSMesa = %{EVR} +Summary: Mesa offscreen rendering development package +Requires: %{name}-libOSMesa = %{EVR} %description libOSMesa-devel +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libgbm -Summary: Mesa gbm runtime library -Provides: libgbm +Summary: Mesa gbm runtime library +Provides: libgbm %description libgbm +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libgbm-devel -Summary: Mesa libgbm development package -Requires: %{name}-libgbm = %{EVR} -Provides: libgbm-devel +Summary: Mesa libgbm development package +Requires: %{name}-libgbm = %{EVR} +Provides: libgbm-devel %description libgbm-devel +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %if 0%{?with_xa} %package libxatracker -Summary: Mesa XA state tracker -Provides: libxatracker +Summary: Mesa XA state tracker +Provides: libxatracker %description libxatracker +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libxatracker-devel -Summary: Mesa XA state tracker development package -Requires: %{name}-libxatracker = %{EVR} -Provides: libxatracker-devel +Summary: Mesa XA state tracker development package +Requires: %{name}-libxatracker = %{EVR} +Provides: libxatracker-devel %description libxatracker-devel +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %endif %package libglapi -Summary: Mesa shared glapi -Provides: libglapi +Summary: Mesa shared glapi +Provides: libglapi %description libglapi +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %if 0%{?with_opencl} %package libOpenCL -Summary: Mesa OpenCL runtime library -Requires: ocl-icd -Requires: libclc -Requires: %{name}-libgbm = %{EVR} -Requires: opencl-filesystem -Requires: spirv-tools-libs = %{installed_version_of spirv-tools-libs} +Summary: Mesa OpenCL runtime library +Requires: ocl-icd, libclc, opencl-filesystem +Requires: %{name}-libgbm = %{EVR} +Requires: spirv-tools-libs = %{installed_version_of spirv-tools-libs} %description libOpenCL +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libOpenCL-devel -Summary: Mesa OpenCL development package -Requires: %{name}-libOpenCL = %{EVR} +Summary: Mesa OpenCL development package +Requires: %{name}-libOpenCL = %{EVR} %description libOpenCL-devel +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %endif %if 0%{?with_nine} %package libd3d -Summary: Mesa Direct3D9 state tracker +Summary: Mesa Direct3D9 state tracker %description libd3d +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %package libd3d-devel -Summary: Mesa Direct3D9 state tracker development package -Requires: %{name}-libd3d = %{EVR} +Summary: Mesa Direct3D9 state tracker development package +Requires: %{name}-libd3d = %{EVR} %description libd3d-devel +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + %{summary}. %endif %package vulkan-drivers -Summary: Mesa Vulkan drivers -Requires: vulkan -Obsoletes: mesa-vulkan-devel < %{EVR} +Summary: Mesa Vulkan drivers +Requires: vulkan +Obsoletes: mesa-vulkan-devel < %{EVR} %description vulkan-drivers +The Mesa project began as an open-source implementation of the OpenGL specification - a system +for rendering interactive 3D graphics. Over the years the project has grown to implement more +graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, Vulkan and EGL.A variety of +device drivers allows the Mesa libraries to be used in many different environments ranging from +software emulation to complete hardware acceleration for modern GPUs. Mesa ties into several other +open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL +support on Linux, FreeBSD, and other operating systems. + The drivers with support for the Vulkan API. %prep %autosetup -n %{name}-%{version} -p1 %build -# We've gotten a report that enabling LTO for mesa breaks some games. # Disable LTO for now %define _lto_cflags %{nil} @@ -304,7 +447,7 @@ The drivers with support for the Vulkan API. -Dplatforms=x11,wayland \ -Ddri3=enabled \ -Dosmesa=true \ -%if 0%{?with_hardware} +%if %{with hardware} -Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_i915:,i915}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \ %else -Dgallium-drivers=swrast,virgl \ @@ -345,15 +488,16 @@ rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so # XXX can we just not build this rm -vf %{buildroot}%{_libdir}/libGLES* -# glvnd needs a default provider for indirect rendering where it cannot -# determine the vendor +# glvnd needs a default provider for indirect rendering where it cannot determine the vendor ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 +# generate abi/api files for so or bin, see more in: +# https://open.gitcode.host/docs/articles/305-module-and-checklist-of-spec %generate_compatibility_deps %files filesystem %dir %{_libdir}/dri -%if 0%{?with_hardware} +%if %{with hardware} %if 0%{?with_vdpau} %dir %{_libdir}/vdpau %endif @@ -364,6 +508,7 @@ ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 %{_libdir}/libGLX_mesa.so.0* %{_libdir}/libGLX_system.so.0* %{abidir}/libGLX*.dump + %files libGL-devel %dir %{_includedir}/GL/internal %{_includedir}/GL/internal/dri_interface.h @@ -407,14 +552,14 @@ ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 %if 0%{?with_xa} %files libxatracker -%if 0%{?with_hardware} +%if %{with hardware} %{_libdir}/libxatracker.so.2 %{_libdir}/libxatracker.so.2.* %{abidir}/libxatracker*.dump %endif %files libxatracker-devel -%if 0%{?with_hardware} +%if %{with hardware} %{_libdir}/libxatracker.so %{_includedir}/xa_tracker.h %{_includedir}/xa_composite.h @@ -454,7 +599,7 @@ ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 %{abidir}/swrast_dri.dump %{abidir}/virtio_gpu_dri.dump -%if 0%{?with_hardware} +%if %{with hardware} %if 0%{?with_r300} %{_libdir}/dri/r300_dri.so %endif @@ -643,6 +788,9 @@ ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 %endif %changelog +* Sat Apr 15 2023 DengXiewei - 23.0.2-2 +- Optimise spec + * Sat Apr 8 2023 Funda Wang - 23.0.2-1 - New version 23.0.2 -- Gitee