From fab03ccc55ef0a7ff2b6aa2bc12237ee9988bd57 Mon Sep 17 00:00:00 2001 From: Matteo Bernardini Date: Tue, 2 Oct 2012 22:02:33 +0200 Subject: multimedia/mlt: Autodetect which swig bindings to build. Added the optional dependencies libvdpau and jack-rack Signed-off-by: Matteo Bernardini --- multimedia/mlt/README | 7 ++-- multimedia/mlt/mlt.SlackBuild | 76 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 64 insertions(+), 19 deletions(-) diff --git a/multimedia/mlt/README b/multimedia/mlt/README index b84bb0083989d..20911bafcda77 100644 --- a/multimedia/mlt/README +++ b/multimedia/mlt/README @@ -5,7 +5,8 @@ of applications. The functionality of the system is provided via an assortment of ready to use tools, XML authoring components, and an extensible plug-in based API. -Optional dependencies are ladspa_sdk, frei0r and swfdec. +Optional dependencies are ladspa_sdk, frei0r, swfdec, libvdpau and +jack-rack. -The build script set by default PYTHON=yes for openshot, but it's -optional. +The build script autodetect language interpreters on your system +and build the relative bindings. diff --git a/multimedia/mlt/mlt.SlackBuild b/multimedia/mlt/mlt.SlackBuild index 25b6715c329ff..e0f49341c2801 100644 --- a/multimedia/mlt/mlt.SlackBuild +++ b/multimedia/mlt/mlt.SlackBuild @@ -40,7 +40,7 @@ PRGNAM=mlt VERSION=${VERSION:-0.8.2} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -56,14 +56,18 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -# SWIG Languages: -if [ "${JAVA:-no}" = "no" ]; then java=""; else java="java"; fi -if [ "${LUA:-no}" = "no" ]; then lua=""; else lua="lua"; fi -if [ "${PERL:-no}" = "no" ]; then perl=""; else perl="perl"; fi -if [ "${PHP:-no}" = "no" ]; then php=""; else php="php"; fi -if [ "${PYTHON:-yes}" = "yes" ]; then python="python"; else python=""; fi -if [ "${RUBY:-no}" = "no" ]; then ruby=""; else ruby="ruby"; fi -if [ "${TCL:-no}" = "no" ]; then tcl=""; else tcl="tcl"; fi +# Autodetect which SWIG Languages bindings to build +# according to what's installed on the system: +if [ -f "$(which java)" ]; then java="java"; else java=""; fi +if [ -f "$(which lua)" ]; then lua="lua"; else lua=""; fi +if [ -f "$(which perl)" ]; then perl="perl"; else perl=""; fi +if [ -f "$(which php)" ]; then php="php"; else php=""; fi +if [ -f "$(which python)" ]; then python="python"; else python=""; fi +if [ -f "$(which ruby)" ]; then ruby="ruby"; else ruby=""; fi +if [ -h "$(which tclsh)" ]; then tcl="tcl"; else tcl=""; fi +if [ -f "$(which csharp)" ]; then csharp="csharp"; else csharp=""; fi + +if pkg-config --exists vdpau ; then vdpau="--avformat-vdpau" ; else vdpau="" ; fi if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" @@ -103,24 +107,64 @@ CXXFLAGS="$SLKCFLAGS" \ --qimage-libdir=${QT4DIR}/qt/lib \ --qimage-includedir=${QT4DIR}/qt/include \ --enable-gpl \ - --avformat-swscale \ --luma-compress \ --enable-motion-est \ - --swig-languages="$java $lua $perl $php $python $ruby $tcl" \ + $vdpau \ + --swig-languages="$java $lua $perl $php $python $ruby $tcl $csharp" \ --build=$ARCH-slackware-linux make clean CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" make make install DESTDIR=$PKG -if [ $PYTHON = "yes" ]; then +# Install built bindings +if [ "$lua" ]; then + ( cd $TMP/$PRGNAM-$VERSION/src/swig/lua + install -D -m 0755 mlt.so $(pkg-config --variable INSTALL_CMOD lua)/mlt.so + install -D -m 0644 play.lua $PKG/usr/doc/$PRGNAM-$VERSION/play.lua + ) +fi +if [ "$perl" ]; then + ( cd $TMP/$PRGNAM-$VERSION/src/swig/perl + install -D -m 0644 mlt.pm $PKG/usr/share/perl5/mlt.pm + install -D -m 0755 play.pl $PKG/usr/share/perl5/play.pl + install -D -m 0755 blib/arch/auto/mlt/mlt.so \ + $PKG/usr/lib$LIBDIRSUFFIX/perl5/auto/mlt/mlt.so + install -D -m 0644 blib/arch/auto/mlt/mlt.bs \ + $PKG/usr/lib$LIBDIRSUFFIX/perl5/auto/mlt/mlt.bs + ) +fi +if [ "$php" ]; then + ( cd $TMP/$PRGNAM-$VERSION/src/swig/php + install -D -m 0755 mlt.so $PKG/usr/lib$LIBDIRSUFFIX/php/extensions/mlt.so + install -D -m 0644 play.php $PKG/usr/doc/$PRGNAM-$VERSION/play.php + ) +fi +if [ "$python" ]; then PYTHONSITEPKG=$(python -c "import sys, os; print os.path.join('/usr/lib${LIBDIRSUFFIX}', 'python%s' % sys.version[:3], 'site-packages')") - mkdir -p $PKG/$PYTHONSITEPKG - ( - cd $TMP/$PRGNAM-$VERSION/src/swig/python || true - cp -a _mlt.so mlt.py mlt_wrap.o $PKG/$PYTHONSITEPKG || true + ( cd $TMP/$PRGNAM-$VERSION/src/swig/python + install -D -m 0755 _mlt.so $PKG/$PYTHONSITEPKG/_mlt.so + install -D -m 0755 mlt.py $PKG/$PYTHONSITEPKG/mlt.py + install -D -m 0755 play.py $PKG/usr/doc/$PRGNAM-$VERSION/play.py + ) +fi +if [ "$ruby" ]; then + ( cd $TMP/$PRGNAM-$VERSION/src/swig/ruby + install -D -m 0755 mlt.so \ + $PKG$(ruby -e 'print RbConfig::CONFIG["sitearchdir"]')/mlt.so + install -D -m 0755 play.rb $PKG/usr/doc/$PRGNAM-$VERSION/play.rb + install -D -m 0755 thumbs.rb $PKG/usr/doc/$PRGNAM-$VERSION/thumbs.rb + ) +fi +if [ "$tcl" ]; then + ( cd $TMP/$PRGNAM-$VERSION/src/swig/tcl + . /usr/lib$LIBDIRSUFFIX/tclConfig.sh + install -D -m 0755 mlt.so \ + $PKG/usr/lib$LIBDIRSUFFIX/tcl$TCL_MAJOR_VERSION/$TCL_VERSION/mlt.so + install -D -m 0755 play.tcl $PKG/usr/doc/$PRGNAM-$VERSION/play.tcl ) fi +# todo: java, csharp find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -- cgit v1.2.3