%define _default_patch_fuzz 2
%define prever git20081103
Summary: Advanced audio and video capturing, compositing, and editing
Name: cinelerra-cv
Version: 2.1
Release: 22%{?prever:.%{prever}}%{?dist}
License: GPLv2+
Group: Applications/Multimedia
URL: http://cinelerra.org/
## For Source0: see cinelerra-j6t-snapshot.sh
Source0: cinelerra-%{version}%{?prever:-%{prever}}.tar.bz2
Source10: cinelerra-j6t-snapshot.sh
Patch0: cinelerra-2.1-ffmpeg_external.patch
Patch1: cinelerra-2.1-no_install_font.patch
Patch2: cinelerra-2.1-fix_lib.patch
Patch5: cinelerra-2.1-fonts_path.patch
Patch6: cinelerra-2.1-libGL_fix.patch
Patch7: cinelerra-2.1-libmpeg3_system2.patch
Patch8: cinelerra-cv_rename.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libXt-devel, libXv-devel, libXxf86vm-devel, libXext-devel, libX11-devel
BuildRequires: gettext-devel
BuildRequires: desktop-file-utils
Buildrequires: esound-devel
BuildRequires: alsa-lib-devel >= 1.0.2
BuildRequires: mjpegtools-devel
# Required for libuuid
BuildRequires: e2fsprogs-devel
BuildRequires: fftw-devel
BuildRequires: a52dec-devel
BuildRequires: lame-devel
BuildRequires: libsndfile-devel
BuildRequires: OpenEXR-devel
BuildRequires: faad2-devel
BuildRequires: libraw1394-devel >= 1.2.0
BuildRequires: libiec61883-devel
# >= 0.5.0 required because of the use of avc1394_vcr_get_timecode2
BuildRequires: libavc1394-devel >= 0.5.0
BuildRequires: x264-devel
BuildRequires: libogg-devel, libvorbis-devel, libtheora-devel
BuildRequires: libGL-devel, libGLU-devel
# Stuff not checked by configure, but still required
BuildRequires: nasm, yasm
BuildRequires: libtool
BuildRequires: freetype-devel
BuildRequires: faac-devel
BuildRequires: libjpeg-devel, libpng-devel, libtiff-devel
BuildRequires: libdv-devel
Buildrequires: ffmpeg-devel
# Thiw is wip (should be used instead of toolame )
#BuildRequires: twolame-devel
%{?_with_libmpeg3_system:BuildRequires: libmpeg3-devel}
#BuildRequires: libquicktime-devel
#Needed for execstack -c
BuildRequires: prelink
# Needed for the shmmax tweak
Requires(post): /sbin/sysctl
Requires(postun): /sbin/sysctl
# Needed fonts are provided once
Requires: bitstream-vera-fonts
Requires: mjpegtools
# We now use system libmpeg3
Requires: libmpeg3-utils
# Needeed to regenerate old-style font.scale and then fonts.dir
#Requires: ttmkfdir, xorg-x11-font-utils
%description
This is the Community maintained Version of cinelerra
%prep
%setup -q -n cinelerra-%{version}
%patch0 -p1 -b .ffmpeg_external
%patch1 -p1 -b .no_font
%patch2 -p1 -b .fix_lib
%patch5 -p1 -b .fonts
%patch6 -p1 -b .libGL_fix
%patch7 -p1 -b .libmpeg3_s
%patch8 -p1 -b .cv_rename
# Re-run autotools
autoreconf
%build
# Warning: MMX is MMX32 only
# (produce an error on F-8 but only a warning on F-7 )
%configure \
--with-buildinfo=cust/"%{version} GIT %{?prever} RPMFusion For Fedora/EPEL %{?dist}" \
--program-suffix=-cv \
--with-plugindir=%{_libdir}/%{name} \
--with-fontsdir=%{_datadir}/fonts/%{name} \
--with-external-ffmpeg \
%{?_with_libmpeg3_system: --with-external-libmpeg3 } \
--enable-opengl \
%ifarch i686 x86_64
--enable-mmx \
%else
--disable-mmx \
--disable-3dnow \
%endif
%ifarch ppc ppc64
--enable-altivec \
%endif
--disable-rpath
%{?_with_libmpeg3_system: rm -rf libmpeg3}
%{__make} %{?_smp_mflags}
%install
%{__rm} -rf %{buildroot}
%{__make} install DESTDIR=%{buildroot} INSTALL="install -p"
find %{buildroot} -name '*.la' -exec rm -f {} ';'
%if 0
# rename the mpeg3 utils so they can be installed alongside native versions
( cd $RPM_BUILD_ROOT%{_bindir}
mv mpeg3toc mpeg3toc.hv
mv mpeg3cat mpeg3cat.hv
mv mpeg3dump mpeg3dump.hv
mv mplexlo mplexlo.hv
# from cinelerra-cvs-current.spec - but produce an error at run time
#ln -s ../../bin/mpeg2enc %{buildroot}%{_libdir}/cinelerra/mpeg2enc.plugin
)
%else
rm -rf $RPM_BUILD_ROOT%{_bindir}/mp*
%endif
#Until properly renamed
mv %{buildroot}%{_datadir}/applications/cinelerra.desktop \
%{buildroot}%{_datadir}/applications/%{name}.desktop
mv %{buildroot}%{_datadir}/pixmaps/cinelerra.xpm \
%{buildroot}%{_datadir}/pixmaps/%{name}.xpm
desktop-file-install --vendor "" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
--delete-original \
--mode 644 \
%{buildroot}%{_datadir}/applications/%{name}.desktop
# We don't want to link on their own libs
rm -rf %{buildroot}%{_includedir}
rm -rf %{buildroot}%{_libdir}/*.so
# Remove uneeded fonts - you want them ?
# get msttcorefonts and regenerate fonts.dir instead
# (with packages ttmkfdir and xorg-x11-font-utils)
rm -rf %{buildroot}%{_datadir}/fonts/%{name}
#Fix execstack
%{_bindir}/execstack -c %{buildroot}%{_libdir}/%{name}/suv.so
%{_bindir}/execstack -c %{buildroot}%{_libdir}/%{name}/blondtheme.so
%{_bindir}/execstack -c %{buildroot}%{_libdir}/%{name}/bluedottheme.so
%{_bindir}/execstack -c %{buildroot}%{_bindir}/cinelerra-cv
%find_lang cinelerra
%clean
%{__rm} -rf %{buildroot}
%pre
sed -i -e "/# Added by Cinelerra RPM from RPM Fusion/d" %{_sysconfdir}/rc.local
sed -i -e "/kernel\/shmmax=0x7fffffff/d" %{_sysconfdir}/rc.local
%post
if [ $1 -eq 1 ]; then
if [ $(/sbin/sysctl -n -q kernel.shmmax) -lt 2147483647 ] ; then
# Hack for the package to work "out of the box".
/sbin/sysctl -q -w kernel.shmmax=0x7fffffff
fi
if [ $(grep kernel.shmmax %{_sysconfdir}/sysctl.conf |wc -l) == 0 ] ; then
# Hack for the package to work on reboot.
echo -e "\n# Added by Cinelerra RPM from RPM Fusion\nkernel.shmmax = 0x7fffffff" >> %{_sysconfdir}/sysctl.conf
fi
fi
%{_bindir}/gtk-update-icon-cache -qf %{_datadir}/pixmaps &>/dev/null
%{_bindir}/update-desktop-database %{_datadir}/applications > /dev/null 2>&1
/sbin/ldconfig || :
%postun
if [ "$1" = "0" ]; then
sed -i -e "/# Added by Cinelerra RPM from RPM Fusion/d" %{_sysconfdir}/sysctl.conf
sed -i -e "/kernel.shmmax = 0x7fffffff/d" %{_sysconfdir}/sysctl.conf
fi
%{_bindir}/update-desktop-database %{_datadir}/applications > /dev/null 2>&1
%{_bindir}/gtk-update-icon-cache -qf %{_datadir}/pixmaps &>/dev/null
/sbin/ldconfig || :
%files -f cinelerra.lang
%defattr(-,root,root,-)
%doc ChangeLog COPYING LICENSE NEWS TODO
%{_bindir}/cinelerra-cv
%if 0
%{_bindir}/mpeg3cat.hv
%{_bindir}/mpeg3dump.hv
%{_bindir}/mpeg3toc.hv
%{_bindir}/mplexlo.hv
%endif
%{_libdir}/%{name}/
%{_libdir}/*.so.*
%{_datadir}/applications/*%{name}.desktop
#{_datadir}/fonts/%{name}/
%{_datadir}/pixmaps/%{name}.xpm
%changelog
* Tue Nov 4 2008 kwizart < kwizart at gmail.com > - 2.1-22.git20081103
- Improve description
- Fix icon rename
- Fix exestack
- Enable mmx on x86_64
* Mon Nov 3 2008 kwizart < kwizart at gmail.com > - 2.1-21.git20081103
- Update to 20081103 using the git j6t repository
* Wed Oct 29 2008 kwizart < kwizart at gmail.com > - 2.1-0.21.git20081029
- Update to 20081029 using the git j6t repository
* Mon Sep 15 2008 kwizart < kwizart at gmail.com > - 2.1-0.20.svn20080915
- Rename package to cinelerra-cv (Community Version)
- Update to svn20080915
- Use System libmpeg3
* Tue Aug 12 2008 kwizart < kwizart at gmail.com > - 2.1-0.19.svn20080811
- Update to svn 20080811
- Update ffmpeg_external patch to the ffmpeg headers API
* Thu May 15 2008 kwizart < kwizart at gmail.com > - 2.1-0.18.svn20080514
- Re-introduce shmmax (new sysctl method)
- Change the font path and tweak it
- Remove not needed not redistributables fonts.
(Pick msttcorefonts, ttmkfdir and xorg-x11-font-utils instead and then
run ttmkfdir and mkfontdir in each /usr/share/fonts subdirs you want).
- Explicitely enable OpenGL
* Wed May 14 2008 kwizart < kwizart at gmail.com > - 2.1-0.17.svn20080514
- Update to svn20080514
- Remove the shmmax tweak
* Mon Mar 31 2008 kwizart < kwizart at gmail.com > - 2.1-0.16.svn20080331
- Update to svn20080331
* Sat Jan 12 2008 kwizart < kwizart at gmail.com > - 2.1-0.15.svn20080112
- Update to svn20080112
* Sun Nov 11 2007 kwizart < kwizart at gmail.com > - 2.1-0.14.svn20071111
- Update to svn20071111
- Patch to use ffmpeg_external (from the snapshoot.sh )
- Move fonts to %%datadir/cinelerra/fonts (and removed uneeded ones)
* Mon Jan 8 2007 Matthias Saou - 2.1-0.13.svn20070704
- Update to svn20070704
- Uses xpm instead of png (as upstream)
* Mon Jan 8 2007 Matthias Saou 2.0-0.12.20070108
- Update to today's SVN code.
- Include faad2 patch.
- Try to enable OpenGL, but it seems like only proprietary NVidia libraries
would work, and the configure detection would need some changes too. So no.
- Switch to using external ffmpeg since the internal fails to build on i386.
* Tue Oct 24 2006 Matthias Saou 2.0-0.10.20061024
- Update to today's SVN code.
- Rebuild against new x264.
- Re-enable _smp_mflags as they work again, yeah!
- Add --with opengl build conditional, disabled for now, needs testing.
* Tue Sep 26 2006 Matthias Saou 2.0-0.9.20060918
- Replace xpm icon with a nicer png one.
- Remove empty AUTHORS file.
* Mon Sep 18 2006 Matthias Saou 2.0-0.8.20060918
- Update to today's SVN code.
* Fri May 12 2006 Matthias Saou 2.0-0.7.20060512
- Update to today's SVN code.
- Remove no longer needed ffmpeg patch.
* Fri Mar 17 2006 Matthias Saou 2.0-0.6.20060317
- Update to today's SVN code.
- Remove no longer needed extraqualif patch.
- Add gettext-devel build requirement since "make dist" requires it.
- Remove _smp_mflags since the build fails with it.
* Thu Jan 12 2006 Matthias Saou 2.0-0.5.20051210
- Add modular xorg conditional build.
- Include extraqualif patch to fix build with gcc 4.1.
- Add missing freetype-devel build requirement, weird (FC5).
* Sat Dec 10 2005 Matthias Saou 2.0-0.4.20051210
- Force plugindir, so that 64bit plugins go into /usr/lib64.
* Sat Dec 10 2005 Matthias Saou 2.0-0.3.20051210
- Update to today's SVN code.
- Rebuild against mjpegtools 1.8.0.
* Fri Nov 18 2005 Matthias Saou 2.0-0.2.20051118
- Update to today's svn code.
- Add --enable-altivec for ppc (we require high end machines anyway).
* Tue Oct 4 2005 Matthias Saou 2.0-0.1
- Initial RPM release.
- Include patch to fix local ffmpeg search path.