%global debug_package %{nil} URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-mesa-libclc22-spirv-0.2.0.tar.xz ExclusiveArch: aarch64 BuildRequires: clang >= 22.1 BuildRequires: cmake >= 3.20 BuildRequires: gcc BuildRequires: llvm-devel >= 22.1 BuildRequires: ninja-build BuildRequires: spirv-llvm-translator-tools BuildRequires: spirv-tools Name: uke-mesa-libclc22-spirv Version: 0.2.0 Release: 7.fc46 License: Apache-2.0 WITH LLVM-exception Summary: Mesa-maintained OpenCL built-ins for the Uke libclc22 runtime Packager: Uke Linux Maintainers <75160848+MCC45TR@users.noreply.github.com> Provides: libclc22-spirv = 22.1.8-4.fc46 Provides: libclc22-spirv(aarch-64) = 22.1.8-4.fc46 Obsoletes: libclc22-spirv <= 22.1.8-4.fc46 Conflicts: libclc22-spirv %description -n uke-mesa-libclc22-spirv Pinned Mesa-maintained 32-bit and 64-bit SPIR-V built-in libraries for Rusticl. This package replaces only the matching Fedora SPIR-V subset. The installed libclc22 package and its other target libraries remain intact. Compatibility with another Fedora libclc22 revision requires separate review. %prep %setup -q ( mkdir -p "%{_builddir}/uke-mesa-libclc22-spirv-0.2.0/work/uke-mesa-libclc22-spirv" cd '%{_builddir}/uke-mesa-libclc22-spirv-0.2.0/work/uke-mesa-libclc22-spirv' rm -rf 'mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75' /usr/bin/rpmuncompress -x '%{_builddir}/uke-mesa-libclc22-spirv-0.2.0/inputs/uke-mesa-libclc22-spirv/mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) %build ( cd "%{_builddir}/uke-mesa-libclc22-spirv-0.2.0/work/uke-mesa-libclc22-spirv/mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75" # The payload is portable SPIR-V; CPU flags do not apply to these device libraries. cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS= \ -DLLVM_DIR="$(llvm-config --cmakedir)" \ '-DLIBCLC_TARGETS_TO_BUILD=spirv-mesa3d-;spirv64-mesa3d-' cmake --build build --parallel 4 ) %install ( cd "%{_builddir}/uke-mesa-libclc22-spirv-0.2.0/work/uke-mesa-libclc22-spirv/mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75" install -d -m 0755 %{buildroot}/usr/lib64/clc22 install -m 0644 build/spirv-mesa3d-.spv build/spirv64-mesa3d-.spv \ %{buildroot}/usr/lib64/clc22/ ) %check ( cd "%{_builddir}/uke-mesa-libclc22-spirv-0.2.0/work/uke-mesa-libclc22-spirv/mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75" for library in build/spirv-mesa3d-.spv build/spirv64-mesa3d-.spv; do spirv-val --target-env opencl2.2 "$library" spirv-dis "$library" -o "$library.spvasm" grep -q '__clc_mesa_libclc_version' "$library.spvasm" done ) %files -n uke-mesa-libclc22-spirv %license work/uke-mesa-libclc22-spirv/mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75/LICENSE.TXT %doc work/uke-mesa-libclc22-spirv/mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75/README.md work/uke-mesa-libclc22-spirv/mesa-libclc-87f66007242ff10e9e84bf32be84f9057f6abc75-87f66007242ff10e9e84bf32be84f9057f6abc75/CREDITS.TXT %dir /usr/lib64/clc22 /usr/lib64/clc22/spirv-mesa3d-.spv /usr/lib64/clc22/spirv64-mesa3d-.spv %changelog * Thu Oct 29 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 0.2.0-7.fc46 - Build this component independently from its reviewed source recipe.