%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}

%define major 1.0

%define _gst_ver	1.18.0
%define _glib2_ver	2.55.0
%define _gtk3_ver	3.20.6
%define _qt5_ver	5.15
%define _check_ver	0.9.2
%define _python_ver	3.8
%define _alsa_lib_ver	0.9.1
%define _libogg_ver	1.0
%define _libvorbis_ver	1.0
%define _freetype2_ver	2.0.9
%define _orc_ver	0.4.22

%define po_package	gst-plugins-base-%{major}

Summary:	GStreamer Streaming-media framework base plugins
Summary(ja):	GStreamer ストリーミングメディアフレームワーク用基本プラグイン
Name:		gstreamer1-plugins-base
Version:	1.18.4
Release:	1%{?_dist_release}
Group:		system,multimedia
Vendor:		Project Vine
Distribution:	Vine Linux

License:	LGPL
URL:		https://gstreamer.freedesktop.org/
Source:		https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz
Patch0:		0001-missing-plugins-Remove-the-mpegaudioversion-field.patch

BuildRoot:	%{_tmppath}/%{name}-%{version}-root

BuildRequires:	alsa-lib-devel >= %{_alsa_lib_ver}
BuildRequires:	gdk-pixbuf2-devel
BuildRequires:	gstreamer1-devel >= %{_gst_ver}
BuildRequires:	gtk3-devel >= %{_gtk3_ver}
BuildRequires:	cdparanoia-devel
BuildRequires:	libjpeg-turbo-devel
BuildRequires:	libogg-devel >= %{_libogg_ver}
BuildRequires:	libtheora-devel
BuildRequires:	libvorbis-devel >= %{_libvorbis_ver}
BuildRequires:	libXv-devel
BuildRequires:	meson
BuildRequires:	opus-devel
BuildRequires:	orc-devel >= %{_orc_ver}
BuildRequires:	pango-devel
# for autogen.sh
BuildRequires:	mesa-libGL-devel
BuildRequires:	mesa-libGLES-devel
BuildRequires:	mesa-libGLU-devel
BuildRequires:	mesa-libEGL-devel
BuildRequires:	wayland-devel
BuildRequires:	egl-wayland-devel
BuildRequires:	graphene-devel
# pkgconfig-style deps specifically searched-for by autotools/configure
BuildRequires:	pkgconfig(wayland-client) >= 1.0
BuildRequires:	pkgconfig(wayland-cursor) >= 1.0
BuildRequires:	pkgconfig(wayland-egl)
BuildRequires:	pkgconfig(wayland-protocols) >= 1.15
BuildRequires:	iso-codes

Requires:	gstreamer1 >= %{_gst_ver}

%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
plugins.

This package contains a set of well-maintained base plugins.


%package devel
Summary:	Libraries/include files for GStreamer base plugins
Summary(ja):	GStreamer 基本プラグインの開発用ライブラリ
Group:		programming
Requires:	%{name} = %{version}-%{release}
Requires:	gstreamer1-devel >= %{_gst_ver}

%description devel
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 GStreamer base plugins library depvelopment and header
files.


# compat32
%package -n compat32-%{name}
Summary:	GStreamer Streaming-media framework base plugins
Summary(ja):	GStreamer ストリーミングメディアフレームワーク用基本プラグイン
Group:		system,multimedia,legacy
Requires:	%{name} = %{version}-%{release}

%description -n compat32-%{name}
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 a set of well-maintained base plugins.


%package -n compat32-%{name}-devel
Summary:	Libraries/include files for GStreamer base plugins
Summary(ja):	GStreamer 基本プラグインの開発用ライブラリ
Group:		programming,legacy
Requires:	compat32-%{name} = %{version}-%{release}
Requires:	%{name}-devel = %{version}-%{release}
Requires:	compat32-gstreamer1-devel >= %{_gst_ver}

%description -n compat32-%{name}-devel
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 GStreamer base plugins library depvelopment and header
files.


%debug_package


%prep
%setup -q -n gst-plugins-base-%{version}
%patch0 -p1


%build
%meson \
  -Dpackage-name='Vine Linux GStreamer-plugins-base package' \
  -Dpackage-origin='https://vinelinux.org/' \
  -Ddoc=disabled \
  -Dgtk_doc=disabled \
  -Dorc=enabled \
  -Dtremor=disabled \
  -Dlibvisual=disabled \
  -Dtests=disabled \
  -Dexamples=disabled
%meson_build


%install
[ -n $RPM_BUILD_ROOT -a $RPM_BUILD_ROOT != / ] && rm -rf $RPM_BUILD_ROOT
%meson_install

%find_lang %{po_package}

# Clean out files that should not be part of the rpm.
find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'


%clean
[ -n $RPM_BUILD_ROOT -a $RPM_BUILD_ROOT != / ] && rm -rf $RPM_BUILD_ROOT


%files -f %{po_package}.lang
%defattr(-,root,root)
%license COPYING*
%doc AUTHORS ChangeLog NEWS README RELEASE REQUIREMENTS
# helper programs
%{_bindir}/gst-*
%{_mandir}/man1/gst-*
# libraries
%{_libdir}/libgst*-%{major}.so.*
%{_libdir}/girepository-1.0/*.typelib
%{_libdir}/gstreamer-%{major}/libgst*.so
%{_datadir}/gst-plugins-base/1.0/license-translations.dict

%files devel
%defattr(-,root,root)
%{_datadir}/gir-1.0/*.gir
%dir %{_includedir}/gstreamer-%{major}
%dir %{_includedir}/gstreamer-%{major}/gst
%{_includedir}/gstreamer-%{major}/gst/*
%dir %{_libdir}/gstreamer-%{major}
%{_libdir}/gstreamer-%{major}/*
%{_libdir}/pkgconfig/*.pc
%{_libdir}/libgst*-%{major}.so

# compat32
%if %{build_compat32}
%files -n compat32-%{name}
%defattr(-,root,root)
%{_libdir}/libgst*-%{major}.so.*
%{_libdir}/gstreamer-%{major}/*.so

%files -n compat32-%{name}-devel
%defattr(-,root,root)
%{_libdir}/libgst*-%{major}.so
%endif


%changelog
* Fri Apr 23 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.18.4-1
- new upstream release.
- dropped ldconfig scriptlets.

* Fri Apr 17 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.16.2-1
- new upstream release.

* Sat Jun 22 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.16.0-1
- new upstream release.
- disabled to build docs.

* Thu Feb 22 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.12.4-1
- new upstream release.

* Fri Jul 15 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.8.2-1
- new upstream release

* Wed May 04 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.6.4-1
- new upstream release

* Sun Jan 24 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.6.3-1
- new upstream release

* Sat Dec 19 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.6.2-1
- new upstream release

* Sat Oct 31 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.6.1-1
- new upstream release

* Sun Mar 01 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.4.5-1
- new upstream release

* Mon Nov 17 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.4.4-1
- new upstream release

* Sun Oct 26 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.4.3-1
- new upstream release

* Sat Apr 19 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.2.4-1
- new upstream release

* Sun Mar 16 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.2.3-1
- new upstream release

* Mon Dec 30 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.2.2-1
- new upstream release

* Sun Nov 24 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.2.1-1
- new upstream release

* Sat Oct 26 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.2.0-1
- new upstream release

* Sat Aug 31 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.10-1
- new upstream release

* Sun Aug 11 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.9-1
- new upstream release

* Mon Jul 15 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.8-1
- new upstream release

* Sun Apr 28 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.7-1
- new upstream release

* Sat Mar 23 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.6-1
- new upstream release

* Wed Jan 09 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.5-1
- new upstream release

* Wed Jan 02 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.4-1
- new upstream release

* Fri Oct 26 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.2-1
- new upstream release

* Mon Oct 08 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.1-1
- new upstream release

* Fri Sep 28 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.0-1
- initial build
