Files
packages/anda/lib/mesa/mesa.spec
T
madomado f08edf4eef chore(sync): frawhide -> f43 (#6212)
* bump: python-shibuya

* bump: osu-lazer

* bump: zed-preview

* bump(branch): ffmpeg

* fix(dracut-strip-trigger): make trigger run later than dracut's one (#6046)

Signed-off-by: madomado <madonuko@outlook.com>

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: ruffle-nightly

* bump(nightly): legcord-nightly micro-nightly zed-nightly grabnim Carla-nightly scx-scheds-nightly spotx-bash

* bump: rust-mise

* bump: peazip

* bump: copyparty

* bump: copyparty

* bump: zig-master-bootstrap

* bump: copyparty

* bump(branch): zig-master

* bump: zed-preview

* bump: lomiri-system-settings

* bump: rpcs3

* bump: rust-mise

* bump(nightly): mpv-nightly hyprutils.nightly ghostty-nightly zed-nightly scx-scheds-nightly

* bump: ruffle-nightly golang-github-abenz1267-walker zed yt-dlp-git

* bump: xwayland-satellite

* bump: terra-mock-configs

* bump: zig-master-bootstrap

* bump(branch): zig-master

* feat(ci): better build workflows [attempt 2] (#6006)

* feat(ci): better build workflows

* fix(ci/json-build): forgot about the type

* chore: test if autobuild works

* Revert "chore: test if autobuild works"

This reverts commit 73fe8e636f.

* fix(ci/build): delay setup git

* fix(ci/build): need to git add all

* fix(ci/build): compact output from jq

* chore(ci/build): add run-name

* fix(ci/autobuild): inherit secrets

Signed-off-by: madomado <madonuko@outlook.com>

* fix(ci/build): inherit secrets

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>

* bump: rust-mise

* bump: yt-dlp-git

* bump: zed-preview zed

* bump: yt-dlp-git

* bump: zed-preview

* bump: rio

* bump: codium

* bump: yt-dlp-git

* bump: zed-preview

* bump: yt-dlp-git

* bump: ruffle-nightly zig-master-bootstrap tela-icon-theme

* bump(nightly): mpv-nightly winetricks-git ghostty-nightly zed-nightly prismlauncher-nightly libva-nvidia-driver scx-scheds-nightly rpi-utils

* bump(branch): zig-master

* bump: electron

* bump: osu-lazer

* bump: discord-canary-openasar discord-canary

* feat(ci): support f43 (#6088)

* Add: rp-appset (#6083)

* bump: xone

* bump(branch): xone-kmod dkms-xone

* bump: discord-canary-openasar discord-canary

* bump: discord-openasar discord golang-google-grpc.terra

* bump: yt-dlp-git

* bump: yt-dlp-git

* bump: yt-dlp-git

* bump: steam

* bump: steam

* bump: steam yt-dlp-git

* bump: steam yt-dlp-git

* bump: yt-dlp-git

* bump: steam yt-dlp-git

* bump: steam

* bump: steam

* bump(nightly): envision winetricks-git ghostty-nightly micro-nightly zed-nightly tdlib-nightly openbangla-keyboard-nightly scx-scheds-nightly rpi-utils

* bump: discord-canary-openasar discord-canary ruffle-nightly yt-dlp-git

* bump: yt-dlp-git

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: rpcs3

* bump: steam yt-dlp-git

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: dart

* bump: steam

* bump: steam

* bump: steam mesa

* bump: steam rust-mise

* bump: steam

* bump: yt-dlp-git

* bump: steam

* bump: discord-openasar discord

* add: android-studio package (#6097)

* feat: add android-studio package

* chore: add packager metadata to spec file

* chore: add update.rhai and assist feedback

* bump: signal-desktop zig-master-bootstrap

* bump(branch): zig-master

* bump: yt-dlp-git

* bump: rpcs3

* bump: zed-preview zed

* bump: zed-preview

* bump: discord-canary-openasar discord-canary ruffle-nightly rust-mise

* bump(nightly): mpv-nightly hyprgraphics.nightly ghostty-nightly micro-nightly zed-nightly prismlauncher-nightly scx-scheds-nightly

* bump: golang-github-u-root

* bump: fluent-icon-theme

* bump: rpcs3

* bump: zed-preview

* bump: golang-github-abenz1267-walker

* bump: discord-ptb-openasar discord-ptb codium

* bump: bitwarden-cli.bin

* bump(branch): bitwarden-cli

* bump: yt-dlp-git

* bump: copyparty

* bump: yt-dlp-git

* bump(nightly): hyprutils.nightly ghostty-nightly zed-nightly prismlauncher-nightly nim-nightly nvidia-patch scx-scheds-nightly rpi-utils

* bump: flatpost ruffle-nightly

* bump: zig-master-bootstrap yt-dlp-git

* bump(branch): zig-master

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump(branch): ffmpeg

* bump: rust-mise

* bump: maple-fonts

* bump: rust-mise

* bump: lomiri-system-settings

* fix(zed*): exec correct binary from .desktop (#6077)

Resolve #6056

* bump: zapret

* bump: zed-preview zed

* bump: zed-preview rust-mise

* bump: rust-mise

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: discord-canary-openasar discord-canary

* fix(zed): change license path (#6109)

change license path from plex-mono/license.txt to
ibm-plex-sans/license.txt

* fix: micro (#6105)

Signed-off-by: madomado <madonuko@outlook.com>

* add: television (#6051)

* fix: fluent-icon-theme (#6106)

Signed-off-by: madomado <madonuko@outlook.com>

* fix(signal-desktop): build sticker-creator (#6092)

* add: flameshot.qt5 (#6087)

* bump: rust-television

* bump: yt-dlp-git

* bump: ruffle-nightly yt-dlp-git

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly scx-scheds-nightly

* fix(emulationstation-de): Drop patch, update build deps (#6117)

* fix(emulationstation-de): Drop patch

Signed-off-by: Gilver <rockgrub@disroot.org>

* fix: bluez-libs-devel

Signed-off-by: Gilver <rockgrub@disroot.org>

* fix: vulkan-loader-devel

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>

* bump: golang-github-abenz1267-walker

* bump: lomiri-system-settings

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* fix(android-studio): Don't overide libedit library (#6141)

* bump: komikku

* bump: ruffle-nightly yt-dlp-git

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly spotx-bash

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: groovy groovy-docs

* bump: golang-github-abenz1267-walker

* bump: rpcs3

* bump: rpcs3

* bump: ruffle-nightly

* bump(nightly): mpv-nightly winetricks-git ghostty-nightly zed-nightly nvidia-patch scx-scheds-nightly

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: flatpost

* bump: lomiri-system-settings

* bump: golang-github-abenz1267-walker

* bump: rpcs3

* bump: discord-canary-openasar discord-canary

* bump: flutter

* bump: zed-preview sass

* bump: discord-canary-openasar discord-canary

* bump(nightly): legcord-nightly winetricks-git hyprutils.nightly ghostty-nightly micro-nightly zed-nightly scx-scheds-nightly

* bump: ruffle-nightly

* bump: bun-bin

* bump: tela-icon-theme

* bump: liblsp-dsp

* bump: lomiri-system-settings

* bump: tela-icon-theme

* bump: tela-icon-theme

* bump: chezmoi

* bump: tela-icon-theme

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump: discord-openasar discord

* bump: unity-session

* feat: Enable D3D12 for WSL in Mesa (#6150) (#6151)

(cherry picked from commit 81a050dcb1)

Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>

* chore: Split dxil into dxil and dxil-libs, allows both 32-bit and 64-bit support for spir-v to dxil (#6156) (#6158)

* chore: Split dxil into dxil and dxil-libs, allows both 32-bit and 64-bit support for spir-v to dxil



* chore: Increase release



* chore: Make dependency on mesa-dxil arch neutral



---------


(cherry picked from commit 7706984b3b)

Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>

* bump: ruffle-nightly

* bump(nightly): ghostty-nightly zed-nightly intel-ipu6-drivers scx-scheds-nightly

* fix: Make rawhide match f42 (#6164)

Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>

* bump(branch): intel-ipu6-kmod dkms-intel-ipu6

* fix: stupid typo for large runners (#6163)

* fix: stupid typo for large runners

* fix: use format instead of broken nested variable sub

* bump: readymade-git

* Feat: Switch mesa to large runners (#6157) (#6171)

* Feat: Switch mesa to large runners



* Bump release

* Bump release

---------


(cherry picked from commit cf014e92ce)

Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Co-authored-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>

* bump: zig-master-bootstrap

* bump(branch): zig-master

* gamescope: rebase to 3.16.3 (#6175)

* bump: rust-mise

* bump: hypridle

* bump: zed-preview zed

* bump: yt-dlp-git

* bump: dart

* bump: golang-github-abenz1267-walker

* bump: zed-preview zed

* bump: discord-canary-openasar discord-canary

* bump: electron

* bump: signal-desktop copyparty yt-dlp-git

* bump: rpcs3

* bump: zig-master-bootstrap

* bump: yt-dlp-git

* bump(branch): zig-master

* bump: yt-dlp-git

* bump: yt-dlp-git

* bump: ruffle-nightly yt-dlp-git

* bump(nightly): ghostty-nightly zed-nightly nim-nightly scx-scheds-nightly rpi-utils

* bump: yt-dlp-git

* fix(komikku): add missing dependency on modern_colorthief (#6148)

* bump: nodejs-backport

* bump: anda-srpm-macros

* bump: arduino-cli

* fix(fluent-icon-theme): manually list out all files? (#6180)

* fix(fluent-icon-theme): manually list out all files?

Signed-off-by: madomado <madonuko@outlook.com>

* bump

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>

* fix(zed): missing rustc dep `libedit(x86-64)` (#6179)

* bump: zig-master-bootstrap

* fix(nodejs-backport): files (#6185) (#6186)

(cherry picked from commit 2e14d081bb)

Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>

* bump(branch): zig-master

* bump: android-studio

* feat: remove %go_prep_online from all specs (#6194) (#6195)

* feat: remove %go_prep_online from all specs

* packager



* fix: GO111MODULE=on

* a

* aa

* aaa

* hah?

* feat: walker got rusted real?

* fedora moment

* /etc/xdg/walker/



---------


(cherry picked from commit aacc02e713)

Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>

* bump: copyparty

* bump: zed-preview zed

* bump: ruffle-nightly

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly nim-nightly scx-scheds-nightly

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: walker

* bump: discord-ptb-openasar discord-ptb

* bump: zed-preview zed

* bump: dwarfs

* bump: switcheroo-control wine-dev yt-dlp-git

* bump: rpcs3

* bump: yt-dlp-git

* bump: zed-preview zed

* bump: ruffle-nightly wine-staging

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly astal scx-scheds-nightly

* bump(branch): astal-gtk

* bump: zig-master-bootstrap

* bump(branch): zig-master

* perf(ci): use arm runners (#6202)

* bump: wine-dxvk

* bump: walker

* fix(astal-gtk): add commit (#6204)

Signed-off-by: madomado <madonuko@outlook.com>

* feat(bootstrap): also init madoguchi?

* feat(release): bump to 43

---------

Signed-off-by: madomado <madonuko@outlook.com>
Signed-off-by: Gilver <rockgrub@disroot.org>
Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Co-authored-by: Raboneko <raboneko@fyralabs.com>
Co-authored-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Co-authored-by: Engels Tercero <75184282+like-engels@users.noreply.github.com>
Co-authored-by: Eason <30045503+Eason0729@users.noreply.github.com>
Co-authored-by: Gilver <rockgrub@disroot.org>
Co-authored-by: Raboneko <119771935+raboneko@users.noreply.github.com>
Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Co-authored-by: lea <lleyton@fyralabs.com>
Co-authored-by: Pornpipat Popum <cappy@cappuchino.xyz>
Co-authored-by: Lélahel <lelahx@proton.me>
2025-09-01 00:28:05 +08:00

691 lines
20 KiB
RPMSpec

%global _default_patch_fuzz 2
%global srcname mesa
%ifnarch s390x
%global with_hardware 1
%global with_radeonsi 1
%global with_vmware 1
%global with_vulkan_hw 1
%global with_vdpau 1
%global with_va 1
%if !0%{?rhel}
%global with_r300 1
%global with_r600 1
%if 0%{?with_vulkan_hw}
%global with_nvk %{with_vulkan_hw}
%endif
%global with_opencl 1
%endif
%global base_vulkan %{?with_vulkan_hw:,amd}%{!?with_vulkan_hw:%{nil}}
%endif
%ifnarch %{ix86}
%if !0%{?rhel}
%global with_teflon 1
%endif
%endif
%ifarch %{ix86} x86_64
%global with_crocus 1
%global with_iris 1
%global intel_platform_vulkan %{?with_vulkan_hw:,intel,intel_hasvk}%{!?with_vulkan_hw:%{nil}}
%if !0%{?rhel}
%global with_i915 1
%endif
%endif
%ifarch x86_64
%if !0%{?with_vulkan_hw}
%global with_intel_vk_rt 1
%endif
%endif
%ifarch aarch64 x86_64 %{ix86}
%if !0%{?rhel}
%global with_asahi 1
%global with_d3d12 1
%global with_etnaviv 1
%global with_lima 1
%global with_tegra 1
%global with_vc4 1
%global with_v3d 1
%endif
%global with_freedreno 1
%global with_kmsro 1
%global with_panfrost 1
%if 0%{?with_asahi}
%global asahi_platform_vulkan %{?with_vulkan_hw:,asahi}%{!?with_vulkan_hw:%{nil}}
%endif
%global extra_platform_vulkan %{?with_vulkan_hw:,broadcom,freedreno,panfrost,imagination-experimental}%{!?with_vulkan_hw:%{nil}}
%endif
%if !0%{?rhel}
%global with_libunwind 1
%global with_lmsensors 1
%global with_virtio 1
%endif
%ifarch %{valgrind_arches}
%bcond_without valgrind
%else
%bcond_with valgrind
%endif
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?asahi_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau}%{?with_virtio:,virtio}%{?with_d3d12:,microsoft-experimental}
Name: %{srcname}
Summary: Mesa graphics libraries
# Make the dep solver always prefer our Mesa over the distro's
# This should not break anything by default as the Mesa stream is ***EXPLICITLY***
# disabled by default, and has to be enabled manually. See `terra/release/terra-mesa.repo` for details.
Epoch: 1
Version: 25.2.1
Release: 4%?dist
License: MIT AND BSD-3-Clause AND SGI-B-2.0
URL: http://www.mesa3d.org
Source0: https://archive.mesa3d.org/%{srcname}-%{version}.tar.xz
# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license.
# Source1 contains email correspondence clarifying the license terms.
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
Source1: Mesa-MLAA-License-Clarification-Email.txt
Patch10: gnome-shell-glthread-disable.patch
# https://github.com/bazzite-org/mesa
Patch20: bazzite.patch
BuildRequires: meson >= 1.3.0
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gettext
%if 0%{?with_hardware}
BuildRequires: kernel-headers
%endif
# We only check for the minimum version of pkgconfig(libdrm) needed so that the
# SRPMs for each arch still have the same build dependencies. See:
# https://bugzilla.redhat.com/show_bug.cgi?id=1859515
BuildRequires: pkgconfig(libdrm) >= 2.4.122
%if 0%{?with_libunwind}
BuildRequires: pkgconfig(libunwind)
%endif
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(zlib) >= 1.2.3
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-protocols) >= 1.34
BuildRequires: pkgconfig(wayland-client) >= 1.11
BuildRequires: pkgconfig(wayland-server) >= 1.11
BuildRequires: pkgconfig(wayland-egl-backend) >= 3
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xdamage) >= 1.1
BuildRequires: pkgconfig(xfixes)
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: bison
BuildRequires: flex
%if 0%{?with_lmsensors}
BuildRequires: lm_sensors-devel
%endif
%if 0%{?with_vdpau}
BuildRequires: pkgconfig(vdpau) >= 1.1
%endif
%if 0%{?with_va}
BuildRequires: pkgconfig(libva) >= 0.38.0
%endif
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
BuildRequires: llvm-devel >= 7.0.0
%if 0%{?with_teflon}
BuildRequires: flatbuffers-devel
BuildRequires: flatbuffers-compiler
BuildRequires: xtensor-devel
%endif
%if 0%{?with_opencl} || 0%{?with_nvk} || 0%{?with_asahi} || 0%{?with_panfrost}
BuildRequires: clang-devel
BuildRequires: pkgconfig(libclc)
BuildRequires: pkgconfig(SPIRV-Tools)
BuildRequires: pkgconfig(LLVMSPIRVLib)
%endif
%if 0%{?with_opencl} || 0%{?with_nvk}
BuildRequires: bindgen
BuildRequires: rust-packaging
%endif
%if 0%{?with_nvk}
BuildRequires: cbindgen
BuildRequires: (crate(paste) >= 1.0.14 with crate(paste) < 2)
BuildRequires: (crate(proc-macro2) >= 1.0.56 with crate(proc-macro2) < 2)
BuildRequires: (crate(quote) >= 1.0.25 with crate(quote) < 2)
BuildRequires: (crate(syn/clone-impls) >= 2.0.15 with crate(syn/clone-impls) < 3)
BuildRequires: (crate(unicode-ident) >= 1.0.6 with crate(unicode-ident) < 2)
BuildRequires: (crate(rustc-hash) >= 2.1.1 with crate(rustc-hash) < 3)
%endif
%if %{with valgrind}
BuildRequires: pkgconfig(valgrind)
%endif
BuildRequires: python3-devel
BuildRequires: python3-mako
BuildRequires: python3-ply
BuildRequires: python3-pycparser
BuildRequires: python3-pyyaml
BuildRequires: vulkan-headers
BuildRequires: glslang
%if 0%{?with_vulkan_hw}
BuildRequires: pkgconfig(vulkan)
%endif
%if 0%{?with_d3d12}
BuildRequires: pkgconfig(DirectX-Headers) >= 1.614.1
%endif
%description
%{summary}.
%package filesystem
Summary: Mesa driver filesystem
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release}
%description filesystem
%{summary}.
%package libGL
Summary: Mesa libGL runtime libraries
Requires: libglvnd-glx%{?_isa} >= 1:1.3.2
Requires: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: %{name}-libOSMesa < %{?epoch:%{epoch}:}25.1.0~rc2-1
%description libGL
%{summary}.
%package libGL-devel
Summary: Mesa libGL development package
Requires: (%{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-libGL%{?_isa})
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
Provides: libGL-devel
Provides: libGL-devel%{?_isa}
Recommends: gl-manpages
Obsoletes: %{name}-libOSMesa-devel < %{?epoch:%{epoch}:}25.1.0~rc2-1
%description libGL-devel
%{summary}.
%package libEGL
Summary: Mesa libEGL runtime libraries
Requires: libglvnd-egl%{?_isa} >= 1:1.3.2
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description libEGL
%{summary}.
%package libEGL-devel
Summary: Mesa libEGL development package
Requires: (%{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-libEGL%{?_isa})
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
Requires: %{name}-khr-devel%{?_isa}
Provides: libEGL-devel
Provides: libEGL-devel%{?_isa}
%description libEGL-devel
%{summary}.
%package dri-drivers
Summary: Mesa-based DRI drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%if 0%{?with_va}
Recommends: %{name}-va-drivers%{?_isa}
%endif
Obsoletes: %{name}-libglapi < %{?epoch:%{epoch}:}25.0.0~rc2-1
Provides: %{name}-libglapi >= %{?epoch:%{epoch}:}25.0.0~rc2-1
%description dri-drivers
%{summary}.
%if 0%{?with_va}
%package va-drivers
Summary: Mesa-based VA-API video acceleration drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: %{name}-vaapi-drivers < %{?epoch:%{epoch}:}22.2.0-5
%description va-drivers
%{summary}.
%endif
%if 0%{?with_vdpau}
%package vdpau-drivers
Summary: Mesa-based VDPAU drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description vdpau-drivers
%{summary}.
%endif
%package libgbm
Summary: Mesa gbm runtime library
Provides: libgbm
Provides: libgbm%{?_isa}
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
# If mesa-dri-drivers are installed, they must match in version. This is here to prevent using
# older mesa-dri-drivers together with a newer mesa-libgbm and its dependants.
# See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 .
Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-dri-drivers%{?_isa})
%description libgbm
%{summary}.
%package libgbm-devel
Summary: Mesa libgbm development package
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: libgbm-devel
Provides: libgbm-devel%{?_isa}
%description libgbm-devel
%{summary}.
%if 0%{?with_opencl}
%package libOpenCL
Summary: Mesa OpenCL runtime library
Requires: (ocl-icd%{?_isa} or OpenCL-ICD-Loader%{?_isa})
Requires: libclc%{?_isa}
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: opencl-filesystem
%description libOpenCL
%{summary}.
%package libOpenCL-devel
Summary: Mesa OpenCL development package
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description libOpenCL-devel
%{summary}.
%endif
%if 0%{?with_teflon}
%package libTeflon
Summary: Mesa TensorFlow Lite delegate
%description libTeflon
%{summary}.
%endif
%if 0%{?with_d3d12}
%package dxil
Summary: Mesa SPIR-V to DXIL binary
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description dxil
Binary for translating SPIR-V shader code to DXIL for Direct3D 12
%package dxil-libs
Summary: Mesa SPIR-V to DXIL libraries
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-dxil = %{?epoch:%{epoch}:}%{version}-%{release}
%description dxil-libs
Libraries for translating SPIR-V shader code to DXIL for Direct3D 12
%endif
%package vulkan-drivers
Summary: Mesa Vulkan drivers
Requires: vulkan%{_isa}
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%if 0%{?with_d3d12}
Requires: %{name}-dxil-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%endif
Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release}
%description vulkan-drivers
The drivers with support for the Vulkan API.
%prep
%autosetup -n %{srcname}-%{version} -p1
cp %{SOURCE1} docs/
%build
# ensure standard Rust compiler flags are set
export RUSTFLAGS="%build_rustflags"
%if 0%{?with_nvk}
export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
# So... Meson can't actually find them without tweaks
%define inst_crate_nameversion() %(basename %{cargo_registry}/%{1}-*)
%define rewrite_wrap_file() sed -e "/source.*/d" -e "s/%{1}-.*/%{inst_crate_nameversion %{1}}/" -i subprojects/%{1}.wrap
%rewrite_wrap_file proc-macro2
%rewrite_wrap_file quote
%rewrite_wrap_file syn
%rewrite_wrap_file unicode-ident
%rewrite_wrap_file paste
%endif
# We've gotten a report that enabling LTO for mesa breaks some games. See
# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details.
# Disable LTO for now
%define _lto_cflags %{nil}
%meson \
-Dplatforms=x11,wayland \
-Dgallium-mediafoundation=disabled \
%if 0%{?with_hardware}
-Dgallium-drivers=llvmpipe,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_i915:,i915}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_asahi:,asahi}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink}%{?with_d3d12:,d3d12} \
%else
-Dgallium-drivers=llvmpipe,virgl \
%endif
-Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \
-Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \
-Dteflon=%{?with_teflon:true}%{!?with_teflon:false} \
%if 0%{?with_opencl}
-Dgallium-rusticl=true \
%endif
-Dvulkan-drivers=%{?vulkan_drivers} \
-Dvulkan-layers=device-select,anti-lag \
-Dshared-glapi=enabled \
-Dgles1=enabled \
-Dgles2=enabled \
-Dopengl=true \
-Dgbm=enabled \
-Dglx=dri \
-Degl=enabled \
-Dglvnd=enabled \
-Dvideo-codecs=all \
-Dintel-rt=%{?with_intel_vk_rt:enabled}%{!?with_intel_vk_rt:disabled} \
-Dmicrosoft-clc=disabled \
-Dllvm=enabled \
-Dshared-llvm=enabled \
-Dvalgrind=%{?with_valgrind:enabled}%{!?with_valgrind:disabled} \
-Dbuild-tests=false \
-Dselinux=true \
%if !0%{?with_libunwind}
-Dlibunwind=disabled \
%endif
%if !0%{?with_lmsensors}
-Dlmsensors=disabled \
%endif
-Dandroid-libbacktrace=disabled \
%ifarch %{ix86}
-Dglx-read-only-text=true \
%endif
%{nil}
%meson_build
%install
%meson_install
# libvdpau opens the versioned name, don't bother including the unversioned
rm -vf %{buildroot}%{_libdir}/vdpau/*.so
# likewise glvnd
rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so
rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so
# XXX can we just not build this
rm -vf %{buildroot}%{_libdir}/libGLES*
%if ! 0%{?with_asahi}
# This symlink is unconditionally created when any kmsro driver is enabled
# We don't want this one so delete it
rm -vf %{buildroot}%{_libdir}/dri/apple_dri.so
%endif
# 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
# this keeps breaking, check it early. note that the exit from eu-ftr is odd.
pushd %{buildroot}%{_libdir}
for i in libGL.so ; do
eu-findtextrel $i && exit 1
done
popd
%files filesystem
%doc docs/Mesa-MLAA-License-Clarification-Email.txt
%dir %{_libdir}/dri
%dir %{_datadir}/drirc.d
%files libGL
%{_libdir}/libGLX_mesa.so.0*
%{_libdir}/libGLX_system.so.0*
%files libGL-devel
%dir %{_includedir}/GL
%dir %{_includedir}/GL/internal
%{_includedir}/GL/internal/dri_interface.h
%{_libdir}/pkgconfig/dri.pc
%files libEGL
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
%{_libdir}/libEGL_mesa.so.0*
%files libEGL-devel
%dir %{_includedir}/EGL
%{_includedir}/EGL/eglext_angle.h
%{_includedir}/EGL/eglmesaext.h
%files libgbm
%{_libdir}/libgbm.so.1
%{_libdir}/libgbm.so.1.*
%files libgbm-devel
%{_libdir}/libgbm.so
%{_includedir}/gbm.h
%{_includedir}/gbm_backend_abi.h
%{_libdir}/pkgconfig/gbm.pc
%if 0%{?with_teflon}
%files libTeflon
%{_libdir}/libteflon.so
%endif
%if 0%{?with_opencl}
%files libOpenCL
%{_libdir}/libRusticlOpenCL.so.*
%{_sysconfdir}/OpenCL/vendors/rusticl.icd
%files libOpenCL-devel
%{_libdir}/libRusticlOpenCL.so
%endif
%files dri-drivers
%{_datadir}/drirc.d/00-mesa-defaults.conf
%{_libdir}/libgallium-*.so
%{_libdir}/gbm/dri_gbm.so
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/libdril_dri.so
%{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/virtio_gpu_dri.so
%if 0%{?with_hardware}
%if 0%{?with_r300}
%{_libdir}/dri/r300_dri.so
%endif
%if 0%{?with_radeonsi}
%if 0%{?with_r600}
%{_libdir}/dri/r600_dri.so
%endif
%{_libdir}/dri/radeonsi_dri.so
%endif
%ifarch %{ix86} x86_64
%{_libdir}/dri/crocus_dri.so
%{_libdir}/dri/iris_dri.so
%if 0%{?with_i915}
%{_libdir}/dri/i915_dri.so
%endif
%endif
%ifarch aarch64 x86_64 %{ix86}
%if 0%{?with_asahi}
%{_libdir}/dri/apple_dri.so
%{_libdir}/dri/asahi_dri.so
%endif
%if 0%{?with_d3d12}
%{_libdir}/dri/d3d12_dri.so
%endif
%{_libdir}/dri/ingenic-drm_dri.so
%{_libdir}/dri/imx-drm_dri.so
%{_libdir}/dri/imx-lcdif_dri.so
%{_libdir}/dri/kirin_dri.so
%{_libdir}/dri/komeda_dri.so
%{_libdir}/dri/mali-dp_dri.so
%{_libdir}/dri/mcde_dri.so
%{_libdir}/dri/mxsfb-drm_dri.so
%{_libdir}/dri/rcar-du_dri.so
%{_libdir}/dri/stm_dri.so
%endif
%if 0%{?with_vc4}
%{_libdir}/dri/vc4_dri.so
%endif
%if 0%{?with_v3d}
%{_libdir}/dri/v3d_dri.so
%endif
%if 0%{?with_freedreno}
%{_libdir}/dri/kgsl_dri.so
%{_libdir}/dri/msm_dri.so
%endif
%if 0%{?with_etnaviv}
%{_libdir}/dri/etnaviv_dri.so
%endif
%if 0%{?with_tegra}
%{_libdir}/dri/tegra_dri.so
%endif
%if 0%{?with_lima}
%{_libdir}/dri/lima_dri.so
%endif
%if 0%{?with_panfrost}
%{_libdir}/dri/panfrost_dri.so
%{_libdir}/dri/panthor_dri.so
%endif
%{_libdir}/dri/nouveau_dri.so
%if 0%{?with_vmware}
%{_libdir}/dri/vmwgfx_dri.so
%endif
%endif
%if 0%{?with_kmsro}
%{_libdir}/dri/armada-drm_dri.so
%{_libdir}/dri/exynos_dri.so
%{_libdir}/dri/gm12u320_dri.so
%{_libdir}/dri/hdlcd_dri.so
%{_libdir}/dri/hx8357d_dri.so
%{_libdir}/dri/ili9163_dri.so
%{_libdir}/dri/ili9225_dri.so
%{_libdir}/dri/ili9341_dri.so
%{_libdir}/dri/ili9486_dri.so
%{_libdir}/dri/imx-dcss_dri.so
%{_libdir}/dri/mediatek_dri.so
%{_libdir}/dri/meson_dri.so
%{_libdir}/dri/mi0283qt_dri.so
%{_libdir}/dri/panel-mipi-dbi_dri.so
%{_libdir}/dri/pl111_dri.so
%{_libdir}/dri/repaper_dri.so
%{_libdir}/dri/rockchip_dri.so
%{_libdir}/dri/rzg2l-du_dri.so
%{_libdir}/dri/ssd130x_dri.so
%{_libdir}/dri/st7586_dri.so
%{_libdir}/dri/st7735r_dri.so
%{_libdir}/dri/sti_dri.so
%{_libdir}/dri/sun4i-drm_dri.so
%{_libdir}/dri/udl_dri.so
%{_libdir}/dri/vkms_dri.so
%{_libdir}/dri/zynqmp-dpsub_dri.so
%endif
%if 0%{?with_vulkan_hw}
%{_libdir}/dri/zink_dri.so
%endif
%if 0%{?with_va}
%files va-drivers
%{_libdir}/dri/nouveau_drv_video.so
%if 0%{?with_r600}
%{_libdir}/dri/r600_drv_video.so
%endif
%if 0%{?with_radeonsi}
%{_libdir}/dri/radeonsi_drv_video.so
%endif
%if 0%{?with_d3d12}
%{_libdir}/dri/d3d12_drv_video.so
%endif
%{_libdir}/dri/virtio_gpu_drv_video.so
%endif
%if 0%{?with_vdpau}
%files vdpau-drivers
%dir %{_libdir}/vdpau
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
%if 0%{?with_r600}
%{_libdir}/vdpau/libvdpau_r600.so.1*
%endif
%if 0%{?with_radeonsi}
%{_libdir}/vdpau/libvdpau_radeonsi.so.1*
%endif
%if 0%{?with_d3d12}
%{_libdir}/vdpau/libvdpau_d3d12.so.1*
%endif
%{_libdir}/vdpau/libvdpau_virtio_gpu.so.1*
%endif
%if 0%{?with_d3d12}
%files dxil
%{_bindir}/spirv2dxil
%files dxil-libs
%{_libdir}/libspirv_to_dxil.a
%{_libdir}/libspirv_to_dxil.so
%endif
%files vulkan-drivers
%{_libdir}/libvulkan_lvp.so
%{_datadir}/vulkan/icd.d/lvp_icd.*.json
%{_libdir}/libVkLayer_MESA_device_select.so
%{_libdir}/libVkLayer_MESA_anti_lag.so
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_anti_lag.json
%if 0%{?with_virtio}
%{_libdir}/libvulkan_virtio.so
%{_datadir}/vulkan/icd.d/virtio_icd.*.json
%endif
%if 0%{?with_vulkan_hw}
%{_libdir}/libvulkan_radeon.so
%{_datadir}/drirc.d/00-radv-defaults.conf
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
%if 0%{?with_nvk}
%{_libdir}/libvulkan_nouveau.so
%{_datadir}/vulkan/icd.d/nouveau_icd.*.json
%endif
%if 0%{?with_d3d12}
%{_libdir}/libvulkan_dzn.so
%{_datadir}/vulkan/icd.d/dzn_icd.*.json
%endif
%ifarch %{ix86} x86_64
%{_libdir}/libvulkan_intel.so
%{_datadir}/vulkan/icd.d/intel_icd.*.json
%{_libdir}/libvulkan_intel_hasvk.so
%{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json
%endif
%ifarch aarch64 x86_64 %{ix86}
%if 0%{?with_asahi}
%{_libdir}/libvulkan_asahi.so
%{_datadir}/vulkan/icd.d/asahi_icd.*.json
%endif
%{_libdir}/libvulkan_broadcom.so
%{_datadir}/vulkan/icd.d/broadcom_icd.*.json
%{_libdir}/libvulkan_freedreno.so
%{_datadir}/vulkan/icd.d/freedreno_icd.*.json
%{_libdir}/libvulkan_panfrost.so
%{_datadir}/vulkan/icd.d/panfrost_icd.*.json
%{_libdir}/libpowervr_rogue.so
%{_libdir}/libvulkan_powervr_mesa.so
%{_datadir}/vulkan/icd.d/powervr_mesa_icd.*.json
%endif
%endif
%changelog
%autochangelog