summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <drac@gentoo.org>2007-11-23 10:36:18 +0000
committerSamuli Suominen <drac@gentoo.org>2007-11-23 10:36:18 +0000
commit742c3cbd66d355ddc3ef2d97ef935b6f0067b38d (patch)
treeb1114da5bbb3f35bd8aa6e19a695f57f45f22f73 /media-libs
parentVersion bump for better Linux 2.6.23 compatibility. Tweaked the required kern... (diff)
downloadgentoo-2-742c3cbd66d355ddc3ef2d97ef935b6f0067b38d.tar.gz
gentoo-2-742c3cbd66d355ddc3ef2d97ef935b6f0067b38d.tar.bz2
gentoo-2-742c3cbd66d355ddc3ef2d97ef935b6f0067b38d.zip
Revision bump for SOX 14.0.0 compability and pkg setup check for USE libsamplerate if USE sox is defined.
(Portage version: 2.1.4_rc1)
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/mlt/ChangeLog9
-rw-r--r--media-libs/mlt/files/digest-mlt-0.2.4-r13
-rw-r--r--media-libs/mlt/files/mlt-0.2.4-sox1400.patch190
-rw-r--r--media-libs/mlt/mlt-0.2.4-r1.ebuild96
4 files changed, 297 insertions, 1 deletions
diff --git a/media-libs/mlt/ChangeLog b/media-libs/mlt/ChangeLog
index 74e7562265e0..d29ec5b660f2 100644
--- a/media-libs/mlt/ChangeLog
+++ b/media-libs/mlt/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-libs/mlt
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mlt/ChangeLog,v 1.16 2007/08/21 08:59:00 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mlt/ChangeLog,v 1.17 2007/11/23 10:36:17 drac Exp $
+
+*mlt-0.2.4-r1 (23 Nov 2007)
+
+ 23 Nov 2007; Samuli Suominen <drac@gentoo.org>
+ +files/mlt-0.2.4-sox1400.patch, +mlt-0.2.4-r1.ebuild:
+ Revision bump for SOX 14.0.0 compability and pkg setup check for USE
+ libsamplerate if USE sox is defined.
*mlt-0.2.4 (21 Aug 2007)
diff --git a/media-libs/mlt/files/digest-mlt-0.2.4-r1 b/media-libs/mlt/files/digest-mlt-0.2.4-r1
new file mode 100644
index 000000000000..12a5851d6896
--- /dev/null
+++ b/media-libs/mlt/files/digest-mlt-0.2.4-r1
@@ -0,0 +1,3 @@
+MD5 6606d8be848a10efef929e2b6de3cf61 mlt-0.2.4.tar.gz 644406
+RMD160 2822c775b397eb426d9f1aabfa515f76eb98aab2 mlt-0.2.4.tar.gz 644406
+SHA256 9d85c1d8d9f4ef7b40ebff8a4301bf3ef34aec6014e22310cb1e408cb4ec2a45 mlt-0.2.4.tar.gz 644406
diff --git a/media-libs/mlt/files/mlt-0.2.4-sox1400.patch b/media-libs/mlt/files/mlt-0.2.4-sox1400.patch
new file mode 100644
index 000000000000..d682ea72488e
--- /dev/null
+++ b/media-libs/mlt/files/mlt-0.2.4-sox1400.patch
@@ -0,0 +1,190 @@
+diff -ur mlt-0.2.4.orig/src/modules/sox/configure mlt-0.2.4/src/modules/sox/configure
+--- mlt-0.2.4.orig/src/modules/sox/configure 2005-05-04 22:37:08.000000000 +0300
++++ mlt-0.2.4/src/modules/sox/configure 2007-11-23 12:18:59.000000000 +0200
+@@ -4,7 +4,36 @@
+ then
+
+ which libst-config > /dev/null 2>&1
+- disable_sox=$?
++ if [ $? -eq 0 ]
++ then
++ disable_sox=0
++ echo "CFLAGS += $(libst-config --cflags) -I../../" > config.mak
++ echo "LDFLAGS += -lst $(libst-config --libs)" >> config.mak
++ else
++ sox --version 2> /dev/null | grep 'v14.' > /dev/null
++ disable_sox=$?
++ if [ $disable_sox -eq 0 ]
++ then
++ LIBDIR=lib
++ #bits=$(uname -m)
++ #case $bits in
++ #x86_64)
++ # export LIBDIR=lib64
++ # ;;
++ #*)
++ # export LIBDIR=lib
++ # ;;
++ #esac
++
++ sox=$(which sox)
++ # chop sox
++ soxdir=$(dirname $sox)
++ # chop bin
++ soxdir=$(dirname $soxdir)
++ echo "CFLAGS += -DSOX14 -I$soxdir/include" > config.mak
++ echo "LDFLAGS += -L$soxdir/$LIBDIR -lsox -lsfx -lsamplerate" >> config.mak
++ fi
++ fi
+
+ if [ "$disable_sox" = "0" ]
+ then
+diff -ur mlt-0.2.4.orig/src/modules/sox/filter_sox.c mlt-0.2.4/src/modules/sox/filter_sox.c
+--- mlt-0.2.4.orig/src/modules/sox/filter_sox.c 2007-03-31 03:29:56.000000000 +0300
++++ mlt-0.2.4/src/modules/sox/filter_sox.c 2007-11-23 12:18:57.000000000 +0200
+@@ -28,7 +28,21 @@
+ #include <string.h>
+ #include <math.h>
+
+-#include <st.h>
++#ifdef SOX14
++# include <sox.h>
++# define ST_EOF SOX_EOF
++# define ST_SUCCESS SOX_SUCCESS
++# define st_sample_t sox_sample_t
++# define eff_t sox_effect_t*
++# define st_size_t sox_size_t
++# define ST_LIB_VERSION_CODE SOX_LIB_VERSION_CODE
++# define ST_LIB_VERSION SOX_LIB_VERSION
++# define ST_SIGNED_WORD_TO_SAMPLE(d,clips) SOX_SIGNED_16BIT_TO_SAMPLE(d,clips)
++# define ST_SSIZE_MIN SOX_SSIZE_MIN
++# define ST_SAMPLE_TO_SIGNED_WORD(d,clips) SOX_SAMPLE_TO_SIGNED_16BIT(d,clips)
++#else
++# include <st.h>
++#endif
+
+ #define BUFFER_LEN 8192
+ #define AMPLITUDE_NORM 0.2511886431509580 /* -12dBFS */
+@@ -61,21 +75,37 @@
+ static int create_effect( mlt_filter this, char *value, int count, int channel, int frequency )
+ {
+ mlt_tokeniser tokeniser = mlt_tokeniser_init();
++#ifdef SOX14
++ eff_t eff = mlt_pool_alloc( sizeof( sox_effect_t ) );
++#else
+ eff_t eff = mlt_pool_alloc( sizeof( struct st_effect ) );
++#endif
+ char id[ 256 ];
+ int error = 1;
+
+ // Tokenise the effect specification
+ mlt_tokeniser_parse_new( tokeniser, value, " " );
++ if ( tokeniser->count < 1 )
++ return error;
+
+ // Locate the effect
++#ifdef SOX14
++ //fprintf(stderr, "%s: effect %s count %d\n", __FUNCTION__, tokeniser->tokens[0], tokeniser->count );
++ sox_create_effect( eff, sox_find_effect( tokeniser->tokens[0] ) );
++ int opt_count = tokeniser->count - 1;
++#else
+ int opt_count = st_geteffect_opt( eff, tokeniser->count, tokeniser->tokens );
++#endif
+
+ // If valid effect
+ if ( opt_count != ST_EOF )
+ {
+ // Supply the effect parameters
++#ifdef SOX14
++ if ( ( * eff->handler.getopts )( eff, opt_count, &tokeniser->tokens[ tokeniser->count > 1 ? 1 : 0 ] ) == ST_SUCCESS )
++#else
+ if ( ( * eff->h->getopts )( eff, opt_count, &tokeniser->tokens[ tokeniser->count - opt_count ] ) == ST_SUCCESS )
++#endif
+ {
+ // Set the sox signal parameters
+ eff->ininfo.rate = frequency;
+@@ -84,7 +114,11 @@
+ eff->outinfo.channels = 1;
+
+ // Start the effect
++#ifdef SOX14
++ if ( ( * eff->handler.start )( eff ) == ST_SUCCESS )
++#else
+ if ( ( * eff->h->start )( eff ) == ST_SUCCESS )
++#endif
+ {
+ // Construct id
+ sprintf( id, "_effect_%d_%d", count, channel );
+@@ -123,7 +157,7 @@
+ st_sample_t *output_buffer = mlt_properties_get_data( filter_properties, "output_buffer", NULL );
+ int channels_avail = *channels;
+ int i; // channel
+- int count = mlt_properties_get_int( filter_properties, "effect_count" );
++ int count = mlt_properties_get_int( filter_properties, "_effect_count" );
+
+ // Get the producer's audio
+ mlt_frame_get_audio( frame, buffer, format, frequency, &channels_avail, samples );
+@@ -211,7 +245,7 @@
+ }
+
+ // Save the number of filters
+- mlt_properties_set_int( filter_properties, "effect_count", count );
++ mlt_properties_set_int( filter_properties, "_effect_count", count );
+
+ }
+ if ( *samples > 0 && count > 0 )
+@@ -295,7 +329,11 @@
+ float saved_gain = 1.0;
+
+ // XXX: hack to apply the normalised gain level to the vol effect
++#ifdef SOX14
++ if ( normalise && strcmp( e->handler.name, "vol" ) == 0 )
++#else
+ if ( normalise && strcmp( e->name, "vol" ) == 0 )
++#endif
+ {
+ float *f = ( float * )( e->priv );
+ saved_gain = *f;
+@@ -303,7 +341,11 @@
+ }
+
+ // Apply the effect
++#ifdef SOX14
++ if ( ( * e->handler.flow )( e, input_buffer, output_buffer, &isamp, &osamp ) == ST_SUCCESS )
++#else
+ if ( ( * e->h->flow )( e, input_buffer, output_buffer, &isamp, &osamp ) == ST_SUCCESS )
++#endif
+ {
+ // Swap input and output buffer pointers for subsequent effects
+ p = input_buffer;
+@@ -312,7 +354,11 @@
+ }
+
+ // XXX: hack to restore the original vol gain to prevent accumulation
++#ifdef SOX14
++ if ( normalise && strcmp( e->handler.name, "vol" ) == 0 )
++#else
+ if ( normalise && strcmp( e->name, "vol" ) == 0 )
++#endif
+ {
+ float *f = ( float * )( e->priv );
+ *f = saved_gain;
+diff -ur mlt-0.2.4.orig/src/modules/sox/Makefile mlt-0.2.4/src/modules/sox/Makefile
+--- mlt-0.2.4.orig/src/modules/sox/Makefile 2005-12-05 13:35:55.000000000 +0200
++++ mlt-0.2.4/src/modules/sox/Makefile 2007-11-23 12:19:00.000000000 +0200
+@@ -1,12 +1,13 @@
+ include ../../../config.mak
++include config.mak
+
+ TARGET = ../libmltsox$(LIBSUF)
+
+ OBJS = factory.o \
+ filter_sox.o
+
+-CFLAGS += `libst-config --cflags` -I../../
+-LDFLAGS += -lst `libst-config --libs`
++CFLAGS += -I../../
++
+ LDFLAGS += -L../../framework -lmlt
+
+ SRCS := $(OBJS:.o=.c)
diff --git a/media-libs/mlt/mlt-0.2.4-r1.ebuild b/media-libs/mlt/mlt-0.2.4-r1.ebuild
new file mode 100644
index 000000000000..96e7d0c00ffd
--- /dev/null
+++ b/media-libs/mlt/mlt-0.2.4-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mlt/mlt-0.2.4-r1.ebuild,v 1.1 2007/11/23 10:36:18 drac Exp $
+
+inherit eutils toolchain-funcs qt3
+
+DESCRIPTION="MLT is an open source multimedia framework, designed and developed
+for television broadcasting"
+HOMEPAGE="http://mlt.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mlt/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="dv xml jack gtk sdl vorbis sox quicktime mmx lame xine lame ogg theora
+xine ffmpeg libsamplerate qt3"
+
+DEPEND="ffmpeg? ( media-video/ffmpeg )
+ dv? ( >=media-libs/libdv-0.104 )
+ xml? ( >=dev-libs/libxml2-2.5 )
+ ogg? ( >=media-libs/libogg-1.1.3 )
+ vorbis? ( >=media-libs/libvorbis-1.1.2 )
+ sdl? ( >=media-libs/libsdl-1.2.10
+ >=media-libs/sdl-image-1.2.4 )
+ libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+ jack? ( media-sound/jack-audio-connection-kit
+ media-libs/ladspa-sdk
+ >=dev-libs/libxml2-2.5 )
+ gtk? ( >=x11-libs/gtk+-2
+ x11-libs/pango )
+ sox? ( media-sound/sox )
+ quicktime? ( media-libs/libquicktime )
+ xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+ lame? ( >=media-sound/lame-3.97_beta2 )
+ qt3? ( $(qt_min_version 3) )
+ theora? ( >=media-libs/libtheora-1.0_alpha5 )"
+RDEPEND=${DEPEND}
+
+pkg_setup() {
+ local fail="USE sox needs also USE libsamplerate enabled."
+
+ if use sox && ! use libsamplerate; then
+ eerror "${fail}"
+ die "${fail}"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/mlt-0.2.2-motion-est-nonx86.patch
+ epatch "${FILESDIR}"/mlt-0.2.3-nostrip.patch
+ epatch "${FILESDIR}"/${P}-sox1400.patch
+}
+
+src_compile() {
+ tc-export CC
+
+ local myconf=" --enable-gpl --enable-shared
+ --enable-pp --enable-shared-pp
+ --enable-motion-est
+ $(use_enable dv)
+ $(use_enable mmx)
+ $(use_enable gtk gtk2)
+ $(use_enable vorbis)
+ $(use_enable ogg)
+ $(use_enable sdl)
+ $(use_enable jack jackrack)
+ $(use_enable sox)
+ $(use_enable theora)
+ $(use_enable lame mp3lame)
+ $(use_enable ffmpeg avformat)
+ $(use_enable libsamplerate resample)
+ $(use_enable qt3 qimage)
+ $(use_enable xml westley)
+ $(use_enable xine)"
+
+ use ffmpeg && has_version ">=media-video/ffmpeg-0.4.9_p20070616-r1" &&
+ myconf="${myconf} --avformat-swscale"
+
+ (use quicktime || use dv) || myconf="${myconf} --disable-kino"
+
+ econf ${myconf} || die "econf failed"
+ sed -i -e s/^OPT/#OPT/ "${S}/config.mak"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc docs/*.txt ChangeLog README docs/TODO
+
+ dodir /usr/share/${PN}
+ insinto /usr/share/${PN}
+ doins -r demo
+}