%global debug_package %{nil} %global commit 225af09b41e8aa98a13f2f03e7e50f471c15fd16 %global shortcommit 225af09 %global committimestamp 20260703071220 Name: jellyfin-desktop Version: 3.0.0~dev.%{committimestamp}.%{shortcommit} Release: %autorelease Summary: Jellyfin desktop client built with Chromium Embedded Framework and libmpv License: GPL-2.0-or-later URL: https://github.com/jellyfin/jellyfin-desktop Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz ExclusiveArch: x86_64 aarch64 BuildRequires: cargo BuildRequires: clang-devel BuildRequires: cmake BuildRequires: ffmpeg-devel BuildRequires: gcc-c++ BuildRequires: jellyfin-desktop-libmpv BuildRequires: libass-devel BuildRequires: libplacebo-devel BuildRequires: libglvnd-devel BuildRequires: libdrm-devel BuildRequires: libXcomposite-devel BuildRequires: libXdamage-devel BuildRequires: libxkbcommon-devel BuildRequires: libxkbcommon-x11-devel BuildRequires: libXrandr-devel BuildRequires: libxcb-devel BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libGL-devel BuildRequires: mesa-libgbm-devel BuildRequires: ninja-build BuildRequires: nspr-devel BuildRequires: nss-devel BuildRequires: patchelf BuildRequires: pango-devel BuildRequires: plasma-wayland-protocols-devel BuildRequires: pkgconf-pkg-config BuildRequires: pipewire-devel BuildRequires: rubberband-devel BuildRequires: rust BuildRequires: systemd-devel BuildRequires: uchardet-devel BuildRequires: vulkan-loader-devel BuildRequires: wayland-devel BuildRequires: wayland-protocols-devel BuildRequires: xcb-util-devel BuildRequires: xcb-util-cursor-devel Requires: xdg-utils %description %{summary}. %prep %autosetup -n %{name}-%{commit} %build cargo xtask fetch-cef cef_cache_root="$PWD/.cache/cef" cargo xtask build \ --out build \ --external-cef "${cef_cache_root}" \ --external-mpv /opt/jellyfin-desktop/libmpv %install cef_cache_root="$PWD/.cache/cef" cargo xtask install \ --skip-build \ --out build \ --prefix %{buildroot}/opt/jellyfin-desktop \ --external-cef "${cef_cache_root}" \ --external-mpv /opt/jellyfin-desktop/libmpv mv %{buildroot}/opt/jellyfin-desktop/libmpv.so %{buildroot}/opt/jellyfin-desktop/libmpv.so.2 ln -s libmpv.so.2 %{buildroot}/opt/jellyfin-desktop/libmpv.so patchelf --set-rpath '$ORIGIN' %{buildroot}/opt/jellyfin-desktop/jellyfin-desktop install -dm755 %{buildroot}%{_bindir} ln -s ../../opt/jellyfin-desktop/jellyfin-desktop %{buildroot}%{_bindir}/jellyfin-desktop install -Dm0644 resources/linux/org.jellyfin.JellyfinDesktop.svg \ %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/org.jellyfin.JellyfinDesktop.svg install -Dm0644 resources/linux/org.jellyfin.JellyfinDesktop.desktop \ %{buildroot}%{_datadir}/applications/org.jellyfin.JellyfinDesktop.desktop install -Dm0644 resources/linux/org.jellyfin.JellyfinDesktop.metainfo.xml \ %{buildroot}%{_datadir}/metainfo/org.jellyfin.JellyfinDesktop.metainfo.xml %files %doc README.md %license LICENSE %{_bindir}/jellyfin-desktop /opt/jellyfin-desktop/jellyfin-desktop /opt/jellyfin-desktop/*.bin /opt/jellyfin-desktop/*.dat /opt/jellyfin-desktop/*.pak /opt/jellyfin-desktop/*.so* /opt/jellyfin-desktop/locales/ %{_datadir}/applications/org.jellyfin.JellyfinDesktop.desktop %{_datadir}/icons/hicolor/scalable/apps/org.jellyfin.JellyfinDesktop.svg %{_datadir}/metainfo/org.jellyfin.JellyfinDesktop.metainfo.xml %changelog %autochangelog