%global debug_package %{nil} Name: nabu-kde-integration Version: 1.4.0.1 Release: 11.test%{?dist} Summary: KDE Plasma integration for Xiaomi Pad 5 (nabu) License: MIT URL: https://github.com/mcc45tr Source0: nabu-kde-integration-%{version}.tar.gz BuildArch: noarch BuildRequires: python3 BuildRequires: lcms2 BuildRequires: systemd-rpm-macros BuildRequires: desktop-file-utils Requires: nabu-system-integration >= 2.0.0 Requires: nabu-kde-config = %{version}-%{release} Requires: nabu-kde-widgets >= 1.0.1 Requires: nabu-kde-l10n >= 1.0.0-1.test Requires: plasma-workspace Requires: kwin >= 6.7.4 Requires: sddm Requires: plasma-welcome Requires: plasma-setup Requires: plasma-discover Requires: PackageKit Requires: kinfocenter Requires: kde-connect Requires: ark Requires: gwenview Requires: okular Requires: system-config-printer Requires: kwalletmanager5 Requires: plasma-milou Requires: plasma-keyboard Requires: libcanberra-backend-pulse Requires: mesa-vulkan-drivers Requires: vulkan-tools Requires: fastfetch %description Single-install metapackage for the supported KDE Plasma experience on Xiaomi Pad 5. Device-level policy now comes from nabu-system-integration so this source contains KDE-only configuration and dependencies. %package -n nabu-kde-config Summary: SENEMOS KDE profile for Xiaomi Mi Pad 5 (nabu) Requires: nabu-system-integration >= 2.0.0 Requires: nabu-kde-color-profiles = %{version}-%{release} Requires: bash Requires: kscreen Requires: kwin Requires: pipewire-utils Requires: wireplumber Requires: python3 %description -n nabu-kde-config KDE-specific Nabu policy using Fedora's stock KWin, standard sensor interfaces and a stable screen-relative PipeWire sink. %package -n nabu-kde-color-profiles Summary: Packaged Android-derived ICC profiles for Nabu KDE License: MIT AND LicenseRef-Proprietary Requires: python3 Requires: lcms2 Requires: color-filesystem Requires: kscreen Requires: kdialog %description -n nabu-kde-color-profiles Installs panel-specific sRGB and Display P3 ICC v4 profiles under the standard system color-profile hierarchy. A separate Nabu settings launcher applies the selection through stock kscreen-doctor; Fedora's KDE packages are not replaced or patched. The proprietary source XML is not redistributed. %prep %autosetup -n nabu-kde-integration-%{version} chmod +x kde/senemos-nabu-color-profile tests/mock-kscreen-doctor %build %install install -Dm0755 kde/nabu-audio-orientation \ %{buildroot}%{_libexecdir}/senemos-nabu/nabu-audio-orientation install -Dm0755 kde/senemos-nabu-display-profile \ %{buildroot}%{_bindir}/senemos-nabu-display-profile install -Dm0755 kde/senemos-nabu-color-profile \ %{buildroot}%{_bindir}/senemos-nabu-color-profile install -Dm0755 kde/senemos-nabu-color-settings \ %{buildroot}%{_bindir}/senemos-nabu-color-settings install -Dm0644 kde/org.senemos.nabu.colorprofiles.desktop \ %{buildroot}%{_datadir}/applications/org.senemos.nabu.colorprofiles.desktop install -Dm0644 man/senemos-nabu-color-profile.1 \ %{buildroot}%{_mandir}/man1/senemos-nabu-color-profile.1 install -d %{buildroot}%{_datadir}/color/icc/senemos/nabu install -m0644 kde/color/icc/senemos/nabu/*.icc \ %{buildroot}%{_datadir}/color/icc/senemos/nabu/ install -Dm0644 kde/nabu-audio-orientation.service \ %{buildroot}%{_userunitdir}/nabu-audio-orientation.service install -Dm0644 kde/90-nabu-kde.preset \ %{buildroot}%{_userpresetdir}/90-nabu-kde.preset install -Dm0644 kde/90-senemos-nabu-startupsound.conf \ %{buildroot}%{_userunitdir}/plasma-startupsound.service.d/90-senemos-nabu.conf install -Dm0644 kde/kwinoutputconfig.json \ %{buildroot}%{_sysconfdir}/xdg/kwinoutputconfig.json install -Dm0644 kde/powerdevilrc \ %{buildroot}%{_sysconfdir}/xdg/powerdevilrc %check python3 -m py_compile \ kde/nabu-audio-orientation \ kde/senemos-nabu-display-profile \ kde/senemos-nabu-color-profile python3 kde/senemos-nabu-color-profile catalog python3 -m unittest -v tests/test_color_profile.py bash -n kde/senemos-nabu-color-settings test "$(bash kde/senemos-nabu-color-settings --list | wc -l)" -eq 4 desktop-file-validate kde/org.senemos.nabu.colorprofiles.desktop for selection in 36-02-0b-srgb 36-02-0b-display-p3 42-02-0a-srgb 42-02-0a-display-p3; do KSCREEN_DOCTOR="$PWD/tests/mock-kscreen-doctor" \ SENEMOS_NABU_PROFILE_TOOL="$PWD/kde/senemos-nabu-color-profile" \ SENEMOS_NABU_PROFILE_DIR="$PWD/kde/color/icc/senemos/nabu" \ bash kde/senemos-nabu-color-settings --apply "$selection" --dry-run \ | grep -Fq 'color-profile-source=ICC' done if find . -type f -name 'qdcm_calib_data_*.xml' -print -quit | grep -q .; then echo 'Proprietary QDCM XML must not be included in the source archive' >&2 exit 1 fi %post -n nabu-kde-config %systemd_user_post nabu-audio-orientation.service %preun -n nabu-kde-config %systemd_user_preun nabu-audio-orientation.service %postun -n nabu-kde-config %systemd_user_postun_with_restart nabu-audio-orientation.service %files %license LICENSE %doc README.md %files -n nabu-kde-config %license LICENSE %doc README.md %dir %{_libexecdir}/senemos-nabu %{_libexecdir}/senemos-nabu/nabu-audio-orientation %{_bindir}/senemos-nabu-display-profile %{_userunitdir}/nabu-audio-orientation.service %{_userpresetdir}/90-nabu-kde.preset %dir %{_userunitdir}/plasma-startupsound.service.d %{_userunitdir}/plasma-startupsound.service.d/90-senemos-nabu.conf %config(noreplace) %{_sysconfdir}/xdg/kwinoutputconfig.json %config(noreplace) %{_sysconfdir}/xdg/powerdevilrc %files -n nabu-kde-color-profiles %license LICENSE %doc README.md COLOR-PROFILE-PROVENANCE.md %{_bindir}/senemos-nabu-color-profile %{_bindir}/senemos-nabu-color-settings %{_mandir}/man1/senemos-nabu-color-profile.1* %{_datadir}/applications/org.senemos.nabu.colorprofiles.desktop %dir %{_datadir}/color/icc/senemos %dir %{_datadir}/color/icc/senemos/nabu %{_datadir}/color/icc/senemos/nabu/*.icc %changelog * Tue Aug 25 2026 SENEMOS Project - 1.4.0.1-11.test - Add an independent Nabu profile selector using stock kscreen-doctor. - Do not patch, replace or rebuild any Fedora KDE application package. - Expose all four packaged profiles from the KDE Settings application menu. * Tue Aug 25 2026 SENEMOS Project - 1.4.0.1-10.test - Install four panel-specific Android-derived ICC profiles system-wide. - Make the profile payload usable by the direct KScreen selector integration. - Remove the hard KScreen/KWin dependency cycle from the profile subpackage. * Tue Aug 25 2026 SENEMOS Project - 1.4.0.1-9.test - Add LittleCMS to the minimal buildroot for the synthetic ICC test. * Tue Aug 25 2026 SENEMOS Project - 1.4.0.1-8.test - Add a license-safe local QDCM-to-ICC v4 conversion workflow. - Support separate 36-02-0b and 42-02-0a sRGB and Display P3 profiles. - Add strict ICC/KWin validation, KScreen application and synthetic tests. - Keep native, dynamic, video and HDR modes out of the SDR ICC path. * Sun Aug 23 2026 SENEMOS Project - 1.4.0.1-7.test - Move desktop-independent runtime payload into nabu-system-integration. - Keep this source package KDE-specific.