# This package does not have anything to compile and have debug symbols %global debug_package %{nil} Name: asahi-platform-metapackage Version: 0 Release: 15%{?dist} Summary: Metapackage declaring Asahi platform dependencies Group: Metapackages License: MIT URL: https://pagure.io/fedora-asahi/asahi-platform-metapackage ExclusiveArch: aarch64 BuildRequires: systemd-rpm-macros Requires: %{name}-core = %{version}-%{release} Requires: (%{name}-audio = %{version}-%{release} if pipewire) Requires: (%{name}-plasma = %{version}-%{release} if plasma-desktop) Requires: (%{name}-firefox = %{version}-%{release} if firefox) Recommends: (%{name}-flatpak = %{version}-%{release} if flatpak) %dnl If/when we have desktop subpackages or whatever, we can make them %dnl conditional dependencies with the following format: %dnl Requires: (%{name}-desktop- = %{version}-%{release} if ) Requires: (%{name}-desktop = %{version}-%{release} if fedora-release-kde) Requires: (%{name}-desktop = %{version}-%{release} if fedora-release-workstation) %description This is a simple RPM package that defines the Asahi platform software dependencies. %files %{_sysconfdir}/dnf/protected.d/%{name}.conf %dnl ------------------------------------------------------------------- %package core Summary: Metapackage declaring core Asahi platform dependencies Requires: alsa-ucm-asahi Requires: asahi-fwextract Requires: dracut-asahi >= 20240411-1 Requires: kernel-16k Requires: kernel-16k-modules-extra Requires: update-m1n1 Requires: tiny-dfr Requires: (widevine-installer if (chromium or firefox)) %dnl Block the 4k kernel Conflicts: kernel-core Conflicts: kernel-devel Conflicts: kernel-debug-core Conflicts: kernel-debug-devel %dnl Block the 64k kernel Conflicts: kernel-64k-core Conflicts: kernel-64k-devel Conflicts: kernel-64k-debug-core Conflicts: kernel-64k-debug-devel %description core This package declares the core dependencies for the Asahi platform. %files core %dnl No files to ship %dnl ------------------------------------------------------------------- %package audio Summary: Metapackage declaring audio support Asahi platform dependencies Requires: asahi-audio >= 0.5-1 Requires: speakersafetyd >= 0.1.4-1 Conflicts: pulseaudio %description audio This package declares the audio dependencies for the Asahi platform. %files audio %dnl No files to ship %dnl ------------------------------------------------------------------- %package plasma Summary: Metapackage declaring Plasma desktop support Asahi platform dependencies %dnl No deps at this time, just a temporary KWin workaround %description plasma This package declares the KDE Plasma dependencies for the Asahi platform. %files plasma %{_sysconfdir}/xdg/kcminputrc %{_environmentdir}/50-asahi-plasma.conf %dnl ------------------------------------------------------------------- %package firefox Summary: Metapackage declaring Firefox support Asahi platform dependencies %dnl No deps at this time, just a UA hack because YouTube is stupid %description firefox This package declares the Firefox dependencies for the Asahi platform. %files firefox %{_libdir}/firefox/defaults/pref/asahi.js %dnl ------------------------------------------------------------------- %package flatpak Summary: Metapackage declaring Flatpak support Asahi platform dependencies # obsolete mesa-asahi-22.08-flatpak at the end of 2024. The SDK became EOL # at the end of August 2024. #Obsoletes: mesa-asahi-22.08-flatpak < 25.0 Requires: mesa-asahi-23.08-flatpak Requires: mesa-asahi-24.08-flatpak %description flatpak This package declares the Flatpak dependencies for the Asahi platform. This are primarily GPU driver extensions for supported runtimes. %files flatpak %dnl No files to ship %dnl ------------------------------------------------------------------- %package desktop Summary: Metapackage declaring package recommendations for Asahi desktop systems Recommends: asahi-battery Recommends: mesa-libOpenCL %description desktop This package declares recommeded packages for Desktop Environment Asahi platform installations. This contains the OpenCL runtime and persistant battery charge control support using systemd. %files desktop %dnl No files to ship %dnl ------------------------------------------------------------------- %prep %dnl Nothing to do %build %dnl Nothing to do %install # Install DNF protected package snippet to prevent it from being accidentally uninstalled mkdir -p %{buildroot}%{_sysconfdir}/dnf/protected.d echo "%{name}" > %{buildroot}%{_sysconfdir}/dnf/protected.d/%{name}.conf # Workaround for KWin bug: # https://bugs.kde.org/show_bug.cgi?id=477451 mkdir -p %{buildroot}%{_environmentdir} echo 'KWIN_FORCE_SW_CURSOR=1' > %{buildroot}%{_environmentdir}/50-asahi-plasma.conf # Disable Tap-to-Click by default since it's the less confusing default (force click is always enabled) mkdir -p %{buildroot}%{_sysconfdir}/xdg cat > %{buildroot}%{_sysconfdir}/xdg/kcminputrc < %{buildroot}%{_libdir}/firefox/defaults/pref/asahi.js %changelog * Mon Dec 02 2024 Janne Grunau - 0-15 - Add desktop sub-package for OpenCL/battery charge control * Wed Sep 25 2024 Janne Grunau - 0-14 - Pull mesa-asahi-24.08-flatpak in * Fri Aug 23 2024 Hector Martin - 0-13 - Add kcminputrc snippet to disable Tap-to-Click by default * Tue Jul 16 2024 Janne Grunau - 0-12 - Add flatpak subpackage with GPU/GL extensions for FDO runtimes * Thu May 30 2024 Davide Cavalca - Require the latest dracut-asahi * Sat Apr 20 2024 Davide Cavalca - Rebuild for Fedora Linux 40 * Sun Dec 17 2023 Hector Martin - Make widevine-installer Requires instead of Recommends * Tue Dec 12 2023 Hector Martin - Add firefox subpackage with UA hack to work around evil websites * Mon Dec 11 2023 Davide Cavalca - Pull in widevine-installer if we have a supported browser * Mon Nov 27 2023 Hector Martin - Add plasma subpackage with KWin bug workaround * Thu Nov 09 2023 Hector Martin - Add audio subpackage * Tue Nov 07 2023 Neal Gompa - Add protected packages configuration for DNF for this package * Fri Nov 03 2023 Neal Gompa - Block 4k and 64k kernel-debug variants * Wed Oct 04 2023 Neal Gompa - Block 4k and 64k kernel-devel variants * Sat Sep 23 2023 Neal Gompa - Initial package