diff options
Diffstat (limited to 'media-libs/libvpx')
-rw-r--r-- | media-libs/libvpx/Manifest | 3 | ||||
-rw-r--r-- | media-libs/libvpx/libvpx-1.11.0.ebuild | 139 |
2 files changed, 142 insertions, 0 deletions
diff --git a/media-libs/libvpx/Manifest b/media-libs/libvpx/Manifest index d343948458cf..cb6440d1f728 100644 --- a/media-libs/libvpx/Manifest +++ b/media-libs/libvpx/Manifest @@ -1,12 +1,15 @@ AUX libvpx-1.3.0-sparc-configure.patch 406 BLAKE2B 02b1f0484a9659fdc90eb567db517a8b63f679521ae9ab510bfaa88b9fd5e1430d0eceeb8e4a138b00cb43ac4a1db6451dd29a808367973dc885fe5b9eacd665 SHA512 159ba5577fc0eee3e958740d8607a7570f374a8f64a36f1e7832a126482ec0bb96ba2be451eefdf50d84a412a2be73ae75da3d69da78ec13dfe0e24a14685035 AUX libvpx-1.7.0-CVE-2019-9232_9325_9371_9433.patch 8035 BLAKE2B 785a8769741e5af10ce0f18f6ef9f091d1335ca1c8515c9b653d3a177a620a8b3360b7df03f058b63e42259d6e4ccb6863e0ec9acd69886627a222ea3b8beb2d SHA512 b5af677b7f8fc6c61ea1c99c094103549cbe1a0163da70f51d4c34eec40b507a7bf8f84f97ee141a15c33bfaf2a6cb36c572a08465407fb17eb9b6a1364a3819 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 EBUILD libvpx-1.10.0.ebuild 3573 BLAKE2B 704b59a5698857715b586254fc355914d73c84dc1981d7c71a12afa693f550a73ef9c1449a4b020981bb591f6548266b7529c4d70355c2eb997070ae78d05a8f SHA512 3c22e2ed8284c62c01aafc213a676b38cbc2b33561e7ef4c4ee0bb893cc80348ee54e6477b9fb9a7a5bb0183fbfbc97343ad46eddb6c43694e83de81349fa1e7 +EBUILD libvpx-1.11.0.ebuild 4404 BLAKE2B 490f6594bc6012bcfa3d2e25460f892ba6414b4e9620241a4ed62d299228a9bbb35aea88a6e306c176c3a49fbbcde4235756eb33e79c347d04c87532bda2ec91 SHA512 e253cd9b2b4d8f2c300e1458d35964a672afaab731ae09c103de4252b9b0650e923cd23cc71390ef4716b682c0ef2f01fbf1b4061ab359af825de30d6d8b5530 EBUILD libvpx-1.7.0-r1.ebuild 4068 BLAKE2B db66c287d712b2f45fea8b70a04c634835d53ee84ccaf4e92c0131303e709cda761f159d8af57a90f17c5630d3a4f56f6b43ad24f77c282beb8a8337817b4e6a SHA512 b72a28f0c6e1a4295b3c5e145dd9fb31668e0d7ea2c12f8a1ff47108bdf8043d4b775ce6d3847460d9470de510376ed6bb0f8ac6c43567940ee52d803c29b3eb EBUILD libvpx-1.9.0.ebuild 3564 BLAKE2B b0a98073f23279ae1ecfaf4dc84e774be84b38d4747a9e2647fdb73356f3ef598aef61dd030bf0ff41ab590ccea0e1e5ac8fe365950cd53af3e89ef8d8c9f441 SHA512 00d9206dcde228bd60a6986bb1bc0fc9fd58e5116c7e8cb1df621596b5862a8bfe638f3c1c85246a3c2e14224c379e04c0c150caa63fae5c3998ea265c611b7e MISC metadata.xml 665 BLAKE2B e30c009a656ccd33080da9a63ef68797a70881ff88a16d8913feaea04861736c6a4d0f49645f1217974bd0382f0d7de889e98282ef799e21517d52ede3b2bb68 SHA512 5210762c246e48c97437d77b071f72d9b859203ae21e2644e1e2cbbc09cc7c0b6a5055d3b074cb8bc7b6b786b926b6123d4851a85ea0cbcd968913ed72865bc8 diff --git a/media-libs/libvpx/libvpx-1.11.0.ebuild b/media-libs/libvpx/libvpx-1.11.0.ebuild new file mode 100644 index 000000000000..89eaadcc978d --- /dev/null +++ b/media-libs/libvpx/libvpx-1.11.0.ebuild @@ -0,0 +1,139 @@ +# 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.11.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/~sam/distfiles/${CATEGORY}/${PN}/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.xz )" + +LICENSE="BSD" +SLOT="0/7" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="cpu_flags_ppc_vsx3 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 ) + x86-fbsd? ( dev-lang/yasm ) + amd64-fbsd? ( 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 + + # libvpx is fragile: both for tests at runtime. + # We force using the generic target unless we know things work to + # avoid runtime breakage on exotic arches. + if [[ ${ABI} == amd64 ]] ; then + myconfargs+=( --force-target=x86_64-linux-gcc ) + elif [[ ${ABI} == x86 ]] ; then + myconfargs+=( --force-target=x86-linux-gcc ) + elif [[ ${ABI} == arm64 ]] ; then + myconfargs+=( --force-target=arm64-linux-gcc ) + elif [[ ${ABI} == arm ]] && [[ ${CHOST} == *armv7* ]] ; then + myconfargs+=( --force-target=armv7-linux-gcc ) + elif [[ ${ABI} == ppc64 ]] && [[ $(tc-endian) != big ]] && use cpu_flags_ppc_vsx3; then + # only enable this target for at least power9 CPU running little-endian + myconfargs+=( --force-target=ppc64le-linux-gcc ) + else + myconfargs+=( --force-target=generic-gnu ) + fi + + # 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[@]}" || die +} + +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 +} |