diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2006-05-30 23:15:26 +0000 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2006-05-30 23:15:26 +0000 |
commit | 5bc010e44f8d518c4767c5fd0fc2da234d549ac6 (patch) | |
tree | d0a38819f0b379f7c181e09fda9a71fcf40def7e /media-video/ffmpeg | |
parent | Fixed confusion that improper patching created (diff) | |
download | gentoo-2-5bc010e44f8d518c4767c5fd0fc2da234d549ac6.tar.gz gentoo-2-5bc010e44f8d518c4767c5fd0fc2da234d549ac6.tar.bz2 gentoo-2-5bc010e44f8d518c4767c5fd0fc2da234d549ac6.zip |
New snapshot
(Portage version: 2.1_rc2-r3)
Diffstat (limited to 'media-video/ffmpeg')
-rw-r--r-- | media-video/ffmpeg/ChangeLog | 8 | ||||
-rw-r--r-- | media-video/ffmpeg/ffmpeg-0.4.9_p20060530.ebuild | 245 | ||||
-rw-r--r-- | media-video/ffmpeg/files/digest-ffmpeg-0.4.9_p20060530 | 9 |
3 files changed, 261 insertions, 1 deletions
diff --git a/media-video/ffmpeg/ChangeLog b/media-video/ffmpeg/ChangeLog index 8a8443de3a41..92061fe2c248 100644 --- a/media-video/ffmpeg/ChangeLog +++ b/media-video/ffmpeg/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-video/ffmpeg # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.140 2006/05/28 19:56:26 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.141 2006/05/30 23:15:26 lu_zero Exp $ + +*ffmpeg-0.4.9_p20060530 (30 May 2006) + + 30 May 2006; Luca Barbato <lu_zero@gentoo.org> + +ffmpeg-0.4.9_p20060530.ebuild: + New snapshot 28 May 2006; Diego Pettenò <flameeyes@gentoo.org> -files/ffmpeg-0.4.9_p20050226-gcc4.patch, diff --git a/media-video/ffmpeg/ffmpeg-0.4.9_p20060530.ebuild b/media-video/ffmpeg/ffmpeg-0.4.9_p20060530.ebuild new file mode 100644 index 000000000000..c4a042d0fdfa --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-0.4.9_p20060530.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20060530.ebuild,v 1.1 2006/05/30 23:15:26 lu_zero Exp $ + +inherit eutils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec." +HOMEPAGE="http://ffmpeg.sourceforge.net/" +MY_P=${P/_/-} +S=${WORKDIR} +S_BASE=${WORKDIR}/${MY_P} +S_STATIC=${S_BASE}-static +S_SHARED=${S_BASE}-shared + +SRC_URI="mirror://gentoo/${MY_P}.tar.bz2 + amr? ( http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip + http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip )" + +LICENSE="GPL-2" +SLOT="0" +# ~alpha need to test aac useflag +# ~ia64 ~arm ~mips ~hppa +#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc-macos ~ppc64 ~sparc ~x86" +KEYWORDS="-* ~ppc" #~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc-macos ~ppc64 ~sparc ~x86" +IUSE="aac altivec amr debug doc ieee1394 a52 encode imlib mmx ogg vorbis oss + test theora threads truetype v4l x264 xvid dts network zlib sdl" + +DEPEND="imlib? ( media-libs/imlib2 ) + truetype? ( >=media-libs/freetype-2 ) + sdl? ( >=media-libs/libsdl-1.2.1 ) + doc? ( app-text/texi2html ) + encode? ( media-sound/lame ) + ogg? ( media-libs/libogg ) + vorbis? ( media-libs/libvorbis ) + theora? ( media-libs/libtheora ) + aac? ( media-libs/faad2 media-libs/faac ) + a52? ( >=media-libs/a52dec-0.7.4-r4 ) + xvid? ( >=media-libs/xvid-1.1.0 ) + zlib? ( sys-libs/zlib ) + dts? ( media-libs/libdts ) + ieee1394? ( =media-libs/libdc1394-1* + sys-libs/libraw1394 ) + test? ( net-misc/wget ) + x264? ( media-libs/x264-svn ) + amr? ( app-arch/unzip )" + +src_unpack() { + unpack ${A} || die + cd ${S_BASE} + + # amr (float) support + if use amr; then + einfo "Including amr wide and narrow band (float) support ... " + + # narrow band codec + mkdir ${S_BASE}/libavcodec/amr_float + cd ${S_BASE}/libavcodec/amr_float + unzip -q ${WORKDIR}/26104-510_ANSI_C_source_code.zip + + # wide band codec + mkdir ${S_BASE}/libavcodec/amrwb_float + cd ${S_BASE}/libavcodec/amrwb_float + unzip -q ${WORKDIR}/26204-510_ANSI-C_source_code.zip + + # Patch if we're on 64-bit + if useq alpha || useq amd64 || useq ia64 || useq ppc64; then + cd ${S_BASE} + epatch ${FILESDIR}/${P}-amr-64bit.patch + fi + fi + + cd ${S_BASE} + + #Append -fomit-frame-pointer to avoid some common issues + use debug || append-flags "-fomit-frame-pointer" + + # for some reason it tries to #include <X11/Xlib.h>, but doesn't use it + sed -i s:\#define\ HAVE_X11:\#define\ HAVE_LINUX: ffplay.c + + epatch ${FILESDIR}/ffmpeg-unknown-options.patch + + # .pc files contain wrong libdir path + epatch ${FILESDIR}/${PN}-libdir.patch + sed -i -e "s:GENTOOLIBDIR:$(get_libdir):" configure + + # ffmpeg doesn'g use libtool, so the condition for PIC code + # is __PIC__, not PIC. + sed -i -e 's/#\(\(.*def *\)\|\(.*defined *\)\|\(.*defined(*\)\)PIC/#\1__PIC__/' \ + libavcodec/i386/dsputil_mmx{.c,_rnd.h,_avg.h} \ + libavcodec/msmpeg4.c \ + libavutil/common.h \ + || die "sed failed (__PIC__)" + + # Make it use pic always since we don't need textrels + sed -i -e "s:LIBOBJFLAGS=\"\":LIBOBJFLAGS=\'\$\(PIC\)\':" configure + + # To make sure the ffserver test will work + sed -i -e "s:-e debug=off::" tests/server-regression.sh + cd ${S} + cp -R ${S_BASE} ${S_STATIC} + mv ${S_BASE} ${S_SHARED} + cd ${S_SHARED} + epatch "${FILESDIR}/ffmpeg-shared-gcc4.1.patch" +} + +src_compile() { + #Note; library makefiles don't propogate flags from config.mak so + #use specified CFLAGS are only used in executables + replace-flags -O0 -O2 + + local myconf="" + + #disable mmx accelerated code if not requested, or if PIC is required + # as the provided asm decidedly is not PIC. + if ( gcc-specs-pie || ! use mmx ) && ( ! use amd64 ); then + myconf="${myconf} --disable-mmx" + fi + + if use elibc_FreeBSD; then + myconf="${myconf} --enable-memalign-hack" + fi + + # enabled by default + use altivec || myconf="${myconf} --disable-altivec" + use debug || myconf="${myconf} --disable-debug" + use oss || myconf="${myconf} --disable-audio-oss" + use v4l || myconf="${myconf} --disable-v4l --disable-v4l2" + use ieee1394 || myconf="${myconf} --disable-dv1394" + use network || myconf="${myconf} --disable-network" + use zlib || myconf="${myconf} --disable-zlib" + use sdl || myconf="${myconf} --disable-ffplay" + + myconf="${myconf} --disable-opts" + + # disabled by default + use encode && myconf="${myconf} --enable-mp3lame" + use a52 && myconf="${myconf} --enable-a52" + use ieee1394 && myconf="${myconf} --enable-dc1394" + use threads && myconf="${myconf} --enable-pthreads" + use xvid && myconf="${myconf} --enable-xvid" + use ogg && myconf="${myconf} --enable-libogg" + use vorbis && myconf="${myconf} --enable-vorbis" + use theora && myconf="${myconf} --enable-theora" + use dts && myconf="${myconf} --enable-dts" + use x264 && myconf="${myconf} --enable-x264" + use aac && myconf="${myconf} --enable-faad --enable-faac" + use amr && myconf="${myconf} --enable-amr_nb --enable-amr_wb" + + myconf="${myconf} --enable-gpl --enable-pp --disable-strip" + + cd ${S_STATIC} + #econf generates configure options unknown to ffmpeg's configure, so configure manually + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-static --disable-shared \ + "--cc=$(tc-getCC)" \ + "--extra-ldflags=${LDFLAGS}" \ + ${myconf} || die "static failed" + + + emake || die "static failed" + + # Specific workarounds for too-few-registers arch... + if [[ $(tc-arch) == "x86" ]]; then + filter-flags -fforce-addr -momit-leaf-frame-pointer + append-flags -fomit-frame-pointer + is-flag -O? || append-flags -O2 + if (use debug); then + # no need to warn about debug if not using debug flag + ewarn "" + ewarn "Debug information will be almost useless as the frame pointer is omitted." + ewarn "This makes debugging harder, so crashes that has no fixed behavior are" + ewarn "difficult to fix. Please have that in mind." + ewarn "" + fi + fi + + # This is needed to make sure that when linking with --as-needed all the + # libraries are found in the right places, not suitable for upstream yet as + # it's GNU-ld only (most likely). + append-ldflags "-Wl,-rpath-link,${S_SHARED}/libav"{codec,format,util} + + cd ${S_SHARED} + #econf generates configure options unknown to ffmpeg's configure, so configure manually + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --disable-static --enable-shared \ + "--cc=$(tc-getCC)" \ + "--extra-ldflags=${LDFLAGS}" \ + ${myconf} || die "shared failed" + + emake || die "shared failed" +} + +src_install() { + for d in ${S_STATIC} ${S_SHARED}; do + cd ${d} + + make DESTDIR=${D} \ + prefix=${D}/usr \ + libdir=${D}/usr/$(get_libdir) \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + bindir=${D}/usr/bin \ + install install-libs || die "Install Failed" + done + + cd ${S_SHARED} + use doc && make documentation + dodoc ChangeLog README INSTALL + dodoc doc/* + + cd ${S_STATIC}/libavcodec/libpostproc + make prefix=${D}/usr libdir=${D}/usr/$(get_libdir) \ + install || die "Failed to install libpostproc.a!" + + cd ${S_SHARED}/libavcodec/libpostproc + make prefix=${D}/usr libdir=${D}/usr/$(get_libdir) \ + SHARED_PP="yes" \ + install || die "Failed to install libpostproc.so!" + + # Some stuff like transcode can use this one. + dolib ${S_STATIC}/libavcodec/libpostproc/libpostproc.a +} + +# Never die for now... +src_test() { + + for d in ${S_STATIC} ${S_SHARED}; do + cd ${d}/tests + for t in "codectest libavtest test-server" ; do + make ${t} || ewarn "Some tests in ${t} failed for ${d}" + done + done +} + +pkg_postinst() { + + ewarn "ffmpeg may had ABI changes, if ffmpeg based programs" + ewarn "like xine-lib or vlc stop working as expected please" + ewarn "rebuild them." + +} diff --git a/media-video/ffmpeg/files/digest-ffmpeg-0.4.9_p20060530 b/media-video/ffmpeg/files/digest-ffmpeg-0.4.9_p20060530 new file mode 100644 index 000000000000..3a92f1702df1 --- /dev/null +++ b/media-video/ffmpeg/files/digest-ffmpeg-0.4.9_p20060530 @@ -0,0 +1,9 @@ +MD5 9b575d01f94f50dd4dcf570cd8a14dda 26104-510.zip 291836 +RMD160 0ff97a27fe5d08dd43571fd1982ce0f07bce3bca 26104-510.zip 291836 +SHA256 75fdf6416950c155ccbfd7fae4ffd6529f162ad6b427ab242c3e00685e303f46 26104-510.zip 291836 +MD5 607a14d090898ffb0f72c1aa6aa6ce31 26204-510.zip 246663 +RMD160 1b68232bc40d84298b134c57697e29a842e63ffd 26204-510.zip 246663 +SHA256 069ebd6ed8ef846d99bdd13d6c47fdb99fe5583b0ed5f405e1392a1a21a1b991 26204-510.zip 246663 +MD5 2a5d3eeeb93d9944815369ac20e326d9 ffmpeg-0.4.9-p20060530.tar.bz2 1807070 +RMD160 84d6f692cf34bb9413d9d4934bfab478c7c14658 ffmpeg-0.4.9-p20060530.tar.bz2 1807070 +SHA256 e24b7f84801f679be8f24fcd38e1622ab06ebb97d001be67862135e78ac599f3 ffmpeg-0.4.9-p20060530.tar.bz2 1807070 |