aboutsummaryrefslogtreecommitdiff
path: root/media/video/cinelerra/cinelerra.SlackBuild
blob: e991c6ebe2f4592eddb8a9d24d86d78ab53bee8e (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
#!/bin/bash
#
# slackbuild script for cinelerra
# by rafael at riseup.net
#

if [ -s "slack-required" ]; then
  echo Recomended and required packages for building cinelerra are:
  cat slack-required | sed -e 's/^/\t/'
  if [ "$INTERACT" != "no" ]; then
    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
    read crap
#  else
#    echo Sleeping 3 seconds...
#    sleep 3
  fi
fi

CWD="`pwd`"

if [ -f ~/.slackbuildrc ]; then
  source ~/.slackbuildrc
elif [ -f /etc/slackbuildrc ]; then
  source /etc/slackbuildrc
fi

# default settings
PACKAGE="cinelerra"
ARCH=${ARCH:=i586}
VERSION=${VERSION:=svn}
BUILD=${BUILD:=1rd}
SRC_DIR=${SRC:=$CWD}
TMP=${TMP:=/tmp}
REPOS=${REPOS:=$TMP}

# -------  error codes for createpkg  --------------
ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
ERROR_PATCH=40;     ERROR_VCS=41;

if [ "$ARCH" == "x86_64" ]; then
  LIBDIR=/usr/lib64
else
  LIBDIR=/usr/lib
fi

SRC_DIR="$SRC_DIR/$PACKAGE"
mkdir -p $SRC_DIR

TMP=$TMP/$PACKAGE
rm -rf $TMP
mkdir -p $TMP

if [ -d "$SRC_DIR/cinelerra" ]; then
  cd $SRC_DIR/cinelerra
  svn update || exit $ERROR_VCS 
else 
  cd $SRC_DIR 
  svn checkout svn://svn.skolelinux.org/cinelerra/trunk/hvirtual || exit $EROR_VCS
  mv hvirtual cinelerra
fi

cd $SRC_DIR/cinelerra
VERSION=r"`svnversion cinelerra`"

if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
fi

if [ "$ARCH" == "i586" ]; then
  EXTRA_ACFLAGS=" --enable-mmx"
fi

if [ "$HAVE_ALTIVEC" == "true" ]; then
  EXTRA_ACFLAGS=" --enable-altivec"
  if [ -f "$CWD/$PACKAGE-altivec.diff" ]; then
    patch -p0 < $CWD/$PACKAGE-altivec.diff || exit $ERROR_PATCH
  fi 
fi

./autogen.sh || exit $ERROR_CONF
./configure --prefix=/usr --libdir=$LIBDIR $EXTRA_ACFLAGS || exit $ERROR_CONF
make || exit $ERROR_MAKE
make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL

CWD="`pwd`"

cd $TMP/package-$PACKAGE

find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

mkdir install
cat << EOF > install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

         |-----handy-ruler-----------------------------------------------------|
cinelerra: cinelerra (cinelerra is powerfull Non Linear Video Editor)
cinelerra:
cinelerra: Heroine Virtual Ltd. presents an advanced content creation system 
cinelerra: for Linux. Cinelerra takes what normally is a boring server - studied
cinelerra: in computer science classrooms, hidden in back offices - and turns it
cinelerra: into a 50,000 watt flamethrower of multimedia editing.
cinelerra: 
cinelerra: This version is the cvs.cinelerra.org branch (in fact, a fork).
cinelerra: 
cinelerra: http://cvs.cinelerra.org/
cinelerra: 
EOF

# docs
mkdir -p usr/doc/$PACKAGE-$VERSION

for file in AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README TODO;do
  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
done

makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG

if [ "$CLEANUP" == "yes" ]; then
  rm -rf $TMP
fi