media-video/libav: version bump to 11.6

Package-Manager: portage-2.2.25
Acked-by: Luca Barbato <lu_zero@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/1029
This commit is contained in:
Lei Zhang
2016-03-10 01:28:42 +08:00
committed by Patrice Clement
parent 4e2ab807ff
commit 699e5ef7bf
2 changed files with 348 additions and 0 deletions

View File

@@ -3,5 +3,6 @@ DIST fate-11.tar.xz 691009480 SHA256 4de446ae8c665e9410475c58f6294720f34cfdb1f20
DIST fate-9.tar.xz 467671500 SHA256 27d10fd49267452ac787c3f43501a4a21d0ccaccc5ddd6d79d8a6150ee276532 SHA512 8e45539f2512ef915b37c857226c0243940259f269b8f99393b9defa3352d7b8c1fcc5078f4f0d40dc0509737f0c915e179cedcc77f71fe5d96b1b956169a202 WHIRLPOOL d280ac32c6d84f121be8d733774e72a4df3f2e84d71051aea509ef5ca3289c94fd548bf03ff12215e045bf20c83426c547e6b5eb446429d167f38af7c7aa9803
DIST libav-11.3.tar.xz 4858864 SHA256 12ae6c051967765ae5faeddf94c4584129ac0b18edb884afffc5fcedcdb5e030 SHA512 f25b9fb7392d5bb4df35937f79beae26bd8f6606f0ad7cdebf16963834eb9b423d882f6a3a44b5120a5d5d853c7c31bb8c3420a427cd2b360f41a48a6d5df284 WHIRLPOOL 721c4cbe7ee3f7307d24c0e4f1cc1f8ab8b0ccd50ddf88b77ecf1cae05f06fc80d7527e9f7a0a098a6d95d0e7fed50082aaffa07935eab6e9131f7c9be6e696c
DIST libav-11.4.tar.xz 4860264 SHA256 0b7dabc2605f3a254ee410bb4b1a857945696aab495fe21b34c3b6544ff5d525 SHA512 82ffe6aaccb1a19782dfcb0de641c8255531ce34ee5f49f9b8ec7f5a11c81713432aafc3a6b7c4de927eb8141ddea41f28e4e3a1ab715b943774193050fb02e7 WHIRLPOOL c2e14e06fd7632852feea45f468803929cb1c1688d77ac8641c56d77523da455ccdf4cc6bf52b3dba9b387af9ad15ea9efd82b11ce365c3a84440fb2998f06aa
DIST libav-11.6.tar.xz 4860268 SHA256 542f30e4266d2d2226e681b888bc718c995f5438f2db66a9a27d581243d27aed SHA512 bff3e22de93e4ab357715ae20e25b6435df52d1868c5164426a693d14fe7f54e47a46c4c62a36fbf27bd204e12f6a29a6f58016c7deaa838915d424b5ce530bd WHIRLPOOL 060bd61e784112a56e02ba86d0901ff488d6ef1735d731a869c68a27da72a209734648148edf9922efe2d15fed3380c36129a92c6917af812bf9e606ef97c131
DIST libav-9.14.tar.xz 4077424 SHA256 e4baf0c2adbd941a827854794dd6af9c29cd2042b23501c5828e9b8e1725f61d SHA512 fa8e83cb92a5a565cd23c63467c64972a69a4cbd652b946c7891b73180b609890f67a6f89f009ed263fb9e2c769236f3a8f7f70b0fce4c4373fa93a49470c04d WHIRLPOOL 178ba6c6ad0ecd8ad59eb3bf7a0d4289a3c253d82981cf3ad454e3b222848ae4f875e37cfd280be43faa25a9614c445106555c9f3b5ee4497aec9d71f39ac1af
DIST libav-9.17.tar.xz 4080028 SHA256 e32d5f152bce1de283c002a35eb6e71f265877633dee8a40db4d16381dd5d17c SHA512 20af83d4b6a23c159c2386b6592ba6a6acf3f2c54e8aeb16dd0c8a64d637fbde24f37b864698b1143c6802b64a7b5e8ddfe0e7601b35c35686a789e2b3232f5a WHIRLPOOL ec07b5dd116e87416a9841044e09a6ef9b124fe4882f53e88711a32813d3d3a1d71f5067854bbd553ecdadec401dbbb8b504bfc1c6966bfd5e2db79459fb9995

View File

@@ -0,0 +1,347 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs
if [[ ${PV} == *9999 ]] ; then
: ${EGIT_REPO_URI:="git://git.libav.org/libav.git"}
if [[ ${PV%9999} != "" ]] ; then
: ${EGIT_BRANCH:="release/${PV%.9999}"}
fi
inherit git-r3
fi
DESCRIPTION="Complete solution to record, convert and stream audio and video"
HOMEPAGE="https://libav.org/"
if [[ ${PV} == *9999 ]] ; then
SRC_URI=""
elif [[ ${PV%_p*} != ${PV} ]] ; then # Gentoo snapshot
SRC_URI="https://dev.gentoo.org/~lu_zero/libav/${P}.tar.xz"
else # Official release
SRC_URI="https://libav.org/releases/${P}.tar.xz"
fi
# 9999 does not have fate-*.tar.xz
[[ ${PV%9999} != "" ]] && SRC_URI+=" test? ( https://dev.gentoo.org/~lu_zero/libav/fate-${PV%%.*}.tar.xz )"
LICENSE="LGPL-2.1 gpl? ( GPL-3 )"
SLOT="0/11"
[[ ${PV} == *9999 ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
IUSE="aac alsa amr bs2b +bzip2 cdio cpudetection custom-cflags debug doc +encode faac fdk
frei0r fontconfig +gpl gsm +hardcoded-tables ieee1394 jack jpeg2k libressl mp3
+network openssl opus oss pic pulseaudio rtmp schroedinger sdl speex ssl
static-libs test theora threads tools truetype twolame v4l vaapi vdpau vorbis vpx X
wavpack webp x264 x265 xvid +zlib"
# String for CPU features in the useflag[:configure_option] form
# if :configure_option isn't set, it will use 'useflag' as configure option
CPU_FEATURES="altivec armv5te armv6 armv6t2 armvfp:vfp neon"
X86_CPU_FEATURES="3dnow:amd3dnow 3dnowext:amd3dnowext mmx mmxext sse sse2 sse3 ssse3 sse4_1:sse4 sse4_2:sse42 avx xop fma3 fma4 avx2"
for i in ${X86_CPU_FEATURES} ; do
CPU_FEATURES+=" cpu_flags_x86_${i%:*}:${i#*:}"
done
for i in ${CPU_FEATURES} ; do
IUSE+=" ${i%:*}"
done
RDEPEND="
!media-video/ffmpeg:0
alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
encode? (
aac? ( >=media-libs/vo-aacenc-0.1.3[${MULTILIB_USEDEP}] )
amr? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
faac? ( >=media-libs/faac-1.28-r3[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
theora? (
>=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
)
twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
)
webp? ( >=media-libs/libwebp-0.3.0[${MULTILIB_USEDEP}] )
wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
x265? ( >=media-libs/x265-1.2:=[${MULTILIB_USEDEP}] )
xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
)
fdk? ( >=media-libs/fdk-aac-0.1.2[${MULTILIB_USEDEP}] )
frei0r? ( media-plugins/frei0r-plugins )
gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
ieee1394? (
>=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
>=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
)
jack? ( >=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}] )
jpeg2k? ( >=media-libs/openjpeg-1.5.0:0[${MULTILIB_USEDEP}] )
opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
rtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
ssl? (
openssl? (
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
)
!openssl? ( >=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP}] )
)
sdl? ( >=media-libs/libsdl-1.2.15-r4[sound,video,${MULTILIB_USEDEP}] )
schroedinger? ( >=media-libs/schroedinger-1.0.11-r1[${MULTILIB_USEDEP}] )
speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
fontconfig? ( >=media-libs/fontconfig-2.10[${MULTILIB_USEDEP}] )
vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
vpx? ( >=media-libs/libvpx-1.2.0_pre20130625[${MULTILIB_USEDEP}] )
X? (
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
>=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}]
)
zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}
>=sys-devel/make-3.81
doc? ( app-text/texi2html )
ieee1394? ( >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] )
cpu_flags_x86_mmx? ( dev-lang/yasm )
rtmp? ( >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] )
schroedinger? ( >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] )
ssl? ( >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] )
test? ( sys-devel/bc )
truetype? ( >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] )
fontconfig? ( >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] )
v4l? ( sys-kernel/linux-headers )
"
RDEPEND="${RDEPEND}
abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
# faac can't be binary distributed
# openssl support marked as nonfree
# faac and aac are concurent implementations
# amr and aac require at least lgpl3
# x264 requires gpl2
REQUIRED_USE="
rtmp? ( network )
amr? ( gpl ) aac? ( gpl ) x264? ( gpl ) X? ( gpl ) cdio? ( gpl ) x265? ( gpl )
test? ( encode zlib )
fontconfig? ( truetype )
"
RESTRICT="faac? ( bindist ) fdk? ( bindist ) openssl? ( bindist )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/libavutil/avconfig.h
)
src_unpack() {
[[ ${PV} == *9999 ]] && git-r3_src_unpack
# 9999 does not have fate-*.tar.xz
[[ ${PV%9999} != "" ]] && default_src_unpack
}
src_prepare() {
epatch_user
epatch "${FILESDIR}"/libav-11.3-libvpx-1.5.0.patch #565696
# if we have snapshot then we need to hardcode the version
if [[ ${PV%_p*} != ${PV} ]]; then
sed -i -e "s/UNKNOWN/DATE-${PV#*_pre}/" "${S}/version.sh" || die
fi
TOOLS=( aviocat graph2dot ismindex pktdumper qt-faststart trasher )
use zlib && TOOLS+=( cws2fws )
MAKEOPTS+=" V=1"
}
multilib_src_configure() {
local myconf=( ${EXTRA_LIBAV_CONF} )
local uses i
# 9999 does not have fate-*.tar.xz
[[ ${PV%9999} != "" ]] && use test && myconf+=( --samples="${WORKDIR}/fate" )
myconf+=(
$(use_enable gpl)
$(use_enable gpl version3)
# It is a security concern and removed in the next version
--disable-protocol=concat
)
# enabled by default
uses="debug doc network zlib"
for i in ${uses}; do
use ${i} || myconf+=( --disable-${i} )
done
use bzip2 || myconf+=( --disable-bzlib )
use sdl || myconf+=( --disable-avplay )
if use ssl; then
use openssl && myconf+=( --enable-openssl --enable-nonfree ) \
|| myconf+=( --enable-gnutls )
fi
use custom-cflags && myconf+=( --disable-optimizations )
use cpudetection && myconf+=( --enable-runtime-cpudetect )
use vdpau || myconf+=( --disable-vdpau )
use vaapi && myconf+=( --enable-vaapi )
# Encoders
if use encode; then
use faac && myconf+=( --enable-nonfree )
use mp3 && myconf+=( --enable-libmp3lame )
use amr && myconf+=( --enable-libvo-amrwbenc )
use aac && myconf+=( --enable-libvo-aacenc )
uses="faac theora twolame vorbis wavpack webp x264 x265 xvid"
for i in ${uses}; do
use ${i} && myconf+=( --enable-lib${i} )
done
else
myconf+=( --disable-encoders )
fi
# libavdevice options
use cdio && myconf+=( --enable-libcdio )
use ieee1394 && myconf+=( --enable-libdc1394 )
use pulseaudio && myconf+=( --enable-libpulse )
# Indevs
# v4l1 is gone since linux-headers-2.6.38
myconf+=( --disable-indev=v4l )
use v4l || myconf+=( --disable-indev=v4l2 )
for i in alsa oss jack; do
use ${i} || myconf+=( --disable-indev=${i} )
done
use X && myconf+=( --enable-x11grab )
# Outdevs
for i in alsa oss ; do
use ${i} || myconf+=( --disable-outdev=${i} )
done
# libavfilter options
use bs2b && myconf+=( --enable-libbs2b )
multilib_is_native_abi && use frei0r && myconf+=( --enable-frei0r )
use truetype && myconf+=( --enable-libfreetype )
use fontconfig && myconf+=( --enable-libfontconfig )
# Threads; we only support pthread for now
use threads && myconf+=( --enable-pthreads )
# Decoders
use amr && myconf+=( --enable-libopencore-amrwb --enable-libopencore-amrnb )
use fdk && myconf+=( --enable-nonfree --enable-libfdk-aac )
uses="gsm opus rtmp schroedinger speex vpx"
for i in ${uses}; do
use ${i} && myconf+=( --enable-lib${i} )
done
use jpeg2k && myconf+=( --enable-libopenjpeg )
# CPU features
for i in ${CPU_FEATURES}; do
use ${i%:*} || myconf+=( --disable-${i#*:} )
done
# pass the right -mfpu as extra
use neon && append-cflags -mfpu=neon
# disable mmx accelerated code if PIC is required
# as the provided asm decidedly is not PIC for x86.
if use pic && [[ ${ABI} == x86 ]]; then
myconf+=( --disable-mmx --disable-mmxext )
fi
# Option to force building pic
use pic && myconf+=( --enable-pic )
# cross compile support
if tc-is-cross-compiler ; then
myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- )
case ${CHOST} in
*freebsd*)
myconf+=( --target-os=freebsd )
;;
mingw32*)
myconf+=( --target-os=mingw32 )
;;
*linux*)
myconf+=( --target-os=linux )
;;
esac
fi
# Misc stuff
use hardcoded-tables && myconf+=( --enable-hardcoded-tables )
# Specific workarounds for too-few-registers arch...
if [[ ${ABI} == x86 ]]; then
local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
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
set -- "${S}"/configure \
--prefix="${EPREFIX}"/usr \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
--shlibdir="${EPREFIX}"/usr/$(get_libdir) \
--mandir="${EPREFIX}"/usr/share/man \
--enable-shared \
--cc="$(tc-getCC)" \
--ar="$(tc-getAR)" \
--optflags="${CFLAGS}" \
--extra-cflags="${CFLAGS}" \
$(use_enable static-libs static) \
"${myconf[@]}"
echo "${@}"
"${@}" || die
}
multilib_src_compile() {
emake
if use tools; then
tc-export CC
emake ${TOOLS[@]/#/tools/}
fi
}
multilib_src_install() {
emake DESTDIR="${D}" install install-man
use doc && dodoc doc/*.html
if use tools; then
dobin ${TOOLS[@]/#/tools/}
fi
}
multilib_src_install_all() {
dodoc Changelog README.md INSTALL
}
multilib_src_test() {
local _libs="$(for i in lib*/;do echo -n "${BUILD_DIR}/${i%/}:";done)"
einfo "LD_LIBRARY_PATH is set to \"${_libs}\""
LD_LIBRARY_PATH="${_libs}" emake -k -j1 fate
}