mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
media-video/libav: cleanup vulnerable version per security bug #531832
This commit is contained in:
@@ -7,5 +7,4 @@ DIST libav-11.4.tar.xz 4860264 SHA256 0b7dabc2605f3a254ee410bb4b1a857945696aab49
|
||||
DIST libav-11.6.tar.xz 4860268 SHA256 542f30e4266d2d2226e681b888bc718c995f5438f2db66a9a27d581243d27aed SHA512 bff3e22de93e4ab357715ae20e25b6435df52d1868c5164426a693d14fe7f54e47a46c4c62a36fbf27bd204e12f6a29a6f58016c7deaa838915d424b5ce530bd WHIRLPOOL 060bd61e784112a56e02ba86d0901ff488d6ef1735d731a869c68a27da72a209734648148edf9922efe2d15fed3380c36129a92c6917af812bf9e606ef97c131
|
||||
DIST libav-11.7.tar.xz 4861984 SHA256 8c9a75c89c6df58dd5e3f6f735d1ba5448680e23013fd66a51b50b4f49913c46 SHA512 23c6ffd0efdfa6b22c7863bf440d7469eba03a7990382fe33c8c4c7871edf250641ac536572516225679b0934e5c250ee0e2e91ea093c770a0c4c32b4776e3c5 WHIRLPOOL adb106828ae1e3c802b719a5c9feede1c96d02d79512bf04e2bf29da3d24e969a044a887eeb94dc76d528582026aed6cb1e0e342115507aaa98a8918de358ecd
|
||||
DIST libav-12_pre20160529.tar.xz 5238532 SHA256 e12f2c1c737a990e277ec0e78673c971962036374b4e53eddb3c1b417e2672fe SHA512 bcfebbed8b4f65526cb9bea3535a04a99891e89a8dcbe544fa104895558b043848f4521949220ac31210b59441ec280aaa7ec7e9138ccba1e0ab0357805f5d87 WHIRLPOOL d35b7df7b023e4c37115ff196f6ac031662c1fa92c1880ac40a88fe0db02ce606dff807baa1c42422c3512060673262748a93bd577b20510f4538c376f1da77c
|
||||
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
|
||||
|
||||
@@ -1,323 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.libav.org/libav.git"
|
||||
[[ ${PV%9999} != "" ]] && EGIT_BRANCH="release/${PV%.9999}"
|
||||
fi
|
||||
|
||||
inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
|
||||
|
||||
DESCRIPTION="Complete solution to record, convert and stream audio and video"
|
||||
HOMEPAGE="http://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="http://${PN}.org/releases/${P}.tar.xz"
|
||||
fi
|
||||
|
||||
SRC_URI+=" test? ( https://dev.gentoo.org/~lu_zero/libav/fate-9.tar.xz )"
|
||||
|
||||
LICENSE="LGPL-2.1 gpl? ( GPL-3 )"
|
||||
SLOT="0/9"
|
||||
|
||||
# Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
|
||||
[[ ${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 +bzip2 cdio cpudetection custom-cflags debug doc +encode
|
||||
faac fdk frei0r +gpl gsm +hardcoded-tables ieee1394 jack jpeg2k mp3
|
||||
+network openssl opus oss pic pulseaudio rtmp schroedinger sdl speex ssl
|
||||
static-libs test theora threads tools truetype v4l vaapi vdpau vorbis vpx X
|
||||
x264 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="cpu_flags_x86_3dnow:amd3dnow cpu_flags_x86_3dnowext:amd3dnowext altivec cpu_flags_x86_avx:avx cpu_flags_x86_mmx:mmx cpu_flags_x86_mmxext:mmxext neon cpu_flags_x86_ssse3:ssse3 vis"
|
||||
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}] )
|
||||
bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
|
||||
cdio? (
|
||||
|| (
|
||||
>=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}]
|
||||
<dev-libs/libcdio-0.90[-minimal,${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}] )
|
||||
fdk? ( >=media-libs/fdk-aac-0.1.2[${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}]
|
||||
)
|
||||
vorbis? (
|
||||
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
|
||||
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
|
||||
xvid? ( >=media-libs/xvid-1.3.2-r1[${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? ( >=dev-libs/openssl-1.0.1h-r2[${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}] )
|
||||
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}] )
|
||||
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 )
|
||||
test? ( encode zlib )
|
||||
"
|
||||
RESTRICT="faac? ( bindist ) fdk? ( bindist ) openssl? ( bindist )"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libavutil/avconfig.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# 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
|
||||
|
||||
myconf+=(
|
||||
$(use_enable gpl)
|
||||
$(use_enable gpl version3)
|
||||
--enable-avfilter
|
||||
)
|
||||
|
||||
# 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 fdk && myconf+=( --enable-nonfree --enable-libfdk-aac )
|
||||
use mp3 && myconf+=( --enable-libmp3lame )
|
||||
use amr && myconf+=( --enable-libvo-amrwbenc )
|
||||
use aac && myconf+=( --enable-libvo-aacenc )
|
||||
uses="faac theora vorbis x264 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
|
||||
multilib_is_native_abi && use frei0r && myconf+=( --enable-frei0r )
|
||||
use truetype && myconf+=( --enable-libfreetype )
|
||||
|
||||
# Threads; we only support pthread for now
|
||||
use threads && myconf+=( --enable-pthreads )
|
||||
|
||||
# Decoders
|
||||
use amr && myconf+=( --enable-libopencore-amrwb --enable-libopencore-amrnb )
|
||||
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 && myconf+=( --extra-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 multilib_is_native_abi && 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 multilib_is_native_abi && use tools; then
|
||||
dobin ${TOOLS[@]/#/tools/}
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc Changelog README INSTALL
|
||||
dodoc doc/*.txt
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
echo ${WORKDIR}/fate
|
||||
LD_LIBRARY_PATH="${BUILD_DIR}/libswscale:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavresample:${BUILD_DIR}/libavutil" \
|
||||
emake -j1 fate SAMPLES="${WORKDIR}/fate"
|
||||
}
|
||||
Reference in New Issue
Block a user