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

openSUSE Build Service is sponsored by