[gstreamer1-plugins-bad-free] Initial Fedora spec file

Brian Pepple bpepple at fedoraproject.org
Mon Aug 20 16:10:05 UTC 2012


commit 1487d419d1f73e8b7dc2e53f1f369af64ee07a72
Author: Brian Pepple <bpepple at fedoraproject.org>
Date:   Mon Aug 20 11:09:17 2012 -0500

    Initial Fedora spec file

 .gitignore                       |    1 +
 gst-p-bad-cleanup.sh             |  189 ++++++++++++++++++++++++++++
 gstreamer1-plugins-bad-free.spec |  251 ++++++++++++++++++++++++++++++++++++++
 sources                          |    1 +
 4 files changed, 442 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..61bfd7f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/gst-plugins-bad-free-0.11.93.tar.xz
diff --git a/gst-p-bad-cleanup.sh b/gst-p-bad-cleanup.sh
new file mode 100755
index 0000000..ac8d44f
--- /dev/null
+++ b/gst-p-bad-cleanup.sh
@@ -0,0 +1,189 @@
+#!/bin/sh
+
+# Process a gst-plugins-bad tarball to remove
+# unwanted GStreamer plugins.
+#
+# See https://bugzilla.redhat.com/show_bug.cgi?id=532470
+# for details
+#
+# Bastien Nocera <bnocera at redhat.com> - 2010
+#
+
+SOURCE="$1"
+NEW_SOURCE=`echo $SOURCE | sed 's/bad-/bad-free-/'`
+DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'`
+
+ALLOWED="
+aacparse
+adpcmdec
+adpcmenc
+aiff
+aiffparse
+amrparse
+asfmux
+audioparsers
+audiovisualizers
+autoconvert
+bayer
+camerabin
+camerabin2
+cdxaparse
+coloreffects
+colorspace
+dataurisrc
+dccp
+debugutils
+dtmf
+faceoverlay
+festival
+fieldanalysis
+freeverb
+freeze
+frei0r
+gaudieffects
+geometrictransform
+h264parse
+hdvparse
+hls
+id3tag
+inter
+interlace
+invtelecine
+ivfparse
+jpegformat
+jp2kdecimator
+legacyresample
+librfb
+liveadder
+mve
+mpegdemux
+mpeg4videoparse
+mpegpsmux
+mpegtsdemux
+mpegtsmux
+mpegvideoparse
+mxf
+nsf
+nuvdemux
+patchdetect
+pcapparse
+pnm
+qtmux
+rawparse
+removesilence
+rtpmux
+rtpvp8
+scaletempo
+sdi
+sdp
+segmentclip
+selector
+smooth
+speed
+stereo
+subenc
+tta
+valve
+videofilters
+videomaxrate
+videomeasure
+videoparsers
+videosignal
+vmnc
+y4m
+"
+
+NOT_ALLOWED="
+dvbsuboverlay
+dvdspu
+real
+siren
+"
+
+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 sys; 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"
+			if grep -q "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac ; then
+				echo "Removing element check for $MODULE"
+				grep -v "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
+			fi
+			echo "Removing Makefile generation for $MODULE"
+			grep -v "$dir/Makefile" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
+			# Urgh
+			if test $MODULE = real ; then
+				grep -v "AG_GST_DISABLE_PLUGIN(real)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
+			fi
+			echo "Removing documentation for $MODULE"
+			if grep -q "$MODULE" docs/plugins/Makefile.am ; then
+				grep -v $dir docs/plugins/Makefile.am > docs/plugins/Makefile.am.new && mv docs/plugins/Makefile.am.new docs/plugins/Makefile.am
+			fi
+			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 unkown modules: "
+  echo "$unknown" | sed "s/ /\n  /g"
+  exit 1
+fi
+
+autoreconf
+
+popd > /dev/null
+
+tar cJf $NEW_SOURCE $DIRECTORY
+echo "$NEW_SOURCE is ready to use"
+
diff --git a/gstreamer1-plugins-bad-free.spec b/gstreamer1-plugins-bad-free.spec
new file mode 100644
index 0000000..8d3b297
--- /dev/null
+++ b/gstreamer1-plugins-bad-free.spec
@@ -0,0 +1,251 @@
+%global majorminor 1.0
+
+# Turn of extras package on RHEL.
+%if ! 0%{?rhel}
+%bcond_without extras
+%else
+%bcond_with extras
+%endif
+
+Name:           gstreamer1-plugins-bad-free
+Version:        0.11.93
+Release:        2%{?dist}
+Summary:        GStreamer streaming media framework "bad" plugins
+
+License:        LGPLv2+ and LGPLv2
+URL:            http://gstreamer.freedesktop.org/
+# The source is:
+# http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz
+# modified with gst-p-bad-cleanup.sh from SOURCE1
+Source0:        gst-plugins-bad-free-%{version}.tar.xz
+Source1:        gst-p-bad-cleanup.sh
+
+BuildRequires:  gstreamer1-devel >= %{version}
+BuildRequires:  gstreamer1-plugins-base-devel >= %{version}
+
+BuildRequires:  check
+BuildRequires:  gettext-devel
+BuildRequires:  PyXML
+BuildRequires:  libXt-devel
+BuildRequires:  gtk-doc
+
+BuildRequires:  bzip2-devel
+BuildRequires:  exempi-devel
+BuildRequires:  gsm-devel
+BuildRequires:  jasper-devel
+## Plugin not ported
+#BuildRequires:  ladspa-devel
+BuildRequires:  libdvdnav-devel
+BuildRequires:  libexif-devel
+BuildRequires:  libiptcdata-devel
+BuildRequires:  libmpcdec-devel
+BuildRequires:  liboil-devel
+BuildRequires:  librsvg2-devel
+BuildRequires:  libsndfile-devel
+BuildRequires:  libvpx-devel
+BuildRequires:  mesa-libGLU-devel
+BuildRequires:  openssl-devel
+BuildRequires:  orc-devel
+Buildrequires:  wavpack-devel
+
+BuildRequires:  chrpath
+
+%if %{with extras}
+BuildRequires:  celt-devel
+## Plugins not ported
+#BuildRequires:  dirac-devel
+#BuildRequires:  gmyth-devel >= 0.4
+BuildRequires:  libass-devel
+## Plugin not ported
+#BuildRequires:  libcdaudio-devel
+BuildRequires:  libcurl-devel
+## Plugin not ported
+#BuildRequires:  libkate-devel
+BuildRequires:  libmodplug-devel
+## Plugins not ported
+#BuildRequires:  libmusicbrainz-devel
+#BuildRequires:  libtimidity-devel
+BuildRequires:  libvdpau-devel
+# Requires opencv version < 2.3.1, Rawhide currently has 2.4.2
+#BuildRequires:  opencv-devel
+BuildRequires:  schroedinger-devel
+## Plugins not ported
+#BuildRequires:  SDL-devel
+#BuildRequires:  slv2-devel
+BuildRequires:  soundtouch-devel
+#BuildRequires:  wildmidi-devel
+BuildRequires:  zbar-devel
+BuildRequires:  zvbi-devel
+%endif
+
+
+%description
+GStreamer is a streaming media framework, based on graphs of elements which
+operate on media data.
+
+This package contains plug-ins that aren't tested well enough, or the code
+is not of good enough quality.
+
+
+%if %{with extras}
+%package extras
+Summary:         Extra GStreamer "bad" plugins (less often used "bad" plugins)
+Requires:        %{name} = %{version}-%{release}
+
+
+%description extras
+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}-extras) contains
+extra "bad" plugins for sources (mythtv), sinks (fbdev) and
+effects (pitch) which are not used very much and require additional
+libraries to be installed.
+%endif
+
+
+%package devel
+Summary:        Development files for the GStreamer media framework "bad" plug-ins
+Requires:       %{name} = %{version}-%{release}
+Requires:       gstreamer1-plugins-base-devel
+
+
+%description devel
+GStreamer is a streaming media framework, based on graphs of elements which
+operate on media data.
+
+This package contains the development files for the plug-ins that
+aren't tested well enough, or the code is not of good enough quality.
+
+
+%prep
+%setup -q -n gst-plugins-bad-%{version}
+
+
+%build
+%configure \
+    --with-package-name="Fedora GStreamer-plugins-bad package" \
+    --with-package-origin="http://download.fedoraproject.org" \
+    %{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \
+    --enable-debug --disable-static --enable-gtk-doc --enable-experimental \
+    --disable-divx --disable-dts --disable-faac --disable-faad --disable-nas \
+    --disable-mimic --disable-libmms --disable-mpeg2enc --disable-mplex \
+    --disable-neon --disable-openal --disable-rtmp --disable-xvid
+make %{?_smp_mflags}
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+
+%find_lang gst-plugins-bad-%{majorminor}
+find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
+# Kill rpath
+chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstvideoparsersbad.so
+chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstcamerabin2.so
+
+
+%post -p /sbin/ldconfig
+
+
+%postun -p /sbin/ldconfig
+
+
+%files -f gst-plugins-bad-%{majorminor}.lang
+%doc AUTHORS COPYING COPYING.LIB README REQUIREMENTS
+%{_datadir}/gstreamer-%{majorminor}/presets/GstVP8Enc.prs
+
+%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.*
+%{_libdir}/libgstbasevideo-%{majorminor}.so.*
+%{_libdir}/libgstcodecparsers-%{majorminor}.so.*
+%{_libdir}/libgstphotography-%{majorminor}.so.*
+%{_libdir}/libgstsignalprocessor-%{majorminor}.so.*
+# Plugins without external dependencies
+%{_libdir}/gstreamer-%{majorminor}/libgstadpcmdec.so
+%{_libdir}/gstreamer-%{majorminor}/libgstadpcmenc.so
+%{_libdir}/gstreamer-%{majorminor}/libgstasfmux.so
+%{_libdir}/gstreamer-%{majorminor}/libgstaudiovisualizers.so
+%{_libdir}/gstreamer-%{majorminor}/libgstautoconvert.so
+%{_libdir}/gstreamer-%{majorminor}/libgstbayer.so
+%{_libdir}/gstreamer-%{majorminor}/libgstcamerabin2.so
+%{_libdir}/gstreamer-%{majorminor}/libgstcoloreffects.so
+%{_libdir}/gstreamer-%{majorminor}/libgstdataurisrc.so
+%{_libdir}/gstreamer-%{majorminor}/libgstdtmf.so
+%{_libdir}/gstreamer-%{majorminor}/libgstfestival.so
+%{_libdir}/gstreamer-%{majorminor}/libgstfragmented.so
+%{_libdir}/gstreamer-%{majorminor}/libgstgaudieffects.so
+%{_libdir}/gstreamer-%{majorminor}/libgstgeometrictransform.so
+%{_libdir}/gstreamer-%{majorminor}/libgstinterlace.so
+%{_libdir}/gstreamer-%{majorminor}/libgstmpegpsdemux.so
+%{_libdir}/gstreamer-%{majorminor}/libgstmpegtsdemux.so
+%{_libdir}/gstreamer-%{majorminor}/libgstmpegtsmux.so
+%{_libdir}/gstreamer-%{majorminor}/libgstpcapparse.so
+%{_libdir}/gstreamer-%{majorminor}/libgstrawparse.so
+%{_libdir}/gstreamer-%{majorminor}/libgstremovesilence.so
+%{_libdir}/gstreamer-%{majorminor}/libgstrtpmux.so
+%{_libdir}/gstreamer-%{majorminor}/libgstrtpvp8.so
+%{_libdir}/gstreamer-%{majorminor}/libgstscaletempoplugin.so
+%{_libdir}/gstreamer-%{majorminor}/libgstsdpelem.so
+%{_libdir}/gstreamer-%{majorminor}/libgstsegmentclip.so
+%{_libdir}/gstreamer-%{majorminor}/libgstshm.so
+%{_libdir}/gstreamer-%{majorminor}/libgstsmooth.so
+%{_libdir}/gstreamer-%{majorminor}/libgstvideoparsersbad.so
+%{_libdir}/gstreamer-%{majorminor}/libgsty4mdec.so
+
+# Plugins with external dependencies
+%{_libdir}/gstreamer-%{majorminor}/libgstbz2.so
+%{_libdir}/gstreamer-%{majorminor}/libgstgsm.so
+%{_libdir}/gstreamer-%{majorminor}/libgstvp8.so
+%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so
+
+#debugging plugin
+%{_libdir}/gstreamer-%{majorminor}/libgstdebugutilsbad.so
+
+
+%if %{with extras}
+%files extras
+# Plugins with external dependencies
+%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so
+%{_libdir}/gstreamer-%{majorminor}/libgstcelt.so
+%{_libdir}/gstreamer-%{majorminor}/libgstcurl.so
+%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so
+%{_libdir}/gstreamer-%{majorminor}/libgstschro.so
+%{_libdir}/gstreamer-%{majorminor}/libgstzbar.so
+%endif
+
+
+%files devel
+%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor}
+%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor}
+%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so
+%{_libdir}/libgstbasevideo-%{majorminor}.so
+%{_libdir}/libgstcodecparsers-%{majorminor}.so
+%{_libdir}/libgstphotography-%{majorminor}.so
+%{_libdir}/libgstsignalprocessor-%{majorminor}.so
+
+%{_includedir}/gstreamer-%{majorminor}/gst/basecamerabinsrc
+%{_includedir}/gstreamer-%{majorminor}/gst/codecparsers
+%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/photography*
+%{_includedir}/gstreamer-%{majorminor}/gst/signalprocessor
+%{_includedir}/gstreamer-%{majorminor}/gst/video
+
+# pkg-config files
+%{_libdir}/pkgconfig/gstreamer-basevideo-%{majorminor}.pc
+%{_libdir}/pkgconfig/gstreamer-codecparsers-%{majorminor}.pc
+%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
+
+%changelog
+* Sat Aug 18 2012 Brian Pepple <bpepple at fedoraproject.org> - 0.11.93-2
+- Fix permission on tarball clean-up script.
+- Re-enable soundtouch-devel.
+- Add COPYING.LIB to package.
+- Use %%global instead of %%define.
+
+* Wed Aug 15 2012 Brian Pepple <bpepple at fedoraproject.org> - 0.11.93-1
+- Update to 0.11.93.
+
+* Fri Jul 20 2012 Brian Pepple <bpepple at fedoraproject.org> - 0.11.92-1
+- Initial Fedora spec file.
diff --git a/sources b/sources
index e69de29..5cabe82 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+fcb5b130b43571ec2edbb02a0daed62d  gst-plugins-bad-free-0.11.93.tar.xz


More information about the scm-commits mailing list