File rygel.spec of Package rygel

#
# spec file for package rygel
#
# Copyright (c) 2018 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/
#


Name:           rygel
Version:        0.36.1
Release:        0
Summary:        UPnP/DLNA home media server for GNOME
License:        LGPL-2.0-or-later
Group:          Productivity/Multimedia/Other
URL:            http://live.gnome.org/Rygel
Source0:        https://download.gnome.org/sources/rygel/0.36/%{name}-%{version}.tar.xz
BuildRequires:  gobject-introspection-devel >= 1.33.4
BuildRequires:  libgupnp-av-devel >= 0.12.8
BuildRequires:  libgupnp-devel >= 0.20.14
BuildRequires:  libsoup-devel >= 2.44.0
BuildRequires:  libunistring-devel
BuildRequires:  pkgconfig
BuildRequires:  sqlite3-devel >= 3.5
BuildRequires:  suse-xsl-stylesheets
BuildRequires:  systemd
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  vala >= 0.24.0
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(gee-0.8) >= 0.8.0
BuildRequires:  pkgconfig(glib-2.0) >= 2.40.0
BuildRequires:  pkgconfig(gstreamer-1.0) >= 1.0
BuildRequires:  pkgconfig(gstreamer-app-1.0) >= 1.0
BuildRequires:  pkgconfig(gstreamer-audio-1.0) >= 1.0
BuildRequires:  pkgconfig(gstreamer-pbutils-1.0) >= 1.0
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.0
BuildRequires:  pkgconfig(gupnp-dlna-2.0) >= 0.9.4
BuildRequires:  pkgconfig(gupnp-dlna-gst-2.0) >= 0.9.4
BuildRequires:  pkgconfig(libmediaart-2.0) >= 1.9.0
BuildRequires:  pkgconfig(libsoup-2.4) >= 2.44.0
BuildRequires:  pkgconfig(libxml-2.0) >= 2.7
BuildRequires:  pkgconfig(systemd)
BuildRequires:  pkgconfig(tracker-sparql-2.0)
Requires:       gstreamer-plugins-base
Recommends:     %{name}-lang
Recommends:     gstreamer-plugins-bad
Recommends:     gstreamer-plugins-good
Recommends:     gstreamer-plugins-ugly
# plugin-zdf-mediathek was removed in 0.31.1
Obsoletes:      plugin-zdf-mediathek
%{?systemd_requires}

%description
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network. In
technical terms, it is both a UPnP AV MediaServer and MediaRenderer
implemented through a plug-in mechanism. It conforms to DLNA and does
on-the-fly conversion of media to format that client devices are
capable of handling.

%package -n librygel-core-2_6-2
Summary:        Core library for the Rygel UPnP/DLNA media server
Group:          System/Libraries

%description -n librygel-core-2_6-2
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides the core library of rygel.

%package -n librygel-db-2_6-2
Summary:        Database library for the Rygel UPnP/DLNA media server
Group:          System/Libraries

%description -n librygel-db-2_6-2
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides the database library of rygel.

%package -n librygel-renderer-2_6-2
Summary:        Render library for the Rygel UPnP/DLNA media server
Group:          System/Libraries

%description -n librygel-renderer-2_6-2
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides the renderer library of rygel.

%package -n librygel-renderer-gst-2_6-2
Summary:        Gstreamer render library for the Rygel UPnP/DLNA media server
Group:          System/Libraries

%description -n librygel-renderer-gst-2_6-2
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides the renderer library of rygel.

%package -n librygel-ruih-2_0-1
Summary:        Remote User Interface handling library for the Rygel UPnP/DLNA media server
Group:          System/Libraries

%description -n librygel-ruih-2_0-1
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides the ruih library of rygel.

%package -n librygel-server-2_6-2
Summary:        Server library for the Rygel UPnP/DLNA media server
Group:          System/Libraries

%description -n librygel-server-2_6-2
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides the server library of rygel.

%package -n typelib-1_0-RygelCore-2_6
Summary:        GObject introspection files for the Rygel core library
Group:          System/Libraries

%description -n typelib-1_0-RygelCore-2_6
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

%package -n typelib-1_0-RygelRenderer-2_6
Summary:        GObject introspection files for the Rygel renderer library
Group:          System/Libraries

%description -n typelib-1_0-RygelRenderer-2_6
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

%package -n typelib-1_0-RygelRendererGst-2_6
Summary:        GObject introspection files for the Rygel RendererGst library
Group:          System/Libraries

%description -n typelib-1_0-RygelRendererGst-2_6
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

%package -n typelib-1_0-RygelServer-2_6
Summary:        GObject introspection files for the Rygel server library
Group:          System/Libraries

%description -n typelib-1_0-RygelServer-2_6
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

%package devel
Summary:        Development files for the Rygel UPnP/DLNA media server
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Requires:       librygel-core-2_6-2 = %{version}
Requires:       librygel-db-2_6-2 = %{version}
Requires:       librygel-renderer-2_6-2 = %{version}
Requires:       librygel-renderer-gst-2_6-2 = %{version}
Requires:       librygel-ruih-2_0-1 = %{version}
Requires:       librygel-server-2_6-2 = %{version}
Requires:       typelib-1_0-RygelCore-2_6 = %{version}
Requires:       typelib-1_0-RygelRenderer-2_6 = %{version}
Requires:       typelib-1_0-RygelRendererGst-2_6 = %{version}
Requires:       typelib-1_0-RygelServer-2_6 = %{version}

%description devel
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides development files for rygel.

%package plugin-gstreamer-renderer
Summary:        GStreamer renderer plugin for the Rygel UPnP/DLNA media server
Group:          Productivity/Multimedia/Other
Requires:       %{name} = %{version}

%description plugin-gstreamer-renderer
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides a standalone MediaRenderer plugin, based on the
GStreamer playbin2 element.

%package plugin-tracker
Summary:        Tracker plugin for the Rygel UPnP/DLNA media server
Group:          Productivity/Multimedia/Other
Requires:       %{name} = %{version}
Requires:       tracker
Supplements:    packageand(%{name}:tracker)

%description plugin-tracker
Rygel is a home media server that allows sharing audio, video,
pictures, and control of media player on your home network.

This package provides a plugin using tracker to export media found on
the local machine.

%lang_package

%prep
%setup -q
translation-update-upstream

%build
%configure --enable-tracker-plugin \
    --enable-media-export-plugin \
    --enable-external-plugin \
    --enable-gst-launch-plugin
make %{?_smp_mflags} V=1

%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%suse_update_desktop_file rygel
%suse_update_desktop_file rygel-preferences X-SuSE-ControlCenter-Personal
%find_lang %{name} %{?no_lang_C}

%post -n librygel-core-2_6-2 -p /sbin/ldconfig
%postun -n librygel-core-2_6-2 -p /sbin/ldconfig
%post -n librygel-db-2_6-2 -p /sbin/ldconfig
%postun -n librygel-db-2_6-2 -p /sbin/ldconfig
%post -n librygel-renderer-2_6-2 -p /sbin/ldconfig
%postun -n librygel-renderer-2_6-2 -p /sbin/ldconfig
%post -n librygel-renderer-gst-2_6-2 -p /sbin/ldconfig
%postun -n librygel-renderer-gst-2_6-2 -p /sbin/ldconfig
%post -n librygel-ruih-2_0-1 -p /sbin/ldconfig
%postun -n librygel-ruih-2_0-1 -p /sbin/ldconfig
%post -n librygel-server-2_6-2 -p /sbin/ldconfig
%postun -n librygel-server-2_6-2 -p /sbin/ldconfig

%files
%license COPYING
%doc AUTHORS README TODO NEWS
%config(noreplace) %{_sysconfdir}/rygel.conf
%{_userunitdir}/rygel.service
%{_bindir}/rygel
%{_bindir}/rygel-preferences
%{_datadir}/rygel/
%{_datadir}/applications/rygel.desktop
%{_datadir}/applications/rygel-preferences.desktop
%{_datadir}/dbus-1/services/org.gnome.Rygel1.service
%{_datadir}/icons/hicolor/*/apps/*
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/mx-extract
%{_mandir}/*/*
# Plugins that we ship by default because they don't have a dependency and can
# be useful to most people
%dir %{_libdir}/rygel-2.6/
%dir %{_libdir}/rygel-2.6/engines/
%dir %{_libdir}/rygel-2.6/plugins/
%{_libdir}/rygel-2.6/engines/librygel-media-engine-gst.so
%{_libdir}/rygel-2.6/engines/librygel-media-engine-simple.so
%{_libdir}/rygel-2.6/engines/media-engine-gst.plugin
%{_libdir}/rygel-2.6/engines/media-engine-simple.plugin
# external applications implementing D-Bus MediaServer spec
%{_libdir}/rygel-2.6/plugins/librygel-external.so
%{_libdir}/rygel-2.6/plugins/external.plugin
# GStreamer pipelines in the config
%{_libdir}/rygel-2.6/plugins/librygel-gst-launch.so
%{_libdir}/rygel-2.6/plugins/gst-launch.plugin
# LightweightMediaScanner
%{_libdir}/rygel-2.6/plugins/librygel-lms.so
%{_libdir}/rygel-2.6/plugins/lms.plugin
# folders and files in the config
%{_libdir}/rygel-2.6/plugins/librygel-media-export.so
%{_libdir}/rygel-2.6/plugins/media-export.plugin
# media players implementing MPRIS2 D-Bus interface
%{_libdir}/rygel-2.6/plugins/librygel-mpris.so
%{_libdir}/rygel-2.6/plugins/mpris.plugin
# ruih plugin
%{_libdir}/rygel-2.6/plugins/librygel-ruih.so
%{_libdir}/rygel-2.6/plugins/ruih.plugin

%files -n librygel-core-2_6-2
%{_libdir}/librygel-core-2.6.so.*

%files -n librygel-db-2_6-2
%{_libdir}/librygel-db-2.6.so.*

%files -n librygel-renderer-2_6-2
%{_libdir}/librygel-renderer-2.6.so.*

%files -n librygel-renderer-gst-2_6-2
%{_libdir}/librygel-renderer-gst-2.6.so.*

%files -n librygel-ruih-2_0-1
%{_libdir}/librygel-ruih-2.0.so.*

%files -n librygel-server-2_6-2
%{_libdir}/librygel-server-2.6.so.*

%files -n typelib-1_0-RygelCore-2_6
%{_libdir}/girepository-1.0/RygelCore-2.6.typelib

%files -n typelib-1_0-RygelRenderer-2_6
%{_libdir}/girepository-1.0/RygelRenderer-2.6.typelib

%files -n typelib-1_0-RygelRendererGst-2_6
%{_libdir}/girepository-1.0/RygelRendererGst-2.6.typelib

%files -n typelib-1_0-RygelServer-2_6
%{_libdir}/girepository-1.0/RygelServer-2.6.typelib

%files devel
%{_includedir}/rygel-2.6/
%{_libdir}/librygel-core-2.6.so
%{_libdir}/librygel-db-2.6.so
%{_libdir}/librygel-renderer-2.6.so
%{_libdir}/librygel-renderer-gst-2.6.so
%{_libdir}/librygel-server-2.6.so
%{_libdir}/librygel-ruih-2.0.so
%{_libdir}/pkgconfig/rygel-core-2.6.pc
%{_libdir}/pkgconfig/rygel-renderer-2.6.pc
%{_libdir}/pkgconfig/rygel-renderer-gst-2.6.pc
%{_libdir}/pkgconfig/rygel-server-2.6.pc
%{_datadir}/gir-1.0/RygelCore-2.6.gir
%{_datadir}/gir-1.0/RygelRenderer-2.6.gir
%{_datadir}/gir-1.0/RygelRendererGst-2.6.gir
%{_datadir}/gir-1.0/RygelServer-2.6.gir
%{_datadir}/gtk-doc/html/librygel-core/
%{_datadir}/gtk-doc/html/librygel-db/
%{_datadir}/gtk-doc/html/librygel-renderer/
%{_datadir}/gtk-doc/html/librygel-renderer-gst/
%{_datadir}/gtk-doc/html/librygel-server/
%{_datadir}/vala/vapi/rygel-core-2.6.deps
%{_datadir}/vala/vapi/rygel-core-2.6.vapi
%{_datadir}/vala/vapi/rygel-db-2.6.deps
%{_datadir}/vala/vapi/rygel-db-2.6.vapi
%{_datadir}/vala/vapi/rygel-renderer-2.6.deps
%{_datadir}/vala/vapi/rygel-renderer-2.6.vapi
%{_datadir}/vala/vapi/rygel-renderer-gst-2.6.deps
%{_datadir}/vala/vapi/rygel-renderer-gst-2.6.vapi
%{_datadir}/vala/vapi/rygel-ruih-2.0.deps
%{_datadir}/vala/vapi/rygel-ruih-2.0.vapi
%{_datadir}/vala/vapi/rygel-server-2.6.deps
%{_datadir}/vala/vapi/rygel-server-2.6.vapi

%files plugin-gstreamer-renderer
%{_libdir}/rygel-2.6/plugins/librygel-playbin.so
%{_libdir}/rygel-2.6/plugins/playbin.plugin

%files plugin-tracker
%{_libdir}/rygel-2.6/plugins/librygel-tracker.so
%{_libdir}/rygel-2.6/plugins/tracker.plugin

%files lang -f %{name}.lang

%changelog