diff options
author | Jon Nall <nall@gentoo.org> | 2002-12-09 02:28:51 +0000 |
---|---|---|
committer | Jon Nall <nall@gentoo.org> | 2002-12-09 02:28:51 +0000 |
commit | f71bc84b6df96d6561228a2d052dc0a813406f0c (patch) | |
tree | b1deeede1430d39dc5e91d8f7ec8d0685c5fe597 /media-libs/gst-plugins | |
parent | version bump, header fixes, added IUSE (diff) | |
download | gentoo-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')
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 +} |