File psst.spec of Package psst
%global rustflags '-Clink-arg=-Wl,-z,relro,-z,now'
Name: psst
Version: 20231004+git.a8922f6
Release: 0
Summary: Fast and multi-platform Spotify client with native GUI
License: MIT
URL: https://github.com/jpochyla/psst
Source0: %{name}-%{version}.tar.zst
Source1: vendor.tar.zst
Source2: cargo_config
BuildRequires: cargo-packaging >= 1.2.0
BuildRequires: update-desktop-files
BuildRequires: git
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(cairo) >= 1.12
BuildRequires: pkgconfig(pango) >= 1.44
BuildRequires: pkgconfig(libssl)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(atk) >= 2.14
%description
Fast Spotify client with native GUI, without Electron,
built in Rust. Very early in development, lacking in features,
stability, and general user experience.
%prep
%autosetup -p1 -a1
install -D -m 644 %{SOURCE2} .cargo/config
%build
RUST_BACKTRACE=1 RUSTFLAGS=%{rustflags} cargo build --release
%install
install -Dpm 755 target/release/psst-cli %{buildroot}%{_bindir}/psst-cli
install -Dpm 755 target/release/psst-gui %{buildroot}%{_bindir}/%{name}
install -Dpm 644 psst-gui/assets/logo_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
install -Dpm 644 psst-gui/assets/logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
install -Dpm 644 psst-gui/assets/logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
install -Dpm 644 psst-gui/assets/logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
install -Dpm 644 psst-gui/assets/logo_512.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/%{name}.png
%suse_update_desktop_file -c %{name} Psst "Fast and multi-platform Spotify client with native GUI" %{name} %{name} "AudioVideo;Music;Player"
%files
%license LICENSE.md
%doc README.md
%{_bindir}/psst-cli
%{_bindir}/%{name}
%dir %{_datadir}/icons/hicolor/
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%{_datadir}/icons/hicolor/512x512/apps/%{name}.png
%dir %{_datadir}/applications/
%{_datadir}/applications/%{name}.desktop
%changelog