# $Id: ffmpeg.spec 2800 2005-01-09 04:32:03Z dag $ # Authority: matthias %define date 2006-03-06 #define prever pre1 %{?date: %define sqdate %(echo %{date} | tr -d '-')} Summary: Hyper fast MPEG1/MPEG4/H263/RV and AC3/MPEG audio encoder and decoder Name: ffmpeg Version: 0.4.9 Release: %{?date:0.%{sqdate}.}%{?prever:0.%{prever}.}3.PU_IAS.2 License: GPL Group: System Environment/Libraries URL: http://ffmpeg.sourceforge.net/ %if %{?date:0}%{!?date:1} Source: http://dl.sf.net/ffmpeg/ffmpeg-%{version}%{?prever:-%{prever}}.tar.gz %else Source: http://ffmpeg.sourceforge.net/cvs/%{name}-cvs-%{date}.tar.gz %endif Patch0: ffmpeg-0.4.9-pre1-sharedppfix.patch Patch2: ffmpeg-0.4.9-pre1-pic.patch Patch10: ffmpeg_0.cvs20050121-1ubuntu1.1.diff Patch100: ffmpeg-make.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root # Seems like automatic req/provs _really_ don't work well on this package BuildRequires: lame-devel BuildRequires: a52dec-devel BuildRequires: imlib2-devel, SDL-devel, freetype-devel, zlib-devel BuildRequires: tetex BuildRequires: libogg-devel, libvorbis-devel BuildRequires: faad2-devel BuildRequires: faac-devel BuildRequires: xvidcore-devel BuildRequires: x264-devel # We need those as autoreqprov adds them as a requirement to the package # (0.4.8, still true in 0.4.9-pre1) Provides: libavcodec.so Provides: libavformat.so %ifarch x86_64 Provides: libavcodec.so()(64bit) Provides: libavformat.so()(64bit) %endif %description FFmpeg is a very fast video and audio converter. It can also grab from a live audio/video source. The command line interface is designed to be intuitive, in the sense that ffmpeg tries to figure out all the parameters, when possible. You have usually to give only the target bitrate you want. FFmpeg can also convert from any sample rate to any other, and resize video on the fly with a high quality polyphase filter. cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg Available rpmbuild rebuild options : --without : lame vorbis faad faac xvid a52dec altivec %package devel Summary: Header files and static library for the ffmpeg codec library Group: Development/Libraries Requires: %{name} = %{version} Requires: imlib2-devel, SDL-devel, freetype-devel, zlib-devel Requires: lame-devel Requires: libogg-devel, libvorbis-devel Requires: faad2-devel Requires: faac-devel Requires: xvidcore-devel Requires: a52dec-devel %description devel FFmpeg is a very fast video and audio converter. It can also grab from a live audio/video source. The command line interface is designed to be intuitive, in the sense that ffmpeg tries to figure out all the parameters, when possible. You have usually to give only the target bitrate you want. FFmpeg can also convert from any sample rate to any other, and resize video on the fly with a high quality polyphase filter. Install this package if you want to compile apps with ffmpeg support. %package -n libpostproc Summary: Video postprocessing library from ffmpeg Group: System Environment/Libraries # We need to override version here... when libpostproc was built from # MPlayer, it got up to 1.0-0.11.x) - mach barfs! :-( #Version: 1.0.1 Provides: libpostproc-devel = %{version}-%{release} %description -n libpostproc FFmpeg is a very fast video and audio converter. It can also grab from a live audio/video source. This package contains only ffmpeg's libpostproc post-processing library which other projects such as transcode may use. Install this package if you intend to use MPlayer, transcode or other similar programs. %prep %setup -q -n %{name}-%{?date:cvs-%{date}}%{!?date:%{version}%{?prever:-%{prever}}} #patch0 -p1 -b .sharedpp #patch2 -p1 -b .pic #%patch10 -p1 -b .cve-2005-3048 %patch100 -p1 -b .pu_ias ### FIXME: Make Makefile use autotool directory standard. (Please fix upstream) #%{__perl} -pi -e 's|\$\(prefix\)/lib|\$(libdir)|g; # s|\$\(prefix\)/include|\$(includedir)|g' \ # Makefile */Makefile */*/Makefile %build ./configure \ %ifnarch %{ix86} --disable-mmx \ --extra-cflags="%{optflags} -fPIC" \ %else --extra-cflags="%{optflags}" \ %endif --prefix=/usr \ '--extra-cflags=-O2 -g -pipe -m32 -march=i386 -mtune=pentium4' \ --enable-mp3lame \ --enable-libogg \ --enable-vorbis \ --enable-faad \ --enable-faac \ --enable-xvid \ --enable-pp \ --enable-shared \ --enable-gpl \ --enable-pthreads \ --enable-a52 \ --enable-theora \ --disable-strip \ --disable-debug \ --disable-opts # Make! %{__make} %{?_smp_mflags} -C libavcodec/libpostproc %{__make} %{?_smp_mflags} #%{?_without_fast_memcpy:OPTFLAGS="-fPIC -fomit-frame-pointer %{optflags} -UUSE_FASTMEMCPY"} %{__make} documentation # Leftover, for reference : # OPTFLAGS="-fPIC -fomit-frame-pointer %{optflags} -UUSE_FASTMEMCPY" %install %{__rm} -rf %{buildroot} mkdir -p $RPM_BUILD_ROOT%{_includedir}/postproc %makeinstall -C libavcodec/libpostproc %makeinstall install-libs ### Remove from the included docs %{__rm} -rf doc/{CVS,Makefile} %clean %{__rm} -rf %{buildroot} %post /sbin/ldconfig %postun /sbin/ldconfig %post -n libpostproc /sbin/ldconfig %postun -n libpostproc /sbin/ldconfig %files %defattr(-, root, root, 0755) %doc Changelog COPYING CREDITS README %{_bindir}/* %{_libdir}/*.so*0 %exclude %{_libdir}/libpostproc.so* %{_libdir}/vhook/ %{_mandir}/man1/* %files devel %defattr(-, root, root, 0755) %doc doc/* %{_includedir}/ffmpeg/ %{_libdir}/*.a %{_libdir}/pkgconfig/*.pc %{_includedir}/postproc/*.h %files -n libpostproc %defattr(-, root, root, 0755) %{_includedir}/postproc/ %{_libdir}/libpostproc.so* %changelog * Mon Mar 6 2006 Thomas Uphill - cvs update for ipod * Tue Dec 20 2005 Josko Plazonic - CVE-2005-3048 * Sat Jan 15 2005 Dag Wieers - 0.4.9-0.20041110.3 - Exclude libpostproc.so* from ffmpeg package. * Sun Nov 21 2004 Matthias Saou 0.4.9-0.20041110.2 - Put back explicit requirements since some (all?) don't get properly added automatically, like faad2 (thanks to Holden McGroin). * Tue Nov 16 2004 Matthias Saou 0.4.9-0.20041110.1 - Update to latest CVS snaphsot. - Explicitely disable mmx on non-x86 to fix x86_64 build. - Add -fPIC to --extra-cflags on non-x86 to fix x86_64 build, as it seems mmx and pic are mutually exclusive (build fails with both). * Tue Nov 2 2004 Matthias Saou 0.4.9-0.20041102.1 - Update to 20040926 CVS to fix FC3 compilation problems... not! - Moved OPTFLAGS to --extra-cflags configure option... no better! - Add HAVE_LRINTF workaround to fix compile failure... yeah, one less. - Disable -fPIC, libpostproc breaks with it enabled... argh :-( - ...I give up, disable a52 for now. * Mon Sep 27 2004 Matthias Saou 0.4.9-0.pre1.1 - Update to 0.4.9-pre1. - Enable GPL, pp, shared and shared-pp! - Add sharedpp and nostrip patches from livna.org rpm. - Add PIC vs. __PIC__ patch. - Re-enable MMX. - Add mandatory -fomit-frame-pointer flag to not bomb on compile. - Added man pages. - Added -UUSE_FASTMEMCPY for libpostproc, otherwise we get : libpostproc.so.0: undefined reference to `fast_memcpy' * Mon Aug 2 2004 Matthias Saou 0.4.8-3 - Removed explicit binary dependencies. - Removed faac support, it doesn't exist. - Seems like Imlib2 support is broken... - Added missing -devel requirements for the -devel package. * Thu Jun 03 2004 Dag Wieers - 0.4.8-3 - Fixes for building for x86_64 architecture. * Tue May 18 2004 Matthias Saou 0.4.8-3 - Rebuilt for Fedora Core 2. * Sat Feb 21 2004 Matthias Saou 0.4.8-2 - Add faac support. - Enable pp. - Remove unneeded explicit main a52dec dependency. * Fri Nov 7 2003 Matthias Saou 0.4.8-1 - Update to 0.4.8. - Steal some changes back from Troy Engel : Disabling mmx to make the build succeed and added man pages. - Re-enabled auto provides but added explicit libavcodec.so and libavformat.so. - Rebuild for Fedora Core 1. * Mon Aug 25 2003 Matthias Saou - Update to 0.4.7. * Fri Aug 8 2003 Matthias Saou - Update to todays's snapshot. * Tue Jul 1 2003 Matthias Saou - Update to a CVS snapshot as videolan-client 0.6.0 needs it. - Enable faad, imlib2 and SDL support. - Force OPTFLAGS to remove -mcpu, -march and -pipe that all prevent building! * Mon Mar 31 2003 Matthias Saou - Rebuilt for Red Hat Linux 9. - Hardcode provides in order to get it right :-/ * Tue Feb 25 2002 Matthias Saou - Moved libavcodec.so to the main package to fix dependency problems. * Wed Feb 19 2002 Matthias Saou - Major spec file updates, based on a very nice Mandrake spec. - Revert to the 0.4.6 release as CVS snapshots don't build. * Tue Feb 4 2002 Matthias Saou - Initial RPM release.