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
openSUSE Build Service is sponsored by