diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-libs/mlt | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-libs/mlt')
-rw-r--r-- | media-libs/mlt/Manifest | 3 | ||||
-rw-r--r-- | media-libs/mlt/files/mlt-0.7.2-ruby-link.patch | 18 | ||||
-rw-r--r-- | media-libs/mlt/files/mlt-0.8.2-av_codec_is_encoder.patch | 32 | ||||
-rw-r--r-- | media-libs/mlt/files/mlt-0.8.6-ruby-link.patch | 19 | ||||
-rw-r--r-- | media-libs/mlt/files/mlt-0.9.0-freetype251.patch | 12 | ||||
-rw-r--r-- | media-libs/mlt/metadata.xml | 28 | ||||
-rw-r--r-- | media-libs/mlt/mlt-0.8.2.ebuild | 176 | ||||
-rw-r--r-- | media-libs/mlt/mlt-0.8.8.ebuild | 181 | ||||
-rw-r--r-- | media-libs/mlt/mlt-0.9.0.ebuild | 189 |
9 files changed, 658 insertions, 0 deletions
diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest new file mode 100644 index 000000000000..09ba86544993 --- /dev/null +++ b/media-libs/mlt/Manifest @@ -0,0 +1,3 @@ +DIST mlt-0.8.2.tar.gz 1161293 SHA256 36c743d2abc68ce737ac526507fc2caf71b3d6a53a2bf31d22e8193a8b899577 SHA512 ab71018e5a188b95d91b4aceeb4ca0dfc59d0dd981ec3e4fa220b91ce812e2c98ebad1d51998005c6bc98999c7478444c8bfd398d61bd2084ff732a1638ca6aa WHIRLPOOL 4d72efbffd2f7c77041065c948c18ccbb4a65eb7f4ec7209ccde15e142fee84c70324390bc921c0302c30ad7673336c8cf00be8c710154fe31c8a3063987622b +DIST mlt-0.8.8.tar.gz 1108652 SHA256 cc0e1cdb97a1cd59811a74553b5d3fbff590eb859c475253e188de1069ff9654 SHA512 d29d982632dec14e4397db602688816e06f095b1831514a816bc7640d574a04d3d56cc16240ea0a01229887e95c80891b87c5df981063cb2d6a14b50ff67589f WHIRLPOOL 6e5665e5b4c9471d252faea7073cfd21580e31b55941ba51a415783d79bec3d857fcd01f111da25e24551a3f03a728390e17ab9b127e1bd0977bac94c83162a5 +DIST mlt-0.9.0.tar.gz 1167943 SHA256 f20c6a9c9acaed3da84c601bf9293b2d148168386e5be2bc55651a75f95c1cc9 SHA512 631ab41ee6e3673c712f784b9c02b567a5e3b982d49eabe032ef20e89be9424cf9ce6d97fe6906f03b0ac082544316ba8524ae041d017aeac009ab9b98d457d9 WHIRLPOOL b39e78837f2f2785721315ac174d106e33bafd2dd55b8883b254a39dc98f664be29ce3e84413d2ba55f881bb42ca10c36a9117de00b1a5efc3dff8577a6a29af diff --git a/media-libs/mlt/files/mlt-0.7.2-ruby-link.patch b/media-libs/mlt/files/mlt-0.7.2-ruby-link.patch new file mode 100644 index 000000000000..c0427c1a3df0 --- /dev/null +++ b/media-libs/mlt/files/mlt-0.7.2-ruby-link.patch @@ -0,0 +1,18 @@ +The build system tries to link to installed system libraries first, which +fails because the ABI has changed... + +diff -ruN mlt-0.7.2.orig/src/swig/ruby/build mlt-0.7.2/src/swig/ruby/build +--- mlt-0.7.2.orig/src/swig/ruby/build 2011-05-02 07:59:12.000000000 +0200 ++++ mlt-0.7.2/src/swig/ruby/build 2011-10-30 16:21:01.000000000 +0100 +@@ -5,8 +5,10 @@ + exit 0 + end + system( "ln -sf ../mlt.i" ) ++system( "ln -sf ../../framework/libmlt.so" ) ++system( "ln -sf ../../mlt++/libmlt++.so" ) + system( "swig -c++ -ruby -I../../mlt++ -I../.. mlt.i" ) + $CFLAGS += " -I../.." +-$LDFLAGS += " -L../../mlt++ -lmlt++" ++$LIBS += " -lmlt++ -lmlt -lstdc++" + create_makefile('mlt') + system( "make" ) diff --git a/media-libs/mlt/files/mlt-0.8.2-av_codec_is_encoder.patch b/media-libs/mlt/files/mlt-0.8.2-av_codec_is_encoder.patch new file mode 100644 index 000000000000..3d0ba1ceb2aa --- /dev/null +++ b/media-libs/mlt/files/mlt-0.8.2-av_codec_is_encoder.patch @@ -0,0 +1,32 @@ +AVCodec.encode has been renamed recently is ffmpeg, causing mlt to fail to build. +Starting from libavcodec 54.7 we have av_codec_is_encoder available publicly so +use this instead. + +Index: mlt-0.8.2/src/modules/avformat/consumer_avformat.c +=================================================================== +--- mlt-0.8.2.orig/src/modules/avformat/consumer_avformat.c ++++ mlt-0.8.2/src/modules/avformat/consumer_avformat.c +@@ -238,7 +238,11 @@ static int consumer_start( mlt_consumer + mlt_properties_set_data( doc, "audio_codecs", codecs, 0, NULL, NULL ); + while ( ( codec = av_codec_next( codec ) ) ) + #if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0) ++#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(7<<8)+0) ++ if ( av_codec_is_encoder(codec) && codec->type == CODEC_TYPE_AUDIO ) ++#else + if ( ( codec->encode || codec->encode2 ) && codec->type == CODEC_TYPE_AUDIO ) ++#endif + #else + if ( codec->encode && codec->type == CODEC_TYPE_AUDIO ) + #endif +@@ -262,7 +266,11 @@ static int consumer_start( mlt_consumer + mlt_properties_set_data( doc, "video_codecs", codecs, 0, NULL, NULL ); + while ( ( codec = av_codec_next( codec ) ) ) + #if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0) ++#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(7<<8)+0) ++ if ( av_codec_is_encoder(codec) && codec->type == CODEC_TYPE_VIDEO ) ++#else + if ( (codec->encode || codec->encode2) && codec->type == CODEC_TYPE_VIDEO ) ++#endif + #else + if ( codec->encode && codec->type == CODEC_TYPE_VIDEO ) + #endif diff --git a/media-libs/mlt/files/mlt-0.8.6-ruby-link.patch b/media-libs/mlt/files/mlt-0.8.6-ruby-link.patch new file mode 100644 index 000000000000..fa4ec8aec05a --- /dev/null +++ b/media-libs/mlt/files/mlt-0.8.6-ruby-link.patch @@ -0,0 +1,19 @@ +The build system tries to link to installed system libraries first, which +fails because the ABI has changed... + +Index: mlt-0.8.6/src/swig/ruby/build +=================================================================== +--- mlt-0.8.6.orig/src/swig/ruby/build ++++ mlt-0.8.6/src/swig/ruby/build +@@ -5,8 +5,10 @@ if ARGV.shift == 'clean' + exit 0 + end + system( "ln -sf ../mlt.i" ) ++system( "ln -sf ../../framework/libmlt.so" ) ++system( "ln -sf ../../mlt++/libmlt++.so" ) + system( "swig -c++ -ruby -I../../mlt++ -I../.. mlt.i" ) + $CFLAGS += " -I../.. " + ENV['CXXFLAGS'] +-$LDFLAGS += " -L../../mlt++ -lmlt++" ++$LIBS += " -lmlt++ -lmlt -lstdc++" + create_makefile('mlt') + system( "make" ) diff --git a/media-libs/mlt/files/mlt-0.9.0-freetype251.patch b/media-libs/mlt/files/mlt-0.9.0-freetype251.patch new file mode 100644 index 000000000000..058412199fae --- /dev/null +++ b/media-libs/mlt/files/mlt-0.9.0-freetype251.patch @@ -0,0 +1,12 @@ +--- mlt-0.9.0/src/modules/gtk2/producer_pango.c ++++ mlt-0.9.0/src/modules/gtk2/producer_pango.c +@@ -25,7 +25,8 @@ + #include <string.h> + #include <gdk-pixbuf/gdk-pixbuf.h> + #include <pango/pangoft2.h> +-#include <freetype/freetype.h> ++#include <ft2build.h> ++#include FT_FREETYPE_H + #include <iconv.h> + #include <pthread.h> + #include <ctype.h> diff --git a/media-libs/mlt/metadata.xml b/media-libs/mlt/metadata.xml new file mode 100644 index 000000000000..a551a235c3b7 --- /dev/null +++ b/media-libs/mlt/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>video</herd> + <maintainer> + <email>media-video@gentoo.org</email> + </maintainer> + <use> + <flag name="compressed-lumas">Compress the luma files in png.</flag> + <flag name="frei0r">Build the module for <pkg>media-plugins/frei0r-plugins</pkg></flag> + <flag name="melt">Build the melt commandline tool</flag> + <flag name="lua">Build SWIG bindings for Lua</flag> + <flag name="kdenlive">Build support for <pkg>media-video/kdenlive</pkg></flag> + <flag name="python">Build SWIG bindings for Python</flag> + <flag name="rtaudio">Builds rtaudio consumer for native audio support on multiple platforms.</flag> + <flag name="ruby">Build SWIG bindings for Ruby</flag> + <!-- + <flag name="swfdec">Use <pkg>media-libs/swfdec</pkg> for reading .swf files (Macromedia Flash) instead of libavformat.</flag> + <flag name="java">Build SWIG bindings for Java</flag> + <flag name="perl">Build SWIG bindings for Perl</flag> + <flag name="php">Build SWIG bindings for PHP</flag> + <flag name="tcl">Build SWIG bindings for TCL</flag> + --> + </use> + <upstream> + <remote-id type="sourceforge">mlt</remote-id> + </upstream> +</pkgmetadata> diff --git a/media-libs/mlt/mlt-0.8.2.ebuild b/media-libs/mlt/mlt-0.8.2.ebuild new file mode 100644 index 000000000000..75572e098a21 --- /dev/null +++ b/media-libs/mlt/mlt-0.8.2.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +PYTHON_DEPEND="python? 2:2.6" +inherit eutils toolchain-funcs multilib python + +DESCRIPTION="An open source multimedia framework, designed and developed for television broadcasting" +HOMEPAGE="http://www.mltframework.org/" +SRC_URI="mirror://sourceforge/mlt/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="compressed-lumas dv debug ffmpeg frei0r gtk jack kde libsamplerate melt +cpu_flags_x86_mmx qt4 quicktime rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 vorbis xine xml lua python ruby vdpau" # java perl php tcl +IUSE="${IUSE} kernel_linux" + +#rtaudio will use OSS on non linux OSes +RDEPEND="ffmpeg? ( virtual/ffmpeg[vdpau?] ) + dv? ( >=media-libs/libdv-0.104 ) + xml? ( >=dev-libs/libxml2-2.5 ) + vorbis? ( >=media-libs/libvorbis-1.1.2 ) + sdl? ( >=media-libs/libsdl-1.2.10[X,opengl] + >=media-libs/sdl-image-1.2.4 ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.121.3 + media-libs/ladspa-sdk + >=dev-libs/libxml2-2.5 ) + frei0r? ( media-plugins/frei0r-plugins ) + gtk? ( x11-libs/gtk+:2 + media-libs/libexif + x11-libs/pango ) + quicktime? ( media-libs/libquicktime ) + rtaudio? ( kernel_linux? ( media-libs/alsa-lib ) ) + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 ) + qt4? ( dev-qt/qtgui:4 dev-qt/qtsvg:4 media-libs/libexif ) + !media-libs/mlt++ + lua? ( >=dev-lang/lua-5.1.4-r4 ) + ruby? ( dev-lang/ruby )" +# sox? ( media-sound/sox ) +# java? ( >=virtual/jre-1.5 ) +# perl? ( dev-lang/perl ) +# php? ( dev-lang/php ) +# tcl? ( dev-lang/tcl:0 ) + +SWIG_DEPEND=">=dev-lang/swig-2.0" +DEPEND="${RDEPEND} + virtual/pkgconfig + compressed-lumas? ( || ( media-gfx/imagemagick[png] + media-gfx/graphicsmagick[imagemagick,png] ) ) + lua? ( ${SWIG_DEPEND} virtual/pkgconfig ) + python? ( ${SWIG_DEPEND} ) + ruby? ( ${SWIG_DEPEND} )" +# java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 ) +# perl? ( ${SWIG_DEPEND} ) +# php? ( ${SWIG_DEPEND} ) +# tcl? ( ${SWIG_DEPEND} ) + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.7.2-ruby-link.patch + epatch "${FILESDIR}"/${PN}-0.8.2-av_codec_is_encoder.patch + + # respect CFLAGS LDFLAGS when building shared libraries. Bug #308873 + for x in python lua; do + sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die + done + sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die +} + +src_configure() { + tc-export CC CXX + + local myconf="--enable-gpl + --enable-motion-est + --disable-swfdec + $(use_enable debug) + $(use_enable dv) + $(use_enable cpu_flags_x86_sse sse) + $(use_enable cpu_flags_x86_sse2 sse2) + $(use_enable gtk gtk2) + $(use_enable vorbis) + $(use_enable sdl) + $(use_enable jack jackrack) + $(use_enable ffmpeg avformat) + $(use_enable frei0r) + $(use_enable melt) + $(use_enable libsamplerate resample) + $(use_enable rtaudio) + $(use vdpau && echo ' --avformat-vdpau') + $(use_enable xml) + $(use_enable xine) + $(use_enable kde kdenlive) + $(use_enable qt4 qimage) + --disable-sox" + #$(use_enable sox) FIXME + + use ffmpeg && myconf="${myconf} --avformat-swscale" + + (use quicktime && use dv) || myconf="${myconf} --disable-kino" + + use compressed-lumas && myconf="${myconf} --luma-compress" + + ( use x86 || use amd64 ) && \ + myconf="${myconf} $(use_enable cpu_flags_x86_mmx mmx)" || + myconf="${myconf} --disable-mmx" + + use melt || sed -i -e "s;src/melt;;" Makefile + + # TODO: add swig language bindings + # see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover + + local swig_lang + # TODO: java perl php tcl + for i in lua python ruby ; do + use $i && swig_lang="${swig_lang} $i" + done + [ -z "${swig_lang}" ] && swig_lang="none" + + econf ${myconf} --swig-languages="${swig_lang}" + sed -i -e s/^OPT/#OPT/ "${S}/config.mak" +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS ChangeLog NEWS README docs/*.txt + + dodir /usr/share/${PN} + insinto /usr/share/${PN} + doins -r demo + + docinto swig + + # Install SWIG bindings + if use lua; then + cd "${S}"/src/swig/lua + exeinto $(pkg-config --variable INSTALL_CMOD lua) + doexe mlt.so || die + dodoc play.lua + fi + + if use python; then + cd "${S}"/src/swig/python + insinto $(python_get_sitedir) + doins mlt.py || die + exeinto $(python_get_sitedir) + doexe _mlt.so || die + dodoc play.py + fi + + if use ruby; then + cd "${S}"/src/swig/ruby + exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]') + doexe mlt.so || die + dodoc play.rb thumbs.rb + fi + # TODO: java perl php tcl +} + +pkg_postinst() { + if use python; then + python_mod_optimize mlt.py + fi +} + +pkg_postrm() { + if use python; then + python_mod_cleanup mlt.py + fi +} diff --git a/media-libs/mlt/mlt-0.8.8.ebuild b/media-libs/mlt/mlt-0.8.8.ebuild new file mode 100644 index 000000000000..e57aa3c2f999 --- /dev/null +++ b/media-libs/mlt/mlt-0.8.8.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +PYTHON_DEPEND="python? 2:2.6" +inherit eutils toolchain-funcs multilib python + +DESCRIPTION="An open source multimedia framework, designed and developed for television broadcasting" +HOMEPAGE="http://www.mltframework.org/" +SRC_URI="mirror://sourceforge/mlt/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="compressed-lumas dv debug ffmpeg frei0r gtk jack kde kdenlive libsamplerate melt +cpu_flags_x86_mmx qt4 quicktime rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 vorbis xine xml lua python ruby vdpau" # java perl php tcl +IUSE="${IUSE} kernel_linux" + +#rtaudio will use OSS on non linux OSes +RDEPEND="ffmpeg? ( virtual/ffmpeg[vdpau?] ) + dv? ( >=media-libs/libdv-0.104 ) + xml? ( >=dev-libs/libxml2-2.5 ) + vorbis? ( >=media-libs/libvorbis-1.1.2 ) + sdl? ( >=media-libs/libsdl-1.2.10[X,opengl] + >=media-libs/sdl-image-1.2.4 ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.121.3 + media-libs/ladspa-sdk + >=dev-libs/libxml2-2.5 ) + frei0r? ( media-plugins/frei0r-plugins ) + gtk? ( x11-libs/gtk+:2 + media-libs/libexif + x11-libs/pango ) + quicktime? ( media-libs/libquicktime ) + rtaudio? ( kernel_linux? ( media-libs/alsa-lib ) ) + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 ) + qt4? ( dev-qt/qtgui:4 + dev-qt/qtsvg:4 + media-libs/libexif ) + kde? ( kde-base/kdelibs:4 + media-libs/libexif ) + !media-libs/mlt++ + lua? ( >=dev-lang/lua-5.1.4-r4 ) + ruby? ( dev-lang/ruby )" +# sox? ( media-sound/sox ) +# java? ( >=virtual/jre-1.5 ) +# perl? ( dev-lang/perl ) +# php? ( dev-lang/php ) +# tcl? ( dev-lang/tcl:0 ) + +SWIG_DEPEND=">=dev-lang/swig-2.0" +DEPEND="${RDEPEND} + virtual/pkgconfig + compressed-lumas? ( || ( media-gfx/imagemagick[png] + media-gfx/graphicsmagick[imagemagick,png] ) ) + lua? ( ${SWIG_DEPEND} virtual/pkgconfig ) + python? ( ${SWIG_DEPEND} ) + ruby? ( ${SWIG_DEPEND} )" +# java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 ) +# perl? ( ${SWIG_DEPEND} ) +# php? ( ${SWIG_DEPEND} ) +# tcl? ( ${SWIG_DEPEND} ) + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.8.6-ruby-link.patch + + # respect CFLAGS LDFLAGS when building shared libraries. Bug #308873 + for x in python lua; do + sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die + done + sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die + + epatch_user +} + +src_configure() { + tc-export CC CXX + + local myconf="--enable-gpl + --enable-gpl3 + --enable-motion-est + --disable-swfdec + $(use_enable debug) + $(use_enable dv) + $(use_enable cpu_flags_x86_sse sse) + $(use_enable cpu_flags_x86_sse2 sse2) + $(use_enable gtk gtk2) + $(use_enable vorbis) + $(use_enable sdl) + $(use_enable jack jackrack) + $(use_enable ffmpeg avformat) + $(use_enable frei0r) + $(use_enable melt) + $(use_enable libsamplerate resample) + $(use_enable rtaudio) + $(use vdpau && echo ' --avformat-vdpau') + $(use_enable xml) + $(use_enable xine) + $(use_enable kdenlive) + $(use_enable qt4 qimage) + --disable-sox" + #$(use_enable sox) FIXME + + use ffmpeg && myconf="${myconf} --avformat-swscale" + use kde || myconf="${myconf} --without-kde" + (use quicktime && use dv) || myconf="${myconf} --disable-kino" + use compressed-lumas && myconf="${myconf} --luma-compress" + + ( use x86 || use amd64 ) && \ + myconf="${myconf} $(use_enable cpu_flags_x86_mmx mmx)" || + myconf="${myconf} --disable-mmx" + + use melt || sed -i -e "s;src/melt;;" Makefile + + # TODO: add swig language bindings + # see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover + + local swig_lang + # TODO: java perl php tcl + for i in lua python ruby ; do + use $i && swig_lang="${swig_lang} $i" + done + [ -z "${swig_lang}" ] && swig_lang="none" + + econf ${myconf} --swig-languages="${swig_lang}" + sed -i -e s/^OPT/#OPT/ "${S}/config.mak" +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS ChangeLog NEWS README docs/*.txt + + dodir /usr/share/${PN} + insinto /usr/share/${PN} + doins -r demo + + docinto swig + + # Install SWIG bindings + if use lua; then + cd "${S}"/src/swig/lua + exeinto $(pkg-config --variable INSTALL_CMOD lua) + doexe mlt.so || die + dodoc play.lua + fi + + if use python; then + cd "${S}"/src/swig/python + insinto $(python_get_sitedir) + doins mlt.py || die + exeinto $(python_get_sitedir) + doexe _mlt.so || die + dodoc play.py + fi + + if use ruby; then + cd "${S}"/src/swig/ruby + exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]') + doexe mlt.so || die + dodoc play.rb thumbs.rb + fi + # TODO: java perl php tcl +} + +pkg_postinst() { + if use python; then + python_mod_optimize mlt.py + fi +} + +pkg_postrm() { + if use python; then + python_mod_cleanup mlt.py + fi +} diff --git a/media-libs/mlt/mlt-0.9.0.ebuild b/media-libs/mlt/mlt-0.9.0.ebuild new file mode 100644 index 000000000000..dc15e01157b4 --- /dev/null +++ b/media-libs/mlt/mlt-0.9.0.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_DEPEND="python? 2:2.6" +inherit eutils toolchain-funcs multilib python + +DESCRIPTION="An open source multimedia framework, designed and developed for television broadcasting" +HOMEPAGE="http://www.mltframework.org/" +SRC_URI="mirror://sourceforge/mlt/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="compressed-lumas dv debug ffmpeg frei0r gtk jack kde kdenlive libav libsamplerate melt +cpu_flags_x86_mmx qt4 quicktime rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 vorbis xine xml lua python ruby vdpau" # java perl php tcl +IUSE="${IUSE} kernel_linux" + +#rtaudio will use OSS on non linux OSes +RDEPEND=" + ffmpeg? ( + libav? ( media-video/libav:0=[vdpau?] ) + !libav? ( media-video/ffmpeg:0=[vdpau?] ) + ) + dv? ( >=media-libs/libdv-0.104 ) + xml? ( >=dev-libs/libxml2-2.5 ) + vorbis? ( >=media-libs/libvorbis-1.1.2 ) + sdl? ( >=media-libs/libsdl-1.2.10[X,opengl] + >=media-libs/sdl-image-1.2.4 ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.121.3 + media-libs/ladspa-sdk + >=dev-libs/libxml2-2.5 ) + frei0r? ( media-plugins/frei0r-plugins ) + gtk? ( x11-libs/gtk+:2 + media-libs/libexif + x11-libs/pango ) + quicktime? ( media-libs/libquicktime ) + rtaudio? ( kernel_linux? ( media-libs/alsa-lib ) ) + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 ) + qt4? ( dev-qt/qtgui:4 + dev-qt/qtsvg:4 + media-libs/libexif ) + kde? ( kde-base/kdelibs:4 + media-libs/libexif ) + !media-libs/mlt++ + lua? ( >=dev-lang/lua-5.1.4-r4 ) + ruby? ( dev-lang/ruby )" +# sox? ( media-sound/sox ) +# java? ( >=virtual/jre-1.5 ) +# perl? ( dev-lang/perl ) +# php? ( dev-lang/php ) +# tcl? ( dev-lang/tcl:0= ) + +SWIG_DEPEND=">=dev-lang/swig-2.0" +DEPEND="${RDEPEND} + virtual/pkgconfig + compressed-lumas? ( || ( media-gfx/imagemagick[png] + media-gfx/graphicsmagick[imagemagick,png] ) ) + lua? ( ${SWIG_DEPEND} virtual/pkgconfig ) + python? ( ${SWIG_DEPEND} ) + ruby? ( ${SWIG_DEPEND} )" +# java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 ) +# perl? ( ${SWIG_DEPEND} ) +# php? ( ${SWIG_DEPEND} ) +# tcl? ( ${SWIG_DEPEND} ) + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.8.6-ruby-link.patch \ + "${FILESDIR}"/${PN}-0.9.0-freetype251.patch + + # respect CFLAGS LDFLAGS when building shared libraries. Bug #308873 + for x in python lua; do + sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die + done + sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die + + epatch_user +} + +src_configure() { + tc-export CC CXX + + local myconf="--enable-gpl + --enable-gpl3 + --enable-motion-est + --target-arch=$(tc-arch-kernel) + --disable-swfdec + $(use_enable debug) + $(use_enable dv) + $(use_enable cpu_flags_x86_sse sse) + $(use_enable cpu_flags_x86_sse2 sse2) + $(use_enable gtk gtk2) + $(use_enable vorbis) + $(use_enable sdl) + $(use_enable jack jackrack) + $(use_enable ffmpeg avformat) + $(use_enable frei0r) + $(use_enable melt) + $(use_enable libsamplerate resample) + $(use_enable rtaudio) + $(use vdpau && echo ' --avformat-vdpau') + $(use_enable xml) + $(use_enable xine) + $(use_enable kdenlive) + $(use_enable qt4 qimage) + --disable-sox" + #$(use_enable sox) FIXME + + use ffmpeg && myconf="${myconf} --avformat-swscale" + use kde || myconf="${myconf} --without-kde" + (use quicktime && use dv) || myconf="${myconf} --disable-kino" + use compressed-lumas && myconf="${myconf} --luma-compress" + + ( use x86 || use amd64 ) && \ + myconf="${myconf} $(use_enable cpu_flags_x86_mmx mmx)" || + myconf="${myconf} --disable-mmx" + + if ! use melt; then + sed -i -e "s;src/melt;;" Makefile || die + fi + + # TODO: add swig language bindings + # see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover + + local swig_lang + # TODO: java perl php tcl + for i in lua python ruby ; do + use $i && swig_lang="${swig_lang} $i" + done + [ -z "${swig_lang}" ] && swig_lang="none" + + econf ${myconf} --swig-languages="${swig_lang}" + sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die +} + +src_install() { + emake DESTDIR="${D}" install + dodoc AUTHORS ChangeLog NEWS README docs/*.txt + + dodir /usr/share/${PN} + insinto /usr/share/${PN} + doins -r demo + + docinto swig + + # Install SWIG bindings + if use lua; then + cd "${S}"/src/swig/lua || die + exeinto $(pkg-config --variable INSTALL_CMOD lua) + doexe mlt.so + dodoc play.lua + fi + + if use python; then + cd "${S}"/src/swig/python || die + insinto $(python_get_sitedir) + doins mlt.py + exeinto $(python_get_sitedir) + doexe _mlt.so + dodoc play.py + fi + + if use ruby; then + cd "${S}"/src/swig/ruby || die + exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]') + doexe mlt.so + dodoc play.rb thumbs.rb + fi + # TODO: java perl php tcl +} + +pkg_postinst() { + if use python; then + python_mod_optimize mlt.py + fi +} + +pkg_postrm() { + if use python; then + python_mod_cleanup mlt.py + fi +} |