%define _debugsource_template %{nil} %define debug_package %{nil} %global app_id ai.storyteller.filmcraft Name: filmcraft Version: 0.15.0 Release: 1%{?dist} Summary: Non-linear video editor with its own codecs and GPU compositor License: MIT OR Apache-2.0 URL: https://github.com/storytold/filmcraft Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: cargo BuildRequires: rust >= 1.95 BuildRequires: gcc BuildRequires: alsa-lib-devel BuildRequires: pkgconfig BuildRequires: desktop-file-utils BuildRequires: appstream Requires: hicolor-icon-theme # The windowing and GPU libraries are loaded at runtime, so rpm does not # pick them up from the ELF headers. Requires: alsa-lib Requires: libxkbcommon Requires: libxkbcommon-x11 Requires: (vulkan-loader or libglvnd-egl) Recommends: libwayland-client Recommends: libX11 Recommends: libXcursor Recommends: libXi Recommends: libXrandr Recommends: mesa-vulkan-drivers Recommends: xdg-desktop-portal %description FilmCraft is a video editor written in Rust, for editing video, color and sound. It decodes and encodes H.264, HEVC, ProRes and AAC with codecs written in Rust, and composites on the GPU. The filmcraft-cli binary runs editor commands without a window. %prep %autosetup -n %{name}-%{version} %build export CARGO_HOME=$PWD/.cargo-home export RUSTFLAGS="%{?build_rustflags}" export FILMCRAFT_BUILD_DATE=$(date -u -d "@${SOURCE_DATE_EPOCH:-$(date +%%s)}" +%%F) cargo build --release --locked -p filmcraft -p filmcraft-cli %install install -Dpm 0755 target/release/filmcraft %{buildroot}%{_bindir}/filmcraft install -Dpm 0755 target/release/filmcraft-cli %{buildroot}%{_bindir}/filmcraft-cli install -Dpm 0644 packaging/linux/%{app_id}.desktop \ %{buildroot}%{_datadir}/applications/%{app_id}.desktop install -Dpm 0644 packaging/linux/%{app_id}.mime.xml \ %{buildroot}%{_datadir}/mime/packages/%{app_id}.xml install -d %{buildroot}%{_metainfodir} sed -e 's/@VERSION@/%{version}/g' \ -e "s/@DATE@/$(date -u -d "@${SOURCE_DATE_EPOCH:-$(date +%%s)}" +%%F)/g" \ packaging/linux/%{app_id}.metainfo.xml.in \ > %{buildroot}%{_metainfodir}/%{app_id}.metainfo.xml install -d %{buildroot}%{_datadir}/icons cp -a assets/app-icon/hicolor %{buildroot}%{_datadir}/icons/ %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{app_id}.desktop appstreamcli validate --no-net %{buildroot}%{_metainfodir}/%{app_id}.metainfo.xml %files %license LICENSE-APACHE LICENSE-MIT %doc README.md %{_bindir}/filmcraft %{_bindir}/filmcraft-cli %{_datadir}/applications/%{app_id}.desktop %{_datadir}/mime/packages/%{app_id}.xml %{_metainfodir}/%{app_id}.metainfo.xml %{_datadir}/icons/hicolor/*/apps/%{app_id}.* %changelog * Sat Oct 31 2026 sachesi - 0.15.0-1 - Update to 0.15.0. * Wed Oct 28 2026 sachesi - 0.14.0-1 - Update to 0.14.0. * Mon Oct 26 2026 sachesi - 0.13.0-1 - Update to 0.13.0. * Sat Oct 24 2026 sachesi - 0.12.0-1 - Update to 0.12.0. * Wed Oct 21 2026 sachesi - 0.10.0-1 - Update to 0.10.0. * Sun Oct 18 2026 sachesi - 0.9.0-1 - Update to 0.9.0. * Wed Oct 14 2026 sachesi - 0.8.0-1 - Update to 0.8.0. * Tue Oct 13 2026 sachesi - 0.7.2-2 - Require libxkbcommon-x11, which the windowing code loads at run time. * Tue Oct 13 2026 sachesi - 0.7.2-1 - Update to 0.7.2. * Sun Oct 11 2026 sachesi - 0.6.0-1 - Update to 0.6.0. * Sat Oct 10 2026 sachesi - 0.5.0-1 - Update to 0.5.0. * Thu Oct 08 2026 sachesi - 0.4.0-1 - Update to 0.4.0. * Thu Oct 08 2026 sachesi - 0.2.1-1 - Update to 0.2.1. * Sat Oct 03 2026 sachesi - 0.1.1-1 - Initial package for Copr.