%global debug_package %{nil} Name: mesa-flux-neo Version: 26.3.0 Release: 1.fluxneo%{?dist} Summary: Matched Flux Neo Mesa OpenGL and Vulkan drivers License: MIT AND BSD-2-Clause AND SGI-B-2.0 ExclusiveArch: aarch64 Source0: mesa.tar Source1: sources.json Source2: neo-gpu-smoke.c BuildRequires: meson ninja-build gcc gcc-c++ clang clang-devel llvm-devel spirv-llvm-translator-devel spirv-tools-devel libdrm-devel expat-devel zlib-ng-compat-devel libzstd-devel elfutils-libelf-devel wayland-devel wayland-protocols-devel libxkbcommon-devel systemd-devel python3-mako python3-pyyaml python3-packaging bison flex glslang-devel libglvnd-devel libX11-devel libXext-devel libXfixes-devel libXrandr-devel libXxf86vm-devel libxcb-devel libxshmfence-devel xorg-x11-proto-devel Requires: libglvnd-egl libglvnd-glx Provides: mesa-libEGL = %{version} Provides: mesa-libEGL%{?_isa} = %{version} Provides: mesa-libGL = %{version} Provides: mesa-libGL%{?_isa} = %{version} Provides: mesa-libgbm = %{version} Provides: mesa-libgbm%{?_isa} = %{version} Provides: mesa-dri-drivers = %{version} Provides: mesa-dri-drivers%{?_isa} = %{version} Provides: mesa-vulkan-drivers = %{version} Provides: mesa-vulkan-drivers%{?_isa} = %{version} Obsoletes: mesa-libEGL < 26.3.1 Obsoletes: mesa-libGL < 26.3.1 Obsoletes: mesa-libgbm < 26.3.1 Obsoletes: mesa-dri-drivers < 26.3.1 Obsoletes: mesa-vulkan-drivers < 26.3.1 %description Unified Asahi Mesa drivers built together from a pinned Flux source revision. %prep %setup -q -n mesa %build # Build native compiler tools first. Runtime drivers do not depend on LLVM. meson setup tools --buildtype=release --prefix=/usr --wrap-mode=nodownload \ -Dgallium-drivers=asahi,softpipe -Dvulkan-drivers= -Dplatforms=wayland \ -Dglx=disabled -Dgallium-va=disabled -Dgallium-rusticl=false \ -Dvideo-codecs= -Dbuild-tests=false -Dinstall-mesa-clc=true -Dinstall-precomp-compiler=true ninja -C tools %{?_smp_mflags} src/compiler/clc/mesa_clc src/compiler/spirv/vtn_bindgen2 src/asahi/clc/asahi_clc mkdir compiler-tools ln -s ../tools/src/compiler/clc/mesa_clc compiler-tools/mesa_clc ln -s ../tools/src/compiler/spirv/vtn_bindgen2 compiler-tools/vtn_bindgen2 ln -s ../tools/src/asahi/clc/asahi_clc compiler-tools/asahi_clc export PATH="$PWD/compiler-tools:$PATH" meson setup runtime --buildtype=release --prefix=/usr --libdir=lib64 --wrap-mode=nodownload \ -Dgallium-drivers=asahi,softpipe -Dvulkan-drivers=asahi -Dplatforms=x11,wayland \ -Dglx=dri -Dglvnd=enabled -Dgallium-va=disabled -Dgallium-rusticl=false \ -Dvideo-codecs= -Dbuild-tests=false -Dllvm=disabled -Dmesa-clc=system -Dprecomp-compiler=system ninja -C runtime %{?_smp_mflags} cc %{optflags} %{SOURCE2} -o neo-gpu-smoke -lEGL -lGLESv2 %install DESTDIR=%{buildroot} meson install -C runtime --no-rebuild # libglvnd owns public headers and dispatch libraries. Package only Mesa runtime. rm -rf %{buildroot}/usr/include %{buildroot}/usr/lib64/pkgconfig install -Dm755 neo-gpu-smoke %{buildroot}%{_bindir}/neo-gpu-smoke install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/flux/sources/mesa.json %files %license docs/license.rst licenses/ %{_bindir}/neo-gpu-smoke %{_libdir}/*.so* %{_libdir}/dri/ %{_libdir}/gbm/ %{_datadir}/drirc.d/ %{_datadir}/glvnd/egl_vendor.d/ %{_datadir}/vulkan/icd.d/ %{_datadir}/flux/sources/mesa.json