diff options
author | 2007-01-29 10:28:38 +0000 | |
---|---|---|
committer | 2007-01-29 10:28:38 +0000 | |
commit | e04d55de1e58dcf30526f6ac73548f7950f9ea6d (patch) | |
tree | cda55eca76fda8513822d8e92e2255164de9151c /media-video/ffmpeg/ffmpeg-9999.ebuild | |
parent | Remove mplayer use (diff) | |
download | drizzt-e04d55de1e58dcf30526f6ac73548f7950f9ea6d.tar.gz drizzt-e04d55de1e58dcf30526f6ac73548f7950f9ea6d.tar.bz2 drizzt-e04d55de1e58dcf30526f6ac73548f7950f9ea6d.zip |
Added ffmpeg scm version
svn path=/; revision=90
Diffstat (limited to 'media-video/ffmpeg/ffmpeg-9999.ebuild')
-rw-r--r-- | media-video/ffmpeg/ffmpeg-9999.ebuild | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild new file mode 100644 index 0000000..109b6f6 --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-9999.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2007 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_p20061016.ebuild,v 1.10 2007/01/06 15:16:15 mcummings Exp $ + +inherit subversion eutils flag-o-matic multilib toolchain-funcs + +ESVN_PROJECT="ffmpeg" +ESVN_REPO_URI="svn://svn.mplayerhq.hu/ffmpeg/trunk" + +DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec." +HOMEPAGE="http://ffmpeg.sourceforge.net/" +MY_P=${P/_/-} +S=${WORKDIR}/ffmpeg + +SRC_URI="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" +KEYWORDS="-* ~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +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" + +RDEPEND="imlib? ( media-libs/imlib2 ) + truetype? ( >=media-libs/freetype-2 ) + sdl? ( >=media-libs/libsdl-1.2.10 ) + encode? ( media-sound/lame ) + ogg? ( media-libs/libogg ) + vorbis? ( media-libs/libvorbis ) + 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 ) + x264? ( >=media-libs/x264-svn-20061014 )" + +DEPEND="${RDEPEND} + doc? ( app-text/texi2html ) + test? ( net-misc/wget ) + amr? ( app-arch/unzip )" + +src_unpack() { + unpack ${A} + subversion_src_unpack + + if use amr; then + einfo "Including amr wide and narrow band (float) support ... " + + # narrow band codec + unzip -q ${WORKDIR}/26104-510_ANSI_C_source_code.zip -d \ + ${S}/libavcodec/amr_float || die + + # wide band codec + unzip -q ${WORKDIR}/26204-510_ANSI-C_source_code.zip -d \ + ${S}/libavcodec/amrwb_float || die + + # Patch if we're on 64-bit + if useq alpha || useq amd64 || useq ia64 || useq ppc64; then + epatch "${FILESDIR}/ffmpeg-0.4.9_p20060302-amr-64bit.patch" + fi + fi + + #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 + + # 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 + + # CC is not always gcc + sed -i -e "s:cc=\"gcc\":cc=\"$(tc-getCC)\":" configure + + epatch "${FILESDIR}/${PN}-shared-gcc4.1.patch" +} + +src_compile() { + replace-flags -O0 -O2 + #x86, what a wonderful arch.... + replace-flags -O1 -O2 + local myconf="${EXTRA_ECONF}" + + #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 + + # 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" + if use vorbis + then + myconf="${myconf} --enable-vorbis --enable-libogg" + else + use ogg && myconf="${myconf} --enable-libogg" + fi + 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" + + # 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 + + ./configure \ + --prefix=/usr \ + --libdir=/usr/$(get_libdir) \ + --shlibdir=/usr/$(get_libdir) \ + --mandir=/usr/share/man \ + --enable-static --enable-shared \ + "--cc=$(tc-getCC)" \ + ${myconf} || die "configure failed" + + emake -j1 depend || die "depend failed" + emake || die "make failed" +} + +src_install() { + emake -j1 LDCONFIG=true DESTDIR=${D} install || die "Install Failed" + + use doc && emake -j1 documentation + dodoc Changelog README INSTALL + dodoc doc/* +} + +# Never die for now... +src_test() { + cd ${S}/tests + for t in "codectest libavtest test-server" ; do + make ${t} || ewarn "Some tests in ${t} failed" + 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." +} |