summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Nall <nall@gentoo.org>2002-12-09 02:28:51 +0000
committerJon Nall <nall@gentoo.org>2002-12-09 02:28:51 +0000
commitf71bc84b6df96d6561228a2d052dc0a813406f0c (patch)
treeb1deeede1430d39dc5e91d8f7ec8d0685c5fe597 /media-libs/gst-plugins
parentversion bump, header fixes, added IUSE (diff)
downloadgentoo-2-f71bc84b6df96d6561228a2d052dc0a813406f0c.tar.gz
gentoo-2-f71bc84b6df96d6561228a2d052dc0a813406f0c.tar.bz2
gentoo-2-f71bc84b6df96d6561228a2d052dc0a813406f0c.zip
keyworded ~ppc; fixed endianness in wavparse; fixed parallel build problem for ppc
Diffstat (limited to 'media-libs/gst-plugins')
-rw-r--r--media-libs/gst-plugins/ChangeLog10
-rw-r--r--media-libs/gst-plugins/files/digest-gst-plugins-0.4.2-r11
-rw-r--r--media-libs/gst-plugins/files/gst-plugins-0.4.2-parallel-make-depfix.patch11
-rw-r--r--media-libs/gst-plugins/files/gst-plugins-0.4.2-wavparse-bigendian.patch114
-rw-r--r--media-libs/gst-plugins/gst-plugins-0.4.2-r1.ebuild133
5 files changed, 269 insertions, 0 deletions
diff --git a/media-libs/gst-plugins/ChangeLog b/media-libs/gst-plugins/ChangeLog
index c59a4037e8be..c357e87143a0 100644
--- a/media-libs/gst-plugins/ChangeLog
+++ b/media-libs/gst-plugins/ChangeLog
@@ -1,5 +1,15 @@
# ChangeLog for media-libs/gstreamer-plugins
+*gst-plugins-0.4.2-r1 (08 Dec 2002)
+
+ 08 Dec 2002; Jon Nall <nall@gentoo.org> gst-plugins-0.4.2-r1.ebuild
+ files/digest-gst-plugins-0.4.2-r1
+ files/gst-plugins-0.4.2-parallel-make-depfix.patch
+ files/gst-plugins-0.4.2-wavparse-bigendian.patch :
+
+ keyworded ~ppc; fixed endianness problem for wav playing;
+ fixed parallel compilation problem on ppc
+
*gst-plugins-0.4.2 (02 Nov 2002)
02 Nov 2002; foser <foser@gentoo.org> gst-plugins-0.4.2.ebuild :
diff --git a/media-libs/gst-plugins/files/digest-gst-plugins-0.4.2-r1 b/media-libs/gst-plugins/files/digest-gst-plugins-0.4.2-r1
new file mode 100644
index 000000000000..d31363476a96
--- /dev/null
+++ b/media-libs/gst-plugins/files/digest-gst-plugins-0.4.2-r1
@@ -0,0 +1 @@
+MD5 f2d499cf117408b5a4adc7a0d71eb095 gst-plugins-0.4.2.tar.gz 1937052
diff --git a/media-libs/gst-plugins/files/gst-plugins-0.4.2-parallel-make-depfix.patch b/media-libs/gst-plugins/files/gst-plugins-0.4.2-parallel-make-depfix.patch
new file mode 100644
index 000000000000..ae24448780b7
--- /dev/null
+++ b/media-libs/gst-plugins/files/gst-plugins-0.4.2-parallel-make-depfix.patch
@@ -0,0 +1,11 @@
+--- gst/playondemand/Makefile.in.orig 2002-12-06 18:25:37.000000000 -0600
++++ gst/playondemand/Makefile.in 2002-12-06 18:25:53.000000000 -0600
+@@ -239,7 +239,7 @@
+ am_demo_mp3_OBJECTS = demo_mp3-demo-mp3.$(OBJEXT)
+ demo_mp3_OBJECTS = $(am_demo_mp3_OBJECTS)
+ demo_mp3_LDADD = $(LDADD)
+-demo_mp3_DEPENDENCIES =
++demo_mp3_DEPENDENCIES = ./libgstplayondemand.la
+
+ DEFS = @DEFS@
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
diff --git a/media-libs/gst-plugins/files/gst-plugins-0.4.2-wavparse-bigendian.patch b/media-libs/gst-plugins/files/gst-plugins-0.4.2-wavparse-bigendian.patch
new file mode 100644
index 000000000000..b33073eb0f47
--- /dev/null
+++ b/media-libs/gst-plugins/files/gst-plugins-0.4.2-wavparse-bigendian.patch
@@ -0,0 +1,114 @@
+diff -u gst/wavparse.orig/gstriff.c gst/wavparse/gstriff.c
+--- gst/wavparse.orig/gstriff.c 2002-12-07 12:45:41.000000000 -0600
++++ gst/wavparse/gstriff.c 2002-12-07 15:17:30.000000000 -0600
+@@ -69,9 +69,9 @@
+ g_return_val_if_fail(chunk != NULL,0);
+ chunk->offset = riff->nextlikely+8; /* point to the actual data */
+ chunk->id = words[0];
+- chunk->size = words[1];
++ chunk->size = GUINT32_FROM_LE(words[1]);
+ /* g_print("chunk id is 0x%08x '%s' and is 0x%08x long\n",words[0], */
+-/* gst_riff_id_to_fourcc(words[0]),words[1]); */
++/* gst_riff_id_to_fourcc(words[0]),chunk->size); */
+ riff->nextlikely += 8 + chunk->size; /* doesn't include hdr */
+ riff->chunks = g_list_prepend(riff->chunks,chunk);
+ }
+@@ -82,15 +82,15 @@
+
+ gulong gst_riff_fourcc_to_id(gchar *fourcc) {
+ g_return_val_if_fail(fourcc != NULL,0);
+-
+- return (fourcc[0] << 0) | (fourcc[1] << 8) |
+- (fourcc[2] << 16) | (fourcc[3] << 24);
++ return GUINT32_FROM_LE((gulong)(fourcc[0] << 0) | (fourcc[1] << 8) |
++ (fourcc[2] << 16) | (fourcc[3] << 24));
+ }
+
+ gchar *gst_riff_id_to_fourcc(gulong id) {
+ gchar *fourcc = (gchar *)malloc(5);
+
+ g_return_val_if_fail(fourcc != NULL, NULL);
++ id = GUINT32_FROM_LE(id);
+
+ fourcc[0] = (id >> 0) & 0xff;
+ fourcc[1] = (id >> 8) & 0xff;
+diff -u gst/wavparse.orig/gstwavparse.c gst/wavparse/gstwavparse.c
+--- gst/wavparse.orig/gstwavparse.c 2002-12-07 12:45:41.000000000 -0600
++++ gst/wavparse/gstwavparse.c 2002-12-07 15:17:37.000000000 -0600
+@@ -61,7 +61,10 @@
+ "format", GST_PROPS_STRING ("int"),
+ "law", GST_PROPS_INT (0),
+ "endianness", GST_PROPS_INT (G_BYTE_ORDER),
+- "signed", GST_PROPS_BOOLEAN (TRUE),
++ "signed", GST_PROPS_LIST (
++ GST_PROPS_BOOLEAN (FALSE),
++ GST_PROPS_BOOLEAN (TRUE)
++ ),
+ "width", GST_PROPS_LIST (
+ GST_PROPS_INT (8),
+ GST_PROPS_INT (16)
+@@ -262,6 +265,11 @@
+ /* we can gather format information now */
+ format = (GstWavParseFormat *)((guchar *) GST_BUFFER_DATA (buf) + fmt->offset);
+
++ wavparse->bps = GUINT16_FROM_LE(format->wBlockAlign);
++ wavparse->rate = GUINT32_FROM_LE(format->dwSamplesPerSec);
++ wavparse->channels = GUINT16_FROM_LE(format->wChannels);
++ wavparse->width = GUINT16_FROM_LE(format->wBitsPerSample);
++
+ /* set the caps on the src pad */
+ caps = GST_CAPS_NEW (
+ "parsewav_src",
+@@ -269,11 +277,11 @@
+ "format", GST_PROPS_STRING ("int"),
+ "law", GST_PROPS_INT (0), /*FIXME */
+ "endianness", GST_PROPS_INT (G_BYTE_ORDER),
+- "signed", GST_PROPS_BOOLEAN (TRUE), /*FIXME */
+- "width", GST_PROPS_INT (format->wBitsPerSample),
+- "depth", GST_PROPS_INT (format->wBitsPerSample),
+- "rate", GST_PROPS_INT (format->dwSamplesPerSec),
+- "channels", GST_PROPS_INT (format->wChannels)
++ "signed", GST_PROPS_BOOLEAN ((wavparse->width > 8) ? TRUE : FALSE),
++ "width", GST_PROPS_INT (wavparse->width),
++ "depth", GST_PROPS_INT (wavparse->width),
++ "rate", GST_PROPS_INT (wavparse->rate),
++ "channels", GST_PROPS_INT (wavparse->channels)
+ );
+
+ if (gst_pad_try_set_caps (wavparse->srcpad, caps) <= 0) {
+@@ -281,13 +289,8 @@
+ return;
+ }
+
+- wavparse->bps = format->wBlockAlign;
+- wavparse->rate = format->dwSamplesPerSec;
+- wavparse->channels = format->wChannels;
+- wavparse->width = format->wBitsPerSample;
+-
+ GST_DEBUG (0, "frequency %d, channels %d",
+- format->dwSamplesPerSec, format->wChannels);
++ wavparse->rate, wavparse->channels);
+
+ /* we're now looking for the data chunk */
+ wavparse->state = GST_WAVPARSE_CHUNK_DATA;
+--- gst-libs/gst/riff/riffutil.c.orig 2002-12-08 14:15:46.000000000 -0600
++++ gst-libs/gst/riff/riffutil.c 2002-12-08 14:16:29.000000000 -0600
+@@ -27,8 +27,8 @@
+ gulong gst_riff_fourcc_to_id(gchar *fourcc) {
+ g_return_val_if_fail(fourcc != NULL, 0);
+
+- return (fourcc[0] << 0) | (fourcc[1] << 8) |
+- (fourcc[2] << 16) | (fourcc[3] << 24);
++ return GUINT32_FROM_LE((gulong)(fourcc[0] << 0) | (fourcc[1] << 8) |
++ (fourcc[2] << 16) | (fourcc[3] << 24));
+ }
+
+ gchar *gst_riff_id_to_fourcc(gulong id) {
+@@ -36,6 +36,7 @@
+
+ g_return_val_if_fail(fourcc != NULL, NULL);
+
++ id = GUINT32_FROM_LE(id);
+ fourcc[0] = (id >> 0) & 0xff;
+ fourcc[1] = (id >> 8) & 0xff;
+ fourcc[2] = (id >> 16) & 0xff;
diff --git a/media-libs/gst-plugins/gst-plugins-0.4.2-r1.ebuild b/media-libs/gst-plugins/gst-plugins-0.4.2-r1.ebuild
new file mode 100644
index 000000000000..842df45e7ffa
--- /dev/null
+++ b/media-libs/gst-plugins/gst-plugins-0.4.2-r1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/media-libs/gst-plugins/gst-plugins-0.4.2-r1.ebuild,v 1.1 2002/12/09 02:28:51 nall Exp $
+
+inherit libtool gnome2 flag-o-matic
+
+IUSE="encode quicktime mpeg oggvorbis jpeg esd gnome mikmod avi sdl png alsa arts dvd aalib"
+S=${WORKDIR}/${P}
+DESCRIPTION="Additional plugins for gstreamer - streaming media framework"
+
+# bz2 gives 404 right now
+#SRC_URI="mirror://sourceforge/gstreamer/${P}.tar.bz2"
+SRC_URI="mirror://sourceforge/gstreamer/${P}.tar.gz"
+
+HOMEPAGE="http://gstreamer.sourceforge.net"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~x86 ~sparc ~sparc64 ~ppc"
+
+# required packages
+# there are many many optional libraries. features are compiled if the libraries
+# are present. most optional libraries are from gnome.
+DEPEND=">=media-libs/gstreamer-0.4.2
+ >=gnome-base/gconf-1.2.0
+ media-sound/mad
+ media-libs/flac
+ media-sound/cdparanoia
+ media-libs/hermes
+ >=media-libs/libdv-0.9.5
+ encode? ( media-sound/lame )
+ quicktime? ( media-libs/openquicktime )
+ mpeg? ( >=media-libs/libmpeg2-0.2.1 )
+ oggvorbis? ( media-libs/libvorbis
+ media-libs/libogg )
+ jpeg? ( media-video/mjpegtools
+ mmx? ( >=media-libs/jpeg-mmx-1.1.2-r1 ) )
+ esd? ( media-sound/esound )
+ gnome? ( >=gnome-base/gnome-vfs-2.0.1 )
+ mikmod? ( media-libs/libmikmod )
+ sdl? ( media-libs/libsdl )
+ png? ( >=media-libs/libpng-1.2.3 )
+ alsa? ( >=media-libs/alsa-lib-0.9.0_rc2
+ media-sound/jack-audio-connection-kit )
+ arts? ( >=kde-base/arts-1.0.2 )
+ dvd? ( media-libs/libdvdnav )
+ aalib? ( media-libs/aalib )
+ media-libs/ladspa-sdk"
+
+# disable avi for now, it doesnt work
+# avi? ( media-video/avifile )
+
+src_unpack() {
+ unpack ${A}
+
+ # fix for gst-launch-ext
+ patch -d ${S} -p1 < ${FILESDIR}/gentoo-gst-0.4.2-launch.patch || die
+
+ if [ "${ARCH}" = "ppc" ]
+ then
+ einfo "Patching makefile to fix parallel build bug"
+ patch -d ${S} -p0 < ${FILESDIR}/gst-plugins-0.4.2-parallel-make-depfix.patch || die
+ einfo "Patching wav support in gst-plugins to be big-endian friendly"
+ patch -d ${S} -p0 < ${FILESDIR}/gst-plugins-0.4.2-wavparse-bigendian.patch || die
+ fi
+}
+
+src_compile() {
+ elibtoolize
+
+ # gst doesnt handle optimisations well
+ strip-flags
+ replace-flags "-O3" "-O2"
+
+ # this is an ugly patch to remove -I/usr/include from some CFLAGS
+ # patch -p0 < ${FILESDIR}/${P}-configure.patch
+
+ local myconf
+ myconf=""
+
+ # FIXME : do this for _all_ IUSE flags
+ use avi \
+ && myconf="${myconf} --enable-avifile" \
+ || myconf="${myconf} --disable-avifile"
+ use aalib \
+ && myconf="${myconf} --enable-aalib" \
+ || myconf="${myconf} --disable-aalib"
+ use dvd \
+ && myconf="${myconf} --enable-dvdread --enable-dvdnav
+ --enable-libdv" \
+ || myconf="${myconf} --disable-dvdread --disable-dvdnav
+ --disable-libdv"
+ use esd \
+ && myconf="${myconf} --enable-esd --enable-esdtest" \
+ || myconf="${myconf} --disable-esd --disable-esdtest"
+ use gnome \
+ && myconf="${myconf} --enable-gnome_vfs" \
+ || myconf="${myconf} --disable-gnome_vfs"
+ use encode \
+ && myconf="${myconf} --enable-lame" \
+ || myconf="${myconf} --disable-lame"
+ use quicktime \
+ && myconf="${myconf} --enable-openquicktime" \
+ || myconf="${myconf} --disable-openquicktime"
+ use mpeg \
+ && myconf="${myconf} --enable-mpeg2dec" \
+ || myconf="${myconf} --disable-mpeg2dec"
+ use oggvorbis \
+ && myconf="${myconf} --enable-vorbis --enable-vorbistest" \
+ || myconf="${myconf} --disable-vorbis --disable-vorbistest"
+
+ # qcam doesn't work on PPC
+ use ppc && myconf="${myconf} --disable-qcam"
+ # not testing for much here, since if its in USE we want it, but its autodetected by configure
+
+ econf ${myconf} \
+ || die "./configure failed"
+
+ emake || die
+}
+
+src_install () {
+ export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1"
+ make DESTDIR=${D} install || die
+ unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
+
+ dodoc AUTHORS COPYING INSTALL README RELEASE TODO
+}
+
+pkg_postinst () {
+ gnome2_gconf_install
+ gst-register
+}