File mesa.spec of Package mesa
Name: mesa
Version: 25.3.0
Release: %mkrel 1
Summary: Mesa 3D graphics library
License: MIT
Group: System/Libraries
URL: https://www.mesa3d.org/
Source0: mesa-%{version}.tar.xz
Patch0: mesa-rusticl-disable.patch
BuildRequires: meson
BuildRequires: ninja
BuildRequires: python3
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-dri2)
BuildRequires: pkgconfig(xcb-dri3)
BuildRequires: pkgconfig(xcb-glx)
BuildRequires: pkgconfig(xcb-present)
BuildRequires: pkgconfig(xcb-sync)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(glesv1_cm)
BuildRequires: llvm21-devel
BuildRequires: clang21-devel
BuildRequires: libclc
BuildRequires: glslang
BuildRequires: glslang-devel
%description
Mesa is an open-source implementation of the OpenGL specification - a
system for rendering interactive 3D graphics. Mesa also implements
OpenGL ES and Vulkan APIs. Rusticl (OpenCL runtime) is disabled via patch
to bypass the Rust 1.82 requirement.
%package devel
Summary: Development files for Mesa
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
Headers and pkgconfig files needed to build against Mesa.
%prep
%setup -q
%patch0 -p1
%build
meson setup builddir \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
-Dllvm=enabled \
-Dshared-llvm=enabled \
-Dglx=dri \
-Degl=enabled \
-Dgbm=enabled \
-Dvulkan-drivers=auto \
-Dgallium-drivers=auto \
-Dvalgrind=disabled
ninja -C builddir
%install
DESTDIR=%{buildroot} ninja -C builddir install
%files
%license docs/license.rst
%doc README.md
%{_libdir}/libGL.so.*
%{_libdir}/libEGL.so.*
%{_libdir}/libgbm.so.*
%{_libdir}/libvulkan_*.so.*
%files devel
%{_includedir}/GL/
%{_includedir}/EGL/
%{_includedir}/gbm.h
%{_libdir}/libGL.so
%{_libdir}/libEGL.so
%{_libdir}/libgbm.so
%{_libdir}/pkgconfig/*.pc
%changelog
* Thu Dec 04 2025 Henrik <henrik@example.com> - 25.3.0-1
- Build against llvm21, clang21, libclc, epoxy, glslang 16.1.0
- Patched meson.build to disable Rusticl gracefully (Rust <1.82)
- Enabled GLX (DRI backend), EGL, GBM, Vulkan, Gallium drivers
- Updated valgrind flag to 'disabled'
- Split runtime and devel subpackages