File radiotray-ng.spec of Package radiotray-ng

%define dont_strip	1
%define __strip /bin/true

Name:           radiotray-ng
Version:        0.2.9
Release:        Stan8
Summary:        Internet radio player

License:        GPL-3.0-or-later
URL:            https://github.com/ebruck/radiotray-ng
Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Source2:	http://rosalinux.cba.pl/store/%{name}/logos.tar.gz
Source3:	bookmarks.json

# radiotray-ng-0.2.9/include/radiotray-ng/i_radiotray_ng.hpp:76:37:
#   error: ‘uint32_t’ has not been declared
Patch0:         radiotray-ng-0.2.9-include_cstdint.patch
# appindicator patch
Patch1:         0001-Fix-appindicator-deprecations.patch

BuildRequires:	git-core
BuildRequires:  cmake
BuildRequires:  curl-devel
BuildRequires:  gcc-c++
BuildRequires:	lsb-release
BuildRequires:  libboost_filesystem-devel
BuildRequires:  libboost_log-devel
BuildRequires:  libboost_program_options-devel
BuildRequires:  libboost_system-devel
BuildRequires:  libboost_thread-devel
BuildRequires:  pkgconfig
BuildRequires:  wxWidgets-devel
BuildRequires:  pkgconfig(appindicator3-0.1)
BuildRequires:  pkgconfig(giomm-2.4)
BuildRequires:  pkgconfig(glibmm-2.4)
BuildRequires:  pkgconfig(gstreamer-1.0)
BuildRequires:  pkgconfig(jsoncpp)
BuildRequires:  pkgconfig(libbsd)
BuildRequires:  pkgconfig(libnotify)
BuildRequires:  pkgconfig(libxdg-basedir)
BuildRequires:  desktop-file-utils
BuildRequires:  appstream-glib

Requires:       hicolor-icon-theme
Obsoletes:	radiotray < 0.2.8
Provides:	radiotray

%description
%{summary}.

%prep
%autosetup -p 1
# Correct build flags
sed -i 's|-Wall -Wextra -Werror -Wpedantic|%{optflags}|' CMakeLists.txt
sed -i '/execute_process(COMMAND lsb_release/d' package/CMakeLists.txt
# Fix build with GCC 13
# https://github.com/ebruck/radiotray-ng/pull/193
sed -i "s|#include <string>|#include <string>\n#include <cstdint>|" include/radiotray-ng/i_config.hpp

%build
%cmake \
    -DLSB_RELEASE_EXECUTABLE="lsb_release" \
    -DDISTRIBUTOR_ID="fedora"
%cmake_build


%install
%cmake_install
# Remove autostart
# rm %{buildroot}%{_sysconfdir}/xdg/autostart/%{name}.desktop
# Remove themes
# rm -rf %{buildroot}%{_datadir}/icons/Yaru
# rm -rf %{buildroot}%{_datadir}/icons/breeze
# Remove self-installed license file
# rm %{buildroot}%{_datadir}/licences/%{name}/COPYING
#Remove unneeded script
# rm %{buildroot}%{_bindir}/rt2rtng

mkdir -p %{buildroot}%{_datadir}/%{name}/logos
tar -xf %{SOURCE2} -C %{buildroot}%{_datadir}/%{name}

rm %{buildroot}%{_datadir}/%{name}/bookmarks.json
install -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/%{name}/bookmarks.json

# fix .desktop file
desktop-file-edit %{buildroot}%{_datadir}/applications/radiotray-ng.desktop \
	--set-comment="Internet Radio Player" \
	--set-icon=radiotray-ng-on

# another .desktop file with bad icon
desktop-file-edit %{buildroot}%{_datadir}/applications/rtng-bookmark-editor.desktop \
	--set-icon=radiotray-ng-on

# yet another .desktop file with bad icon
desktop-file-edit %{buildroot}%{_sysconfdir}/xdg/autostart/radiotray-ng.desktop \
        --set-icon=radiotray-ng-on

# install better app icons from ubuntu-mono-light
rm -rf %{buildroot}%{_iconsdir}/hicolor/*/apps/radiotray-ng-{on,off}.png
install -Dpm644 data/themes/ubuntu-mono-light/apps/24/radiotray-ng-off.svg \
	%{buildroot}%{_iconsdir}/hicolor/scalable/apps/radiotray-ng-off.svg
install -Dpm644 data/themes/ubuntu-mono-light/apps/24/radiotray-ng-on.svg \
        %{buildroot}%{_iconsdir}/hicolor/scalable/apps/radiotray-ng-on.svg

# we don't want these
rm -rf %{buildroot}%{_iconsdir}/ubuntu*

# handle docs in files section
rm -rf %{buildroot}%{_docdir}
rm -rf %{buildroot}%{_datadir}/licences

%check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/rtng-bookmark-editor.desktop


%files
%license COPYING
%doc AUTHORS README.md
%{_datadir}/doc/radiotray-ng/
%{_datadir}/doc/radiotray-ng/*
%{_bindir}/%{name}
%{_bindir}/rt2rtng
%{_bindir}/rtng-bookmark-editor
%{_datadir}/applications/%{name}.desktop
%{_datadir}/applications/rtng-bookmark-editor.desktop
#{_datadir}/icons/hicolor/*/apps/*
%{_sysconfdir}/xdg/autostart/radiotray-ng.desktop
%{_iconsdir}/{hicolor,Yaru}/
%{_iconsdir}/{hicolor,Yaru}/*/
%{_iconsdir}/{hicolor,Yaru}/*/apps/
%{_iconsdir}/{hicolor,Yaru}/*/apps/radiotray-ng*.{png,svg}
%{_iconsdir}/breeze/
%{_iconsdir}/breeze/apps/
%{_iconsdir}/breeze/apps/*/
%{_iconsdir}/breeze/apps/*/radiotray-ng*.{png,svg}
%{_datadir}/metainfo/%{name}.appdata.xml
%{_datadir}/%{name}


%changelog
openSUSE Build Service is sponsored by