summaryrefslogtreecommitdiff
path: root/multimedia/mlt/mlt.SlackBuild
blob: 5f9a6f212afd32859243c77ff7373bb9c031108f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/bin/sh

# Slackware build script for mlt.

# Written by stormtracknole - stormtracknole@gmail.com

# Modified by Erik Hanson (erik@slackbuilds.org) with
# help from Jonathan Larsen (agentc0re@learnix.net)
#
# Feb 16, 2010 - Modified the script and defined the $PYTHON variable
#	outside of the if statement because it was causing issues with
#	the other if statement that also relies on it's answer.
#	- Fixed the second PYTHON if statement that finds the site package
#	directory.  Added parentheses around the part that cd's into the
#	python swig src to copy the files to the site packages so that it
#	would interfere with the CWD before it
#

# Mar 3rd, 2010
#   *Version upgrade to 0.5.2
#	*fixed the "strip" for bash 4 compatability
#
# Sept 12, 2010
#	*Version upgrade to 0.5.6
#	*Bug fixes and enhancements added
#
# May 16, 2011
#	*Version upgrade to 0.7.2
#

PRGNAM=mlt
VERSION=${VERSION:-0.7.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

PYTHON=${PYTHON:-yes}

# 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

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \;

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --disable-debug \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --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" \
  --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
  )
fi

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp AUTHORS ChangeLog NEWS COPYING README GPL \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}