%global debug_package %{nil} URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-vaapi-v4l2-1.0.0.tar.xz ExclusiveArch: aarch64 BuildRequires: gcc-c++ BuildRequires: meson >= 0.61 BuildRequires: ninja-build BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(glesv2) >= 3.2 BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libva) >= 1.10 Name: uke-vaapi-v4l2 Version: 1.0.0 Release: 4.fc46 License: MIT Summary: Experimental stateful Iris VA-API backend %description -n uke-vaapi-v4l2 Experimental VA-API backend for the Qualcomm Iris stateful V4L2 API. Profiles and entrypoints are intersected with kernel format and profile-menu queries. Requires a separately qualified Iris platform and firmware. Installation does not establish working Uke codecs. FastCV VPP is disabled. The MSM alias selects the same backend for default libva discovery on MSM DRM devices; native codec and application acceptance remain separate requirements. %prep %setup -q ( mkdir -p "%{_builddir}/uke-vaapi-v4l2-1.0.0/work/uke-vaapi-v4l2" echo 'e8756bf642eb3fc458209b8dd2380571dcb52ec4b2201e9d09db208b7e995d52 %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/libva-v4l2-6d03c3f8fb19b86f84b2b6c60ff20d1402f0ac41.tar.gz' | sha256sum --check --status cd '%{_builddir}/uke-vaapi-v4l2-1.0.0/work/uke-vaapi-v4l2' rm -rf 'radxa-pkg-libva-v4l2-6d03c3f' /usr/bin/rpmuncompress -x '%{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/libva-v4l2-6d03c3f8fb19b86f84b2b6c60ff20d1402f0ac41.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'radxa-pkg-libva-v4l2-6d03c3f' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . echo "Patch #0 (0001-runtime-capability-intersection.patch):" /usr/bin/patch --no-backup-if-mismatch -f -p1 --fuzz=0 < %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/0001-runtime-capability-intersection.patch echo "Patch #1 (0002-main10-p010-encode.patch):" /usr/bin/patch --no-backup-if-mismatch -f -p1 --fuzz=0 < %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/0002-main10-p010-encode.patch echo "Patch #2 (0003-runtime-encode-rate-limits.patch):" /usr/bin/patch --no-backup-if-mismatch -f -p1 --fuzz=0 < %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/0003-runtime-encode-rate-limits.patch echo "Patch #3 (0004-runtime-frame-dimensions.patch):" /usr/bin/patch --no-backup-if-mismatch -f -p1 --fuzz=0 < %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/0004-runtime-frame-dimensions.patch echo "Patch #4 (0005-preserve-decode-error-status.patch):" /usr/bin/patch --no-backup-if-mismatch -f -p1 --fuzz=0 < %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/0005-preserve-decode-error-status.patch ) %build ( cd "%{_builddir}/uke-vaapi-v4l2-1.0.0/work/uke-vaapi-v4l2/radxa-pkg-libva-v4l2-6d03c3f" CFLAGS="${CFLAGS:--O2 -flto=auto -ffat-lto-objects -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 -flto=auto -ffat-lto-objects -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 -flto=auto -ffat-lto-objects -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 -flto=auto -ffat-lto-objects -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 -Dgpu_copy=enabled -Dfastcv=disabled /usr/bin/meson compile -C redhat-linux-build -j${RPM_BUILD_NCPUS} --verbose ) %install ( cd "%{_builddir}/uke-vaapi-v4l2-1.0.0/work/uke-vaapi-v4l2/radxa-pkg-libva-v4l2-6d03c3f" DESTDIR=%{buildroot} /usr/bin/meson install -C redhat-linux-build --no-rebuild rm -r %{buildroot}/usr/share/doc/libva-v4l2 rm -r %{buildroot}/usr/share/licenses/libva-v4l2 install -m 0644 %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/README.md UKE-README.md ) %check ( cd "%{_builddir}/uke-vaapi-v4l2-1.0.0/work/uke-vaapi-v4l2/radxa-pkg-libva-v4l2-6d03c3f" g++ -std=c++17 -O2 -Wall -Wextra -Werror $(pkg-config --cflags libva) \ -Isrc src/runtime-caps.cpp %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/runtime-caps.cpp \ -Wl,--wrap=open,--wrap=ioctl,--wrap=close -o runtime-caps-test ./runtime-caps-test bash %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/main10-contract.sh "$PWD" bash %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/rate-negotiation.sh "$PWD" bash %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/dimension-contract.sh "$PWD" bash %{_builddir}/uke-vaapi-v4l2-1.0.0/inputs/uke-vaapi-v4l2/decode-error-contract.sh "$PWD" ) %files -n uke-vaapi-v4l2 %license work/uke-vaapi-v4l2/radxa-pkg-libva-v4l2-6d03c3f/LICENSE %doc work/uke-vaapi-v4l2/radxa-pkg-libva-v4l2-6d03c3f/UKE-README.md /usr/lib64/dri/v4l2_drv_video.so /usr/lib64/dri/msm_drv_video.so %changelog * Thu Oct 29 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-4.fc46 - Build this component independently from its reviewed source recipe.