File ferdium.spec of Package Ferdium

Name: ferdium
Version: 7.1.1
Release: 0
Url: https://ferdium.org/
Summary: All your web services in one place
Group: System/GUI/KDE
BuildRequires: desktop-file-utils
BuildRequires: update-desktop-files
BuildRequires: hicolor-icon-theme
BuildRequires: -post-build-checks
AutoReqProv: no
License: Apache-2.0
Source1: %{name}.png
Source2: Ferdium-%{version}-x86_64.AppImage
Source3: %{name}.desktop.txt
BuildRoot: %{_tmppath}/%{name}-%{version}-build

%description
Ferdium is your messaging app / former Emperor of Austria and combines chat & messaging services into one application.
Ferdium currently supports Slack, WhatsApp, Gmail, Facebook Messenger, Telegram, Google Hangouts, GroupMe, Skype and many more.

%build

%install
mkdir -p %{buildroot}/usr/share/pixmaps/
install -D -m 644 %{SOURCE1} %{buildroot}/usr/share/pixmaps/%{name}.png

mkdir -p %{buildroot}/usr/local/bin/%{name}/
install -D -m 755 %{SOURCE2} %{buildroot}/usr/local/bin/%{name}/Ferdium-%{version}-x86_64.AppImage
cp -f %{SOURCE3} %{buildroot}/usr/local/bin/%{name}/%{name}.desktop

%post
# Create .desktop file
rm -f %{_datadir}/applications/%{name}.desktop
cat > %{_datadir}/applications/%{name}.desktop << EOM
[Desktop Entry]
Name=Ferdium
Exec=%{name}
Terminal=false
Type=Application
Icon=%{name}
StartupWMClass=Ferdium
Comment=All your web services in one place.
GenericName=All your web services in one place.
MimeType=x-scheme-handler/%{name};
Categories=Network;InstantMessaging;
EOM

# Create executable for app
rm -f /usr/bin/%{name}
cat > /usr/bin/%{name} << EOM
#!/bin/bash

env DESKTOPINTEGRATION=1 /usr/local/bin/%{name}/Ferdium-%{version}-x86_64.AppImage
EOM

chmod -R +x /usr/bin/%{name}

%desktop_database_post
%icon_theme_cache_post
%mime_database_post

update-desktop-database
gtk-update-icon-cache

%preun
if [ "$1" = 0 ]; then
  # Remove .desktop file
  rm -f %{_datadir}/applications/%{name}.desktop
  rm -f /usr/bin/%{name}

  %desktop_database_post
  %icon_theme_cache_post
  %mime_database_post

  update-desktop-database
  gtk-update-icon-cache
fi

%clean

%files
%defattr(755,root,root,755) 
/usr/local/bin/%{name}/Ferdium-%{version}-x86_64.AppImage
%defattr(-,root,root)
/usr/share/pixmaps/%{name}.png
/usr/local/bin/%{name}/%{name}.desktop

%changelog
openSUSE Build Service is sponsored by