From ed0f784e2b3e3471762458fe84da10cc2f5f21bf Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 9 Mar 2011 18:29:50 +0100 Subject: [PATCH] ffmpeg: update to 0.6 and split libs into multiple subpkgs. --HG-- branch : gnome3 --- srcpkgs/ffmpeg/depends | 2 +- srcpkgs/ffmpeg/ffmpeg-devel.template | 4 +- srcpkgs/ffmpeg/libavcodec.template | 25 +++++++ srcpkgs/ffmpeg/libavdevice.template | 20 ++++++ srcpkgs/ffmpeg/libavformat.template | 19 +++++ srcpkgs/ffmpeg/libavutil.template | 14 ++++ srcpkgs/ffmpeg/libpostproc.template | 14 ++++ srcpkgs/ffmpeg/libswscale.template | 14 ++++ srcpkgs/ffmpeg/template | 88 +++++++++++++++++------- srcpkgs/libavcodec | 1 + srcpkgs/libavdevice | 1 + srcpkgs/libavformat | 1 + srcpkgs/libavutil | 1 + srcpkgs/libpostproc | 1 + srcpkgs/libswscale | 1 + xbps-src/common/mapping_shlib_binpkg.txt | 12 ++-- 16 files changed, 182 insertions(+), 36 deletions(-) create mode 100644 srcpkgs/ffmpeg/libavcodec.template create mode 100644 srcpkgs/ffmpeg/libavdevice.template create mode 100644 srcpkgs/ffmpeg/libavformat.template create mode 100644 srcpkgs/ffmpeg/libavutil.template create mode 100644 srcpkgs/ffmpeg/libpostproc.template create mode 100644 srcpkgs/ffmpeg/libswscale.template create mode 120000 srcpkgs/libavcodec create mode 120000 srcpkgs/libavdevice create mode 120000 srcpkgs/libavformat create mode 120000 srcpkgs/libavutil create mode 120000 srcpkgs/libpostproc create mode 120000 srcpkgs/libswscale diff --git a/srcpkgs/ffmpeg/depends b/srcpkgs/ffmpeg/depends index c483c1e92d4..b127b172a58 100644 --- a/srcpkgs/ffmpeg/depends +++ b/srcpkgs/ffmpeg/depends @@ -1,2 +1,2 @@ -abi_depends=">=0.5.1" +abi_depends=">=0.6" api_depends="${abi_depends}" diff --git a/srcpkgs/ffmpeg/ffmpeg-devel.template b/srcpkgs/ffmpeg/ffmpeg-devel.template index ebd4b5f93e0..57f01b171bd 100644 --- a/srcpkgs/ffmpeg/ffmpeg-devel.template +++ b/srcpkgs/ffmpeg/ffmpeg-devel.template @@ -1,12 +1,10 @@ # Template file for 'ffmpeg-devel'. # -short_desc="${short_desc} (development files)" +short_desc="${short_desc} - development files" long_desc="${long_desc} This package contains files for development, headers, static libs, etc." -revision=1 - Add_dependency run pkg-config Add_dependency run glibc-devel Add_dependency run SDL-devel diff --git a/srcpkgs/ffmpeg/libavcodec.template b/srcpkgs/ffmpeg/libavcodec.template new file mode 100644 index 00000000000..e9f917b2b17 --- /dev/null +++ b/srcpkgs/ffmpeg/libavcodec.template @@ -0,0 +1,25 @@ +# Template file for 'libavcodec'. +# +short_desc="FFmpeg codec library" +long_desc=" + This is the codec library from FFmpeg (both encoding and decoding). + + It supports most existing codecs (MPEG, MPEG2, MPEG4, AC3, DV...)." + +Add_dependency run zlib +Add_dependency run glibc +Add_dependency run faac +Add_dependency run faad2 +Add_dependency run lame +Add_dependency run libtheora +Add_dependency run libvorbis +Add_dependency run x264 +Add_dependency run xvidcore +Add_dependency run libvpx +Add_dependency run libavutil + +do_install() +{ + mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/lib/libavcodec.so* ${DESTDIR}/usr/lib +} diff --git a/srcpkgs/ffmpeg/libavdevice.template b/srcpkgs/ffmpeg/libavdevice.template new file mode 100644 index 00000000000..0db561edc4b --- /dev/null +++ b/srcpkgs/ffmpeg/libavdevice.template @@ -0,0 +1,20 @@ +# Template file for 'libavdevice'. +# +short_desc="FFmpeg device handling library" +long_desc=" + This is the device handling library from FFmpeg." + +Add_dependency run libavformat +Add_dependency run libavcodec +Add_dependency run libavutil +Add_dependency run alsa-lib +Add_dependency run libX11 +Add_dependency run libXext +Add_dependency run libXfixes +Add_dependency run glibc + +do_install() +{ + mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/lib/libavdevice.so* ${DESTDIR}/usr/lib +} diff --git a/srcpkgs/ffmpeg/libavformat.template b/srcpkgs/ffmpeg/libavformat.template new file mode 100644 index 00000000000..1c3a450e3f3 --- /dev/null +++ b/srcpkgs/ffmpeg/libavformat.template @@ -0,0 +1,19 @@ +# Template file for 'libavformat'. +# +short_desc="FFmpeg file format library" +long_desc=" + This is the library for handling file formats from FFmpeg. + + It supports most existing file formats (AVI, MPEG, OGG, Matroska, ASF...)." + +Add_dependency run libavcodec +Add_dependency run libavutil +Add_dependency run zlib +Add_dependency run bzip2 +Add_dependency run glibc + +do_install() +{ + mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/lib/libavformat.so* ${DESTDIR}/usr/lib +} diff --git a/srcpkgs/ffmpeg/libavutil.template b/srcpkgs/ffmpeg/libavutil.template new file mode 100644 index 00000000000..367ab3779be --- /dev/null +++ b/srcpkgs/ffmpeg/libavutil.template @@ -0,0 +1,14 @@ +# Template file for 'libavutil'. +# +short_desc="FFmpeg utility library" +long_desc=" + This is the common utility library from FFmpeg. It contains shared code used + by all other ffmpeg libraries." + +Add_dependency run glibc + +do_install() +{ + mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/lib/libavutil.so* ${DESTDIR}/usr/lib +} diff --git a/srcpkgs/ffmpeg/libpostproc.template b/srcpkgs/ffmpeg/libpostproc.template new file mode 100644 index 00000000000..52fd74f6bcb --- /dev/null +++ b/srcpkgs/ffmpeg/libpostproc.template @@ -0,0 +1,14 @@ +# Template file for 'libpostproc'. +# +short_desc="FFmpeg video postprocessing library" +long_desc=" + This is the video postprocessing library from FFmpeg." + +Add_dependency run libavutil +Add_dependency run glibc + +do_install() +{ + mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/lib/libpostproc.so* ${DESTDIR}/usr/lib +} diff --git a/srcpkgs/ffmpeg/libswscale.template b/srcpkgs/ffmpeg/libswscale.template new file mode 100644 index 00000000000..01a17296360 --- /dev/null +++ b/srcpkgs/ffmpeg/libswscale.template @@ -0,0 +1,14 @@ +# Template file for 'libswscale'. +# +short_desc="FFmpeg video scaling library" +long_desc=" + This is the video software scaling library from FFmpeg." + +Add_dependency run libavutil +Add_dependency run glibc + +do_install() +{ + mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/lib/libswscale.so* ${DESTDIR}/usr/lib +} diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template index d40b76768b0..8578015068b 100644 --- a/srcpkgs/ffmpeg/template +++ b/srcpkgs/ffmpeg/template @@ -1,19 +1,11 @@ # Template file for 'ffmpeg' pkgname=ffmpeg -version=0.5.1 -revision=2 -distfiles="http://launchpad.net/ffmpeg/0.5/$version/+download/ffmpeg-${version}.tar.bz2" -build_style=configure -configure_args="--prefix=/usr --enable-gpl --enable-libmp3lame ---enable-libvorbis --enable-libfaac --enable-libfaad --enable-libxvid ---enable-libx264 --enable-libtheora --enable-postproc --enable-shared ---enable-pthreads --enable-x11grab --enable-version3 --enable-nonfree ---enable-swscale" -make_build_target="doc/ffmpeg.1 doc/ffplay.1 doc/ffserver.1 all" -make_install_args="install-man" +version=0.6 +distfiles="http://ffmpeg.org/releases/ffmpeg-${version}.tar.bz2" +build_style=custom-install short_desc="Decoding, encoding and streaming software" maintainer="Juan RP " -checksum=c2be7188db2083ca8cbadfc240a8776a39abb2357b0ae10e26530eef61a4c858 +checksum=6730baa6750f0cbffaf5f4c04f8ddcf1ebe6c651a6eeb12ae947a228de4c8120 long_desc=" FFmpeg is the first complete and free Internet Live Audio and Video Broadcasting solution. FFMpeg aims at being the command line tool to @@ -26,12 +18,19 @@ long_desc=" FFmpeg generates streaming files, in many popular formats simultaneously, faster than any other solution." -subpackages="$pkgname-devel" +subpackages="libavcodec libavdevice libavformat libavutil" +subpackages="${subpackages} libpostproc libswscale $pkgname-devel" Add_dependency run glibc -Add_dependency run freetype -Add_dependency run SDL +Add_dependency run libavformat +Add_dependency run libavcodec +Add_dependency run libavutil +Add_dependency run alsa-lib +Add_dependency run libX11 +Add_dependency run libXext +Add_dependency run libXfixes Add_dependency run zlib +Add_dependency run bzip2 Add_dependency run faac Add_dependency run faad2 Add_dependency run lame @@ -39,16 +38,21 @@ Add_dependency run libtheora Add_dependency run libvorbis Add_dependency run x264 Add_dependency run xvidcore -Add_dependency run bzip2 -Add_dependency run alsa-lib -Add_dependency run libX11 -Add_dependency run libXext +Add_dependency run libavdevice +Add_dependency run libpostproc +Add_dependency run libswscale +Add_dependency run SDL +Add_dependency run libvpx Add_dependency build pkg-config -Add_dependency build glibc-devel -Add_dependency build freetype-devel -Add_dependency build SDL-devel +Add_dependency build perl ">=0" +Add_dependency build yasm +Add_dependency build alsa-lib-devel +Add_dependency build libX11-devel +Add_dependency build libXext-devel +Add_dependency build libXfixes-devel Add_dependency build zlib-devel +Add_dependency build bzip2-devel Add_dependency build faac-devel Add_dependency build faad2-devel Add_dependency build lame-devel @@ -56,7 +60,39 @@ Add_dependency build libtheora-devel Add_dependency build libvorbis-devel Add_dependency build x264-devel Add_dependency build xvidcore-devel -Add_dependency build bzip2-devel -Add_dependency build alsa-lib-devel -Add_dependency build libX11-devel -Add_dependency build libXext-devel +Add_dependency build SDL-devel +Add_dependency build libvpx-devel + +do_build() +{ + ./configure \ + --prefix=/usr \ + --enable-gpl \ + --enable-libmp3lame \ + --enable-libvorbis \ + --enable-libfaac \ + --enable-libxvid \ + --enable-libx264 \ + --enable-libvpx \ + --enable-libtheora \ + --enable-postproc \ + --enable-shared \ + --enable-x11grab \ + --disable-libopencore_amrnb \ + --disable-libopencore_amrwb \ + --disable-libschroedinger \ + --disable-libopenjpeg \ + --enable-version3 \ + --enable-nonfree \ + --enable-runtime-cpudetect \ + --disable-debug # libfaac is nonfree + + sed -i -e "s|pod2man|/usr/lib/perl5/core_perl/bin/pod2man|g" Makefile + make ${makejobs} + make doc/ff{mpeg,play,server}.1 +} + +do_install() +{ + make DESTDIR=${DESTDIR} install install-man +} diff --git a/srcpkgs/libavcodec b/srcpkgs/libavcodec new file mode 120000 index 00000000000..a9f1eea092d --- /dev/null +++ b/srcpkgs/libavcodec @@ -0,0 +1 @@ +ffmpeg \ No newline at end of file diff --git a/srcpkgs/libavdevice b/srcpkgs/libavdevice new file mode 120000 index 00000000000..a9f1eea092d --- /dev/null +++ b/srcpkgs/libavdevice @@ -0,0 +1 @@ +ffmpeg \ No newline at end of file diff --git a/srcpkgs/libavformat b/srcpkgs/libavformat new file mode 120000 index 00000000000..a9f1eea092d --- /dev/null +++ b/srcpkgs/libavformat @@ -0,0 +1 @@ +ffmpeg \ No newline at end of file diff --git a/srcpkgs/libavutil b/srcpkgs/libavutil new file mode 120000 index 00000000000..a9f1eea092d --- /dev/null +++ b/srcpkgs/libavutil @@ -0,0 +1 @@ +ffmpeg \ No newline at end of file diff --git a/srcpkgs/libpostproc b/srcpkgs/libpostproc new file mode 120000 index 00000000000..a9f1eea092d --- /dev/null +++ b/srcpkgs/libpostproc @@ -0,0 +1 @@ +ffmpeg \ No newline at end of file diff --git a/srcpkgs/libswscale b/srcpkgs/libswscale new file mode 120000 index 00000000000..a9f1eea092d --- /dev/null +++ b/srcpkgs/libswscale @@ -0,0 +1 @@ +ffmpeg \ No newline at end of file diff --git a/xbps-src/common/mapping_shlib_binpkg.txt b/xbps-src/common/mapping_shlib_binpkg.txt index fde407ad7f4..4277a43adfe 100644 --- a/xbps-src/common/mapping_shlib_binpkg.txt +++ b/xbps-src/common/mapping_shlib_binpkg.txt @@ -359,12 +359,12 @@ libgif.so giflib giflib-devel libungif.so giflib giflib-devel libImlib2.so imlib2 imlib2-devel libmp3lame.so lame lame-devel -libavdevice.so.52 ffmpeg ffmpeg-devel -libavformat.so.52 ffmpeg ffmpeg-devel -libswscale.so ffmpeg ffmpeg-devel -libpostproc.so.51 ffmpeg ffmpeg-devel -libavcodec.so.52 ffmpeg ffmpeg-devel -libavutil.so.49 ffmpeg ffmpeg-devel +libavdevice.so.52 libavdevice ffmpeg-devel +libavformat.so.52 libavformat ffmpeg-devel +libswscale.so libswscale ffmpeg-devel +libpostproc.so.51 libpostproc ffmpeg-devel +libavcodec.so.52 libavcodec ffmpeg-devel +libavutil.so.50 libavutil ffmpeg-devel libSDL-1.2.so SDL SDL-devel libSDL_image-1.2.so SDL_image SDL_image-devel libx264.so.93 x264 x264-devel