summaryrefslogtreecommitdiff
path: root/media-video/ffmpeg
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/ffmpeg')
-rw-r--r--media-video/ffmpeg/ffmpeg-20099999-r2.ebuild192
-rw-r--r--media-video/ffmpeg/ffmpeg-20099999.ebuild187
2 files changed, 192 insertions, 187 deletions
diff --git a/media-video/ffmpeg/ffmpeg-20099999-r2.ebuild b/media-video/ffmpeg/ffmpeg-20099999-r2.ebuild
new file mode 100644
index 0000000..8578d62
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-20099999-r2.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=1
+ESVN_REPO_URI="svn://svn.mplayerhq.hu/ffmpeg/trunk"
+
+inherit eutils flag-o-matic multilib toolchain-funcs subversion
+
+DESCRIPTION="Complete solution to record, convert and stream audio and video"
+HOMEPAGE="http://ffmpeg.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="+3dnow +3dnowext +alsa altivec amr custom-cflags debug dirac doc ieee1394
+ +encode +faac +faad gsm ipv6 +mmx +mmxext +vorbis test theora +threads
+ +x264 +xvid network zlib sdl X +mp3 oss schroedinger +hardcoded-tables
+ bindist v4l v4l2 speex +ssse3 jpeg2k"
+
+RDEPEND="sdl? ( >=media-libs/libsdl-1.2.10 )
+ alsa? ( media-libs/alsa-lib )
+ encode? (
+ faac? ( 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 ) )
+ faad? ( >=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 )
+ jpeg2k? ( >=media-libs/openjpeg-1.3-r2 )
+ schroedinger? ( media-libs/schroedinger )
+ speex? ( >=media-libs/speex-1.2_beta3 )
+ X? ( x11-libs/libX11 x11-libs/libXext )
+ amr? ( media-libs/opencore-amr )"
+
+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_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 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 faad && myconf="${myconf} --enable-libfaad"
+ use dirac && myconf="${myconf} --enable-libdirac"
+ use schroedinger && myconf="${myconf} --enable-libschroedinger"
+ use speex && myconf="${myconf} --enable-libspeex"
+ use jpeg2k && myconf="${myconf} --enable-libopenjpeg"
+ 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
+ if use faac; then
+ ewarn "FAAC is considered nonfree by ffmpeg developers and the resulting"
+ ewarn "ffmpeg binary can therefore not be freely redistributed."
+ ewarn "Disabling faac support."
+ fi
+ else
+ use amr && myconf="${myconf} --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 \
+ --enable-nonfree"
+ use faac && myconf="${myconf} --enable-libfaac --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"
+ use 3dnowext || myconf="${myconf} --disable-amd3dnowext"
+ # 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
+
+ # Mandatory configuration
+ myconf="${myconf} --enable-gpl --enable-postproc \
+ --enable-avfilter --enable-avfilter-lavf \
+ --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/ffmpeg-20099999.ebuild b/media-video/ffmpeg/ffmpeg-20099999.ebuild
deleted file mode 100644
index 690f089..0000000
--- a/media-video/ffmpeg/ffmpeg-20099999.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="1"
-inherit subversion eutils flag-o-matic multilib toolchain-funcs
-
-ESVN_REPO_URI="svn://svn.mplayerhq.hu/ffmpeg/trunk"
-DESCRIPTION="Complete solution to record, convert and stream audio and video (source from SVN)"
-HOMEPAGE="http://ffmpeg.org/"
-LICENSE="GPL-2"
-SLOT=""
-KEYWORDS="~amd64 ~ppc64 ~sparc ~x86"
-IUSE="+aac altivec amrnb amrwb -bindist -debug dirac doc gsm
- +hardcoded-tables icc ieee1394 imlib ipv6 mmx +mp3 network oss schroedinger
- sdl test theora +threads +truetype v4l vdpau +vorbis X +x264 +xvid +zlib"
-
-RDEPEND="aac? ( media-libs/faad2 media-libs/faac )
- !bindist? (
- amrnb? ( media-libs/amrnb )
- amrwb? ( media-libs/amrwb )
- )
- dirac? ( media-video/dirac )
- gsm? ( >=media-sound/gsm-1.0.12-r1 )
- ieee1394? ( media-libs/libdc1394
- sys-libs/libraw1394 )
- imlib? ( media-libs/imlib2 )
- mp3? ( media-sound/lame )
- schroedinger? ( media-libs/schroedinger )
- sdl? ( >=media-libs/libsdl-1.2.10 )
- theora? ( media-libs/libtheora media-libs/libogg )
- truetype? ( >=media-libs/freetype-2 )
- vdpau? ( >=x11-drivers/nvidia-drivers-180.08 )
- vorbis? ( media-libs/libvorbis media-libs/libogg )
- X? ( x11-libs/libX11 x11-libs/libXext )
- x264? ( >=media-libs/x264-0.0.20081006 )
- xvid? ( >=media-libs/xvid-1.1.0 )
- zlib? ( sys-libs/zlib )"
-
-DEPEND="${RDEPEND}
- doc? ( app-text/texi2html )
- mmx? ( dev-lang/yasm )
- test? ( net-misc/wget )
- v4l? ( sys-kernel/linux-headers )"
-
-S=${WORKDIR}/${PN}
-
-src_unpack() {
- subversion_src_unpack
-
- # For Version Branding
- cd "${ESVN_STORE_DIR}/${ESVN_CO_DIR}/${ESVN_PROJECT}/${ESVN_REPO_URI##*/}"
- ./version.sh . version.h
- mv version.h "${S}"
- cd "${S}"
-
- # disable version rebranding
-# epatch "${FILESDIR}/disable-version-rebranding-2009.01.patch"
-
- # 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
-
- epatch "${FILESDIR}"/ffmpeg-x86-pic-fix-20080916.patch
- use icc && epatch "${FILESDIR}"/ffmpeg-icc.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
- #x86, what a wonderful arch....
- replace-flags -O1 -O2
-
- # Append -fomit-frame-pointer to avoid some common issues
- use debug || append-flags "-fomit-frame-pointer"
-
- # Append -DBROKEN_RELOCATIONS to build for bug 179872.
- append-flags "-DBROKEN_RELOCATIONS"
-
- # temporary fix for bug reported at http://forums.gentoo.org/viewtopic-p-5186627.html#5186627
- append-flags "-D_BSD_SOURCE"
-
- 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 --disable-mmx2"
- fi
-
- if use elibc_FreeBSD; then
- myconf="${myconf} --enable-memalign-hack"
- fi
-
- use amd64 && myconf="${myconf} --arch=x86_64 --cpu=athlon64"
-
- # enabled by default
- use altivec || myconf="${myconf} --disable-altivec"
- use debug || myconf="${myconf} --disable-debug"
- use network || myconf="${myconf} --disable-network"
- use ipv6 || myconf="${myconf} --disable-ipv6"
- use zlib || myconf="${myconf} --disable-zlib"
- use sdl || myconf="${myconf} --disable-ffplay"
-
- # disabled by default
- use mp3 && myconf="${myconf} --enable-libmp3lame"
- use ieee1394 && myconf="${myconf} --enable-libdc1394"
- use threads && myconf="${myconf} --enable-pthreads"
- use xvid && myconf="${myconf} --enable-libxvid"
- use vorbis && myconf="${myconf} --enable-libvorbis"
- use x264 && myconf="${myconf} --enable-libx264"
- use theora && myconf="${myconf} --enable-libtheora"
- use aac && myconf="${myconf} --enable-libfaad --enable-libfaac"
- use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables"
- use dirac && myconf="${myconf} --enable-libdirac"
- use schroedinger && myconf="${myconf} --enable-libschroedinger"
- use vdpau && myconf="${myconf} --enable-vdpau"
- use X && myconf="${myconf} --enable-x11grab"
- if use gsm; then
- myconf="${myconf} --enable-libgsm"
- append-flags -I/usr/include/gsm
- fi
-
- if ! use bindist ; then
- use amrnb && myconf="${myconf} --enable-libamr-nb --enable-nonfree"
- use amrwb && myconf="${myconf} --enable-libamr-wb --enable-nonfree"
- fi
-
- myconf="${myconf} --enable-gpl --enable-postproc --disable-stripping"
- myconf="${myconf} --enable-avfilter --enable-avfilter-lavf"
-
- tc-is-cross-compiler && myconf="${myconf} --cross-compile --arch=$(tc-arch-kernel)"
-
- # 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 -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() {
- echo
- ewarn "ffmpeg may have had ABI changes, if ffmpeg based programs"
- ewarn "like xine-lib or vlc stop working, please rebuild them."
- echo
-}