%global debug_package %{nil} URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-mesa-26.2.6.tar.xz ExclusiveArch: aarch64 BuildRequires: bindgen BuildRequires: bison BuildRequires: cargo-rpm-macros BuildRequires: cbindgen BuildRequires: clang-devel BuildRequires: flatbuffers-compiler BuildRequires: flatbuffers-devel BuildRequires: flex BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: glslang BuildRequires: kernel-headers BuildRequires: libstdc++-static BuildRequires: lm_sensors-devel BuildRequires: pkgconfig(DirectX-Headers) >= 1.619.1 BuildRequires: pkgconfig(LLVMSPIRVLib) BuildRequires: pkgconfig(SPIRV-Tools) BuildRequires: pkgconfig(dri2proto) >= 2.8 BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(glproto) >= 1.4.14 BuildRequires: pkgconfig(libclc) BuildRequires: pkgconfig(libdisplay-info) BuildRequires: pkgconfig(libdrm) >= 2.4.133 BuildRequires: pkgconfig(libelf) BuildRequires: pkgconfig(libglvnd) >= 1.3.2 BuildRequires: pkgconfig(libunwind) BuildRequires: pkgconfig(libva) >= 0.38.0 BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(valgrind) BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(wayland-client) >= 1.11 BuildRequires: pkgconfig(wayland-egl-backend) >= 3 BuildRequires: pkgconfig(wayland-protocols) >= 1.41 BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(wayland-server) >= 1.11 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11-xcb) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-dri2) >= 1.8 BuildRequires: pkgconfig(xcb-dri3) BuildRequires: pkgconfig(xcb-glx) >= 1.8.1 BuildRequires: pkgconfig(xcb-present) BuildRequires: pkgconfig(xcb-randr) BuildRequires: pkgconfig(xcb-sync) BuildRequires: pkgconfig(xcb-xfixes) BuildRequires: pkgconfig(xdamage) >= 1.1 BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xrandr) >= 1.3 BuildRequires: pkgconfig(xshmfence) >= 1.1 BuildRequires: pkgconfig(xxf86vm) BuildRequires: pkgconfig(zlib) >= 1.2.3 BuildRequires: systemd-devel BuildRequires: vulkan-headers BuildRequires: xtensor-devel BuildRequires: gcc-c++ = 16.2.1-2.fc46.1 BuildRequires: llvm-devel = 23.1.4-1.fc46 BuildRequires: meson = 1.12.1-2.fc46 BuildRequires: python3-devel = 3.15.2-1.fc46 BuildRequires: python3-mako = 1.4.1-2.fc46 BuildRequires: python3-pycparser = 3.00-4.fc45 BuildRequires: python3-pyyaml = 6.0.3-6.fc45 Name: uke-mesa Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa graphics libraries Provides: mesa = 26.2.6-17.fc46 Provides: mesa%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa < 26.2.6-17.fc46 Conflicts: mesa %description -n uke-mesa Mesa graphics libraries. %package -n uke-mesa-filesystem Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa driver filesystem Provides: mesa-dri-filesystem = 26.2.6-17.fc46 Obsoletes: mesa-omx-drivers < 26.2.6-17.fc46 Obsoletes: mesa-libd3d < 26.2.6-17.fc46 Obsoletes: mesa-libd3d-devel < 26.2.6-17.fc46 Obsoletes: mesa-vdpau-drivers < 26.2.6-17.fc46 Provides: mesa-filesystem = 26.2.6-17.fc46 Provides: mesa-filesystem%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-filesystem < 26.2.6-17.fc46 Conflicts: mesa-filesystem %description -n uke-mesa-filesystem Mesa driver filesystem. %package -n uke-mesa-libGL Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa libGL runtime libraries Requires: libglvnd-glx(aarch-64) >= 1:1.3.2 Requires: uke-mesa-dri-drivers(aarch-64) = 26.2.6-17.fc46 Obsoletes: mesa-libOSMesa < 25.1.0~rc2-1 Provides: mesa-libGL = 26.2.6-17.fc46 Provides: mesa-libGL%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libGL < 26.2.6-17.fc46 Conflicts: mesa-libGL %description -n uke-mesa-libGL Mesa libGL runtime libraries. %package -n uke-mesa-libGL-devel Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa libGL development package Requires: (uke-mesa-libGL(aarch-64) = 26.2.6-17.fc46 if uke-mesa-libGL(aarch-64)) Requires: libglvnd-devel(aarch-64) >= 1:1.3.2 Provides: libGL-devel = 26.2.6-17.fc46 Provides: libGL-devel(aarch-64) = 26.2.6-17.fc46 Recommends: gl-manpages Obsoletes: mesa-libOSMesa-devel < 25.1.0~rc2-1 Provides: mesa-libGL-devel = 26.2.6-17.fc46 Provides: mesa-libGL-devel%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libGL-devel < 26.2.6-17.fc46 Conflicts: mesa-libGL-devel %description -n uke-mesa-libGL-devel Mesa libGL development package. %package -n uke-mesa-libEGL Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa libEGL runtime libraries Requires: libglvnd-egl(aarch-64) >= 1:1.3.2 Requires: uke-mesa-libgbm(aarch-64) = 26.2.6-17.fc46 Requires: uke-mesa-dri-drivers(aarch-64) = 26.2.6-17.fc46 Provides: mesa-libEGL = 26.2.6-17.fc46 Provides: mesa-libEGL%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libEGL < 26.2.6-17.fc46 Conflicts: mesa-libEGL %description -n uke-mesa-libEGL Mesa libEGL runtime libraries. %package -n uke-mesa-libEGL-devel Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa libEGL development package Requires: (uke-mesa-libEGL(aarch-64) = 26.2.6-17.fc46 if uke-mesa-libEGL(aarch-64)) Requires: libglvnd-devel(aarch-64) >= 1:1.3.2 Requires: mesa-khr-devel(aarch-64) Provides: libEGL-devel = 26.2.6-17.fc46 Provides: libEGL-devel(aarch-64) = 26.2.6-17.fc46 Provides: mesa-libEGL-devel = 26.2.6-17.fc46 Provides: mesa-libEGL-devel%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libEGL-devel < 26.2.6-17.fc46 Conflicts: mesa-libEGL-devel %description -n uke-mesa-libEGL-devel Mesa libEGL development package. %package -n uke-mesa-dri-drivers Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa-based DRI drivers Requires: uke-mesa-filesystem(aarch-64) = 26.2.6-17.fc46 Requires: uke-mesa-libgbm(aarch-64) = 26.2.6-17.fc46 Obsoletes: mesa-libglapi < 25.0.0~rc2-1 Obsoletes: mesa-va-drivers < 26.0.0-5 Provides: mesa-va-drivers = 26.2.6-17.fc46 Provides: mesa-va-drivers(aarch-64) = 26.2.6-17.fc46 Obsoletes: mesa-vaapi-drivers < 22.2.0-5 Provides: mesa-dri-drivers = 26.2.6-17.fc46 Provides: mesa-dri-drivers%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-dri-drivers < 26.2.6-17.fc46 Conflicts: mesa-dri-drivers %description -n uke-mesa-dri-drivers Mesa-based DRI drivers. %package -n uke-mesa-libgbm Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa gbm runtime library Provides: libgbm = 26.2.6-17.fc46 Provides: libgbm(aarch-64) = 26.2.6-17.fc46 Recommends: uke-mesa-dri-drivers(aarch-64) = 26.2.6-17.fc46 Requires: (uke-mesa-dri-drivers(aarch-64) = 26.2.6-17.fc46 if uke-mesa-dri-drivers(aarch-64)) Provides: mesa-libgbm = 26.2.6-17.fc46 Provides: mesa-libgbm%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libgbm < 26.2.6-17.fc46 Conflicts: mesa-libgbm %description -n uke-mesa-libgbm Mesa gbm runtime library. %package -n uke-mesa-libgbm-devel Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa libgbm development package Requires: uke-mesa-libgbm(aarch-64) = 26.2.6-17.fc46 Provides: libgbm-devel = 26.2.6-17.fc46 Provides: libgbm-devel(aarch-64) = 26.2.6-17.fc46 Provides: mesa-libgbm-devel = 26.2.6-17.fc46 Provides: mesa-libgbm-devel%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libgbm-devel < 26.2.6-17.fc46 Conflicts: mesa-libgbm-devel %description -n uke-mesa-libgbm-devel Mesa libgbm development package. %package -n uke-mesa-libOpenCL Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa OpenCL runtime library Requires: (ocl-icd(aarch-64) or OpenCL-ICD-Loader(aarch-64)) Requires: libclc22(aarch-64) Requires: uke-mesa-libgbm(aarch-64) = 26.2.6-17.fc46 Requires: opencl-filesystem Provides: mesa-libOpenCL = 26.2.6-17.fc46 Provides: mesa-libOpenCL%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libOpenCL < 26.2.6-17.fc46 Conflicts: mesa-libOpenCL %description -n uke-mesa-libOpenCL Mesa OpenCL runtime library. %package -n uke-mesa-libOpenCL-devel Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa OpenCL development package Requires: uke-mesa-libOpenCL(aarch-64) = 26.2.6-17.fc46 Provides: mesa-libOpenCL-devel = 26.2.6-17.fc46 Provides: mesa-libOpenCL-devel%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libOpenCL-devel < 26.2.6-17.fc46 Conflicts: mesa-libOpenCL-devel %description -n uke-mesa-libOpenCL-devel Mesa OpenCL development package. %package -n uke-mesa-libTeflon Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa TensorFlow Lite delegate Provides: mesa-libTeflon = 26.2.6-17.fc46 Provides: mesa-libTeflon%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-libTeflon < 26.2.6-17.fc46 Conflicts: mesa-libTeflon %description -n uke-mesa-libTeflon Mesa TensorFlow Lite delegate. %package -n uke-mesa-dxil-devel Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa SPIR-V to DXIL binary Requires: uke-mesa-filesystem(aarch-64) = 26.2.6-17.fc46 Provides: mesa-dxil-devel = 26.2.6-17.fc46 Provides: mesa-dxil-devel%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-dxil-devel < 26.2.6-17.fc46 Conflicts: mesa-dxil-devel %description -n uke-mesa-dxil-devel Development tools for translating SPIR-V shader code to DXIL for Direct3D 12 %package -n uke-mesa-vulkan-drivers Version: 26.2.6 Release: 17.fc46 License: MIT AND BSD-3-Clause AND SGI-B-2.0 Summary: Mesa Vulkan drivers Requires: vulkan(aarch-64) Requires: uke-mesa-filesystem(aarch-64) = 26.2.6-17.fc46 Obsoletes: mesa-vulkan-devel < 26.2.6-17.fc46 Obsoletes: VK_hdr_layer < 1 Provides: mesa-vulkan-drivers = 26.2.6-17.fc46 Provides: mesa-vulkan-drivers%{?_isa} = 26.2.6-17.fc46 Obsoletes: mesa-vulkan-drivers < 26.2.6-17.fc46 Conflicts: mesa-vulkan-drivers %description -n uke-mesa-vulkan-drivers The drivers with support for the Vulkan API. %prep %setup -q ( mkdir -p "%{_builddir}/uke-mesa-26.2.6/work/mesa" cd '%{_builddir}/uke-mesa-26.2.6/work/mesa' rm -rf 'mesa-26.2.6' /usr/bin/rpmuncompress -x '%{_builddir}/uke-mesa-26.2.6/inputs/mesa/mesa-26.2.6.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'mesa-26.2.6' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . /usr/bin/rpmuncompress %{_builddir}/uke-mesa-26.2.6/inputs/mesa/0005-util-queue-self-scheduling.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-mesa-26.2.6/inputs/mesa/0004-freedreno-adreno732-ubwc-hint.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-mesa-26.2.6/inputs/mesa/0003-turnip-reject-render-only-display-fd.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-mesa-26.2.6/inputs/mesa/0002-freedreno-adreno732-identity.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f mkdir -p uke-native-contract cp %{_builddir}/uke-mesa-26.2.6/inputs/mesa/mesa-host-features.cpp uke-native-contract/mesa-host-features.cpp cp %{_builddir}/uke-mesa-26.2.6/inputs/mesa/mesa-queue-self-sandbox.cpp uke-native-contract/mesa-queue-self-sandbox.cpp awk '/^lp_build_fill_mattrs\(/{copy=1; print "void"} copy {print} copy && /^}/ {exit}' src/gallium/auxiliary/gallivm/lp_bld_misc.cpp > uke-native-contract/mesa-host-features.inc echo >> meson.build cat %{_builddir}/uke-mesa-26.2.6/inputs/mesa/mesa-host-features.meson >> meson.build cp %{_builddir}/uke-mesa-26.2.6/inputs/mesa/Mesa-MLAA-License-Clarification-Email.txt docs/ # Extract Rust crates meson cache directory cat > Cargo.toml <<_EOF [package] name = "mesa" version = "26.2.6" edition = "2021" [lib] path = "src/nouveau/nil/lib.rs" # only direct dependencies need to be listed here [dependencies] paste = "$(grep ^directory subprojects/paste*.wrap | sed 's|.*-||')" syn = { version = "$(grep ^directory subprojects/syn*.wrap | sed 's|.*-||')", features = ["clone-impls"] } rustc-hash = "$(grep ^directory subprojects/rustc-hash*.wrap | sed 's|.*-||')" _EOF ( set -euo pipefail /usr/bin/mkdir -p target/rpm /usr/bin/ln -s rpm target/release /usr/bin/rm -rf .cargo/ /usr/bin/mkdir -p .cargo cat > .cargo/config.toml << EOF [build] rustc = "/usr/bin/rustc" rustdoc = "/usr/bin/rustdoc" [profile.rpm] inherits = "release" opt-level = 3 codegen-units = 1 debug = 2 strip = "none" [env] CFLAGS = "-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer " CXXFLAGS = "-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer " LDFLAGS = "-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes " [install] root = "%{buildroot}/usr" [term] verbose = true [net] offline = true EOF cat >> .cargo/config.toml << EOF [source.local-registry] directory = "/usr/share/cargo/registry" [source.crates-io] registry = "https://crates.io" replace-with = "local-registry" EOF /usr/bin/rm -f Cargo.lock /usr/bin/rm -f Cargo.toml.orig ) ) %generate_buildrequires ( cd "%{_builddir}/uke-mesa-26.2.6/work/mesa/mesa-26.2.6" /usr/bin/cargo2rpm --path Cargo.toml buildrequires ) %build ( cd "%{_builddir}/uke-mesa-26.2.6/work/mesa/mesa-26.2.6" # ensure standard Rust compiler flags are set export RUSTFLAGS="-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn" # So... Meson can't actually find them without tweaks export MESON_PACKAGE_CACHE_DIR="/usr/share/cargo/registry/" # This function rewrites a mesa .wrap file: # - Removes the lines that start with "source" # - Replaces the "directory =" with the MESON_PACKAGE_CACHE_DIR # # Example: An upstream .wrap file like this (proc-macro2-1-rs.wrap): # # [wrap-file] # directory = proc-macro2-1.0.86 # source_url = https://crates.io/api/v1/crates/proc-macro2/1.0.86/download # source_filename = proc-macro2-1.0.86.tar.gz # source_hash = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 # patch_directory = proc-macro2-1-rs # # Will be transformed to: # # [wrap-file] # directory = meson-package-cache-dir # patch_directory = proc-macro2-1-rs rewrite_wrap_file() { sed -e "/source.*/d" -e "s/^directory = ${1}-.*/directory = $(basename ${MESON_PACKAGE_CACHE_DIR:-subprojects/packagecache}/${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 rewrite_wrap_file rustc-hash CFLAGS="${CFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer }" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer }" ; export CXXFLAGS ; FFLAGS="${FFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules }" ; export FFLAGS ; FCFLAGS="${FCFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules }" ; export FCFLAGS ; VALAFLAGS="${VALAFLAGS:--g}" ; export VALAFLAGS ; RUSTFLAGS="${RUSTFLAGS:--Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn}" ; export RUSTFLAGS ; LDFLAGS="${LDFLAGS:--Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes }" ; export LDFLAGS ; LT_SYS_LIBRARY_PATH="${LT_SYS_LIBRARY_PATH:-/usr/lib64:}" ; export LT_SYS_LIBRARY_PATH ; CC="${CC:-gcc}" ; export CC ; CXX="${CXX:-g++}" ; export CXX /usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/bin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . redhat-linux-build \ -Dplatforms=x11,wayland \ -Dgallium-drivers=llvmpipe,virgl,nouveau,r300,svga,radeonsi,r600,asahi,freedreno,etnaviv,tegra,vc4,v3d,lima,panfrost,zink,d3d12,ethosu,rocket \ -Dgallium-va=enabled \ -Dgallium-mediafoundation=disabled \ -Dteflon=true \ -Dgallium-rusticl=true \ -Dvulkan-drivers=swrast,amd,asahi,broadcom,freedreno,panfrost,imagination,nouveau,virtio,microsoft-experimental \ -Dvulkan-layers=device-select,anti-lag \ -Dgles1=enabled \ -Dgles2=enabled \ -Dopengl=true \ -Dgbm=enabled \ -Dglx=dri \ -Degl=enabled \ -Dglvnd=enabled \ -Dintel-rt=disabled \ -Dmicrosoft-clc=disabled \ -Dllvm=enabled \ -Dshared-llvm=enabled \ -Dvalgrind=enabled \ -Dbuild-tests=false \ -Dandroid-libbacktrace=disabled \ -Dspirv-tools=enabled \ bash %{_builddir}/uke-mesa-26.2.6/inputs/mesa/adreno732-ubwc-hint.sh "$PWD" --patched meson compile -C redhat-linux-build -j 4 uke-mesa-host-features uke-mesa-queue-self-sandbox redhat-linux-build/uke-mesa-host-features redhat-linux-build/uke-mesa-queue-self-sandbox /usr/bin/meson compile -C redhat-linux-build -j${RPM_BUILD_NCPUS} --verbose /usr/bin/cargo2rpm --path Cargo.toml license-summary /usr/bin/cargo2rpm --path Cargo.toml license-breakdown > LICENSE.dependencies ) %install ( cd "%{_builddir}/uke-mesa-26.2.6/work/mesa/mesa-26.2.6" DESTDIR=%{buildroot} /usr/bin/meson install -C redhat-linux-build --no-rebuild # likewise glvnd rm -vf %{buildroot}/usr/lib64/libGLX_mesa.so rm -vf %{buildroot}/usr/lib64/libEGL_mesa.so # XXX can we just not build this rm -vf %{buildroot}/usr/lib64/libGLES* # glvnd needs a default provider for indirect rendering where it cannot # determine the vendor ln -s libGLX_mesa.so.0 %{buildroot}/usr/lib64/libGLX_system.so.0 # No build tool or Python payload may reach a binary subpackage. if find %{buildroot} -type f \( -name "*.py" -o -name "*.pyc" -o -name "*.pyo" -o -name "python[0-9]*" \) -print | grep .; then exit 1; fi while IFS= read -r -d "" file; do if head -c 256 "$file" | LC_ALL=C grep -aE "^#!.*(python|pypy)"; then exit 1; fi; done < <(find %{buildroot} -type f -print0) ) %check ( cd "%{_builddir}/uke-mesa-26.2.6/work/mesa/mesa-26.2.6" bash %{_builddir}/uke-mesa-26.2.6/inputs/mesa/adreno732-ubwc-hint.sh "$PWD" --patched bash %{_builddir}/uke-mesa-26.2.6/inputs/mesa/turnip-display-fd.sh "$PWD" --patched redhat-linux-build/uke-mesa-host-features redhat-linux-build/uke-mesa-queue-self-sandbox ) %files -n uke-mesa-filesystem %doc work/mesa/mesa-26.2.6/docs/Mesa-MLAA-License-Clarification-Email.txt %dir /usr/lib64/dri %dir /usr/share/drirc.d %files -n uke-mesa-libGL /usr/lib64/libGLX_mesa.so.0* /usr/lib64/libGLX_system.so.0* %files -n uke-mesa-libGL-devel %dir /usr/include/GL %dir /usr/include/GL/internal /usr/include/GL/internal/dri_interface.h /usr/lib64/pkgconfig/dri.pc %files -n uke-mesa-libEGL /usr/share/glvnd/egl_vendor.d/50_mesa.json /usr/lib64/libEGL_mesa.so.0* %files -n uke-mesa-libEGL-devel %dir /usr/include/EGL /usr/include/EGL/eglext_angle.h /usr/include/EGL/eglmesaext.h %files -n uke-mesa-libgbm /usr/lib64/libgbm.so.1 /usr/lib64/libgbm.so.1.* %files -n uke-mesa-libgbm-devel /usr/lib64/libgbm.so /usr/include/gbm.h /usr/include/gbm_backend_abi.h /usr/lib64/pkgconfig/gbm.pc %files -n uke-mesa-libTeflon /usr/lib64/libteflon.so %files -n uke-mesa-libOpenCL /usr/lib64/libRusticlOpenCL.so.* /etc/OpenCL/vendors/rusticl.icd %files -n uke-mesa-libOpenCL-devel /usr/lib64/libRusticlOpenCL.so %files -n uke-mesa-dri-drivers /usr/share/drirc.d/00-mesa-defaults.conf /usr/lib64/libgallium-*.so /usr/lib64/gbm/dri_gbm.so /usr/lib64/dri/kms_swrast_dri.so /usr/lib64/dri/libdril_dri.so /usr/lib64/dri/swrast_dri.so /usr/lib64/dri/virtio_gpu_dri.so /usr/share/drirc.d/00-virtio_gpu-defaults.conf /usr/lib64/dri/r300_dri.so /usr/share/drirc.d/00-r300-defaults.conf /usr/lib64/dri/r600_dri.so /usr/share/drirc.d/00-r600-defaults.conf /usr/lib64/dri/radeonsi_dri.so /usr/share/drirc.d/00-radeonsi-defaults.conf /usr/lib64/dri/apple_dri.so /usr/lib64/dri/asahi_dri.so /usr/share/drirc.d/00-asahi-defaults.conf /usr/lib64/dri/d3d12_dri.so /usr/share/drirc.d/00-d3d12-defaults.conf /usr/lib64/dri/ingenic-drm_dri.so /usr/lib64/dri/imx-drm_dri.so /usr/lib64/dri/imx-lcdif_dri.so /usr/lib64/dri/kirin_dri.so /usr/lib64/dri/komeda_dri.so /usr/lib64/dri/mali-dp_dri.so /usr/lib64/dri/mcde_dri.so /usr/lib64/dri/mxsfb-drm_dri.so /usr/lib64/dri/rcar-du_dri.so /usr/lib64/dri/stm_dri.so /usr/lib64/dri/vc4_dri.so /usr/lib64/dri/v3d_dri.so /usr/share/drirc.d/00-v3d-defaults.conf /usr/lib64/dri/kgsl_dri.so /usr/lib64/dri/msm_dri.so /usr/share/drirc.d/00-msm-defaults.conf /usr/lib64/dri/etnaviv_dri.so /usr/lib64/dri/tegra_dri.so /usr/lib64/dri/lima_dri.so /usr/lib64/dri/panfrost_dri.so /usr/lib64/dri/panthor_dri.so /usr/share/drirc.d/00-panfrost-defaults.conf /usr/lib64/dri/nouveau_dri.so /usr/lib64/dri/vmwgfx_dri.so /usr/share/drirc.d/00-vmwgfx-defaults.conf /usr/lib64/dri/armada-drm_dri.so /usr/lib64/dri/exynos_dri.so /usr/lib64/dri/gm12u320_dri.so /usr/lib64/dri/hdlcd_dri.so /usr/lib64/dri/hx8357d_dri.so /usr/lib64/dri/ili9163_dri.so /usr/lib64/dri/ili9225_dri.so /usr/lib64/dri/ili9341_dri.so /usr/lib64/dri/ili9486_dri.so /usr/lib64/dri/imx-dcss_dri.so /usr/lib64/dri/mediatek_dri.so /usr/lib64/dri/meson_dri.so /usr/lib64/dri/mi0283qt_dri.so /usr/lib64/dri/panel-mipi-dbi_dri.so /usr/lib64/dri/pl111_dri.so /usr/lib64/dri/repaper_dri.so /usr/lib64/dri/rockchip_dri.so /usr/lib64/dri/rzg2l-du_dri.so /usr/lib64/dri/ssd130x_dri.so /usr/lib64/dri/st7586_dri.so /usr/lib64/dri/st7735r_dri.so /usr/lib64/dri/sti_dri.so /usr/lib64/dri/sun4i-drm_dri.so /usr/lib64/dri/udl_dri.so /usr/lib64/dri/vkms_dri.so /usr/lib64/dri/zynqmp-dpsub_dri.so /usr/lib64/dri/zink_dri.so /usr/share/drirc.d/00-zink-defaults.conf /usr/lib64/dri/nouveau_drv_video.so /usr/lib64/dri/r600_drv_video.so /usr/lib64/dri/radeonsi_drv_video.so /usr/lib64/dri/d3d12_drv_video.so /usr/lib64/dri/virtio_gpu_drv_video.so %files -n uke-mesa-dxil-devel /usr/bin/spirv2dxil /usr/lib64/libspirv_to_dxil.a /usr/lib64/libspirv_to_dxil.so %files -n uke-mesa-vulkan-drivers %license work/mesa/mesa-26.2.6/LICENSE.dependencies /usr/lib64/libvulkan_lvp.so /usr/share/vulkan/icd.d/lvp_icd.*.json /usr/share/drirc.d/00-lavapipe-defaults.conf /usr/lib64/libVkLayer_MESA_device_select.so /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json /usr/lib64/libVkLayer_MESA_anti_lag.so /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_anti_lag.json /usr/lib64/libvulkan_virtio.so /usr/share/vulkan/icd.d/virtio_icd.*.json /usr/share/drirc.d/00-venus-defaults.conf /usr/lib64/libvulkan_radeon.so /usr/share/drirc.d/00-radv-defaults.conf /usr/share/vulkan/icd.d/radeon_icd.*.json /usr/lib64/libvulkan_nouveau.so /usr/share/vulkan/icd.d/nouveau_icd.*.json /usr/share/drirc.d/00-nvk-defaults.conf /usr/lib64/libvulkan_dzn.so /usr/share/vulkan/icd.d/dzn_icd.*.json /usr/share/drirc.d/00-dzn-defaults.conf /usr/lib64/libvulkan_asahi.so /usr/share/vulkan/icd.d/asahi_icd.*.json /usr/share/drirc.d/00-hk-defaults.conf /usr/lib64/libvulkan_broadcom.so /usr/share/vulkan/icd.d/broadcom_icd.*.json /usr/share/drirc.d/00-v3dv-defaults.conf /usr/lib64/libvulkan_freedreno.so /usr/share/vulkan/icd.d/freedreno_icd.*.json /usr/share/drirc.d/00-turnip-defaults.conf /usr/lib64/libvulkan_panfrost.so /usr/share/vulkan/icd.d/panfrost_icd.*.json /usr/share/drirc.d/00-panvk-defaults.conf /usr/lib64/libvulkan_powervr_mesa.so /usr/share/vulkan/icd.d/powervr_mesa_icd.*.json /usr/share/drirc.d/00-pvr-defaults.conf %changelog * Thu Oct 29 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 26.2.6-17.fc46 - Build this component independently from its reviewed source recipe.