diff options
author | Samuli Suominen <drac@gentoo.org> | 2007-11-23 10:36:18 +0000 |
---|---|---|
committer | Samuli Suominen <drac@gentoo.org> | 2007-11-23 10:36:18 +0000 |
commit | 742c3cbd66d355ddc3ef2d97ef935b6f0067b38d (patch) | |
tree | b1114da5bbb3f35bd8aa6e19a695f57f45f22f73 /media-libs | |
parent | Version bump for better Linux 2.6.23 compatibility. Tweaked the required kern... (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | media-libs/mlt/files/digest-mlt-0.2.4-r1 | 3 | ||||
-rw-r--r-- | media-libs/mlt/files/mlt-0.2.4-sox1400.patch | 190 | ||||
-rw-r--r-- | media-libs/mlt/mlt-0.2.4-r1.ebuild | 96 |
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 +} |