Enable asfdemux, dvdlpcmdec, dvdsub, and realmedia plugins

Disable AMR plugins in RHEL builds
Resolves: rhbz#2236889
This commit is contained in:
Yaakov Selkowitz 2023-12-20 17:47:24 -05:00
parent de612f096a
commit 81bfb062b7
4 changed files with 32 additions and 112 deletions

1
.gitignore vendored
View File

@ -40,3 +40,4 @@
/gst-plugins-ugly-free-1.22.5.tar.xz
/gst-plugins-ugly-free-1.22.7.tar.xz
/gst-plugins-ugly-free-1.22.8.tar.xz
/gst-plugins-ugly-1.22.8.tar.xz

View File

@ -1,98 +0,0 @@
#!/bin/sh
# Process a gst-plugins-ugly tarball to remove
# unwanted GStreamer plugins.
#
# See https://bugzilla.redhat.com/show_bug.cgi?id=1397261
# for details
#
# Bastien Nocera <bnocera@redhat.com> - 2010
# Yaakov Selkowitz <yselkowi@redhat.com> - 2016
#
SOURCE="$1"
NEW_SOURCE=`echo $SOURCE | sed 's/ugly-/ugly-free-/'`
DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'`
ALLOWED="
xingmux
"
NOT_ALLOWED="
asfdemux
dvdlpcmdec
dvdsub
realmedia
"
error()
{
MESSAGE=$1
echo $MESSAGE
exit 1
}
check_allowed()
{
MODULE=$1
for i in $ALLOWED ; do
if test x$MODULE = x$i ; then
return 0;
fi
done
# Ignore errors coming from ext/ directory
# they require external libraries so are ineffective anyway
return 1;
}
check_not_allowed()
{
MODULE=$1
for i in $NOT_ALLOWED ; do
if test x$MODULE = x$i ; then
return 0;
fi
done
return 1;
}
rm -rf $DIRECTORY
tar xJf $SOURCE || error "Cannot unpack $SOURCE"
pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\""
unknown=""
for subdir in gst ext; do
for dir in $subdir/* ; do
# Don't touch non-directories
if ! [ -d $dir ] ; then
continue;
fi
MODULE=`basename $dir`
if ( check_not_allowed $MODULE ) ; then
echo "**** Removing $MODULE ****"
echo "Removing directory $dir"
rm -r $dir || error "Cannot remove $dir"
echo
elif test $subdir = ext || test $subdir = sys; then
# Ignore library or system non-blacklisted plugins
continue;
elif ! ( check_allowed $MODULE ) ; then
echo "Unknown module in $dir"
unknown="$unknown $dir"
fi
done
done
echo
if test "x$unknown" != "x"; then
echo -n "Aborting due to unknown modules: "
echo "$unknown" | sed "s/ /\n /g"
exit 1
fi
popd > /dev/null
tar cJf $NEW_SOURCE $DIRECTORY
echo "$NEW_SOURCE is ready to use"

View File

@ -1,12 +1,19 @@
%global majorminor 1.0
# Only build amrnb/amrwbdec on fedora
%if 0%{?fedora}
%bcond_without amr
%else
%bcond_with amr
%endif
#global gitrel 140
#global gitcommit 4ca3a22b6b33ad8be4383063e76f79c4d346535d
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
Name: gstreamer1-plugins-ugly-free
Version: 1.22.8
Release: 1%{?dist}
Release: 2%{?dist}
Summary: GStreamer streaming media framework "ugly" plugins
License: LGPLv2+ and LGPLv2
@ -14,14 +21,10 @@ URL: http://gstreamer.freedesktop.org/
%if 0%{?gitrel}
# git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-ugly
# cd gst-plugins-ugly; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck
# modified with gst-p-ugly-cleanup.sh from SOURCE1
Source0: gst-plugins-ugly-%{version}.tar.xz
%else
# The source is:
# http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-%{version}.tar.xz
# modified with gst-p-ugly-cleanup.sh from SOURCE1
Source0: https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-%{version}.tar.xz
%endif
Source0: gst-plugins-ugly-free-%{version}.tar.xz
Source1: gst-p-ugly-cleanup.sh
BuildRequires: meson >= 0.48.0
BuildRequires: gcc
@ -36,10 +39,12 @@ BuildRequires: liba52-devel
BuildRequires: libcdio-devel
BuildRequires: libdvdread-devel
BuildRequires: libmpeg2-devel
%if %{with amr}
BuildRequires: opencore-amr-devel
%endif
# when amr* were moved here from -ugly
Conflicts: gstreamer1-plugins-ugly < 1.20.5-2
# when asfdemux, dvdlpcmdec, dvdsub, and realmedia were moved here
Conflicts: gstreamer1-plugins-ugly < 1.22.7-2
%description
GStreamer is a streaming media framework, based on graphs of elements which
@ -70,10 +75,11 @@ is not fully compatible with LGPL.
%meson \
-D package-name="Fedora GStreamer-plugins-ugly package" \
-D package-origin="http://download.fedoraproject.org" \
%{!?with_amr:-D amrnb=disabled -D amrwbdec=disabled } \
-D doc=disabled \
-D sidplay=disabled \
-D x264=disabled -D asfdemux=disabled -D dvdlpcmdec=disabled \
-D dvdsub=disabled -D realmedia=disabled -D gpl=enabled
-D x264=disabled \
-D gpl=enabled
%meson_build
@ -136,15 +142,21 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
%{_datadir}/appdata/*.appdata.xml
# Plugins without external dependencies
%{_libdir}/gstreamer-%{majorminor}/libgstasf.so
%{_libdir}/gstreamer-%{majorminor}/libgstdvdlpcmdec.so
%{_libdir}/gstreamer-%{majorminor}/libgstdvdsub.so
%{_libdir}/gstreamer-%{majorminor}/libgstrealmedia.so
# Plugins with external dependencies
%{_libdir}/gstreamer-%{majorminor}/libgsta52dec.so
%{_libdir}/gstreamer-%{majorminor}/libgstamrnb.so
%{_libdir}/gstreamer-%{majorminor}/libgstamrwbdec.so
%{_libdir}/gstreamer-%{majorminor}/libgstcdio.so
%{_libdir}/gstreamer-%{majorminor}/libgstdvdread.so
%{_libdir}/gstreamer-%{majorminor}/libgstmpeg2dec.so
%if %{with amr}
%{_libdir}/gstreamer-%{majorminor}/libgstamrnb.so
%{_libdir}/gstreamer-%{majorminor}/libgstamrwbdec.so
%{_datadir}/gstreamer-%{majorminor}/presets/GstAmrnbEnc.prs
%endif
%if 0
%files devel
@ -152,6 +164,11 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
%endif
%changelog
* Wed Dec 20 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.8-2
- Enable asfdemux, dvdlpcmdec, dvdsub, and realmedia plugins
- Disable AMR plugins in RHEL builds
- Resolves: rhbz#2236889
* Mon Dec 18 2023 Gwyn Ciesla <gwync@protonmail.com> - 1.22.8-1
- 1.22.8

View File

@ -1 +1 @@
SHA512 (gst-plugins-ugly-free-1.22.8.tar.xz) = c4b6b8739e67edad83931573b1c86b8b668289b7d67f346961edbdd7428bd7645f3f6998bb1585a494c81b3d256193ffc8c6524055d2e0bfa7353f5a96f2a91f
SHA512 (gst-plugins-ugly-1.22.8.tar.xz) = 4c0d0ca3e8e11288ad852ec4c13755b9624ec65a12ef68bdda192326cf205337f766958c4f75d605b04a4f1a06cfff27f418061e9db02119b2fa4c9c0fbb49fe