]> git.pld-linux.org Git - packages/ffmpeg.git/blobdiff - ffmpeg.spec
- added cdio-paranoia patch: adjust for separate libcdio-paranoia
[packages/ffmpeg.git] / ffmpeg.spec
index 01f4b51a791d84f81647962278767f9fe68711fe..4ceee0ea0099cf056dc0136fe7c1abc0813d50c6 100644 (file)
@@ -1,11 +1,23 @@
-# TODO
-# - is bug803 patch still needed? the code changed somehow
+#
+# How to deal with ffmpeg/opencv checken-egg problem:
+#      1. make-request -r --without opencv ffmpeg.spec
+#      2. make-request -r opencv.spec
+#      3. bump release of ffmpeg.spec
+#      4. make-request -r ffmpeg.spec
 #
 # Conditional build:
 %bcond_with    nonfree         # non free options of package (currently: faac)
-%bcond_without autoreqdep      # don't care about package name deps generated by rpm
-%bcond_without frei0r          # build without frei0r video filtering
-%bcond_without x264            # build without x264 encoder
+%bcond_with    aacplus         # AAC+ encoding via libaacplus (requires nonfree)
+%bcond_with    fdk_aac         # AAC encoding via libfdk_aac (requires nonfree)
+%bcond_without caca            # textual display using libcaca
+%bcond_without flite           # flite voice synthesis support
+%bcond_without frei0r          # frei0r video filtering
+%bcond_without ilbc            # iLBC de/encoding via WebRTC libilbc
+%bcond_without openal          # OpenAL 1.1 capture support
+%bcond_without opencv          # OpenCV video filtering
+%bcond_without pulseaudio      # PulseAudio input support
+%bcond_without x264            # x264 encoder
+%bcond_without utvideo         # Ut Video decoder
 %bcond_without va              # VAAPI (Video Acceleration API)
 %bcond_without vpx             # VP8, a high-quality video codec
 %bcond_without doc             # don't build docs
@@ -13,7 +25,7 @@
 Summary:       FFmpeg - a very fast video and audio converter
 Summary(pl.UTF-8):     FFmpeg - szybki konwerter audio/wideo
 Name:          ffmpeg
-Version:       0.8.3
+Version:       1.0.1
 Release:       1
 # LGPL or GPL, chosen at configure time (GPL version is more featured)
 # (postprocessing, some filters, x264, xavs, xvid, x11grab)
@@ -21,65 +33,90 @@ Release:    1
 License:       GPL v3+ with LGPL v3+ parts
 Group:         Applications/Multimedia
 Source0:       http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: 556870ccfd6c9c0426c7dd86dd5beb62
+# Source0-md5: dbbb88ce5525dea22b24aaa098a9bcc2
 Source1:       ffserver.init
 Source2:       ffserver.sysconfig
 Source3:       ffserver.conf
-Patch0:                %{name}-bug-803.patch
-Patch1:                %{name}-gsm.patch
+Patch0:                %{name}-gsm.patch
+Patch1:                %{name}-opencv24.patch
+Patch2:                %{name}-openjpeg.patch
+Patch3:                %{name}-cdio-paranoia.patch
 URL:           http://www.ffmpeg.org/
-BuildRequires: SDL-devel
+%{?with_openal:BuildRequires:  OpenAL-devel}
+BuildRequires: SDL-devel >= 1.2.1
 BuildRequires: alsa-lib-devel
 BuildRequires: bzip2-devel
 BuildRequires: celt-devel >= 0.11.0
-BuildRequires: dirac-devel >= 1.0.0
 %{?with_nonfree:BuildRequires: faac-devel}
+%{?with_fdk_aac:BuildRequires: fdk-aac-devel}
+%{?with_flite:BuildRequires:   flite-devel >= 1.4}
+BuildRequires: fontconfig-devel
 BuildRequires: freetype-devel
 %{?with_frei0r:BuildRequires:  frei0r-devel}
 %ifarch ppc
 # require version with altivec support fixed
 BuildRequires: gcc >= 5:3.3.2-3
 %endif
+BuildRequires: gnutls-devel
 BuildRequires: jack-audio-connection-kit-devel
 BuildRequires: lame-libs-devel >= 3.98.3
-BuildRequires: libdc1394-devel
+%{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0}
+BuildRequires: libass-devel
+BuildRequires: libavc1394-devel
+BuildRequires: libbluray-devel
+%{?with_caca:BuildRequires:    libcaca-devel}
+BuildRequires: libcdio-paranoia-devel >= 0.90-2
+BuildRequires: libdc1394-devel >= 2
 BuildRequires: libgsm-devel
+BuildRequires: libiec61883-devel
+BuildRequires: libmodplug-devel
 BuildRequires: libnut-devel
-BuildRequires: libraw1394-devel
+BuildRequires: libraw1394-devel >= 2
 BuildRequires: librtmp-devel
 BuildRequires: libtheora-devel >= 1.0-0.beta3
 BuildRequires: libtool >= 2:1.4d-3
+BuildRequires: libv4l-devel
 %{?with_va:BuildRequires:      libva-devel >= 1.0.3}
-BuildRequires: libvdpau-devel
+BuildRequires: libvdpau-devel >= 0.2
 BuildRequires: libvorbis-devel
 %{?with_vpx:BuildRequires:     libvpx-devel >= 0.9.6}
-# X264_BUILD >= 83
-%{?with_x264:BuildRequires:    libx264-devel >= 0.1.3-1.20110625_2245}
-BuildRequires: opencore-amr-devel
-BuildRequires: openjpeg-devel >= 1.3-2
-BuildRequires: speex-devel >= 1:1.2-rc1
+# X264_BUILD >= 118
+%{?with_x264:BuildRequires:    libx264-devel >= 0.1.3-1.20111212_2245}
 %ifarch %{ix86}
 %ifnarch i386 i486
 BuildRequires: nasm
 %endif
 %endif
+BuildRequires: opencore-amr-devel
+%{?with_opencv:BuildRequires:  opencv-devel}
+BuildRequires: openjpeg-devel >= 1.5
+BuildRequires: opus-devel
 BuildRequires: perl-Encode
 BuildRequires: perl-tools-pod
 BuildRequires: pkgconfig
+%{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
 BuildRequires: rpmbuild(macros) >= 1.470
 BuildRequires: schroedinger-devel
+BuildRequires: speex-devel >= 1:1.2-rc1
 %{?with_doc:BuildRequires:     tetex}
 %{?with_doc:BuildRequires:     texi2html}
 %{?with_doc:BuildRequires:     texinfo}
+BuildRequires: twolame-devel
+%{?with_utvideo:BuildRequires: utvideo-devel}
 BuildRequires: vo-aacenc-devel
 BuildRequires: vo-amrwbenc-devel
+%{?with_ilbc:BuildRequires:    webrtc-libilbc-devel}
 BuildRequires: xavs-devel
 BuildRequires: xorg-lib-libXext-devel
 BuildRequires: xorg-lib-libXfixes-devel
 BuildRequires: xvid-devel >= 1:1.1.0
+BuildRequires: yasm
 BuildRequires: zlib-devel
 %{?with_autoreqdep:BuildConflicts:     libpostproc}
+# overflows maximum hash table size
+BuildConflicts:        pdksh < 5.2.14-57
 Requires:      %{name}-libs = %{version}-%{release}
+%{?with_ilbc:Requires: webrtc-libilbc}
 Requires:      xvid >= 1:1.1.0
 Obsoletes:     libpostproc
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -135,18 +172,28 @@ Summary(pl.UTF-8):        Pliki nagłówkowe ffmpeg
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
 # Libs.private from *.pc (unreasonably they are all the same)
-Requires:      SDL-devel
+Requires:      SDL-devel >= 1.2.1
 Requires:      alsa-lib-devel
 Requires:      bzip2-devel
-Requires:      celt-devel
-Requires:      dirac-devel >= 1.0.0
+Requires:      celt-devel >= 0.11.0
 %{?with_nonfree:Requires:      faac-devel}
+%{?with_fdk_aac:Requires:      fdk-aac-devel}
+Requires:      fontconfig-devel
+Requires:      freetype-devel
 Requires:      jack-audio-connection-kit-devel
+%{?with_flite:Requires:        flite-devel >= 1.4}
 Requires:      lame-libs-devel >= 3.98.3
-Requires:      libdc1394-devel
+%{?with_aacplus:Requires:      libaacplus-devel >= 2.0.0}
+Requires:      libass-devel
+Requires:      libavc1394-devel
+Requires:      libbluray-devel
+Requires:      libcdio-paranoia-devel >= 0.90-2
+Requires:      libdc1394-devel >= 2
 Requires:      libgsm-devel
+Requires:      libiec61883-devel
+Requires:      libmodplug-devel
 Requires:      libnut-devel
-Requires:      libraw1394-devel
+Requires:      libraw1394-devel >= 2
 Requires:      librtmp-devel
 Requires:      libtheora-devel >= 1.0-0.beta3
 %{?with_va:Requires:   libva-devel >= 1.0.3}
@@ -154,11 +201,14 @@ Requires: libvorbis-devel
 %{?with_vpx:Requires:  libvpx-devel >= 0.9.6}
 %{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
 Requires:      opencore-amr-devel
-Requires:      openjpeg-devel >= 1.3-2
+%{?with_opencv:Requires:       opencv-devel}
+Requires:      openjpeg-devel >= 1.5
 Requires:      schroedinger-devel
 Requires:      speex-devel >= 1:1.2-rc1
+Requires:      twolame-devel
 Requires:      vo-aacenc-devel
 Requires:      vo-amrwbenc-devel
+%{?with_ilbc:Requires: webrtc-libilbc-devel}
 Requires:      xavs-devel
 Requires:      xorg-lib-libXext-devel
 Requires:      xorg-lib-libXfixes-devel
@@ -225,6 +275,8 @@ dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
 %setup -q
 %patch0 -p1
 %patch1 -p0
+%patch2 -p1
+%patch3 -p1
 
 # package the grep result for mplayer, the result formatted as ./mplayer/configure
 cat <<EOF > ffmpeg-avconfig
@@ -289,29 +341,48 @@ EOF
        --libdir=%{_libdir} \
        --shlibdir=%{_libdir} \
        --mandir=%{_mandir} \
-       --cc="%{__cc}" \
        --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}" \
        --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
+       --cc="%{__cc}" \
        --disable-debug \
        --disable-optimizations \
        --disable-stripping \
        --enable-avfilter \
+       --enable-avresample \
+       --enable-gnutls \
        --enable-gpl \
        --enable-version3 \
+       --enable-fontconfig \
        %{?with_frei0r:--enable-frei0r} \
-       --enable-libdc1394 \
+       %{?with_aacplus:--enable-libaacplus} \
+       --enable-libass \
+       --enable-libbluray \
+       %{?with_libcaca:--enable-libcaca} \
        --enable-libcelt \
-       --enable-libdirac \
+       --enable-libcdio \
+       --enable-libdc1394 \
+       %{?with_fdk_aac:--enable-libfdk-aac} \
+       %{?with_flite:--enable-libflite} \
+       --enable-libfreetype \
        --enable-libgsm \
+       --enable-libiec61883 \
+       %{?with_ilbc:--enable-libilbc} \
+       --enable-libmodplug \
        --enable-libmp3lame \
        --enable-libnut \
        --enable-libopencore-amrnb \
        --enable-libopencore-amrwb \
+       %{?with_opencv:--enable-libopencv} \
        --enable-libopenjpeg \
+       --enable-libopus \
+       %{?with_pulseaudio:--enable-libpulse} \
        --enable-librtmp \
        --enable-libschroedinger \
        --enable-libspeex \
        --enable-libtheora \
+       --enable-libtwolame \
+       %{?with_utvideo:--enable-libutvideo} \
+       --enable-libv4l2 \
        --enable-libvo-aacenc \
        --enable-libvo-amrwbenc \
        --enable-libvorbis \
@@ -319,10 +390,12 @@ EOF
        %{?with_x264:--enable-libx264} \
        --enable-libxavs \
        --enable-libxvid \
+       %{?with_openal:--enable-openal} \
        --enable-postproc \
        --enable-pthreads \
        --enable-shared \
        --enable-swscale \
+       %{?with_va:--enable-vaapi} \
        --enable-vdpau \
        --enable-x11grab \
 %ifnarch %{ix86} %{x8664}
@@ -337,8 +410,6 @@ EOF
 %endif
        --enable-runtime-cpudetect
 
-#      --enable-libopencv would cause dependency loop
-
 # force oldscaler build
 %{__sed} -i -e 's|#define.*CONFIG_OLDSCALER.*0|#define CONFIG_OLDSCALER 1|g' config.h
 
@@ -368,6 +439,8 @@ for a in libavutil/*/bswap.h; do
 done
 cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
 cp -a libavformat/avio.h $RPM_BUILD_ROOT%{_includedir}/libavformat
+# for lim-omx ffmpeg components
+cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
 
 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
@@ -408,29 +481,34 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES,TODO} %{?with_doc:doc/*.html}
+%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES} %{?with_doc:doc/*.html}
 %attr(755,root,root) %{_bindir}/ffmpeg
 %attr(755,root,root) %{_bindir}/ffprobe
 %attr(755,root,root) %{_bindir}/qt-faststart
 %dir %{_datadir}/ffmpeg
 %{_datadir}/ffmpeg/*.ffpreset
+%{_datadir}/ffmpeg/ffprobe.xsd
 %{?with_doc:%{_mandir}/man1/ffmpeg.1*}
 %{?with_doc:%{_mandir}/man1/ffprobe.1*}
 
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.53
+%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.54
 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.53
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.54
 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.2
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.3
 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavformat.so.53
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.54
+%attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavresample.so.0
 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.51
 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.51
+%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.52
+%attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libswresample.so.0
 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.2
 
@@ -442,23 +520,29 @@ fi
 %attr(755,root,root) %{_libdir}/libavdevice.so
 %attr(755,root,root) %{_libdir}/libavfilter.so
 %attr(755,root,root) %{_libdir}/libavformat.so
+%attr(755,root,root) %{_libdir}/libavresample.so
 %attr(755,root,root) %{_libdir}/libavutil.so
 %attr(755,root,root) %{_libdir}/libpostproc.so
+%attr(755,root,root) %{_libdir}/libswresample.so
 %attr(755,root,root) %{_libdir}/libswscale.so
 %{_includedir}/ffmpeg
 %{_includedir}/libavcodec
 %{_includedir}/libavdevice
 %{_includedir}/libavfilter
 %{_includedir}/libavformat
+%{_includedir}/libavresample
 %{_includedir}/libavutil
 %{_includedir}/libpostproc
+%{_includedir}/libswresample
 %{_includedir}/libswscale
 %{_pkgconfigdir}/libavcodec.pc
 %{_pkgconfigdir}/libavdevice.pc
 %{_pkgconfigdir}/libavfilter.pc
 %{_pkgconfigdir}/libavformat.pc
+%{_pkgconfigdir}/libavresample.pc
 %{_pkgconfigdir}/libavutil.pc
 %{_pkgconfigdir}/libpostproc.pc
+%{_pkgconfigdir}/libswresample.pc
 %{_pkgconfigdir}/libswscale.pc
 
 %files static
@@ -467,8 +551,10 @@ fi
 %{_libdir}/libavdevice.a
 %{_libdir}/libavfilter.a
 %{_libdir}/libavformat.a
+%{_libdir}/libavresample.a
 %{_libdir}/libavutil.a
 %{_libdir}/libpostproc.a
+%{_libdir}/libswresample.a
 %{_libdir}/libswscale.a
 
 %files ffplay
This page took 0.038492 seconds and 4 git commands to generate.