aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multimedia/cinelerra/Fix_POTFILES.patch48
-rw-r--r--multimedia/cinelerra/README11
-rw-r--r--multimedia/cinelerra/cinelerra.SlackBuild45
-rw-r--r--multimedia/cinelerra/cinelerra.info8
-rw-r--r--multimedia/cinelerra/doinst.sh10
-rw-r--r--multimedia/cinelerra/shapewipe-libpng14.patch29
-rw-r--r--multimedia/cinelerra/slack-desc4
-rw-r--r--multimedia/cinelerra/x264_76.patch20
8 files changed, 65 insertions, 110 deletions
diff --git a/multimedia/cinelerra/Fix_POTFILES.patch b/multimedia/cinelerra/Fix_POTFILES.patch
deleted file mode 100644
index b10fb57b6583..000000000000
--- a/multimedia/cinelerra/Fix_POTFILES.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -rupN POTFILES.in.orig POTFILES.in.diff > Fix_POTFILES.patch
---- POTFILES.in.orig//po/POTFILES.in 2010-08-03 20:48:09.603076845 -0300
-+++ POTFILES.in.diff//po/POTFILES.in 2010-08-03 21:32:27.439507572 -0300
-@@ -20,7 +20,7 @@ cinelerra/channeledit.C
- cinelerra/channelpicker.C
- cinelerra/clipedit.C
- # cinelerra/compresspopup.C
--cinelerra/confirmquit.C
-+# cinelerra/confirmquit.C
- cinelerra/confirmsave.C
- cinelerra/cpanel.C
- # cinelerra/cropvideo.C
-@@ -56,7 +56,7 @@ cinelerra/indexfile.C
- cinelerra/indexthread.C
- cinelerra/interfaceprefs.C
- cinelerra/keyframepopup.C
--cinelerra/labelnavigate.C
-+# cinelerra/labelnavigate.C
- cinelerra/loadfile.C
- cinelerra/loadmode.C
- cinelerra/main.C
-@@ -65,7 +65,7 @@ cinelerra/mainmenu.C
- cinelerra/mainprogress.C
- cinelerra/manualgoto.C
- cinelerra/menueffects.C
--cinelerra/messages.C
-+# cinelerra/messages.C
- cinelerra/meterpanel.C
- cinelerra/mwindow.C
- cinelerra/mwindowedit.C
-@@ -95,7 +95,7 @@ cinelerra/recordmonitor.C
- cinelerra/recordprefs.C
- cinelerra/recordtransport.C
- cinelerra/recordvideo.C
--cinelerra/recordwindow.C
-+# cinelerra/recordwindow.C
- # cinelerra/reindex.C
- cinelerra/render.C
- cinelerra/renderfarm.C
-@@ -109,7 +109,7 @@ cinelerra/setformat.C
- cinelerra/sharedlocation.C
- cinelerra/splashgui.C
- cinelerra/statusbar.C
--cinelerra/threadindexer.C
-+# cinelerra/threadindexer.C
- cinelerra/tipwindow.C
- # cinelerra/toggleauto.C
- cinelerra/trackcanvas.C
diff --git a/multimedia/cinelerra/README b/multimedia/cinelerra/README
index 501635f1ce9c..41433de8515c 100644
--- a/multimedia/cinelerra/README
+++ b/multimedia/cinelerra/README
@@ -1,11 +1,16 @@
Cinelerra is the most advanced non-linear video editor and compositor
for Linux. It does primarily 3 main things: capturing, compositing,
-and editing audio and video with sample level accuracy.
+and editing audio and video with sample level accuracy.
This is a development version maintained by Einar Rünkaru:
http://git.cinelerra.org/gitweb?p=einar/cinelerra.git;a=summary
This build script uses a git snapshot that was downloaded and hosted
by the script maintainer.
-This requires a52dec, libsndfile, imlib2, libdv, faac, faad2, ffmpeg,
-x264, lame, libavc1394, libiec61883, and mjpegtools.
+By default cinelerra builds with an internal ffmpeg. Building with
+an external, system-wide installed ffmpeg is possible by passing
+EXTERNALFFMPEG=yes to the SlackBuild. However, this requires
+ffmpeg < 0.6.x, which is no longer available on SlackBuilds.org.
+
+Cinelerra requires a52dec, libsndfile, imlib2, libdv, faac, faad2
+x264, lame, libavc1394, libiec61883, and mjpegtools.
diff --git a/multimedia/cinelerra/cinelerra.SlackBuild b/multimedia/cinelerra/cinelerra.SlackBuild
index e7f8c552f01f..3c75d253b949 100644
--- a/multimedia/cinelerra/cinelerra.SlackBuild
+++ b/multimedia/cinelerra/cinelerra.SlackBuild
@@ -2,10 +2,28 @@
# Slackware build script for cinelerra
-# Written by Giovanne Castro <giovannefc@ig.com.br>
+# Copyright 2010 by Giovanne Castro, Campinas, Sao Paulo, Brazil <giovannefc@ig.com.br>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cinelerra
-VERSION=${VERSION:-cv_einar_cf708d7f}
+VERSION=${VERSION:-cv_einar_701e5e5f}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -43,14 +61,14 @@ else
fi
# --external-ffmpeg works only with version 0.5.x of FFMPEG.
-# Not compatible with FFPEG 0.6 series, in this case, cinelerra
+# Not compatible with FFMPEG 0.6 series, in this case, cinelerra
# will be compiled with internal ffmpeg (includes in the package).
# Uses "yes" or "no". Default: "no".
EXTERNALFFMPEG=${EXTERNALFFMPEG:-no}
if [ "$EXTERNALFFMPEG" = "no" ]; then
externalffmpeg=""
-elif [ "$EXTERNALFFMPEG" = "yes" ]; then
+else
externalffmpeg="--with-external-ffmpeg"
fi
@@ -69,11 +87,11 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Patch for libpng 1.4.x and po_POTFILES.in (Fixed deleted files)
-patch -p1 < $CWD/shapewipe-libpng14.patch
-patch -p1 < $CWD/Fix_POTFILES.patch
+# Fix build with libx264 version 76 and later.
+patch -p1 < $CWD/x264_76.patch
./autogen.sh
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -87,7 +105,6 @@ CXXFLAGS="$SLKCFLAGS" \
--with-pic \
--with-x \
--enable-opengl \
- --with-buildinfo=git_cv_einar_$VERSION \
--build=$ARCH-slackware-linux \
$externalffmpeg \
$mmx
@@ -95,6 +112,12 @@ CXXFLAGS="$SLKCFLAGS" \
make
make install DESTDIR=$PKG
+# Delete ffmpeg headers and libraries to prevent conflicts with ffmpeg package.
+if [ "$EXTERNALFFMPEG" = "no" ]; then
+ rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+ rm -rf $PKG/usr/include/lib*
+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
@@ -104,12 +127,6 @@ cp -a \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-# Delete ffmpeg headers and libraries to prevent conflicts with ffmpeg package
-if [ "$EXTERNALFFMPEG" = "no" ]; then
- rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
- rm -rf $PKG/usr/include/libav{codec,device,format,util}
-fi
-
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
diff --git a/multimedia/cinelerra/cinelerra.info b/multimedia/cinelerra/cinelerra.info
index f4fa11ebe77e..6a685837ecff 100644
--- a/multimedia/cinelerra/cinelerra.info
+++ b/multimedia/cinelerra/cinelerra.info
@@ -1,10 +1,10 @@
PRGNAM="cinelerra"
-VERSION="cv_einar_cf708d7f"
+VERSION="cv_einar_701e5e5f"
HOMEPAGE="http://cinelerra.org/"
-DOWNLOAD="http://www.ginoepri.com/linux/cinelerra-cv_einar_cf708d7f.tar.gz"
-MD5SUM="a920c2c58f6d0d60d3309f156f0bf072"
+DOWNLOAD="http://www.ginoepri.com/linux/cinelerra-cv_einar_701e5e5f.tar.gz"
+MD5SUM="3e8dc80e815f1ec2abc74d744c442374"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Giovanne Castro"
EMAIL="giovannefc@ig.com.br"
-APPROVED="dsomero"
+APPROVED="pprkut"
diff --git a/multimedia/cinelerra/doinst.sh b/multimedia/cinelerra/doinst.sh
index 9830478e8cc7..4e8ba7071dea 100644
--- a/multimedia/cinelerra/doinst.sh
+++ b/multimedia/cinelerra/doinst.sh
@@ -2,13 +2,3 @@ if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
-if [ -x /usr/bin/update-mime-database ]; then
- /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
-fi
-
-if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
- if [ -x /usr/bin/gtk-update-icon-cache ]; then
- /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
- fi
-fi
-
diff --git a/multimedia/cinelerra/shapewipe-libpng14.patch b/multimedia/cinelerra/shapewipe-libpng14.patch
deleted file mode 100644
index 68c2d3f6dc2f..000000000000
--- a/multimedia/cinelerra/shapewipe-libpng14.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -rupN cinelerra.orig//plugins/shapewipe/shapewipe.C cinelerra.diff//plugins/shapewipe/shapewipe.C
---- cinelerra.orig//plugins/shapewipe/shapewipe.C 2010-05-24 15:51:53.363190632 -0400
-+++ cinelerra.diff//plugins/shapewipe/shapewipe.C 2010-05-24 15:56:04.243457280 -0400
-@@ -385,7 +385,7 @@ int ShapeWipeMain::read_pattern_image(in
- goto erret;
-
- png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
-- png_voidp_NULL, png_error_ptr_NULL, png_error_ptr_NULL);
-+ NULL, NULL, NULL);
-
- if (!png_ptr)
- goto erret;
-@@ -396,14 +396,14 @@ int ShapeWipeMain::read_pattern_image(in
- info_ptr = png_create_info_struct(png_ptr);
- if (!info_ptr)
- {
-- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
-+ png_destroy_read_struct(&png_ptr, NULL, NULL);
- goto erret;
- }
-
- end_info = png_create_info_struct(png_ptr);
- if (!end_info)
- {
-- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
-+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
- erret:
- fclose(fp);
- return 1;
diff --git a/multimedia/cinelerra/slack-desc b/multimedia/cinelerra/slack-desc
index a44953ad4cf4..e27bb51c2889 100644
--- a/multimedia/cinelerra/slack-desc
+++ b/multimedia/cinelerra/slack-desc
@@ -10,10 +10,10 @@ cinelerra: cinelerra (GNU/Linux Video/Audio Studio)
cinelerra:
cinelerra: Cinelerra is the most advanced non-linear video editor
cinelerra: and compositor for Linux. It does primarily three main
-cinelerra: things: capturing, compositing, and editing audio and
+cinelerra: things: capturing, compositing, and editing audio and
cinelerra: video with sample level accuracy.
cinelerra:
-cinelerra: Home Page: http://cinelerra.org/
+cinelerra: Homepage: http://cinelerra.org/
cinelerra:
cinelerra:
cinelerra:
diff --git a/multimedia/cinelerra/x264_76.patch b/multimedia/cinelerra/x264_76.patch
new file mode 100644
index 000000000000..018b964e12d9
--- /dev/null
+++ b/multimedia/cinelerra/x264_76.patch
@@ -0,0 +1,20 @@
+Index: cinelerra-20090210/quicktime/qth264.c
+===================================================================
+--- cinelerra-20090210.orig/quicktime/qth264.c
++++ cinelerra-20090210/quicktime/qth264.c
+@@ -239,10 +239,15 @@ static int encode(quicktime_t *file, uns
+ codec->buffer_size = 0;
+ for(i = 0; i < nnal; i++)
+ {
++#if X264_BUILD >= 76
++ int size = nals[i].i_payload;
++ memcpy(codec->work_buffer + codec->buffer_size, nals[i].p_payload, nals[i].i_payload);
++#else
+ int size = x264_nal_encode(codec->work_buffer + codec->buffer_size,
+ &allocation,
+ 1,
+ nals + i);
++#endif
+ unsigned char *ptr = codec->work_buffer + codec->buffer_size;
+
+ if(size > 0)