Files
clapper/clapper.spec
Florian d2033a3b48 - Update to version 0.10.0:
+ This release among other changes continues evolvement of
    Clapper enhancer plugin system. With both new plugins added and
    some features ported from this core repo into being a plugin
    for the app. Some of these plugins have options that can be
    changed. Check application Tweaks tab in preferences window to
    browse and configure them.
  + Above includes movement of MPRIS, Server and Discoverer
    features into enhancer plugins. Applications that bundle
    Clapper as part of their container distribution are advised to
    build it with these features disabled in meson while adding
    newer implementations of these by bundling them as
    corresponding plugins. Flatpak apps can get these easily by
    including them as a runtime extension.
  + If both implementations are available on the host system,
    Clapper will automatically prefer and load enhancer based one.
- Add new optional pkgconfig(libcgraph) and pkgconfig(libgvc)
  BuilRequires: build new GStreamer pipeline preview support.

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/clapper?expand=0&rev=24
2025-12-23 10:55:15 +00:00

219 lines
7.4 KiB
RPMSpec

#
# spec file for package clapper
#
# Copyright (c) 2025 SUSE LLC and contributors
#
# 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 https://bugs.opensuse.org/
#
%global uuid com.github.rafostar.Clapper
%global libver 0.0
%global libsuffix 0.10.0
%global sover 0
%global gstlib Clapper
%global gst_version 1.24.0
%global gtk4_version 4.10.0
%global meson_version 0.64
%global glib2_version 2.76.0
%global adw_version 1.4.0
%bcond_without enhancers
%bcond_without server
Name: clapper
Version: 0.10.0
Release: 0
Summary: A GNOME media player built using GJS with GTK4
Group: Productivity/Multimedia/Video/Players
License: GPL-3.0-or-later
URL: https://github.com/Rafostar/clapper
Source: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: Mesa-libGL-devel
BuildRequires: Mesa-libGLESv3-devel
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gobject-introspection
BuildRequires: meson >= %{meson_version}
BuildRequires: vala
BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gmodule-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gobject-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gstreamer-1.0) >= %{gst_version}
BuildRequires: pkgconfig(gstreamer-audio-1.0) >= %{gst_version}
BuildRequires: pkgconfig(gstreamer-base-1.0) >= %{gst_version}
BuildRequires: pkgconfig(gstreamer-pbutils-1.0) >= %{gst_version}
BuildRequires: pkgconfig(gstreamer-tag-1.0) >= %{gst_version}
BuildRequires: pkgconfig(gstreamer-video-1.0) >= %{gst_version}
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
BuildRequires: pkgconfig(libadwaita-1) >= %{adw_version}
BuildRequires: pkgconfig(libcgraph)
BuildRequires: pkgconfig(libgvc)
%if %{with enhancers}
BuildRequires: pkgconfig(libpeas-2)
%define enhancers_version %{version}
Recommends: clapper-enhancers-lbry >= %{enhancers_version}
Recommends: clapper-enhancers-peertube >= %{enhancers_version}
Recommends: clapper-enhancers-yt-dlp >= %{enhancers_version}
%endif
%if %{with server}
BuildRequires: pkgconfig(libsoup-3.0)
BuildRequires: pkgconfig(microdns) >= 0.2.0
%endif
%define altlibver %(sed s/[.]/_/g <<< %{libver})
Requires: lib%{name}-%{altlibver}-%{sover} = %{version}
Requires: lib%{name}-gtk-%{altlibver}-%{sover} = %{version}
Requires: gstreamer >= %{gst_version}
Requires: gstreamer-plugins-bad >= %{gst_version}
Requires: gstreamer-plugins-base >= %{gst_version}
Requires: gstreamer-plugins-good >= %{gst_version}
# Popular video decoders
Recommends: gstreamer-plugins-libav >= %{gst_version}
# CD Playback
Suggests: gstreamer-plugins-ugly
%global _description %{expand:
A modern media player powered by GStreamer and built for the GNOME desktop environment.}
%package -n lib%{name}-%{altlibver}-%{sover}
Summary: Media player components
Group: Productivity/Multimedia/Video/Players
License: LGPL-2.1-or-later
%package -n typelib-1_0-%{gstlib}-%{altlibver}
Summary: Introspection bindings for lib%{name}-%{altlibver}-%{sover}
Group: System/Libraries
License: LGPL-2.1-or-later
Requires: lib%{name}-%{altlibver}-%{sover} = %{version}
%package -n lib%{name}-gtk-%{altlibver}-%{sover}
Summary: GTK media player component
Group: Productivity/Multimedia/Video/Players
License: LGPL-2.1-or-later
Requires: lib%{name}-%{altlibver}-%{sover} = %{version}
%package -n typelib-1_0-%{gstlib}Gtk-%{altlibver}
Summary: Introspection bindings for lib%{name}-gtk-%{altlibver}-%{sover}
Group: System/Libraries
License: LGPL-2.1-or-later
Requires: lib%{name}-gtk-%{altlibver}-%{sover} = %{version}
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
License: LGPL-2.1-or-later
Requires: lib%{name}-%{altlibver}-%{sover} = %{version}
Requires: lib%{name}-gtk-%{altlibver}-%{sover} = %{version}
Requires: typelib-1_0-%{gstlib}-%{altlibver} = %{version}
Requires: typelib-1_0-%{gstlib}Gtk-%{altlibver} = %{version}
%description %{_description}
%description -n lib%{name}-%{altlibver}-%{sover} %{_description}
%description -n typelib-1_0-%{gstlib}-%{altlibver} %{_description}
This subpackage provides the GObject Introspection bindings for
lib%{name}-%{altlibver}-%{sover}.
%description -n lib%{name}-gtk-%{altlibver}-%{sover} %{_description}
%description -n typelib-1_0-%{gstlib}Gtk-%{altlibver} %{_description}
This subpackage provides the GObject Introspection bindings for
lib%{name}-gtk-%{altlibver}-%{sover}.
%description devel %{_description}
This subpackage holds the required files to compile against
lib%{name}.
%lang_package
%prep
%autosetup -p1
%build
%meson \
-Denhancers-loader=%{?with_enhancers:enabled}%{!?with_enhancers:disabled} \
-Dserver=%{?with_server:enabled}%{!?with_server:disabled} \
%{nil}
%meson_build
%install
%meson_install
%find_lang %{name}-app
%find_lang %{name}-gtk
%ldconfig_scriptlets -n lib%{name}-%{altlibver}-%{sover}
%ldconfig_scriptlets -n lib%{name}-gtk-%{altlibver}-%{sover}
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{uuid}.desktop
%files
%license COPYING-GPL
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/%{uuid}.desktop
%{_datadir}/dbus-1/services/%{uuid}.service
%{_datadir}/glib-2.0/schemas/%{uuid}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{uuid}*.svg
%{_datadir}/metainfo/%{uuid}.metainfo.xml
%{_datadir}/mime/packages/%{uuid}.xml
%files -n lib%{name}-%{altlibver}-%{sover}
%license COPYING-LGPL
%{_libdir}/lib%{name}-%{libver}.so.%{sover}
%{_libdir}/lib%{name}-%{libver}.so.%{libsuffix}
%{_libdir}/libgst%{name}glcontexthandler.so.%{sover}
%{_libdir}/libgst%{name}glcontexthandler.so.%{libsuffix}
%{_libdir}/gstreamer-1.0/libgst%{name}.so
%{_libdir}/%{name}-%{libver}/
%files -n typelib-1_0-%{gstlib}-%{altlibver}
%{_libdir}/girepository-1.0/%{gstlib}-%{libver}.typelib
%files -n lib%{name}-gtk-%{altlibver}-%{sover}
%license COPYING-LGPL
%{_libdir}/lib%{name}-gtk-%{libver}.so.%{sover}
%{_libdir}/lib%{name}-gtk-%{libver}.so.%{libsuffix}
%files -n typelib-1_0-%{gstlib}Gtk-%{altlibver}
%{_libdir}/girepository-1.0/%{gstlib}Gtk-%{libver}.typelib
%files devel
%{_datadir}/gir-1.0/%{gstlib}-%{libver}.gir
%{_datadir}/gir-1.0/%{gstlib}Gtk-%{libver}.gir
%{_datadir}/vala/vapi/%{name}-%{libver}.{deps,vapi}
%{_datadir}/vala/vapi/%{name}-gtk-%{libver}.{deps,vapi}
%{_includedir}/%{name}-%{libver}/
%{_libdir}/lib%{name}-%{libver}.so
%{_libdir}/lib%{name}-gtk-%{libver}.so
%{_libdir}/libgst%{name}glcontexthandler.so
%{_libdir}/pkgconfig/%{name}-%{libver}.pc
%{_libdir}/pkgconfig/%{name}-gtk-%{libver}.pc
%files lang -f %{name}-app.lang -f %{name}-gtk.lang
%changelog