From 3250af3193713d1dd27e69502662b7ff9af70873 Mon Sep 17 00:00:00 2001 From: Giovanne Castro Date: Fri, 12 Nov 2010 21:23:39 +0100 Subject: multimedia/cinelerra: Updated for version cv_einar_701e5e5f Signed-off-by: Heinz Wiesinger --- multimedia/cinelerra/Fix_POTFILES.patch | 48 --------------------------- multimedia/cinelerra/README | 11 ++++-- multimedia/cinelerra/cinelerra.SlackBuild | 45 +++++++++++++++++-------- multimedia/cinelerra/cinelerra.info | 8 ++--- multimedia/cinelerra/doinst.sh | 10 ------ multimedia/cinelerra/shapewipe-libpng14.patch | 29 ---------------- multimedia/cinelerra/slack-desc | 4 +-- multimedia/cinelerra/x264_76.patch | 20 +++++++++++ 8 files changed, 65 insertions(+), 110 deletions(-) delete mode 100644 multimedia/cinelerra/Fix_POTFILES.patch delete mode 100644 multimedia/cinelerra/shapewipe-libpng14.patch create mode 100644 multimedia/cinelerra/x264_76.patch diff --git a/multimedia/cinelerra/Fix_POTFILES.patch b/multimedia/cinelerra/Fix_POTFILES.patch deleted file mode 100644 index b10fb57b65..0000000000 --- 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 501635f1ce..41433de851 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 e7f8c552f0..3c75d253b9 100644 --- a/multimedia/cinelerra/cinelerra.SlackBuild +++ b/multimedia/cinelerra/cinelerra.SlackBuild @@ -2,10 +2,28 @@ # Slackware build script for cinelerra -# Written by Giovanne Castro +# Copyright 2010 by Giovanne Castro, Campinas, Sao Paulo, Brazil +# 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 f4fa11ebe7..6a685837ec 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 9830478e8c..4e8ba7071d 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 68c2d3f6dc..0000000000 --- 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 a44953ad4c..e27bb51c28 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 0000000000..018b964e12 --- /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) -- cgit v1.2.3