multimedia/mlt: Autodetect which swig bindings to build.

Added the optional dependencies libvdpau and jack-rack

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
Matteo Bernardini 2012-10-02 22:02:33 +02:00 committed by dsomero
parent bcdbcc4f5f
commit fab03ccc55
2 changed files with 65 additions and 20 deletions

View file

@ -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.

View file

@ -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
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
# 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')")
( 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