]> git.pld-linux.org Git - packages/ffmpeg.git/blobdiff - ffmpeg.spec
- -devel R: libgsm-devel
[packages/ffmpeg.git] / ffmpeg.spec
index 850e8523ef385f3bdf8c0f91550bb3b53814bada..84b29c4031a1df35e2cdbc22fedbc34dd7578124 100644 (file)
@@ -1,19 +1,64 @@
+#
+# Conditional build:
+%bcond_without imlib2          # we can safely play without it :-)
+%bcond_without autoreqdep      # don't care about package name deps generated by rpm
+#
 Summary:       Realtime audio/video encoder and streaming server
 Summary(pl):   Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
 Name:          ffmpeg
-Version:       0.4.5
-Release:       1
+Version:       0.4.9
+%define        snap    20060129
+Release:       3.%{snap}.8
+# LGPL or GPL, chosen at configure time (GPL version is more featured)
 License:       GPL
 Group:         Daemons
-Group(de):     Server
-Group(pl):     Serwery
-Source0:       http://prdownloads.sourceforge.net/ffmpeg/%{name}-%{version}.tar.gz
-Patch0:                %{name}-opt.patch
+#Source0:      http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
+#Source0:      ftp://ftp2.mplayerhq.hu/MPlayer/cvs/FFMpeg-%{snap}.tar.bz2
+Source0:       %{name}-%{snap}.tar.bz2
+# Source0-md5: d8ea09431d6c0c91bfd35e0ca74a67e1
+Patch0:                %{name}-libtool.patch
+Patch1:                %{name}-libdir.patch
+Patch2:                %{name}-gcc4.patch
 URL:           http://ffmpeg.sourceforge.net/
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%ifarch i586 i686
+BuildRequires: SDL-devel
+BuildRequires: faac-devel
+BuildRequires: faad2-devel
+BuildRequires: freetype-devel
+%ifarch ppc
+# require version with altivec support fixed
+BuildRequires: gcc >= 5:3.3.2-3
+%endif
+%{?with_imlib2:BuildRequires:  imlib2-devel >= 1.1.0-2}
+BuildRequires: lame-libs-devel
+BuildRequires: libdts-devel
+BuildRequires: libgsm-devel
+BuildRequires: libtheora-devel
+BuildRequires: libtool >= 2:1.4d-3
+BuildRequires: libvorbis-devel
+%ifarch %{ix86}
+%ifnarch i386 i486
 BuildRequires: nasm
 %endif
+%endif
+BuildRequires: perl-tools-pod
+BuildRequires: tetex
+BuildRequires: texinfo
+BuildRequires: xvid-devel >= 1:1.1.0
+BuildRequires: zlib-devel
+%{?with_autoreqdep:BuildConflicts:     libpostproc}
+Requires:      xvid >= 1:1.1.0
+Obsoletes:     libpostproc
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define                _noautoreqdep   libGL.so.1 libGLU.so.1
+
+%define                specflags       -fno-strict-aliasing
+
+# -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
+%define                specflags_ia32  -fomit-frame-pointer
+# -mmmx is needed to enable <mmintrin.h> code.
+%define                specflags_i586  -mmmx
+%define                specflags_i686  -mmmx
 
 %description
 ffmpeg is a hyper fast realtime audio/video encoder and streaming
@@ -22,6 +67,9 @@ convert it into several file formats based on DCT/motion compensation
 encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
 compatible stream.
 
+This package contains also ffmpeg shared libraries (libavcodec and
+libavformat).
+
 %description -l pl
 ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
 oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucaæ dane
@@ -30,36 +78,182 @@ format
 jest kompresowany do strumienia MPEG audio layer 2 lub u¿ywaj±c
 strumienia kompatybilnego z AC3.
 
+Ten pakiet zawiera tak¿e biblioteki wspó³dzielone ffmpeg (libavcodec i
+libavformat).
+
+%package devel
+Summary:       ffmpeg header files
+Summary(pl):   Pliki nag³ówkowe ffmpeg
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     libpostproc-devel
+# for libavcodec:
+Requires:      faac-devel
+Requires:      lame-libs-devel
+Requires:      libdts-devel
+Requires:      libgsm-devel
+Requires:      libtheora-devel
+Requires:      libvorbis-devel
+Requires:      xvid-devel >= 1:1.1.0
+Requires:      zlib-devel
+
+%description devel
+ffmpeg header files.
+
+%description devel -l pl
+Pliki nag³ówkowe ffmpeg.
+
+%package static
+Summary:       ffmpeg static libraries
+Summary(pl):   Statyczne biblioteki ffmpeg
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+ffmpeg static libraries (libavcodec and libavformat).
+
+%description static -l pl
+Statyczne biblioteki ffmpeg (libavcodec i libavformat).
+
+%package ffplay
+Summary:       FFplay - SDL-based media player
+Summary(pl):   FFplay - odtwarzacz mediów oparty na SDL
+Group:         Applications/Multimedia
+Requires:      %{name} = %{version}-%{release}
+
+%description ffplay
+FFplay is a very simple and portable media player using the FFmpeg
+libraries and the SDL library. It is mostly used as a test bench for
+the various APIs of FFmpeg.
+
+%description ffplay -l pl
+FFplay to bardzo prosty i przeno¶ny odtwarzacz mediów u¿ywaj±cy
+bibliotek FFmpeg oraz biblioteki SDL. Jest u¿ywany g³ównie do
+testowania ró¿nych API FFmpeg.
+
+%package vhook-imlib2
+Summary:       imlib2 based hook
+Summary(pl):   Modu³ przej¶ciowy oparty o imlib2
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description vhook-imlib2
+This module implements a text overlay for a video image. Currently it
+supports a fixed overlay or reading the text from a file. The string
+is passed through strftime so that it is easy to imprint the date and
+time onto the image.
+
+%description vhook-imlib2 -l pl
+Ten modu³ implementuje tekstow± nak³adkê dla obrazu. Aktualnie
+obs³uguje sta³± nak³adkê lub wczytywanie tekstu z pliku. £añcuch jest
+przepuszczany przez strftime, wiêc ³atwo umie¶ciæ datê i czas na
+obrazie.
+
 %prep
-%setup -q -n %{name}
-%patch -p1
+%setup -q -n ffmpeg
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
+# notes:
+# - it's not autoconf configure
+# - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
 ./configure \
-%ifnarch i586 i686
-       --disable-mmx
+       --prefix=%{_prefix} \
+       --libdir=%{_libdir} \
+       --mandir=%{_mandir} \
+       --disable-strip \
+       --enable-a52 \
+       --enable-a52bin \
+       --enable-dts \
+       --enable-faac \
+       --enable-faadbin \
+       --enable-gpl \
+       --enable-libgsm \
+       --enable-libogg \
+       --enable-mp3lame \
+       --enable-pp \
+       --enable-pthreads \
+       --enable-shared \
+       --enable-theora \
+       --enable-vorbis \
+       --enable-xvid \
+%ifnarch %{ix86} %{x8664}
+       --disable-mmx \
 %endif
+%ifarch i386 i486
+       --disable-mmx \
+%endif
+       --cc="%{__cc}" \
+       --extra-cflags="%{rpmcflags}" \
+       --extra-ldflags="%{rpmldflags}" \
+       --disable-debug \
+       --disable-opts \
+       --tune=generic
 
 %{__make} \
-       OPT="%{rpmcflags}" \
-       LDOPT="%{rpmldflags}"
+       BUILD_DOC=yes
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_sysconfdir}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir}}
+
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
 
-install ffmpeg         $RPM_BUILD_ROOT%{_bindir}
-install ffserver       $RPM_BUILD_ROOT%{_sbindir}
-install doc/*.conf     $RPM_BUILD_ROOT%{_sysconfdir}
+install xvmc_render.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
 
-gzip -9nf README Change* doc/{bench.txt,ffmpeg.txt,ffserver.txt,README*,TODO,FAQ}
+mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
+install doc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc *.gz doc/*.gz
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_sbindir}/*
-%attr(740,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.conf
+%doc Changelog README doc/*.html
+%attr(755,root,root) %{_bindir}/ffmpeg
+%attr(755,root,root) %{_sbindir}/ffserver
+%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
+%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
+%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
+%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
+%dir %{_libdir}/vhook
+%attr(755,root,root) %{_libdir}/vhook/drawtext.so
+%attr(755,root,root) %{_libdir}/vhook/fish.so
+%attr(755,root,root) %{_libdir}/vhook/null.so
+%attr(755,root,root) %{_libdir}/vhook/ppm.so
+%attr(755,root,root) %{_libdir}/vhook/watermark.so
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
+%{_mandir}/man1/ffmpeg.1*
+%{_mandir}/man1/ffserver.1*
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavcodec.so
+%attr(755,root,root) %{_libdir}/libavformat.so
+%attr(755,root,root) %{_libdir}/libavutil.so
+%attr(755,root,root) %{_libdir}/libpostproc.so
+%{_libdir}/lib*.la
+%{_includedir}/ffmpeg
+%{_includedir}/postproc
+%{_pkgconfigdir}/*.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/lib*.a
+
+%files ffplay
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ffplay
+%{_mandir}/man1/ffplay.1*
+
+%if %{with imlib2}
+%files vhook-imlib2
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/vhook/imlib2.so
+%endif
This page took 0.133038 seconds and 4 git commands to generate.