diff --git a/gstreamer1-plugins-bad-free.spec b/gstreamer1-plugins-bad-free.spec index 1f6ecb2..b01a6c9 100644 --- a/gstreamer1-plugins-bad-free.spec +++ b/gstreamer1-plugins-bad-free.spec @@ -2,11 +2,8 @@ %global _gobject_introspection 1.31.1 # Only have extras package on fedora -%if 0%{?fedora} -%bcond_without extras -%else -%bcond_with extras -%endif +%bcond extras %{defined fedora} +%bcond opencv %[ 0%{?fedora} >= 39 ] #global gitrel 140 #global gitcommit 4ca3a22b6b33ad8be4383063e76f79c4d346535d @@ -112,9 +109,9 @@ BuildRequires: libmpcdec-devel #BuildRequires: libtimidity-devel BuildRequires: libva-devel BuildRequires: openal-soft-devel -## If enabled, adds ~90 additional deps; perhaps can be moved to a -## subpackage? -#BuildRequires: opencv-devel +%if %{with opencv} +BuildRequires: opencv-devel +%endif BuildRequires: openjpeg2-devel BuildRequires: pkgconfig(spandsp) >= 0.0.6 ## Plugins not ported @@ -215,6 +212,23 @@ plugin which allows playback of midi files. %endif +%if %{with opencv} +%package opencv +Summary: GStreamer "bad" plugins OpenCV plugins +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: opencv-data + +%description opencv +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +gstreamer-plugins-bad contains plug-ins that aren't tested well enough, +or the code is not of good enough quality. + +This package (%{name}-opencv) contains the OpenCV plugins. +%endif + + %package libs Summary: Runtime libraries for the GStreamer media framework "bad" plug-ins @@ -261,7 +275,8 @@ aren't tested well enough, or the code is not of good enough quality. %{!?with_extras:-D ttml=disabled -D kate=disabled } \ %{!?with_extras:-D modplug=disabled } \ %{!?with_extras:-D openal=disabled } \ - %{!?with_extras:-D opencv=disabled -D openjpeg=disabled } \ + %{!?with_opencv:-D opencv=disabled } \ + %{!?with_extras:-D openjpeg=disabled } \ %{!?with_extras:-D wildmidi=disabled -D zbar=disabled } \ %{!?with_extras:-D gme=disabled -D lv2=disabled } \ %{!?with_extras:-D webrtc=disabled -D aom=disabled } \ @@ -272,7 +287,7 @@ aren't tested well enough, or the code is not of good enough quality. -D dts=disabled -D faac=disabled -D faad=disabled \ -D mpeg2enc=disabled -D mplex=disabled \ -D neon=disabled -D rtmp=disabled \ - -D flite=disabled -D sbc=disabled -D opencv=disabled \ + -D flite=disabled -D sbc=disabled \ %{!?with_extras:-D spandsp=disabled -D va=disabled } \ %{!?with_extras:-D voamrwbenc=disabled } \ -D x265=disabled \ @@ -299,6 +314,12 @@ aren't tested well enough, or the code is not of good enough quality. %install %meson_install +%if %{with opencv} +# no pkgconfig file or GIR, nothing aside from the plugin uses the library +rm -f $RPM_BUILD_ROOT%{_includedir}/gstreamer-%{majorminor}/gst/opencv/* +rm -f $RPM_BUILD_ROOT%{_libdir}/libgstopencv-%{majorminor}.so +%endif + # Register as an AppStream component to be visible in the software center # # NOTE: It would be *awesome* if this file was maintained by the upstream @@ -378,9 +399,6 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout %{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/webm.gep %{_datadir}/gstreamer-%{majorminor}/encoding-profiles/online-services/youtube.gep -# opencv data -#{_datadir}/gst-plugins-bad/%{majorminor}/opencv_haarcascades/ - # Plugins without external dependencies %{_libdir}/gstreamer-%{majorminor}/libgstaccurip.so %{_libdir}/gstreamer-%{majorminor}/libgstadpcmdec.so @@ -523,7 +541,6 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout %{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so %{_libdir}/gstreamer-%{majorminor}/libgstmusepack.so %{_libdir}/gstreamer-%{majorminor}/libgstopenal.so -#{_libdir}/gstreamer-%{majorminor}/libgstopencv.so %{_libdir}/gstreamer-%{majorminor}/libgstopenexr.so %{_libdir}/gstreamer-%{majorminor}/libgstopenjpeg.so %{_libdir}/gstreamer-%{majorminor}/libgstopenmpt.so @@ -547,6 +564,13 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout %{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so %endif +%if %{with opencv} +%files opencv +# Plugins with external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstopencv.so +%{_libdir}/libgstopencv-%{majorminor}.so.0{,.*} +%endif + %files libs %license COPYING %{_libdir}/libgstadaptivedemux-%{majorminor}.so.0{,.*} @@ -690,6 +714,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout %changelog * Fri Sep 22 2023 Yaakov Selkowitz - 1.22.5-2 - Separate libs subpackage +- Enable opencv as separate subpackage * Fri Jul 21 2023 Wim Taymans - 1.22.5-1 - Update to 1.22.5