summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-04-17 20:23:42 +0100
committerSam James <sam@gentoo.org>2022-04-17 20:23:42 +0100
commit339c27e5232302f2b7219741fc4b3920e4332322 (patch)
tree3765ba49d8b3eee84cdce817d1760745433b359c /media-libs/libvpx
parentmedia-libs/libmatroska: drop 1.6.2 (diff)
downloadgentoo-339c27e5232302f2b7219741fc4b3920e4332322.tar.gz
gentoo-339c27e5232302f2b7219741fc4b3920e4332322.tar.bz2
gentoo-339c27e5232302f2b7219741fc4b3920e4332322.zip
media-libs/libvpx: drop 1.7.0-r1, 1.10.0
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/libvpx')
-rw-r--r--media-libs/libvpx/Manifest4
-rw-r--r--media-libs/libvpx/files/libvpx-1.7.0-CVE-2019-9232_9325_9371_9433.patch211
-rw-r--r--media-libs/libvpx/libvpx-1.10.0.ebuild119
-rw-r--r--media-libs/libvpx/libvpx-1.7.0-r1.ebuild129
4 files changed, 0 insertions, 463 deletions
diff --git a/media-libs/libvpx/Manifest b/media-libs/libvpx/Manifest
index cb0494a1bad1..09a825a81ef6 100644
--- a/media-libs/libvpx/Manifest
+++ b/media-libs/libvpx/Manifest
@@ -1,8 +1,4 @@
-DIST libvpx-1.10.0.tar.gz 5340421 BLAKE2B 25ef346b9dce92d37cc4f4612ed351d0f93a60c9021ed5f9145a9128efa8b0af7cf30b6279c40481ab043b9922b93f6b502cdffc3feedaf4bca310fdaf8b1502 SHA512 f88c588145b5164e98531b75215e119056cd806a9dbe6599bb9dab35c0af0ecd4b3daabee7d795e412a58aeb543d5c7dc0107457c4bd8f4d434e966e8e22a32d
DIST libvpx-1.11.0.tar.gz 5347256 BLAKE2B 2c350e14fc3b8a3c10a71e230e893fbb9a68e6eeb6a413cc359bdbfddda21cc5c15d0de4b6110889845f88f8a946ef1266980c0a1b26aaf55b52330fe038e261 SHA512 7aa5d30afa956dccda60917fd82f6f9992944ca893437c8cd53a04d1b7a94e0210431954aa136594dc400340123cc166dcc855753e493c8d929667f4c42b65a5
-DIST libvpx-1.7.0.tar.gz 2679797 BLAKE2B de7992adb517e375c5be2a9facf2b4a73174adcaef11185ed6d3102c2f6b73f378b0d415c5e3a4d915b3a6889bd8b31ba3e8c007a87a433a345ef7696a1dd899 SHA512 8b3b766b550f8d86907628d7ed88035f9a2612aac21542e0fd5ad35b905eb82cbe1be02a1a24afce7a3bcc4766f62611971f72724761996b392136c40a1e7ff0
DIST libvpx-1.9.0.tar.gz 5326239 BLAKE2B 6403a5d8326235a8d27ca3727f45398556cbe72cd125ae358c22f729cc01d6a81917cca8a6e97ad0ed01e7fc04ca4212baf21f371323b93ccc8830c4a11acf91 SHA512 8d544552b35000ea5712aec220b78bb5f7dc210704b2f609365214cb95a4f5a0e343b362723d829cb4a9ac203b10d5443700ba84b28fd6b2fefbabb40663e298
-DIST libvpx-testdata-1.10.0.tar.xz 448090752 BLAKE2B 88391427d35c538d114df188a899f8de7247dcd861d8438a32530909430feceef48c2c35a53c5a57268dccd85bcd40ec92bb053cfc2b4588bde6447747e10803 SHA512 6d4f0d08f32b34e95c1a75a4340e0340c83b26008852fac4293f1f3c4b9e9ce0f8e2290de678e2f2c9e1309f6995857add4e98796e1a3f474ce1402c9cc862f4
DIST libvpx-testdata-1.11.0.tar.xz 444614504 BLAKE2B ab6de4c46a771dc1c0dfb19326e580a492768c629eebbfb276db7da02e13256b2a66fdaadf76e5856879e871c7a17fcff657139582b1a3a84ad39c6018b912be SHA512 772e9d69dc9fc8e5a9411e1a532d908e86d90b03019e958349115a74697dcb35972ce71325312193d3a84030c3ff1d9bdbd09ed58918fffcba39c120ce4be868
-DIST libvpx-testdata-1.7.0.tar.xz 238790100 BLAKE2B 1d14e794341d35402eaf54d398ebed56b0983908e397ae677737e0f313ea0bfc9c4a39be91765b02a07a8eb9b55529d5f998efcc87b1b493b0e326e02193d982 SHA512 1556345e41674f0846a7419828972ec27c3c37fe270fa1deb45e03665f60ec088d79134aee0d2e27003b130636eeed4a15ea3f701c9d7014f3ca2785467767a8
DIST libvpx-testdata-1.9.0.tar.xz 450868860 BLAKE2B aaed7f2ef4f70ff352e39be2630e3a5cd803e8d2408c4fd5c3e06e040a75d2f593a10bc267a497aa91eaceb64286e81f69e86ca0940160e4f34b62c08e91df7b SHA512 bcc89062a436d652d15d5852a842cb4985c4783855b943ab11667c022b5082887129fd9579b8da3af209a3031f95ff8dc625c380f79559db160501cd676736ea
diff --git a/media-libs/libvpx/files/libvpx-1.7.0-CVE-2019-9232_9325_9371_9433.patch b/media-libs/libvpx/files/libvpx-1.7.0-CVE-2019-9232_9325_9371_9433.patch
deleted file mode 100644
index 623eccda902d..000000000000
--- a/media-libs/libvpx/files/libvpx-1.7.0-CVE-2019-9232_9325_9371_9433.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-Backports of
-
-From 46e17f0cb4a80b36755c84b8bf15731d3386c08f Mon Sep 17 00:00:00 2001
-From: kyslov <kyslov@google.com>
-Date: Fri, 4 Jan 2019 17:04:09 -0800
-Subject: [PATCH] Fix OOB memory access on fuzzed data
-
-From 0681cff1ad36b3ef8ec242f59b5a6c4234ccfb88 Mon Sep 17 00:00:00 2001
-From: James Zern <jzern@google.com>
-Date: Tue, 24 Jul 2018 21:36:50 -0700
-Subject: [PATCH] vp9: fix OOB read in decoder_peek_si_internal
-
-From f00890eecdf8365ea125ac16769a83aa6b68792d Mon Sep 17 00:00:00 2001
-From: James Zern <jzern@google.com>
-Date: Tue, 11 Dec 2018 18:06:20 -0800
-Subject: [PATCH] update libwebm to libwebm-1.0.0.27-352-g6ab9fcf
-
-From 34d54b04e98dd0bac32e9aab0fbda0bf501bc742 Mon Sep 17 00:00:00 2001
-From: James Zern <jzern@google.com>
-Date: Tue, 9 Apr 2019 18:37:44 -0700
-Subject: [PATCH] update libwebm to libwebm-1.0.0.27-358-gdbf1d10
-
-From 52add5896661d186dec284ed646a4b33b607d2c7 Mon Sep 17 00:00:00 2001
-From: Jerome Jiang <jianj@google.com>
-Date: Wed, 23 May 2018 15:43:00 -0700
-Subject: [PATCH] VP8: Fix use-after-free in postproc.
-
-to address CVE-2019-9232 CVE-2019-9325 CVE-2019-9371 CVE-2019-9433
-
-
---- a/test/decode_api_test.cc
-+++ b/test/decode_api_test.cc
-@@ -138,8 +138,30 @@ TEST(DecodeAPI, Vp9InvalidDecode) {
- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
- }
-
--TEST(DecodeAPI, Vp9PeekSI) {
-+void TestPeekInfo(const uint8_t *const data, uint32_t data_sz,
-+ uint32_t peek_size) {
- const vpx_codec_iface_t *const codec = &vpx_codec_vp9_dx_algo;
-+ // Verify behavior of vpx_codec_decode. vpx_codec_decode doesn't even get
-+ // to decoder_peek_si_internal on frames of size < 8.
-+ if (data_sz >= 8) {
-+ vpx_codec_ctx_t dec;
-+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, NULL, 0));
-+ EXPECT_EQ((data_sz < peek_size) ? VPX_CODEC_UNSUP_BITSTREAM
-+ : VPX_CODEC_CORRUPT_FRAME,
-+ vpx_codec_decode(&dec, data, data_sz, NULL, 0));
-+ vpx_codec_iter_t iter = NULL;
-+ EXPECT_EQ(NULL, vpx_codec_get_frame(&dec, &iter));
-+ EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
-+ }
-+
-+ // Verify behavior of vpx_codec_peek_stream_info.
-+ vpx_codec_stream_info_t si;
-+ si.sz = sizeof(si);
-+ EXPECT_EQ((data_sz < peek_size) ? VPX_CODEC_UNSUP_BITSTREAM : VPX_CODEC_OK,
-+ vpx_codec_peek_stream_info(codec, data, data_sz, &si));
-+}
-+
-+TEST(DecodeAPI, Vp9PeekStreamInfo) {
- // The first 9 bytes are valid and the rest of the bytes are made up. Until
- // size 10, this should return VPX_CODEC_UNSUP_BITSTREAM and after that it
- // should return VPX_CODEC_CORRUPT_FRAME.
-@@ -150,24 +172,18 @@ TEST(DecodeAPI, Vp9PeekSI) {
- };
-
- for (uint32_t data_sz = 1; data_sz <= 32; ++data_sz) {
-- // Verify behavior of vpx_codec_decode. vpx_codec_decode doesn't even get
-- // to decoder_peek_si_internal on frames of size < 8.
-- if (data_sz >= 8) {
-- vpx_codec_ctx_t dec;
-- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_dec_init(&dec, codec, NULL, 0));
-- EXPECT_EQ(
-- (data_sz < 10) ? VPX_CODEC_UNSUP_BITSTREAM : VPX_CODEC_CORRUPT_FRAME,
-- vpx_codec_decode(&dec, data, data_sz, NULL, 0));
-- vpx_codec_iter_t iter = NULL;
-- EXPECT_EQ(NULL, vpx_codec_get_frame(&dec, &iter));
-- EXPECT_EQ(VPX_CODEC_OK, vpx_codec_destroy(&dec));
-- }
-+ TestPeekInfo(data, data_sz, 10);
-+ }
-+}
-+
-+TEST(DecodeAPI, Vp9PeekStreamInfoTruncated) {
-+ // This profile 1 header requires 10.25 bytes, ensure
-+ // vpx_codec_peek_stream_info doesn't over read.
-+ const uint8_t profile1_data[10] = { 0xa4, 0xe9, 0x30, 0x68, 0x53,
-+ 0xe9, 0x30, 0x68, 0x53, 0x04 };
-
-- // Verify behavior of vpx_codec_peek_stream_info.
-- vpx_codec_stream_info_t si;
-- si.sz = sizeof(si);
-- EXPECT_EQ((data_sz < 10) ? VPX_CODEC_UNSUP_BITSTREAM : VPX_CODEC_OK,
-- vpx_codec_peek_stream_info(codec, data, data_sz, &si));
-+ for (uint32_t data_sz = 1; data_sz <= 10; ++data_sz) {
-+ TestPeekInfo(profile1_data, data_sz, 11);
- }
- }
- #endif // CONFIG_VP9_DECODER
---- a/third_party/libwebm/mkvparser/mkvparser.cc
-+++ b/third_party/libwebm/mkvparser/mkvparser.cc
-@@ -5307,8 +5307,8 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
-
- const long long stop = pos + s.size;
-
-- Colour* colour = NULL;
-- Projection* projection = NULL;
-+ std::unique_ptr<Colour> colour_ptr;
-+ std::unique_ptr<Projection> projection_ptr;
-
- while (pos < stop) {
- long long id, size;
-@@ -5357,11 +5357,19 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
- if (rate <= 0)
- return E_FILE_FORMAT_INVALID;
- } else if (id == libwebm::kMkvColour) {
-- if (!Colour::Parse(pReader, pos, size, &colour))
-+ Colour* colour = NULL;
-+ if (!Colour::Parse(pReader, pos, size, &colour)) {
- return E_FILE_FORMAT_INVALID;
-+ } else {
-+ colour_ptr.reset(colour);
-+ }
- } else if (id == libwebm::kMkvProjection) {
-- if (!Projection::Parse(pReader, pos, size, &projection))
-+ Projection* projection = NULL;
-+ if (!Projection::Parse(pReader, pos, size, &projection)) {
- return E_FILE_FORMAT_INVALID;
-+ } else {
-+ projection_ptr.reset(projection);
-+ }
- }
-
- pos += size; // consume payload
-@@ -5392,8 +5400,8 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
- pTrack->m_display_unit = display_unit;
- pTrack->m_stereo_mode = stereo_mode;
- pTrack->m_rate = rate;
-- pTrack->m_colour = colour;
-- pTrack->m_projection = projection;
-+ pTrack->m_colour = colour_ptr.release();
-+ pTrack->m_projection = projection_ptr.release();
-
- pResult = pTrack;
- return 0; // success
---- a/vp8/common/postproc.c
-+++ b/vp8/common/postproc.c
-@@ -65,7 +65,7 @@ void vp8_deblock(VP8_COMMON *cm, YV12_BUFFER_CONFIG *source,
- double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065;
- int ppl = (int)(level + .5);
-
-- const MODE_INFO *mode_info_context = cm->show_frame_mi;
-+ const MODE_INFO *mode_info_context = cm->mi;
- int mbr, mbc;
-
- /* The pixel thresholds are adjusted according to if or not the macroblock
---- a/vp8/decoder/dboolhuff.h
-+++ b/vp8/decoder/dboolhuff.h
-@@ -76,7 +76,7 @@ static int vp8dx_decode_bool(BOOL_DECODER *br, int probability) {
- }
-
- {
-- register int shift = vp8_norm[range];
-+ const unsigned char shift = vp8_norm[(unsigned char)range];
- range <<= shift;
- value <<= shift;
- count -= shift;
---- a/vp9/vp9_dx_iface.c
-+++ b/vp9/vp9_dx_iface.c
-@@ -97,7 +97,7 @@ static vpx_codec_err_t decoder_peek_si_internal(
- const uint8_t *data, unsigned int data_sz, vpx_codec_stream_info_t *si,
- int *is_intra_only, vpx_decrypt_cb decrypt_cb, void *decrypt_state) {
- int intra_only_flag = 0;
-- uint8_t clear_buffer[10];
-+ uint8_t clear_buffer[11];
-
- if (data + data_sz <= data) return VPX_CODEC_INVALID_PARAM;
-
-@@ -158,6 +158,9 @@ static vpx_codec_err_t decoder_peek_si_internal(
- if (profile > PROFILE_0) {
- if (!parse_bitdepth_colorspace_sampling(profile, &rb))
- return VPX_CODEC_UNSUP_BITSTREAM;
-+ // The colorspace info may cause vp9_read_frame_size() to need 11
-+ // bytes.
-+ if (data_sz < 11) return VPX_CODEC_UNSUP_BITSTREAM;
- }
- rb.bit_offset += REF_FRAMES; // refresh_frame_flags
- vp9_read_frame_size(&rb, (int *)&si->w, (int *)&si->h);
---- a/vpx_dsp/bitreader.h
-+++ b/vpx_dsp/bitreader.h
-@@ -94,7 +94,7 @@ static INLINE int vpx_read(vpx_reader *r, int prob) {
- }
-
- {
-- register int shift = vpx_norm[range];
-+ const unsigned char shift = vpx_norm[(unsigned char)range];
- range <<= shift;
- value <<= shift;
- count -= shift;
---- a/vpx_dsp/bitreader_buffer.c
-+++ b/vpx_dsp/bitreader_buffer.c
-@@ -23,7 +23,7 @@ int vpx_rb_read_bit(struct vpx_read_bit_buffer *rb) {
- rb->bit_offset = off + 1;
- return bit;
- } else {
-- rb->error_handler(rb->error_handler_data);
-+ if (rb->error_handler != NULL) rb->error_handler(rb->error_handler_data);
- return 0;
- }
- }
diff --git a/media-libs/libvpx/libvpx-1.10.0.ebuild b/media-libs/libvpx/libvpx-1.10.0.ebuild
deleted file mode 100644
index 9cce08a6ecf0..000000000000
--- a/media-libs/libvpx/libvpx-1.10.0.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-inherit toolchain-funcs multilib-minimal
-
-# To create a new testdata tarball:
-# 1. Unpack source tarball or checkout git tag
-# 2. mkdir libvpx-testdata
-# 3. export LIBVPX_TEST_DATA_PATH=libvpx-testdata
-# 4. configure --enable-unit-tests --enable-vp9-highbitdepth
-# 5. make testdata
-# 6. tar -caf libvpx-testdata-${MY_PV}.tar.xz libvpx-testdata
-
-LIBVPX_TESTDATA_VER=1.10.0
-
-DESCRIPTION="WebM VP8 and VP9 Codec SDK"
-HOMEPAGE="https://www.webmproject.org"
-SRC_URI="https://github.com/webmproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://dev.gentoo.org/~whissi/dist/libvpx/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.xz )"
-
-LICENSE="BSD"
-SLOT="0/6"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc +highbitdepth postproc static-libs test +threads"
-
-REQUIRED_USE="test? ( threads )"
-
-# Disable test phase when USE="-test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="dev-lang/perl
- abi_x86_32? ( dev-lang/yasm )
- abi_x86_64? ( dev-lang/yasm )
- abi_x86_x32? ( dev-lang/yasm )
- doc? (
- app-doc/doxygen
- dev-lang/php
- )
-"
-
-PATCHES=(
- "${FILESDIR}/libvpx-1.3.0-sparc-configure.patch" # 501010
-)
-
-src_configure() {
- # https://bugs.gentoo.org/show_bug.cgi?id=384585
- # https://bugs.gentoo.org/show_bug.cgi?id=465988
- # copied from php-pear-r1.eclass
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/ #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
- addpredict /session_mm_cli0.sem #nowarn
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- unset CODECS #357487
-
- # #498364: sse doesn't work without sse2 enabled,
- local myconfargs=(
- --prefix="${EPREFIX}"/usr
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --enable-pic
- --enable-vp8
- --enable-vp9
- --enable-shared
- --disable-optimizations
- $(use_enable postproc)
- $(use_enable static-libs static)
- $(use_enable test unit-tests)
- $(use_enable threads multithread)
- $(use_enable highbitdepth vp9-highbitdepth)
- )
-
- # let the build system decide which AS to use (it honours $AS but
- # then feeds it with yasm flags without checking...) #345161
- tc-export AS
- case "${CHOST}" in
- i?86*) export AS=yasm;;
- x86_64*) export AS=yasm;;
- esac
-
- # powerpc toolchain is not recognized anymore, #694368
- [[ ${CHOST} == powerpc-* ]] && myconfargs+=( --force-target=generic-gnu )
-
- # Build with correct toolchain.
- tc-export CC CXX AR NM
- # Link with gcc by default, the build system should override this if needed.
- export LD="${CC}"
-
- if multilib_is_native_abi; then
- myconfargs+=( $(use_enable doc install-docs) $(use_enable doc docs) )
- else
- # not needed for multilib and will be overwritten anyway.
- myconfargs+=( --disable-examples --disable-install-docs --disable-docs )
- fi
-
- echo "${S}"/configure "${myconfargs[@]}" >&2
- "${S}"/configure "${myconfargs[@]}"
-}
-
-multilib_src_compile() {
- # build verbose by default and do not build examples that will not be installed
- # disable stripping of debug info, bug #752057
- # (only works as long as upstream does not use non-gnu strip)
- emake verbose=yes GEN_EXAMPLES= HAVE_GNU_STRIP=no
-}
-
-multilib_src_test() {
- local -x LD_LIBRARY_PATH="${BUILD_DIR}"
- local -x LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata"
- emake verbose=yes GEN_EXAMPLES= test
-}
-
-multilib_src_install() {
- emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc -r docs/html
-}
diff --git a/media-libs/libvpx/libvpx-1.7.0-r1.ebuild b/media-libs/libvpx/libvpx-1.7.0-r1.ebuild
deleted file mode 100644
index d91f9a9f7b52..000000000000
--- a/media-libs/libvpx/libvpx-1.7.0-r1.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-inherit toolchain-funcs multilib-minimal
-
-# To create a new testdata tarball:
-# 1. Unpack source tarbll or checkout git tag
-# 2. export LIBVPX_TEST_DATA_PATH=libvpx-testdata
-# 3. configure --enable-unit-tests --enable-vp9-highbitdepth
-# 4. make testdata
-# 5. tar -cjf libvpx-testdata-${MY_PV}.tar.bz2 libvpx-testdata
-
-LIBVPX_TESTDATA_VER=1.7.0
-
-DESCRIPTION="WebM VP8 and VP9 Codec SDK"
-HOMEPAGE="https://www.webmproject.org"
-SRC_URI="https://github.com/webmproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( mirror://gentoo/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.xz )"
-
-LICENSE="BSD"
-SLOT="0/5"
-KEYWORDS="amd64 arm arm64 ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 doc cpu_flags_x86_mmx postproc cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 +highbitdepth static-libs svc test +threads"
-
-REQUIRED_USE="
- cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
- cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
- test? ( threads )
-"
-
-# Disable test phase when USE="-test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="dev-lang/perl
- abi_x86_32? ( dev-lang/yasm )
- abi_x86_64? ( dev-lang/yasm )
- abi_x86_x32? ( dev-lang/yasm )
- doc? (
- app-doc/doxygen
- dev-lang/php
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/libvpx-1.3.0-sparc-configure.patch # 501010
- "${FILESDIR}"/${P}-CVE-2019-9232_9325_9371_9433.patch
-)
-
-src_configure() {
- # https://bugs.gentoo.org/show_bug.cgi?id=384585
- # https://bugs.gentoo.org/show_bug.cgi?id=465988
- # copied from php-pear-r1.eclass
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/ #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
- addpredict /session_mm_cli0.sem #nowarn
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- unset CODECS #357487
-
- # #498364: sse doesn't work without sse2 enabled,
- local myconfargs=(
- --prefix="${EPREFIX}"/usr
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --enable-pic
- --enable-vp8
- --enable-vp9
- --enable-shared
- --extra-cflags="${CFLAGS}"
- $(use_enable cpu_flags_x86_avx avx)
- $(use_enable cpu_flags_x86_avx2 avx2)
- $(use_enable cpu_flags_x86_mmx mmx)
- $(use_enable postproc)
- $(use cpu_flags_x86_sse2 && use_enable cpu_flags_x86_sse sse || echo --disable-sse)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable cpu_flags_x86_sse3 sse3)
- $(use_enable cpu_flags_x86_sse4_1 sse4_1)
- $(use_enable cpu_flags_x86_ssse3 ssse3)
- $(use_enable svc experimental) $(use_enable svc spatial-svc)
- $(use_enable static-libs static)
- $(use_enable test unit-tests)
- $(use_enable threads multithread)
- $(use_enable highbitdepth vp9-highbitdepth)
- )
-
- # let the build system decide which AS to use (it honours $AS but
- # then feeds it with yasm flags without checking...) #345161
- tc-export AS
- case "${CHOST}" in
- i?86*) export AS=yasm;;
- x86_64*) export AS=yasm;;
- esac
-
- # powerpc toolchain is not recognized anymore, #694368
- [[ ${CHOST} == powerpc-* ]] && myconfargs+=( --force-target=generic-gnu )
-
- # Build with correct toolchain.
- tc-export CC CXX AR NM
- # Link with gcc by default, the build system should override this if needed.
- export LD="${CC}"
-
- if multilib_is_native_abi; then
- myconfargs+=( $(use_enable doc install-docs) $(use_enable doc docs) )
- else
- # not needed for multilib and will be overwritten anyway.
- myconfargs+=( --disable-examples --disable-install-docs --disable-docs )
- fi
-
- "${S}"/configure "${myconfargs[@]}"
-}
-
-multilib_src_compile() {
- # build verbose by default and do not build examples that will not be installed
- emake verbose=yes GEN_EXAMPLES=
-}
-
-multilib_src_test() {
- local -x LD_LIBRARY_PATH="${BUILD_DIR}"
- local -x LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata"
- emake verbose=yes GEN_EXAMPLES= test
-}
-
-multilib_src_install() {
- emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc -r docs/html
-}