File discord.spec of Package discord
#
# spec file for package discord
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# Require bash for extglob in install section.
%global _buildshell /bin/bash
%global __requires_exclude ^(libffmpeg|libnode).*
%global __provides_exclude ^(libffmpeg|libnode).*
Name: discord
Version: 0.0.9
Release: 0
Summary: Voice and Text Chat for Gamers
License: SUSE-NonFree
Group: Amusements/Games/Other
Url: https://discordapp.com/
Source0: https://dl.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz
#Source0: https://discordapp.com/api/download?platform=linux&format=tar.gz
Source99: PERMISSION
ExclusiveArch: x86_64
BuildRequires: desktop-file-utils
BuildRequires: hicolor-icon-theme
BuildRequires: update-desktop-files
BuildRequires: unzip
Conflicts: discord
Requires: libgtk-2_0-0 libnotify-tools libasound2 gconf2 mozilla-nss dbus-1-glib libXtst6 libX11-6 libstdc++6 libc++1 libatomic1
#Patent free ffmpeg config
#Snippets from https://github.com/orionhealth/electron-packager-plugin-non-proprietary-codecs-ffmpeg/blob/master/src/downloadFFMPEG.js
%define electronVersion 4.0.1
%define ffmpegarch x64
%define ffmpegplatform linux
%define ffmpegFileName ffmpeg-v%{electronVersion}-%{ffmpegplatform}-%{ffmpegarch}.zip
#eg. https://github.com/electron/electron/releases/download/v1.6.11/ffmpeg-v1.6.11-linux-x64.zip
Source1: https://github.com/electron/electron/releases/download/v%{electronVersion}/%{ffmpegFileName}
%description
Discord is a voice and text chat for gamers. The Text chat supports
inline images and videos. Voice chat includes a jitter buffer,
automatic gain control, noise suppression, echo cancellation.
Server-to-client communications are encrypted.
%prep
%setup -n Discord
%setup -T -a 1 -c -n ffmpeg
%build
rm %{_builddir}/Discord/libffmpeg.so
cp %{_builddir}/ffmpeg/libffmpeg.so %{_builddir}/Discord/
%install
cd %{_builddir}/Discord
install -Dm644 discord.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
desktop-file-install \
--dir=%{buildroot}%{_datadir}/applications \
--set-key=Exec \
--set-value=%{_bindir}/%{name} \
%{name}.desktop
install -Dm755 libffmpeg.so %{buildroot}%{_libdir}/%{name}/libffmpeg.so
install -Dm755 libEGL.so %{buildroot}%{_libdir}/%{name}/libEGL.so
install -Dm755 libGLESv2.so %{buildroot}%{_libdir}/%{name}/libGLESv2.so
install -Dm755 libVkICD_mock_icd.so %{buildroot}%{_libdir}/%{name}/libVkICD_mock_icd.so
# install share
mkdir -p %{buildroot}%{_libdir}/%{name}
shopt -s extglob
cp -r !(discord*|*.so) %{buildroot}%{_libdir}/%{name}
shopt -u extglob
# fix missing icon in some envoronments
ln -sf %{_datadir}/icons/hicolor/256x256/apps/%{name}.png /%{buildroot}%{_libdir}/%{name}
# Executable checks for resources in its directory so it cannot be in bin.
mkdir -p %{buildroot}%{_bindir}
ln -s %{_libdir}/%{name}/Discord %{buildroot}%{_bindir}/%{name}
%post
%if 0%{?suse_version} < 1500
%desktop_database_post
%endif
chmod 0755 %{_libdir}/%{name}/Discord
%if 0%{?suse_version} < 1500
%postun
%desktop_database_postun
%endif
%files
%defattr(-,root,root)
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%{_libdir}/%{name}
%changelog