You are not logged in.
i couldnt sleep tonight, so ....
with some help from http://www.funix.org/fr/linux/montage.htm i have now a working cinelerra package. First here comes the PKGBUILD:
#Contributor: Rene Thümmler <Rene.Thuemmler@gmx.net>
pkgname=cinelerra
pkgver=1.2.2
pkgrel=1
pkgdesc="50000 watt flamethrower a.k.a. advanced video editing suite"
url="http://heroinewarrior.com/cinelerra.php3"
depends=('xorg')
makedepends=('nasm' 'texinfo')
source=(http://belnet.dl.sourceforge.net/sourceforge/heroines/$pkgname-$pkgver-src.tar.bz2
http://www.funix.org/fr/linux/fichiers/video/dsputil_mmx.c
http://www.funix.org/fr/linux/fichiers/video/motion_est_mmx.c
http://www.funix.org/fr/linux/fichiers/video/simple_idct_mmx.c
$pkgname-$pkgver.patch)
md5sums=('3a2eddc43099dfa65f60956f23c9a239' '703ac4a869f83c07d8d86f3f588cf9ed'
'3a9ad232a57fac358e096143efe9ae64' '7b3bde7e441c1aecd80693a02c401b9a'
'f3d522ff328a14434f1e9e7e9d1509b1')
# cinelerra-1.1.9: when building use -n with makepkg cause stripping of libaries
# will cause cinelerra to crash at startup
# cinelerra-1.2.1: doing makepkg without -n has no effect any more
# cinelerra-1.2.2: well see how it works....
build() {
cd $startdir/src/$pkgname-$pkgver
cp ../dsputil_mmx.c quicktime/ffmpeg-0.4.8/libavcodec/i386
cp ../motion_est_mmx.c quicktime/ffmpeg-0.4.8/libavcodec/i386/
cp ../simple_idct_mmx.c quicktime/ffmpeg-0.4.8/libavcodec/i386/
./configure
# patching source
patch -p1 -i ../$pkgname-$pkgver.patch
make || return 1
# create dirs...
mkdir -p $startdir/pkg/usr/lib/cinelerra
mkdir -p $startdir/pkg/usr/bin
# changing Makefiles (taken from <damir@archlinux.org>) cause
# it seems to me the nicer way of installing files
sed -i 's|/usr/|../../pkg/usr/|g' build/Makefile.cinelerra
dochange=('cinelerra' 'plugins' 'libmpeg3' 'mplexhi' 'mplexlo' 'po')
for aktuell in "${dochange[@]}" ; do
sed -i 's|/usr/|../../../pkg/usr/|g' $aktuell/Makefile
done
# do the install
cd $startdir/src/$pkgname-$pkgver
make -f build/Makefile.cinelerra install || return 1
# copy fonts (is it really needed?)
cp -R plugins/titler/fonts $startdir/pkg/usr/lib/cinelerra
}
you will also need the patch file cinelerra-1.2.2.patch. Here it is...
diff -aur cinelerra-1.2.2.old/cinelerra/floatautos.C cinelerra-1.2.2.new/cinelerra/floatautos.C
--- cinelerra-1.2.2.old/cinelerra/floatautos.C 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/floatautos.C 2005-03-08 23:20:44.000000000 +0100
@@ -249,8 +249,8 @@
float y0, y1, y2, y3;
float t;
- previous = (FloatAuto*)get_prev_auto(position, direction, (Auto*)previous, 0);
- next = (FloatAuto*)get_next_auto(position, direction, (Auto*)next, 0);
+ previous = (FloatAuto*)get_prev_auto(position, direction, (Auto*&)previous, 0);
+ next = (FloatAuto*)get_next_auto(position, direction, (Auto*&)next, 0);
// Constant
if(!next && !previous)
diff -aur cinelerra-1.2.2.old/cinelerra/main.C cinelerra-1.2.2.new/cinelerra/main.C
--- cinelerra-1.2.2.old/cinelerra/main.C 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/main.C 2005-03-08 23:06:26.000000000 +0100
@@ -14,6 +14,7 @@
#include "renderfarmclient.h"
#include <stdlib.h>
#include <string.h>
+#include <locale.h>
#define PACKAGE "cinelerra"
#define LOCALEDIR "/usr/share/locale"
diff -aur cinelerra-1.2.2.old/cinelerra/panautos.C cinelerra-1.2.2.new/cinelerra/panautos.C
--- cinelerra-1.2.2.old/cinelerra/panautos.C 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/panautos.C 2005-03-08 23:25:34.000000000 +0100
@@ -24,8 +24,8 @@
PanAuto* &previous,
PanAuto* &next)
{
- previous = (PanAuto*)get_prev_auto(position, direction, (Auto*)previous);
- next = (PanAuto*)get_next_auto(position, direction, (Auto*)next);
+ previous = (PanAuto*)get_prev_auto(position, direction, (Auto*&)previous);
+ next = (PanAuto*)get_next_auto(position, direction, (Auto*&)next);
// Constant
if(previous->handle_x == next->handle_x &&
diff -aur cinelerra-1.2.2.old/cinelerra/recordmonitor.C cinelerra-1.2.2.new/cinelerra/recordmonitor.C
--- cinelerra-1.2.2.old/cinelerra/recordmonitor.C 2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/recordmonitor.C 2005-03-08 23:28:33.000000000 +0100
@@ -1005,7 +1005,7 @@
int RecVideoDVThread::start_rendering()
{
- ((dv_t*)dv) = dv_new();
+ ((dv_t*&)dv) = dv_new();
return 0;
}
diff -aur cinelerra-1.2.2.old/cinelerra/tracks.C cinelerra-1.2.2.new/cinelerra/tracks.C
--- cinelerra-1.2.2.old/cinelerra/tracks.C 2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/tracks.C 2005-03-08 23:32:20.000000000 +0100
@@ -295,7 +295,7 @@
mute_keyframe = (IntAuto*)current->automation->mute_autos->get_prev_auto(
unit_start,
PLAY_FORWARD,
- (Auto*)mute_keyframe);
+ (Auto*&)mute_keyframe);
result +=
(current->play && type == PLAY) ||
diff -aur cinelerra-1.2.2.old/cinelerra/virtualanode.C cinelerra-1.2.2.new/cinelerra/virtualanode.C
--- cinelerra-1.2.2.old/cinelerra/virtualanode.C 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/virtualanode.C 2005-03-08 23:39:44.000000000 +0100
@@ -471,8 +471,8 @@
PanAuto *prev_keyframe = 0;
PanAuto *next_keyframe = 0;
- prev_keyframe = (PanAuto*)autos->get_prev_auto(input_position, direction, (Auto*)prev_keyframe);
- next_keyframe = (PanAuto*)autos->get_next_auto(input_position, direction, (Auto*)next_keyframe);
+ prev_keyframe = (PanAuto*)autos->get_prev_auto(input_position, direction, (Auto*&)prev_keyframe);
+ next_keyframe = (PanAuto*)autos->get_next_auto(input_position, direction, (Auto*&)next_keyframe);
if(direction == PLAY_FORWARD)
{
diff -aur cinelerra-1.2.2.old/cinelerra/virtualnode.C cinelerra-1.2.2.new/cinelerra/virtualnode.C
--- cinelerra-1.2.2.old/cinelerra/virtualnode.C 2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/virtualnode.C 2005-03-08 23:39:10.000000000 +0100
@@ -471,8 +471,8 @@
IntAuto *prev_keyframe = 0;
IntAuto *next_keyframe = 0;
- prev_keyframe = (IntAuto*)autos->get_prev_auto(input_position, direction, (Auto*)prev_keyframe);
- next_keyframe = (IntAuto*)autos->get_next_auto(input_position, direction, (Auto*)next_keyframe);
+ prev_keyframe = (IntAuto*)autos->get_prev_auto(input_position, direction, (Auto*&)prev_keyframe);
+ next_keyframe = (IntAuto*)autos->get_next_auto(input_position, direction, (Auto*&)next_keyframe);
if(direction == PLAY_FORWARD)
{
diff -aur cinelerra-1.2.2.old/cinelerra/virtualvnode.C cinelerra-1.2.2.new/cinelerra/virtualvnode.C
--- cinelerra-1.2.2.old/cinelerra/virtualvnode.C 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/virtualvnode.C 2005-03-08 23:40:16.000000000 +0100
@@ -327,7 +327,7 @@
(IntAuto*)track->automation->mode_autos->get_prev_auto(
start_position_project,
direction,
- (Auto*)mode_keyframe);
+ (Auto*&)mode_keyframe);
int mode = mode_keyframe->value;
diff -aur cinelerra-1.2.2.old/guicast/arraylist.h cinelerra-1.2.2.new/guicast/arraylist.h
--- cinelerra-1.2.2.old/guicast/arraylist.h 2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/guicast/arraylist.h 2005-03-08 23:05:42.000000000 +0100
@@ -1,6 +1,8 @@
#ifndef ARRAYLIST_H
#define ARRAYLIST_H
+#include <stdio.h>
+
// designed for lists of track numbers
template<class TYPE>
diff -aur cinelerra-1.2.2.old/libmpeg3/Makefile cinelerra-1.2.2.new/libmpeg3/Makefile
--- cinelerra-1.2.2.old/libmpeg3/Makefile 2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/libmpeg3/Makefile 2005-03-08 22:47:12.000000000 +0100
@@ -27,9 +27,7 @@
ifeq ($(OBJDIR), i686)
USE_MMX = 1
- ifneq ($(HAVE_CFLAGS), y)
- CFLAGS := -O2 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
- endif
+ CFLAGS := -O1 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
endif
diff -aur cinelerra-1.2.2.old/mplexhi/multplex.c cinelerra-1.2.2.new/mplexhi/multplex.c
--- cinelerra-1.2.2.old/mplexhi/multplex.c 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/mplexhi/multplex.c 2005-03-08 22:55:58.000000000 +0100
@@ -340,7 +340,7 @@
bytepos_timecode ( bytes_output, current_SCR);
break;
- default:
+ default:;
}
}
diff -aur cinelerra-1.2.2.old/quicktime/Makefile cinelerra-1.2.2.new/quicktime/Makefile
--- cinelerra-1.2.2.old/quicktime/Makefile 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/quicktime/Makefile 2005-03-08 23:57:58.000000000 +0100
@@ -26,7 +26,6 @@
-ifneq ($(HAVE_CFLAGS), y)
ifeq ($(OBJDIR), alpha)
@@ -34,7 +33,7 @@
endif
ifeq ($(OBJDIR), i686)
- CFLAGS := -O3 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
+ CFLAGS := -O1 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
endif
@@ -45,7 +44,6 @@
-endif
DIRS = $(OBJDIR)
diff -aur cinelerra-1.2.2.old/quicktime/jpeg-mmx-0.1.4/Makefile cinelerra-1.2.2.new/quicktime/jpeg-mmx-0.1.4/Makefile
--- cinelerra-1.2.2.old/quicktime/jpeg-mmx-0.1.4/Makefile 2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/quicktime/jpeg-mmx-0.1.4/Makefile 2005-03-09 00:04:18.000000000 +0100
@@ -25,7 +25,7 @@
AS= nasm
ASFLAGS = -f elf
# You may need to adjust these cc options:
-CFLAGS= -O3 -march=i686 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -I/usr/local/include -I$(srcdir)
+CFLAGS= -O1 -march=i686 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -I/usr/local/include -I$(srcdir)
# Generally, we recommend defining any configuration symbols in jconfig.h,
# NOT via -D switches here.
# However, any special defines for ansi2knr.c may be included here:
this should run. please test it and give some feedback.
bye,
EvE
Offline
without thinking i ran makepkg
cinelerra-1.2.2.patch ... FAILED
==> ERROR: One or more files did not pass the validity check!
so i ran md5sum and replaced the old package sum
it ran fine for a few min but then
make[1]: Entering directory `/home/will/src/cine/src/cinelerra-1.2.2/cinelerra'
rm -f ../../../pkg/usr/bin/cinelerra
cp i686/cinelerra ../../../pkg/usr/bin
cp: cannot stat `i686/cinelerra': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/will/src/cine/src/cinelerra-1.2.2/cinelerra'
make: *** [install] Error 2
==> ERROR: Build Failed. Aborting...
Offline
ok. can you try a clean rebuild of the package and log the output into a file? for example with
makepkg > error.log
and send this me by email.
if i should guess, i would have to ask if you have a i586 arch installed. Your error is located while copying the files into the pkg dir. There has to be an error befor which is not realized by makepkg.
bye,
eve
Offline
through some very kind help, it builds
i take no credit for these, hope they are convient
PKGBUILD -- the PKGBUILD
the patch -- that is the checksum in the PKGBUILD
the package itself -- i don't really know how it works for these, it works here thats all i can say
Offline
I'm using your package of Cinelerra. It works very well. But can't you make 3 packages : one for libmpeg3, with libs and includes, one for quicktime4linux and the last for cinelerra ?
Philippe BERNERY
http://www.antesoft.org
Offline
I dont see any advantages for providing a libmpeg3 and a quicktime4 linux packacke. As the only program benefit from these 2 packages is cinelerra there is no need for me providing 3 seperated packeges. If there is any advantage to do so please tell me why. As long im not convinced to do so I wont do also as long as libmpeg3 and quicktime4linux come with cinelerra. Maybe someone else?...
greetings,
Eve
Offline