%global debug_package %{nil} URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-adaptive-display-1.0.16.tar.xz ExclusiveArch: aarch64 BuildRequires: cmake gcc-c++ ninja-build extra-cmake-modules BuildRequires: qt6-qtbase-devel kf6-kcoreaddons-devel libksysguard-devel lm_sensors-devel BuildRequires: systemd-rpm-macros systemd-udev Name: uke-adaptive-display Version: 1.0.16 Release: 12.fc46 License: MIT Summary: Standard desktop sensor and display policy for Uke Requires: iio-sensor-proxy(ssc) >= 1 Requires: uke-ssc-fileservice >= 2026.09.21-8 Requires: coreutils grep sed systemd-udev Requires: powerdevil >= 6.8.0 Requires: kscreen >= 6.8.0 Requires: ddcutil >= 3.0.2 Requires: libddcutil >= 3.0.2 Requires: systemd >= 256 Requires: ksystemstats >= 6.8.0 Requires: libksysguard >= 6.8.0 Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %description -n uke-adaptive-display Qualcomm SSC support for the standard desktop SensorProxy interface. Original KDE and other compatible desktop clients control rotation and ambient brightness. This preview installs a manually enabled integration target and test instructions. It includes no firmware, calibration, desktop replacement or brightness daemon. Original PowerDevil defaults make short power-button presses toggle only the display. Original DDC tools and restricted platform DisplayPort seat access prepare external monitor brightness; physical adapter/monitor tests are separate. Standard systemd policy enables suspend using s2idle. Physical wake, resume and power use remain separate device acceptance gates. Administrator masks are preserved. %prep %setup -q ( mkdir -p "%{_builddir}/uke-adaptive-display-1.0.16/work/uke-adaptive-display" cd '%{_builddir}/uke-adaptive-display-1.0.16/work/uke-adaptive-display' rm -rf 'uke-adaptive-display-1.0.16' /usr/bin/rpmuncompress -x '%{_builddir}/uke-adaptive-display-1.0.16/inputs/uke-adaptive-display/uke-adaptive-display-1.0.16.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-adaptive-display-1.0.16' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) %build ( cd "%{_builddir}/uke-adaptive-display-1.0.16/work/uke-adaptive-display/uke-adaptive-display-1.0.16" 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/cmake \ -S "." \ -B "redhat-linux-build" \ -G Ninja \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_INSTALL_FULL_SBINDIR:PATH=/usr/bin \ -DCMAKE_INSTALL_SBINDIR:PATH=bin \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ -DLIB_SUFFIX=64 \ -DBUILD_SHARED_LIBS:BOOL=ON -S src/adreno-stats /usr/bin/cmake --build "redhat-linux-build" -j${RPM_BUILD_NCPUS} --verbose ) %install ( cd "%{_builddir}/uke-adaptive-display-1.0.16/work/uke-adaptive-display/uke-adaptive-display-1.0.16" DESTDIR="%{buildroot}" /usr/bin/cmake --install "redhat-linux-build" install -Dm644 packaging/adreno.page %{buildroot}/usr/share/plasma-systemmonitor/adreno.page install -Dm644 packaging/uke-adaptive-display.target %{buildroot}/usr/lib/systemd/system/uke-adaptive-display.target install -Dm644 packaging/80-uke-adaptive-display.preset %{buildroot}/usr/lib/systemd/system-preset/80-uke-adaptive-display.preset install -Dm644 packaging/71-uke-tablet-mode.rules %{buildroot}/usr/lib/udev/rules.d/71-uke-tablet-mode.rules install -Dm644 packaging/61-uke-display-ddc.rules %{buildroot}/usr/lib/udev/rules.d/61-uke-display-ddc.rules install -Dm644 packaging/60-block-scheduler.rules %{buildroot}/etc/udev/rules.d/60-block-scheduler.rules install -Dm644 packaging/powerdevilrc %{buildroot}/etc/xdg/powerdevilrc install -Dm644 packaging/kwinoutputconfig.json %{buildroot}/etc/xdg/kwinoutputconfig.json install -Dm755 src/uke-ddc-config %{buildroot}/usr/libexec/senemos-uke/uke-ddc-config install -Dm644 packaging/60-uke-display-ddc.conf %{buildroot}/usr/lib/systemd/user/plasma-powerdevil.service.d/60-uke-display-ddc.conf install -Dm644 packaging/30-uke-s2idle.conf %{buildroot}/usr/lib/systemd/sleep.conf.d/30-uke-s2idle.conf install -Dm644 packaging/uke-suspend.conf %{buildroot}/usr/lib/tmpfiles.d/uke-suspend.conf ) %check ( cd "%{_builddir}/uke-adaptive-display-1.0.16/work/uke-adaptive-display/uke-adaptive-display-1.0.16" /usr/bin/ctest --test-dir "redhat-linux-build" \ --output-on-failure \ --force-new-ctest-process \ -j${RPM_BUILD_NCPUS} \ udevadm verify packaging/71-uke-tablet-mode.rules udevadm verify packaging/61-uke-display-ddc.rules udevadm verify packaging/60-block-scheduler.rules sh tests/ddc-config.sh systemd-tmpfiles --dry-run --create packaging/uke-suspend.conf ) %post -n uke-adaptive-display if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Initial installation /usr/lib/systemd/systemd-update-helper install-system-units uke-adaptive-display.target || : fi command -v systemd-tmpfiles >/dev/null && systemd-tmpfiles --create /usr/lib/tmpfiles.d/uke-suspend.conf || : %preun -n uke-adaptive-display if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package removal, not upgrade /usr/lib/systemd/systemd-update-helper remove-system-units uke-adaptive-display.target || : fi %postun -n uke-adaptive-display %files -n uke-adaptive-display %license work/uke-adaptive-display/uke-adaptive-display-1.0.16/LICENSE %doc work/uke-adaptive-display/uke-adaptive-display-1.0.16/docs/ADAPTIVE-DISPLAY.md work/uke-adaptive-display/uke-adaptive-display-1.0.16/docs/DISPLAY-CONTROLS.md work/uke-adaptive-display/uke-adaptive-display-1.0.16/docs/SUSPEND.md work/uke-adaptive-display/uke-adaptive-display-1.0.16/docs/SERVICE-POLICY.md work/uke-adaptive-display/uke-adaptive-display-1.0.16/docs/GPU-MONITORING.md /usr/lib64/qt6/plugins/ksystemstats/libuke_adreno.so /usr/share/plasma-systemmonitor/adreno.page %config(noreplace) /etc/xdg/powerdevilrc %config(noreplace) /etc/xdg/kwinoutputconfig.json %config(noreplace) /etc/udev/rules.d/60-block-scheduler.rules /usr/lib/systemd/system/uke-adaptive-display.target /usr/lib/systemd/system-preset/80-uke-adaptive-display.preset /usr/lib/udev/rules.d/71-uke-tablet-mode.rules /usr/lib/udev/rules.d/61-uke-display-ddc.rules /usr/libexec/senemos-uke/uke-ddc-config /usr/lib/systemd/user/plasma-powerdevil.service.d/60-uke-display-ddc.conf /usr/lib/systemd/sleep.conf.d/30-uke-s2idle.conf /usr/lib/tmpfiles.d/uke-suspend.conf %changelog * Thu Oct 29 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.16-12.fc46 - Build this component independently from its reviewed source recipe.