%global pkg_url https://github.com/SeaDve/Kooha # Enable tests by default %bcond_without check Name: kooha Version: 2.3.0 Release: 1%{?dist} Summary: Elegantly record your screen License: GPL-3.0-only URL: %{pkg_url} Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz # Runtime Dependencies (Fedora equivalents of Arch 'depends') Requires: glib2 Requires: gstreamer1-plugin-pipewire Requires: gstreamer1-plugins-base Requires: gstreamer1-plugins-good Requires: gstreamer1-plugins-ugly # gstreamer1-vaapi provides hardware acceleration if available Requires: gstreamer1-vaapi Requires: gtk4 Requires: libadwaita >= 1.5.0 Requires: pulseaudio-libs Requires: x264-libs Requires: xdg-desktop-portal Requires: hicolor-icon-theme # Build Dependencies (Fedora equivalents of Arch 'makedepends' + build tools) BuildRequires: meson >= 0.58.0 BuildRequires: cargo BuildRequires: rust >= 1.70 BuildRequires: gcc BuildRequires: pkgconfig BuildRequires: desktop-file-utils BuildRequires: libappstream-glib # For appstream-util # Development headers/pkgconfig files BuildRequires: glib2-devel BuildRequires: gtk4-devel BuildRequires: libadwaita-devel >= 1.5.0 BuildRequires: pango-devel BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) # No specific devel for vaapi needed, core gstreamer handles discovery BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(x264) BuildRequires: pkgconfig(xdg-portal) %if %{with check} # Check Dependencies (Fedora equivalents of Arch 'checkdepends') BuildRequires: appstream-glib BuildRequires: xorg-x11-server-Xvfb %endif %description Kooha is a simple screen recorder built with GTK. It allows you to record your screen or a portion of it, with or without audio, and save the output in common formats like WebM or MP4. %prep # The tarball extracts into Kooha-, not %{name}-%{version} %autosetup -n Kooha-%{version} -p1 %build %meson %meson_build %install %meson_install # Validate desktop file desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop # Validate appstream file appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml # Ensure we find translation files if any are added later %find_lang %{name} %check %if %{with check} # Run tests in a virtual framebuffer # See Arch comment / upstream issue: https://github.com/SeaDve/Kooha/issues/197 # Tests might be flaky or require specific setup (e.g., working PipeWire/Portal) xvfb-run %meson_test %else echo "Check phase skipped via %%bcond_without check" %endif %files -f %{name}.lang %license LICENSE # Add common docs if they exist in the tarball (adjust filenames if needed) %doc README.md CHANGELOG.md %{_bindir}/%{name} %{_datadir}/%{name}/ %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/%{name}.* %{_datadir}/metainfo/%{name}.appdata.xml # Add man page if it exists (check meson output/install list) # %{_mandir}/man1/%{name}.1.gz %changelog * Tue Jul 23 2024 Your Name - 2.3.0-1 - Initial Fedora package based on Arch PKGBUILD 2.3.0-6