%define api 1.0 %define major 0 %define bname gstreamer%{api} %define libname %mklibname gstreamer-plugins-base %{api} %{major} %define girname %mklibname gstreamer-plugins-base-gir %{api} %define develname %mklibname -d gstreamer-plugins-base %{api} %define libgstgl %mklibname gstgl %{api} %{major} %define gstglgir %mklibname gstgl-gir %{api} # Disabled as we don't have hotdoc %bcond_with docs Summary: GStreamer Streaming-media framework plug-ins Name: %{bname}-plugins-base Version: 1.18.3 Release: %mkrel 2 License: LGPLv2+ Group: Sound/Utilities URL: https://gstreamer.freedesktop.org/ Source: https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz Patch0: align.patch Patch1: gst-plugins-base-meson-nosse.patch BuildRequires: cmake BuildRequires: git-core BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(graphene-1.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-x11-3.0) BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libvisual-0.4) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(orc-0.4) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(theoradec) BuildRequires: pkgconfig(theoraenc) BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(vorbisenc) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xv) BuildRequires: pkgconfig(xext) BuildRequires: libcdda-devel BuildRequires: gstreamer%{api}-devel >= %{version} BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: gettext-devel %if %{with docs} BuildRequires: gtk-doc %endif BuildRequires: iso-codes #gw we need some fonts for the tests BuildRequires: fonts-ttf-dejavu BuildRequires: pkgconfig(check) BuildRequires: meson Provides: %{bname}-plugins %if %{with docs} BuildRequires: gtk-doc %endif %ifarch %ix86 BuildRequires: nasm >= 0.90 %endif %ifarch %{valgrind_arches} BuildRequires: pkgconfig(valgrind) %endif %description GStreamer is a streaming-media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. Its plugin-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. This package contains a set of reference plugins, base classes for other plugins, and helper libraries: * device plugins: x(v)imagesink, alsa, v4lsrc, cdparanoia * containers: ogg * codecs: vorbis, theora * text: textoverlay, subparse * sources: audiotestsrc, videotestsrc, gnomevfssrc * network: tcp * typefind * audio processing: audioconvert, adder, audiorate, audioscale, volume * visualisation: libvisual * video processing: ffmpegcolorspace * aggregate elements: decodebin, playbin %prep %setup -q -n gst-plugins-base-%{version} %patch0 -p1 %ifarch %{ix86} %patch1 -p1 %endif %build %meson \ -Dgtk_doc=%{?_with_docs:enabled}%{?!_with_docs:disabled} \ -Ddoc=%{?_with_docs:enabled}%{?!_with_docs:disabled} \ -Dtremor=disabled \ -Dexamples=disabled \ -Dtests=disabled \ -Dlibvisual=enabled \ -Dorc=enabled \ -Diso-codes=enabled \ -Dpackage-name='%{_vendor} %{name} package' \ -Dpackage-origin='https://www.%{_real_vendor}.org/' %meson_build %install %meson_install %find_lang gst-plugins-base-%{api} %files -f gst-plugins-base-%{api}.lang %doc AUTHORS COPYING README NEWS %{_bindir}/gst-discoverer-%{api} %{_bindir}/gst-device-monitor-%{api} %{_bindir}/gst-play-%{api} %{_mandir}/man1/gst-discoverer-%{api}.1.* %{_mandir}/man1/gst-device-monitor-%{api}.1.* %{_mandir}/man1/gst-play-%{api}.1.* # non-core plugins without external dependencies %{_libdir}/gstreamer-%{api}/libgstapp.so %{_libdir}/gstreamer-%{api}/libgstaudioconvert.so %{_libdir}/gstreamer-%{api}/libgstaudiomixer.so %{_libdir}/gstreamer-%{api}/libgstaudiorate.so %{_libdir}/gstreamer-%{api}/libgstaudioresample.so %{_libdir}/gstreamer-%{api}/libgstaudiotestsrc.so %{_libdir}/gstreamer-%{api}/libgstcompositor.so %{_libdir}/gstreamer-%{api}/libgstencoding.so %{_libdir}/gstreamer-%{api}/libgstgio.so %{_libdir}/gstreamer-%{api}/libgstpbtypes.so %{_libdir}/gstreamer-%{api}/libgstpango.so %{_libdir}/gstreamer-%{api}/libgstrawparse.so %{_libdir}/gstreamer-%{api}/libgstsubparse.so %{_libdir}/gstreamer-%{api}/libgsttcp.so %{_libdir}/gstreamer-%{api}/libgstvolume.so %{_libdir}/gstreamer-%{api}/libgstadder.so %{_libdir}/gstreamer-%{api}/libgsttypefindfunctions.so %{_libdir}/gstreamer-%{api}/libgstvideotestsrc.so %{_libdir}/gstreamer-%{api}/libgsttheora.so %{_libdir}/gstreamer-%{api}/libgstogg.so %{_libdir}/gstreamer-%{api}/libgstopengl.so %{_libdir}/gstreamer-%{api}/libgstopus.so %{_libdir}/gstreamer-%{api}/libgstoverlaycomposition.so %{_libdir}/gstreamer-%{api}/libgstvideorate.so %{_libdir}/gstreamer-%{api}/libgstvideoscale.so %{_libdir}/gstreamer-%{api}/libgstvorbis.so %{_libdir}/gstreamer-%{api}/libgstximagesink.so %{_libdir}/gstreamer-%{api}/libgstxvimagesink.so %{_libdir}/gstreamer-%{api}/libgstalsa.so %{_libdir}/gstreamer-%{api}/libgstplayback.so %{_libdir}/gstreamer-%{api}/libgstvideoconvert.so %package -n %{libname} Group: System/Libraries Summary: GStreamer plugin libraries %description -n %{libname} This package contain the basic audio and video playback library and the interfaces library. %files -n %{libname} %{_libdir}/libgstallocators-%{api}.so.%{major}{,.*} %{_libdir}/libgstapp-%{api}.so.%{major}{,.*} %{_libdir}/libgstaudio-%{api}.so.%{major}{,.*} %{_libdir}/libgstfft-%{api}.so.%{major}{,.*} %{_libdir}/libgstpbutils-%{api}.so.%{major}{,.*} %{_libdir}/libgstriff-%{api}.so.%{major}{,.*} %{_libdir}/libgstrtp-%{api}.so.%{major}{,.*} %{_libdir}/libgstrtsp-%{api}.so.%{major}{,.*} %{_libdir}/libgstsdp-%{api}.so.%{major}{,.*} %{_libdir}/libgsttag-%{api}.so.%{major}{,.*} %{_libdir}/libgstvideo-%{api}.so.%{major}{,.*} %package -n %{girname} Group: System/Libraries Summary: GObject Introspection interface description for %{name} Requires: %{libname} = %{version}-%{release} %description -n %{girname} GObject Introspection interface description for %{name}. %files -n %{girname} %{_libdir}/girepository-1.0/GstAllocators-%{api}.typelib %{_libdir}/girepository-1.0/GstApp-%{api}.typelib %{_libdir}/girepository-1.0/GstAudio-%{api}.typelib %{_libdir}/girepository-1.0/GstPbutils-%{api}.typelib %{_libdir}/girepository-1.0/GstRtp-%{api}.typelib %{_libdir}/girepository-1.0/GstRtsp-%{api}.typelib %{_libdir}/girepository-1.0/GstSdp-%{api}.typelib %{_libdir}/girepository-1.0/GstTag-%{api}.typelib %{_libdir}/girepository-1.0/GstVideo-%{api}.typelib %package -n %{gstglgir} Summary: GObject Introspection interface description for GstGL Group: System/Libraries Requires: %{libgstgl} = %{version}-%{release} %description -n %{gstglgir} GObject Introspection interface description for GstGL. %files -n %{gstglgir} %{_libdir}/girepository-1.0/GstGL-%{api}.typelib %{_libdir}/girepository-1.0/GstGLEGL-%{api}.typelib %{_libdir}/girepository-1.0/GstGLWayland-%{api}.typelib %{_libdir}/girepository-1.0/GstGLX11-%{api}.typelib %package -n %{develname} Summary: GStreamer Plugin Library Headers Group: Development/C Requires: %{libname} = %{version}-%{release} Requires: %{girname} = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: %{libgstgl} = %{version}-%{release} Requires: %{gstglgir} = %{version}-%{release} Provides: libgstreamer%{api}-plugins-base-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{develname} GStreamer support libraries header files. %files -n %{develname} %if %{with docs} %doc %{_datadir}/gtk-doc/html/* %endif %{_includedir}/gstreamer-%{api}/gst/* %dir %{_libdir}/gstreamer-%{api}/include/ %dir %{_libdir}/gstreamer-%{api}/include/gst/ %dir %{_libdir}/gstreamer-%{api}/include/gst/gl/ %{_libdir}/gstreamer-%{api}/include/gst/gl/gstglconfig.h %{_libdir}/pkgconfig/gstreamer-allocators-%{api}.pc %{_libdir}/pkgconfig/gstreamer-app-%{api}.pc %{_libdir}/pkgconfig/gstreamer-audio-%{api}.pc %{_libdir}/pkgconfig/gstreamer-fft-%{api}.pc %{_libdir}/pkgconfig/gstreamer-gl-%{api}.pc %{_libdir}/pkgconfig/gstreamer-gl-egl-%{api}.pc %{_libdir}/pkgconfig/gstreamer-gl-prototypes-%{api}.pc %{_libdir}/pkgconfig/gstreamer-gl-wayland-%{api}.pc %{_libdir}/pkgconfig/gstreamer-gl-x11-%{api}.pc %{_libdir}/pkgconfig/gstreamer-pbutils-%{api}.pc %{_libdir}/pkgconfig/gstreamer-plugins-base-%{api}.pc %{_libdir}/pkgconfig/gstreamer-riff-%{api}.pc %{_libdir}/pkgconfig/gstreamer-rtp-%{api}.pc %{_libdir}/pkgconfig/gstreamer-rtsp-%{api}.pc %{_libdir}/pkgconfig/gstreamer-sdp-%{api}.pc %{_libdir}/pkgconfig/gstreamer-tag-%{api}.pc %{_libdir}/pkgconfig/gstreamer-video-%{api}.pc %{_libdir}/libgstallocators-%{api}.so %{_libdir}/libgstaudio-%{api}.so %{_libdir}/libgstapp-%{api}.so %{_libdir}/libgstfft-%{api}.so %{_libdir}/libgstgl-%{api}.so %{_libdir}/libgstpbutils-%{api}.so %{_libdir}/libgstriff-%{api}.so %{_libdir}/libgstrtp-%{api}.so %{_libdir}/libgstrtsp-%{api}.so %{_libdir}/libgsttag-%{api}.so %{_libdir}/libgstsdp-%{api}.so %{_libdir}/libgstvideo-%{api}.so %{_datadir}/gir-1.0/GstAllocators-%{api}.gir %{_datadir}/gir-1.0/GstApp-%{api}.gir %{_datadir}/gir-1.0/GstAudio-%{api}.gir %{_datadir}/gir-1.0/GstGL-%{api}.gir %{_datadir}/gir-1.0/GstGLEGL-%{api}.gir %{_datadir}/gir-1.0/GstGLWayland-%{api}.gir %{_datadir}/gir-1.0/GstGLX11-%{api}.gir %{_datadir}/gir-1.0/GstPbutils-%{api}.gir %{_datadir}/gir-1.0/GstRtp-%{api}.gir %{_datadir}/gir-1.0/GstRtsp-%{api}.gir %{_datadir}/gir-1.0/GstSdp-%{api}.gir %{_datadir}/gir-1.0/GstTag-%{api}.gir %{_datadir}/gir-1.0/GstVideo-%{api}.gir %{_datadir}/gst-plugins-base/%{api}/license-translations.dict ### ### CDPARANOIA ### %package -n %{bname}-cdparanoia Summary: Gstreamer plugin for CD audio input using CDParanoia IV Group: Sound/Utilities Requires: %{name} = %{version}-%{release} %description -n %{bname}-cdparanoia Plugin for ripping audio tracks using cdparanoia under GStreamer. %files -n %{bname}-cdparanoia %{_libdir}/gstreamer-%{api}/libgstcdparanoia.so %package -n %{bname}-libvisual Summary: GStreamer visualisations plug-in based on libvisual Group: Video/Utilities Requires: %{name} = %{version}-%{release} %description -n %{bname}-libvisual This plugin makes visualisations based on libvisual available for GStreamer applications. %files -n %{bname}-libvisual %{_libdir}/gstreamer-%{api}/libgstlibvisual.so %package -n %{libgstgl} Summary: Libraries for GStreamer streaming-media framework Group: System/Libraries %description -n %{libgstgl} GStreamer is a streaming-media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. Its plugin-based architecture means that new data types or processing capabilities can be added simply by installing new plugins. This package contains the libraries. %files -n %{libgstgl} %{_libdir}/libgstgl-%{api}.so.%{major}{,.*}