add multilib aware ebuilds
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@2784 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
1659
media-video/ffmpeg/ChangeLog
Normal file
1659
media-video/ffmpeg/ChangeLog
Normal file
File diff suppressed because it is too large
Load Diff
5
media-video/ffmpeg/Manifest
Normal file
5
media-video/ffmpeg/Manifest
Normal file
@@ -0,0 +1,5 @@
|
||||
DIST ffmpeg-0.6_p25767.tar.bz2 4000052 RMD160 1463e744ca5f6e5535571efe19296f055ba870fb SHA1 219ecd5007eb030945556a7f279beae980a96543 SHA256 a6773c54b528d967f56811866b149ac980ad96f6c06a00e56987f7a48b4d9ff2
|
||||
EBUILD ffmpeg-0.6_p25767.ebuild 8035 RMD160 176ad09a076b26b01c022e63a1a7d49f51af367e SHA1 c98efe3bd7b54eb16417845d293782f9c1f22e42 SHA256 cdebee41e6c51b89a58b8ec3d2a07a2f8b0798bdcbf903aa5c0d825904e179a2
|
||||
EBUILD ffmpeg-9999.ebuild 8035 RMD160 176ad09a076b26b01c022e63a1a7d49f51af367e SHA1 c98efe3bd7b54eb16417845d293782f9c1f22e42 SHA256 cdebee41e6c51b89a58b8ec3d2a07a2f8b0798bdcbf903aa5c0d825904e179a2
|
||||
MISC ChangeLog 57809 RMD160 de766ca8e4d828fe2d32a24ef9112389a7a4270b SHA1 31e3d53d2ee46bf6bac957b69489803309e2fddc SHA256 2bfcc4d08fc47777f23eb701e95cbdd72854887bb9c09850932c786cb760608e
|
||||
MISC metadata.xml 2265 RMD160 0416ebff8851e2ec715a801a3ecd66a98865578e SHA1 58d9750865481aedecd4d61dcaee9e43e6a27404 SHA256 38a520565c24ca97877c3b2814d685beb0079e3ad4d28e5924667084ba3ffd86
|
||||
268
media-video/ffmpeg/ffmpeg-0.6_p25767.ebuild
Normal file
268
media-video/ffmpeg/ffmpeg-0.6_p25767.ebuild
Normal file
@@ -0,0 +1,268 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.6_p25767.ebuild,v 1.4 2010/12/09 16:11:56 rich0 Exp $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
SCM=""
|
||||
if [ "${PV#9999}" != "${PV}" ] ; then
|
||||
SCM="subversion"
|
||||
ESVN_REPO_URI="svn://svn.ffmpeg.org/ffmpeg/trunk"
|
||||
fi
|
||||
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
|
||||
|
||||
DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec."
|
||||
HOMEPAGE="http://ffmpeg.org/"
|
||||
if [ "${PV#9999}" != "${PV}" ] ; then
|
||||
SRC_URI=""
|
||||
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
|
||||
SRC_URI="mirror://gentoo/${P}.tar.bz2"
|
||||
else # Release
|
||||
SRC_URI="http://ffmpeg.org/releases/${P}.tar.bz2"
|
||||
fi
|
||||
FFMPEG_REVISION="${PV#*_p}"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
if [ "${PV#9999}" = "${PV}" ] ; then
|
||||
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
|
||||
fi
|
||||
IUSE="+3dnow +3dnowext alsa altivec amr bindist +bzip2 cpudetection custom-cflags debug dirac doc +encode faac frei0r gsm +hardcoded-tables ieee1394 jack jpeg2k +mmx +mmxext mp3 network oss pic qt-faststart rtmp schroedinger sdl speex +ssse3 static-libs test theora threads v4l v4l2 vaapi vdpau vorbis vpx X x264 xvid +zlib"
|
||||
|
||||
VIDEO_CARDS="nvidia"
|
||||
|
||||
for x in ${VIDEO_CARDS}; do
|
||||
IUSE="${IUSE} video_cards_${x}"
|
||||
done
|
||||
|
||||
RDEPEND="
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
amr? ( media-libs/opencore-amr )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
dirac? ( media-video/dirac )
|
||||
encode? (
|
||||
faac? ( media-libs/faac )
|
||||
mp3? ( >=media-sound/lame-3.98.3 )
|
||||
theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
|
||||
vorbis? ( media-libs/libvorbis media-libs/libogg )
|
||||
x264? ( >=media-libs/x264-0.0.20101029 )
|
||||
xvid? ( >=media-libs/xvid-1.1.0 )
|
||||
)
|
||||
frei0r? ( media-plugins/frei0r-plugins )
|
||||
gsm? ( >=media-sound/gsm-1.0.12-r1 )
|
||||
ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 )
|
||||
jack? ( media-sound/jack-audio-connection-kit )
|
||||
jpeg2k? ( >=media-libs/openjpeg-1.3-r2 )
|
||||
rtmp? ( >=media-video/rtmpdump-2.2f )
|
||||
sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
|
||||
schroedinger? ( media-libs/schroedinger )
|
||||
speex? ( >=media-libs/speex-1.2_beta3 )
|
||||
vaapi? ( x11-libs/libva )
|
||||
video_cards_nvidia? ( vdpau? ( x11-libs/libvdpau ) )
|
||||
vpx? ( media-libs/libvpx )
|
||||
X? ( x11-libs/libX11 x11-libs/libXext )
|
||||
zlib? ( sys-libs/zlib )
|
||||
!media-video/qt-faststart
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/make-3.81
|
||||
dirac? ( dev-util/pkgconfig )
|
||||
doc? ( app-text/texi2html )
|
||||
mmx? ( dev-lang/yasm )
|
||||
rtmp? ( dev-util/pkgconfig )
|
||||
schroedinger? ( dev-util/pkgconfig )
|
||||
test? ( net-misc/wget )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
v4l2? ( sys-kernel/linux-headers )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
if [ "${PV#9999}" != "${PV}" ] ; then
|
||||
# Set SVN version manually
|
||||
subversion_wc_info
|
||||
sed -i -e "s/UNKNOWN/SVN-r${ESVN_WC_REVISION}/" "${S}/version.sh" || die
|
||||
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
|
||||
sed -i -e "s/UNKNOWN/SVN-r${FFMPEG_REVISION}/" "${S}/version.sh" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="${EXTRA_FFMPEG_CONF}"
|
||||
|
||||
# enabled by default
|
||||
for i in debug doc network vaapi zlib; do
|
||||
use ${i} || myconf="${myconf} --disable-${i}"
|
||||
done
|
||||
use bzip2 || myconf="${myconf} --disable-bzlib"
|
||||
use sdl || myconf="${myconf} --disable-ffplay"
|
||||
use static-libs || myconf="${myconf} --disable-static"
|
||||
|
||||
use custom-cflags && myconf="${myconf} --disable-optimizations"
|
||||
use cpudetection && myconf="${myconf} --enable-runtime-cpudetect"
|
||||
|
||||
#for i in h264_vdpau mpeg1_vdpau mpeg_vdpau vc1_vdpau wmv3_vdpau; do
|
||||
# use video_cards_nvidia || myconf="${myconf} --disable-decoder=${i}"
|
||||
# use vdpau || myconf="${myconf} --disable-decoder=${i}"
|
||||
#done
|
||||
use video_cards_nvidia && use vdpau || myconf="${myconf} --disable-vdpau"
|
||||
|
||||
# Encoders
|
||||
if use encode
|
||||
then
|
||||
use mp3 && myconf="${myconf} --enable-libmp3lame"
|
||||
for i in theora vorbis x264 xvid; do
|
||||
use ${i} && myconf="${myconf} --enable-lib${i}"
|
||||
done
|
||||
if use bindist
|
||||
then
|
||||
use faac && ewarn "faac is nonfree and cannot be distributed;
|
||||
disabling faac support."
|
||||
else
|
||||
use faac && myconf="${myconf} --enable-libfaac --enable-nonfree"
|
||||
fi
|
||||
else
|
||||
myconf="${myconf} --disable-encoders"
|
||||
fi
|
||||
|
||||
# libavdevice options
|
||||
use ieee1394 && myconf="${myconf} --enable-libdc1394"
|
||||
# Indevs
|
||||
for i in v4l v4l2 alsa oss jack ; do
|
||||
use ${i} || myconf="${myconf} --disable-indev=${i}"
|
||||
done
|
||||
use X && myconf="${myconf} --enable-x11grab"
|
||||
# Outdevs
|
||||
for i in alsa oss ; do
|
||||
use ${i} || myconf="${myconf} --disable-outdev=${i}"
|
||||
done
|
||||
# libavfilter options
|
||||
use frei0r && myconf="${myconf} --enable-frei0r"
|
||||
|
||||
# Threads; we only support pthread for now but ffmpeg supports more
|
||||
use threads && myconf="${myconf} --enable-pthreads"
|
||||
|
||||
# Decoders
|
||||
use amr && myconf="${myconf} --enable-libopencore-amrwb --enable-libopencore-amrnb"
|
||||
for i in gsm dirac rtmp schroedinger speex vpx; do
|
||||
use ${i} && myconf="${myconf} --enable-lib${i}"
|
||||
done
|
||||
use jpeg2k && myconf="${myconf} --enable-libopenjpeg"
|
||||
|
||||
# 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 for x86.
|
||||
if use pic && use x86 ; then
|
||||
myconf="${myconf} --disable-mmx --disable-mmx2"
|
||||
fi
|
||||
|
||||
# Option to force building pic
|
||||
use pic && myconf="${myconf} --enable-pic"
|
||||
|
||||
# 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
|
||||
[ "${i}" = "native" ] && i="host" # bug #273421
|
||||
[[ ${i} = *-sse3 ]] && i="${i%-sse3}" # bug 283968
|
||||
myconf="${myconf} --cpu=${i}"
|
||||
break
|
||||
done
|
||||
|
||||
# Mandatory configuration
|
||||
myconf="
|
||||
--enable-gpl
|
||||
--enable-version3
|
||||
--enable-postproc
|
||||
--enable-avfilter
|
||||
--disable-stripping
|
||||
${myconf}"
|
||||
|
||||
# cross compile support
|
||||
if tc-is-cross-compiler ; then
|
||||
myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-"
|
||||
case ${CHOST} in
|
||||
*freebsd*)
|
||||
myconf="${myconf} --target-os=freebsd"
|
||||
;;
|
||||
mingw32*)
|
||||
myconf="${myconf} --target-os=mingw32"
|
||||
;;
|
||||
*linux*)
|
||||
myconf="${myconf} --target-os=linux"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# 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)" \
|
||||
--host-cc="$(tc-getCC)" \
|
||||
--host-cflags="${CFLAGS}" \
|
||||
--host-ldflags="${LDFLAGS}" \
|
||||
${myconf} || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake version.h || die #252269
|
||||
emake || die
|
||||
|
||||
if use qt-faststart; then
|
||||
tc-export CC
|
||||
emake -C tools qt-faststart || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install install-man || die
|
||||
|
||||
dodoc Changelog README INSTALL
|
||||
dodoc doc/*
|
||||
|
||||
if use qt-faststart; then
|
||||
dobin tools/qt-faststart || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if use encode ; then
|
||||
for t in codectest lavftest seektest ; do
|
||||
LD_LIBRARY_PATH="${S}/libavcore:${S}/libpostproc:${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \
|
||||
emake ${t} || die "Some tests in ${t} failed"
|
||||
done
|
||||
else
|
||||
ewarn "Tests fail without USE=encode, skipping"
|
||||
fi
|
||||
}
|
||||
268
media-video/ffmpeg/ffmpeg-9999.ebuild
Normal file
268
media-video/ffmpeg/ffmpeg-9999.ebuild
Normal file
@@ -0,0 +1,268 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.6_p25767.ebuild,v 1.4 2010/12/09 16:11:56 rich0 Exp $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
SCM=""
|
||||
if [ "${PV#9999}" != "${PV}" ] ; then
|
||||
SCM="subversion"
|
||||
ESVN_REPO_URI="svn://svn.ffmpeg.org/ffmpeg/trunk"
|
||||
fi
|
||||
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
|
||||
|
||||
DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec."
|
||||
HOMEPAGE="http://ffmpeg.org/"
|
||||
if [ "${PV#9999}" != "${PV}" ] ; then
|
||||
SRC_URI=""
|
||||
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
|
||||
SRC_URI="mirror://gentoo/${P}.tar.bz2"
|
||||
else # Release
|
||||
SRC_URI="http://ffmpeg.org/releases/${P}.tar.bz2"
|
||||
fi
|
||||
FFMPEG_REVISION="${PV#*_p}"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
if [ "${PV#9999}" = "${PV}" ] ; then
|
||||
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
|
||||
fi
|
||||
IUSE="+3dnow +3dnowext alsa altivec amr bindist +bzip2 cpudetection custom-cflags debug dirac doc +encode faac frei0r gsm +hardcoded-tables ieee1394 jack jpeg2k +mmx +mmxext mp3 network oss pic qt-faststart rtmp schroedinger sdl speex +ssse3 static-libs test theora threads v4l v4l2 vaapi vdpau vorbis vpx X x264 xvid +zlib"
|
||||
|
||||
VIDEO_CARDS="nvidia"
|
||||
|
||||
for x in ${VIDEO_CARDS}; do
|
||||
IUSE="${IUSE} video_cards_${x}"
|
||||
done
|
||||
|
||||
RDEPEND="
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
amr? ( media-libs/opencore-amr )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
dirac? ( media-video/dirac )
|
||||
encode? (
|
||||
faac? ( media-libs/faac )
|
||||
mp3? ( >=media-sound/lame-3.98.3 )
|
||||
theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
|
||||
vorbis? ( media-libs/libvorbis media-libs/libogg )
|
||||
x264? ( >=media-libs/x264-0.0.20101029 )
|
||||
xvid? ( >=media-libs/xvid-1.1.0 )
|
||||
)
|
||||
frei0r? ( media-plugins/frei0r-plugins )
|
||||
gsm? ( >=media-sound/gsm-1.0.12-r1 )
|
||||
ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 )
|
||||
jack? ( media-sound/jack-audio-connection-kit )
|
||||
jpeg2k? ( >=media-libs/openjpeg-1.3-r2 )
|
||||
rtmp? ( >=media-video/rtmpdump-2.2f )
|
||||
sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
|
||||
schroedinger? ( media-libs/schroedinger )
|
||||
speex? ( >=media-libs/speex-1.2_beta3 )
|
||||
vaapi? ( x11-libs/libva )
|
||||
video_cards_nvidia? ( vdpau? ( x11-libs/libvdpau ) )
|
||||
vpx? ( media-libs/libvpx )
|
||||
X? ( x11-libs/libX11 x11-libs/libXext )
|
||||
zlib? ( sys-libs/zlib )
|
||||
!media-video/qt-faststart
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/make-3.81
|
||||
dirac? ( dev-util/pkgconfig )
|
||||
doc? ( app-text/texi2html )
|
||||
mmx? ( dev-lang/yasm )
|
||||
rtmp? ( dev-util/pkgconfig )
|
||||
schroedinger? ( dev-util/pkgconfig )
|
||||
test? ( net-misc/wget )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
v4l2? ( sys-kernel/linux-headers )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
if [ "${PV#9999}" != "${PV}" ] ; then
|
||||
# Set SVN version manually
|
||||
subversion_wc_info
|
||||
sed -i -e "s/UNKNOWN/SVN-r${ESVN_WC_REVISION}/" "${S}/version.sh" || die
|
||||
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
|
||||
sed -i -e "s/UNKNOWN/SVN-r${FFMPEG_REVISION}/" "${S}/version.sh" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="${EXTRA_FFMPEG_CONF}"
|
||||
|
||||
# enabled by default
|
||||
for i in debug doc network vaapi zlib; do
|
||||
use ${i} || myconf="${myconf} --disable-${i}"
|
||||
done
|
||||
use bzip2 || myconf="${myconf} --disable-bzlib"
|
||||
use sdl || myconf="${myconf} --disable-ffplay"
|
||||
use static-libs || myconf="${myconf} --disable-static"
|
||||
|
||||
use custom-cflags && myconf="${myconf} --disable-optimizations"
|
||||
use cpudetection && myconf="${myconf} --enable-runtime-cpudetect"
|
||||
|
||||
#for i in h264_vdpau mpeg1_vdpau mpeg_vdpau vc1_vdpau wmv3_vdpau; do
|
||||
# use video_cards_nvidia || myconf="${myconf} --disable-decoder=${i}"
|
||||
# use vdpau || myconf="${myconf} --disable-decoder=${i}"
|
||||
#done
|
||||
use video_cards_nvidia && use vdpau || myconf="${myconf} --disable-vdpau"
|
||||
|
||||
# Encoders
|
||||
if use encode
|
||||
then
|
||||
use mp3 && myconf="${myconf} --enable-libmp3lame"
|
||||
for i in theora vorbis x264 xvid; do
|
||||
use ${i} && myconf="${myconf} --enable-lib${i}"
|
||||
done
|
||||
if use bindist
|
||||
then
|
||||
use faac && ewarn "faac is nonfree and cannot be distributed;
|
||||
disabling faac support."
|
||||
else
|
||||
use faac && myconf="${myconf} --enable-libfaac --enable-nonfree"
|
||||
fi
|
||||
else
|
||||
myconf="${myconf} --disable-encoders"
|
||||
fi
|
||||
|
||||
# libavdevice options
|
||||
use ieee1394 && myconf="${myconf} --enable-libdc1394"
|
||||
# Indevs
|
||||
for i in v4l v4l2 alsa oss jack ; do
|
||||
use ${i} || myconf="${myconf} --disable-indev=${i}"
|
||||
done
|
||||
use X && myconf="${myconf} --enable-x11grab"
|
||||
# Outdevs
|
||||
for i in alsa oss ; do
|
||||
use ${i} || myconf="${myconf} --disable-outdev=${i}"
|
||||
done
|
||||
# libavfilter options
|
||||
use frei0r && myconf="${myconf} --enable-frei0r"
|
||||
|
||||
# Threads; we only support pthread for now but ffmpeg supports more
|
||||
use threads && myconf="${myconf} --enable-pthreads"
|
||||
|
||||
# Decoders
|
||||
use amr && myconf="${myconf} --enable-libopencore-amrwb --enable-libopencore-amrnb"
|
||||
for i in gsm dirac rtmp schroedinger speex vpx; do
|
||||
use ${i} && myconf="${myconf} --enable-lib${i}"
|
||||
done
|
||||
use jpeg2k && myconf="${myconf} --enable-libopenjpeg"
|
||||
|
||||
# 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 for x86.
|
||||
if use pic && use x86 ; then
|
||||
myconf="${myconf} --disable-mmx --disable-mmx2"
|
||||
fi
|
||||
|
||||
# Option to force building pic
|
||||
use pic && myconf="${myconf} --enable-pic"
|
||||
|
||||
# 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
|
||||
[ "${i}" = "native" ] && i="host" # bug #273421
|
||||
[[ ${i} = *-sse3 ]] && i="${i%-sse3}" # bug 283968
|
||||
myconf="${myconf} --cpu=${i}"
|
||||
break
|
||||
done
|
||||
|
||||
# Mandatory configuration
|
||||
myconf="
|
||||
--enable-gpl
|
||||
--enable-version3
|
||||
--enable-postproc
|
||||
--enable-avfilter
|
||||
--disable-stripping
|
||||
${myconf}"
|
||||
|
||||
# cross compile support
|
||||
if tc-is-cross-compiler ; then
|
||||
myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-"
|
||||
case ${CHOST} in
|
||||
*freebsd*)
|
||||
myconf="${myconf} --target-os=freebsd"
|
||||
;;
|
||||
mingw32*)
|
||||
myconf="${myconf} --target-os=mingw32"
|
||||
;;
|
||||
*linux*)
|
||||
myconf="${myconf} --target-os=linux"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# 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)" \
|
||||
--host-cc="$(tc-getCC)" \
|
||||
--host-cflags="${CFLAGS}" \
|
||||
--host-ldflags="${LDFLAGS}" \
|
||||
${myconf} || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake version.h || die #252269
|
||||
emake || die
|
||||
|
||||
if use qt-faststart; then
|
||||
tc-export CC
|
||||
emake -C tools qt-faststart || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install install-man || die
|
||||
|
||||
dodoc Changelog README INSTALL
|
||||
dodoc doc/*
|
||||
|
||||
if use qt-faststart; then
|
||||
dobin tools/qt-faststart || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if use encode ; then
|
||||
for t in codectest lavftest seektest ; do
|
||||
LD_LIBRARY_PATH="${S}/libavcore:${S}/libpostproc:${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \
|
||||
emake ${t} || die "Some tests in ${t} failed"
|
||||
done
|
||||
else
|
||||
ewarn "Tests fail without USE=encode, skipping"
|
||||
fi
|
||||
}
|
||||
32
media-video/ffmpeg/metadata.xml
Normal file
32
media-video/ffmpeg/metadata.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>video</herd>
|
||||
<maintainer>
|
||||
<email>media-video@gentoo.org</email>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="3dnowext">
|
||||
Enable manually-optimised routines using the AMD 3DNow!Ex SIMD
|
||||
instruction set, present in modern AMD CPUs. (Check for
|
||||
3dnowext in /proc/cpuinfo to know whether your CPU supports it).
|
||||
</flag>
|
||||
<flag name="amr">Enables Adaptive Multi-Rate Audio support</flag>
|
||||
<flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
|
||||
<flag name="dirac">Enable Dirac video support (an advanced royalty-free video compression format) via the reference library: dirac.</flag>
|
||||
<flag name="faac">Use external faac library for AAC encoding</flag>
|
||||
<flag name="faad">Use external faad library for AAC decoding (instead of internal libavcodec support)</flag>
|
||||
<flag name="frei0r">Enable frei0r wrapping in libavfilter</flag>
|
||||
<flag name="hardcoded-tables">Use pre-calculated tables rather than calculating them on the fly.</flag>
|
||||
<flag name="mmxext">Enables mmx2 support</flag>
|
||||
<flag name="network">Enables network streaming support</flag>
|
||||
<flag name="pic">Force shared libraries to be built as PIC (this is slower)</flag>
|
||||
<flag name="qt-faststart">Build and install qt-faststart application</flag>
|
||||
<flag name="rtmp">Enable Real Time Messaging Protocol using librtmp</flag>
|
||||
<flag name="schroedinger">Enable Dirac video support (an advanced royalty-free video compression format) via libschroedinger (high-speed implementation in C of the Dirac codec).</flag>
|
||||
<flag name="ssse3">faster floating point optimization for SSSE3 capable chips (Intel Core 2 and later chips)</flag>
|
||||
<flag name="vaapi">Enables VAAPI (Video Acceleration API) for hardware decoding</flag>
|
||||
<flag name="vdpau">Enables VDPAU decoders (requires nVidia video cards to offload CPU processing to video card</flag>
|
||||
<flag name="vpx">Enables vp8 codec support using libvpx: Decoding vp8 does not require this to be enabled but libvpx can also be used for decoding; encoding vp8 requires this useflag to be enabled though.</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user