diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2009-02-21 23:30:55 +0000 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2009-02-21 23:30:55 +0000 |
commit | a5b60ad96b8d6948fdf67cfc8b6f378163818450 (patch) | |
tree | c0503cc09172663ae79e810e4c00047a36d5e034 /media-video | |
parent | quote semicolons in subshells to work around bash-4.0 regression (diff) | |
download | gentoo-2-a5b60ad96b8d6948fdf67cfc8b6f378163818450.tar.gz gentoo-2-a5b60ad96b8d6948fdf67cfc8b6f378163818450.tar.bz2 gentoo-2-a5b60ad96b8d6948fdf67cfc8b6f378163818450.zip |
Set some useflag defaults and other minor changes
(Portage version: 2.1.6.7/cvs/Linux x86_64)
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/ffmpeg/ChangeLog | 8 | ||||
-rw-r--r-- | media-video/ffmpeg/ffmpeg-0.4.9_p20090201-r1.ebuild | 206 | ||||
-rw-r--r-- | media-video/ffmpeg/metadata.xml | 1 |
3 files changed, 214 insertions, 1 deletions
diff --git a/media-video/ffmpeg/ChangeLog b/media-video/ffmpeg/ChangeLog index e72219ca96f3..20f3bba0c557 100644 --- a/media-video/ffmpeg/ChangeLog +++ b/media-video/ffmpeg/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-video/ffmpeg # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.272 2009/02/11 17:07:42 dertobi123 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.273 2009/02/21 23:30:55 lu_zero Exp $ + +*ffmpeg-0.4.9_p20090201-r1 (21 Feb 2009) + + 21 Feb 2009; Luca Barbato <lu_zero@gentoo.org> + +ffmpeg-0.4.9_p20090201-r1.ebuild: + Set some useflag defaults and other minor changes 11 Feb 2009; Tobias Scherbaum <dertobi123@gentoo.org> ffmpeg-0.4.9_p20090201.ebuild: diff --git a/media-video/ffmpeg/ffmpeg-0.4.9_p20090201-r1.ebuild b/media-video/ffmpeg/ffmpeg-0.4.9_p20090201-r1.ebuild new file mode 100644 index 000000000000..7318b8918def --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-0.4.9_p20090201-r1.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2009 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_p20090201-r1.ebuild,v 1.1 2009/02/21 23:30:55 lu_zero Exp $ + +EAPI=1 + +inherit eutils flag-o-matic multilib toolchain-funcs + +FFMPEG_SVN_REV="16916" + +DESCRIPTION="Complete solution to record, convert and stream audio and video. +Includes libavcodec. svn revision ${FFMPEG_SVN_REV}" +HOMEPAGE="http://ffmpeg.org/" +MY_P=${P/_/-} +SRC_URI="mirror://gentoo/${MY_P}.tar.bz2" + +S=${WORKDIR}/ffmpeg + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="+3dnow aac alsa altivec amr custom-cflags debug dirac doc ieee1394 + +encode gsm ipv6 +mmx +mmxext vorbis test theora threads x264 xvid + network zlib sdl X mp3 oss schroedinger +hardcoded-tables bindist + v4l v4l2 speex +ssse3 vhook" + +RDEPEND="vhook? ( >=media-libs/imlib2-1.4.0 >=media-libs/freetype-2 ) + sdl? ( >=media-libs/libsdl-1.2.10 ) + alsa? ( media-libs/alsa-lib ) + encode? ( + aac? ( media-libs/faac ) + mp3? ( media-sound/lame ) + vorbis? ( media-libs/libvorbis media-libs/libogg ) + theora? ( media-libs/libtheora media-libs/libogg ) + x264? ( >=media-libs/x264-0.0.20081006 ) + xvid? ( >=media-libs/xvid-1.1.0 ) ) + aac? ( >=media-libs/faad2-2.6.1 ) + zlib? ( sys-libs/zlib ) + ieee1394? ( media-libs/libdc1394 + sys-libs/libraw1394 ) + dirac? ( media-video/dirac ) + gsm? ( >=media-sound/gsm-1.0.12-r1 ) + schroedinger? ( media-libs/schroedinger ) + speex? ( >=media-libs/speex-1.2_beta3 ) + X? ( x11-libs/libX11 x11-libs/libXext ) + amr? ( media-libs/amrnb media-libs/amrwb )" + +DEPEND="${RDEPEND} + >=sys-devel/make-3.81 + mmx? ( dev-lang/yasm ) + doc? ( app-text/texi2html ) + test? ( net-misc/wget ) + v4l? ( sys-kernel/linux-headers ) + v4l2? ( sys-kernel/linux-headers )" + +src_unpack() { + unpack ${A} + cd "${S}" + + # Set version # + # Any better idea? We can't do much more as we use an exported svn snapshot. + sed -i s/UNKNOWN/SVN-r${FFMPEG_SVN_REV}/ "${S}/version.sh" +} + +src_compile() { + local myconf="${EXTRA_ECONF}" + + # enabled by default + use debug || myconf="${myconf} --disable-debug" + use zlib || myconf="${myconf} --disable-zlib" + use sdl || myconf="${myconf} --disable-ffplay" + + if use network; then + use ipv6 || myconf="${myconf} --disable-ipv6" + else + myconf="${myconf} --disable-network" + fi + + use custom-cflags && myconf="${myconf} --disable-optimizations" + + # enabled by default + if use encode + then + use aac && myconf="${myconf} --enable-libfaac" + use mp3 && myconf="${myconf} --enable-libmp3lame" + use vorbis && myconf="${myconf} --enable-libvorbis" + use theora && myconf="${myconf} --enable-libtheora" + use x264 && myconf="${myconf} --enable-libx264" + use xvid && myconf="${myconf} --enable-libxvid" + else + myconf="${myconf} --disable-encoders" + fi + + # libavdevice options + use ieee1394 && myconf="${myconf} --enable-libdc1394" + # Demuxers + for i in v4l v4l2 alsa oss ; do + use $i || myconf="${myconf} --disable-demuxer=$i" + done + # Muxers + for i in alsa oss ; do + use $i || myconf="${myconf} --disable-muxer=$i" + done + use X && myconf="${myconf} --enable-x11grab" + + # Threads; we only support pthread for now but ffmpeg supports more + use threads && myconf="${myconf} --enable-pthreads" + + # Decoders + use aac && myconf="${myconf} --enable-libfaad" + use dirac && myconf="${myconf} --enable-libdirac" + use schroedinger && myconf="${myconf} --enable-libschroedinger" + use speex && myconf="${myconf} --enable-libspeex" + if use gsm; then + myconf="${myconf} --enable-libgsm" + # Crappy detection or our installation is weird, pick one (FIXME) + append-flags -I/usr/include/gsm + fi + if use bindist + then + use amr && ewarn "libamr is nonfree and cannot be distributed; disabling amr support." + else + use amr && myconf="${myconf} --enable-libamr-nb \ + --enable-libamr-wb \ + --enable-nonfree" + fi + + # CPU features + for i in mmx ssse3 altivec ; do + use $i || myconf="${myconf} --disable-$i" + done + use mmxext || myconf="${myconf} --disable-mmx2" + use 3dnow || myconf="${myconf} --disable-amd3dnow" + # disable mmx accelerated code if PIC is required + # as the provided asm decidedly is not PIC. + if gcc-specs-pie ; then + myconf="${myconf} --disable-mmx --disable-mmx2" + fi + + # Try to get cpu type based on CFLAGS. + # Bug #172723 + # We need to do this so that features of that CPU will be better used + # If they contain an unknown CPU it will not hurt since ffmpeg's configure + # will just ignore it. + for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do + myconf="${myconf} --cpu=$i" + break + done + + # video hooking support. replaced by libavfilter, probably needs to be + # dropped at some point. + use vhook || myconf="${myconf} --disable-vhook" + + # Mandatory configuration + myconf="${myconf} --enable-gpl --enable-postproc \ + --enable-avfilter --enable-avfilter-lavf \ + --enable-swscale --disable-stripping" + + # cross compile support + tc-is-cross-compiler && myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel)" + + # Misc stuff + use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables" + + # 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 + + cd "${S}" + ./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 version.h || die #252269 + emake || die "make failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "Install Failed" + + dodoc Changelog README INSTALL + dodoc doc/* +} + +# Never die for now... +src_test() { + for t in codectest libavtest seektest ; do + emake ${t} || ewarn "Some tests in ${t} failed" + done +} diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml index 8de5b9e18914..80d506f0ad64 100644 --- a/media-video/ffmpeg/metadata.xml +++ b/media-video/ffmpeg/metadata.xml @@ -7,6 +7,7 @@ </maintainer> <use> <flag name="amr">Enables Adaptive Multi-Rate Audio support</flag> + <flag name="custom-cflags">Enables custom CFLAGS (UNSUPPORTED)</flag> <flag name="dirac">Enable Dirac video support (an advanced royalty-free video compression format) via the reference library: dirac.</flag> <flag name="gsm">Enables support for the gsm lossy speech compression codec via libgsm.</flag> <flag name="hardcoded-tables">Use pre-calculated tables rather than calculating them on the fly.</flag> |