File gnome-twitch.spec of Package gnome-twitch
#
# spec file for package gnome-twitch
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 Stasiek Michalski <hellcp@opensuse.org>.
#
# 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/
#
%define _appid com.vinszent.GnomeTwitch
Name: gnome-twitch
Version: 0.4.2
Release: 0
Summary: Enjoy Twitch on your GNU/Linux desktop
Group: Productivity/Multimedia/Video/Players
License: GPL-3.0+
Url: http://gnome-twitch.vinszent.com/
Source0: https://github.com/vinszent/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
BuildRequires: intltool
BuildRequires: meson >= 0.36.0
BuildRequires: ninja
BuildRequires: python3
BuildRequires: pkgconfig(gtk+-3.0) >= 3.20
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libpeas-1.0)
BuildRequires: pkgconfig(webkit2gtk-4.0)
BuildRequires: update-desktop-files
# Backends
BuildRequires: pkgconfig(mpv)
BuildRequires: pkgconfig(clutter-gst-3.0)
BuildRequires: pkgconfig(clutter-gtk-1.0)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-base-1.0)
BuildRequires: pkgconfig(gstreamer-audio-1.0)
BuildRequires: pkgconfig(gstreamer-video-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
Requires: %{name}-backend = %{version}
Recommends: %{name}-lang = %{version}
Suggests: %{name}-backend-gstreamer-opengl
Suggests: %{name}-backend-gstreamer-clutter
Suggests: %{name}-backend-mpv
%description
GNOME Twitch app for watching Twitch on your GNU/Linux desktop.
Enjoy your favourite streams without the hassle of flash or the web.
%lang_package
%package backend-gstreamer-cairo
Summary: GStreamer Cairo backend for gnome-twitch
Group: Productivity/Multimedia/Video/Players
Requires: %{name} = %{version}
Provides: %{name}-backend = %{version}
Supplements: (%{name} and gstreamer)
%description backend-gstreamer-cairo
The default GStreamer Cairo based backend for gnome-twitch.
%package backend-gstreamer-opengl
Summary: GStreamer OpenGL backend for gnome-twitch
Group: Productivity/Multimedia/Video/Players
Requires: %{name} = %{version}
Provides: %{name}-backend = %{version}
Supplements: (%{name} and gstreamer)
%description backend-gstreamer-opengl
The additional GStreamer OpenGL based backend for gnome-twitch.
%package backend-gstreamer-clutter
Summary: GStreamer Clutter backend for gnome-twitch
Group: Productivity/Multimedia/Video/Players
Requires: %{name} = %{version}
Provides: %{name}-backend = %{version}
Supplements: (%{name} and gstreamer)
%description backend-gstreamer-clutter
The additional GStreamer Clutter based backend for gnome-twitch.
%package backend-mpv
Summary: MPV backend for gnome-twitch
Group: Productivity/Multimedia/Video/Players
Requires: %{name} = %{version}
Provides: %{name}-backend = %{version}
Supplements: (%{name} and mpv)
%description backend-mpv
The additional MPV based backend for gnome-twitch.
%package devel
Summary: GNOME Twitch -- Development files
Group: Development/Libraries/GNOME
Requires: %{name} = %{version}
%description devel
This package contains the development files for GNOME Twitch.
Required to build new backend plugins.
%prep
%setup -q
%build
%meson -Dbuild-player-backends=gstreamer-opengl,gstreamer-cairo,gstreamer-clutter,mpv-opengl
%meson_build
%install
%meson_install
%suse_update_desktop_file -G 'Twitch Streams Viewer' %{_appid}
%find_lang %{name}
%files -f %{name}.lang
%dir %{_libdir}/%{name}/
%dir %{_libdir}/%{name}/player-backends/
%{_bindir}/%{name}
%{_datadir}/applications/%{_appid}.desktop
%{_datadir}/icons/hicolor/*/apps/%{_appid}.png
%{_datadir}/icons/hicolor/scalable/apps/%{_appid}.svg
%{_datadir}/icons/hicolor/symbolic/apps/%{_appid}-symbolic.svg
%{_datadir}/glib-2.0/schemas/%{_appid}.gschema.xml
%{_datadir}/appdata/%{_appid}.appdata.xml
%files backend-gstreamer-clutter
%{_libdir}/%{name}/player-backends/libplayer-backend-gstreamer-clutter.so
%{_libdir}/%{name}/player-backends/player-backend-gstreamer-clutter.plugin
%files backend-gstreamer-opengl
%{_libdir}/%{name}/player-backends/libplayer-backend-gstreamer-opengl.so
%{_libdir}/%{name}/player-backends/player-backend-gstreamer-opengl.plugin
%files backend-gstreamer-cairo
%{_libdir}/%{name}/player-backends/libplayer-backend-gstreamer-cairo.so
%{_libdir}/%{name}/player-backends/player-backend-gstreamer-cairo.plugin
%files backend-mpv
%{_libdir}/%{name}/player-backends/libplayer-backend-mpv-opengl.so
%{_libdir}/%{name}/player-backends/player-backend-mpv-opengl.plugin
%files devel
%{_includedir}/%{name}/
%changelog