%global appid io.github.raydurlok.ResolveAacTools %global srcname resolve-aac-tools %global sharedir %{_datadir}/%{srcname} Name: davinci-resolve-toolkit Version: 0.3.3 Release: 1%{?dist} Summary: Fix AAC audio and streamline DaVinci Resolve on Linux from the system tray # Toolkit scripts; derived native export adapter; retained upstream MIT notice. License: GPL-3.0-or-later AND GPL-3.0-only AND MIT AND ISC URL: https://github.com/RayDurlok/DaVinci-Resolve-AAC-Scripts-for-Linux Source0: %{srcname}-%{version}.tar.gz Source1: %{appid}.metainfo.xml Source2: %{appid}.desktop Source3: resolve-aac-import.desktop Source4: resolve-aac-start.desktop Source5: resolve-update-from-downloads.desktop Source6: resolve-aac-settings.desktop Source7: resolve-aac-tools-icon-512.png BuildArch: noarch # Only used for validation in %%check and by Copr/mock; plain rpmbuild tolerates # their absence because the checks are guarded. BuildRequires: desktop-file-utils BuildRequires: libappstream-glib Requires: python3 # Require the binaries by path so either Fedora's ffmpeg-free or RPM Fusion's # ffmpeg satisfies it (the name "ffmpeg" is only provided by RPM Fusion). Requires: /usr/bin/ffmpeg Requires: /usr/bin/ffprobe Requires: python3-gobject Requires: kdialog Requires: python3-pyside6 Requires: python3-xlib Requires: /usr/bin/xprop # The source-only dialog bridge is built against each user's Resolve Qt libraries. Requires: /usr/bin/c++ Requires: /usr/bin/pkg-config Requires: qt5-qtbase-devel Recommends: rsms-inter-fonts %description DaVinci Resolve Toolkit offers opt-in native AAC import and experimental direct AAC-LC export for Resolve Studio 21, with verified downloads and backup restore. Legacy MediaPool conversion and export remux remain available for compatibility. The package includes export source code, not patched Resolve or codec binaries. This package installs the tools system-wide. Per-user preferences are managed from the tray and the settings window. Resolve menu scripts are optional and can be installed from Settings. %prep %autosetup -n %{srcname}-%{version} %install # --- runtime scripts -> /usr/share/resolve-aac-tools --- install -d %{buildroot}%{sharedir} install -p -m0755 *.py *.sh %{buildroot}%{sharedir}/ cp -a native-aac native-dialogs docs %{buildroot}%{sharedir}/ # --- CLI wrappers -> /usr/bin (mirror install_user_tools.sh, pointed at %{sharedir}) --- install -d %{buildroot}%{_bindir} cat > %{buildroot}%{_bindir}/resolve-aac-import < %{buildroot}%{_bindir}/resolve-aac-watch < %{buildroot}%{_bindir}/resolve-aac-current-clip < %{buildroot}%{_bindir}/resolve-aac-timeline-watch < %{buildroot}%{_bindir}/resolve-aac-timeline-watch-stop < %{buildroot}%{_bindir}/resolve-aac-mediapool-watch < %{buildroot}%{_bindir}/resolve-aac-mediapool-watch-stop < %{buildroot}%{_bindir}/resolve-aac-export-watch < %{buildroot}%{_bindir}/resolve-with-aac-mediapool-watch < %{buildroot}%{_bindir}/resolve-with-fonts < %{buildroot}%{_bindir}/resolve-update-from-downloads < %{buildroot}%{_bindir}/resolve-aac-tray <>"\$LOG" 2>&1 %{buildroot}%{_bindir}/resolve-aac-settings < %{buildroot}%{_bindir}/resolve-aac-start <>"\$LOG" 2>&1 /usr/share/applications --- install -d %{buildroot}%{_datadir}/applications install -p -m0644 %{SOURCE2} %{buildroot}%{_datadir}/applications/%{appid}.desktop install -p -m0644 %{SOURCE3} %{buildroot}%{_datadir}/applications/resolve-aac-import.desktop install -p -m0644 %{SOURCE4} %{buildroot}%{_datadir}/applications/resolve-aac-start.desktop install -p -m0644 %{SOURCE5} %{buildroot}%{_datadir}/applications/resolve-update-from-downloads.desktop install -p -m0644 %{SOURCE6} %{buildroot}%{_datadir}/applications/resolve-aac-settings.desktop # --- Discover/GNOME Software metadata -> /usr/share/metainfo --- install -d %{buildroot}%{_metainfodir} install -p -m0644 %{SOURCE1} %{buildroot}%{_metainfodir}/%{appid}.metainfo.xml # --- app icon -> hicolor icon theme (Discover tile, menus, tray) --- install -d %{buildroot}%{_datadir}/icons/hicolor/512x512/apps install -p -m0644 %{SOURCE7} %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/%{appid}.png %check # Guarded so a bare local rpmbuild without these tools still succeeds. command -v desktop-file-validate >/dev/null 2>&1 && \ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop || : command -v appstreamcli >/dev/null 2>&1 && \ appstreamcli validate --no-net %{buildroot}%{_metainfodir}/%{appid}.metainfo.xml || : %post touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files %license LICENSE %doc README.md %doc docs/third-party.md %{sharedir}/ %{_bindir}/resolve-aac-import %{_bindir}/resolve-aac-watch %{_bindir}/resolve-aac-current-clip %{_bindir}/resolve-aac-timeline-watch %{_bindir}/resolve-aac-timeline-watch-stop %{_bindir}/resolve-aac-mediapool-watch %{_bindir}/resolve-aac-mediapool-watch-stop %{_bindir}/resolve-aac-export-watch %{_bindir}/resolve-with-aac-mediapool-watch %{_bindir}/resolve-with-fonts %{_bindir}/resolve-update-from-downloads %{_bindir}/resolve-aac-tray %{_bindir}/resolve-aac-settings %{_bindir}/resolve-aac-start %{_datadir}/applications/%{appid}.desktop %{_datadir}/applications/resolve-aac-import.desktop %{_datadir}/applications/resolve-aac-start.desktop %{_datadir}/applications/resolve-update-from-downloads.desktop %{_datadir}/applications/resolve-aac-settings.desktop %{_metainfodir}/%{appid}.metainfo.xml %{_datadir}/icons/hicolor/512x512/apps/%{appid}.png %changelog * Fri Oct 09 2026 RayDurlok - 0.3.3-1 - Add guarded native Relink and direct Deliver dialogs with background verification - Honor muted render-location confirmations and refresh toolkit launchers - Adapt the native AAC import patch for Studio 21.1.1 - Reuse verified Resolve installers and summarize the final AAC update status * Thu Oct 08 2026 RayDurlok - 0.3.2-1 - Prevent root-owned Python caches during native AAC operations - Recover existing protected patch caches without blocking Resolve updates * Thu Oct 08 2026 RayDurlok - 0.3.1-1 - Add background update checks and an installation-aware Toolkit update button - Preserve settings, cache and menu links when updating; restart the tray safely - Simplify the Welcome update reminder * Sat Sep 26 2026 RayDurlok - 0.3.0-1 - Add opt-in native AAC import and AAC-LC export for Resolve Studio 21 - Keep conversion workflows as Legacy and stop them in Native mode - Integrate native patch maintenance into the Resolve ZIP updater - Add single-instance tray handling, setup guidance and progress reporting * Thu Jul 30 2026 RayDurlok - 0.2.5-1 - Prioritize new MediaPool imports while scanning existing projects in bounded background chunks, and reduce the idle polling interval to two seconds - Track Resolve process generations so fast restarts reliably start the watcher - Harden native Deliver Browse hand-off and require its X11 helper dependencies - Add a dedicated timestamped MediaPool scan log * Sun Jul 26 2026 RayDurlok - 0.2.4-1 - Stop the MediaPool polling loop from triggering a large native memory leak in Resolve's unkeyed GetClipProperty API - Self-recycle the watcher above 256 MiB RSS as a safety guard - Restart unexpectedly exited watchers while respecting a manual stop * Mon Jul 20 2026 RayDurlok - 0.2.3-1 - Keep MediaPool replacements responsive by retrying transient Resolve API failures with bounded backoff and reusing completed remux files - Keep Media relinking in Resolve's own dialog for reliable multi-bin handling - Fix Unicode paths in native dialogs and remember the last Deliver destination - Refresh stale tray autostart paths after package installation * Thu Jul 09 2026 RayDurlok - 0.2.2-1 - Require the ffmpeg/ffprobe binaries by path instead of the ffmpeg package name, so the package installs on stock Fedora (ffmpeg-free) as well as with RPM Fusion * Thu Jul 09 2026 RayDurlok - 0.2.1-1 - Rename the RPM package to davinci-resolve-toolkit so it matches the app name and Copr project (install with: dnf install davinci-resolve-toolkit). The resolve-aac-* commands and user config are unchanged. * Thu Jul 09 2026 RayDurlok - 0.2.0-1 - Available from Fedora Copr and as a Discover tile - Add a trademark notice (not affiliated with Blackmagic Design) to the README and AppStream metadata * Thu Jul 09 2026 RayDurlok - 0.1.18-1 - Rebrand to DaVinci Resolve Toolkit - Restore Original Sources: undo AAC remuxing for the current project, from the tray or Resolve's Scripts menu (stops the watcher first so it does not re-remux) - Remux All AAC Media and single-clip remux as revertible Media Pool replacements that follow the cache setting; record every remux so it can be restored - Fix Resolve menu scripts crashing when launched without __file__ - MediaPool watcher now exits when Resolve closes and when the tray quits * Wed Jul 08 2026 RayDurlok - 0.1.17-1 - Set the portal env in the font-fix launch wrapper too, so native file dialogs work when Resolve is started from the menu (not just the tray launch actions) * Wed Jul 08 2026 RayDurlok - 0.1.16-1 - Show the app version on the welcome page - Fix native file dialogs (Export Still/Import) from an RPM install: put the portal plugin symlink in a user-writable dir instead of read-only /usr * Wed Jul 08 2026 RayDurlok - 0.1.15-1 - Cache version detection against the binary mtime; only re-scan when Resolve actually changes, so manual updates are picked up and focus stays cheap * Wed Jul 08 2026 RayDurlok - 0.1.14-1 - Re-detect the Resolve version after running the updater (on window focus) * Wed Jul 08 2026 RayDurlok - 0.1.13-1 - Show only the main "Resolve AAC Tools" menu entry; hide secondary launchers * Wed Jul 08 2026 RayDurlok - 0.1.12-1 - Ship the app icon (Discover tile, menus, tray) - Modern setup/settings window; fix ProRes/.mov export remux * Tue Jul 07 2026 RayDurlok - 0.1.11-1 - Initial RPM packaging: system-wide install, CLI wrappers, tray, Discover metadata