summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-libs/libvpx
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-libs/libvpx')
-rw-r--r--media-libs/libvpx/Manifest7
-rw-r--r--media-libs/libvpx/files/libvpx-1.1.0-arm.patch38
-rw-r--r--media-libs/libvpx/files/libvpx-1.1.0-chost.patch36
-rw-r--r--media-libs/libvpx/files/libvpx-1.1.0-generic-gnu-shared.patch39
-rw-r--r--media-libs/libvpx/files/libvpx-1.1.0-x32.patch64
-rw-r--r--media-libs/libvpx/files/libvpx-1.2.0_pre20130625-armv7.patch41
-rw-r--r--media-libs/libvpx/files/libvpx-1.3.0-dash.patch16
-rw-r--r--media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch10
-rw-r--r--media-libs/libvpx/libvpx-1.1.0.ebuild105
-rw-r--r--media-libs/libvpx/libvpx-1.2.0_pre20130625.ebuild120
-rw-r--r--media-libs/libvpx/libvpx-1.3.0.ebuild124
-rw-r--r--media-libs/libvpx/libvpx-1.4.0.ebuild122
-rw-r--r--media-libs/libvpx/metadata.xml15
13 files changed, 737 insertions, 0 deletions
diff --git a/media-libs/libvpx/Manifest b/media-libs/libvpx/Manifest
new file mode 100644
index 000000000000..4e2d915d5188
--- /dev/null
+++ b/media-libs/libvpx/Manifest
@@ -0,0 +1,7 @@
+DIST libvpx-1.2.0_pre20130625.tar.bz2 1726341 SHA256 61e7a3b0e0587ed899fb5cc8240324a4f578489abf06c8916abcb59d322f6b58 SHA512 198575c2adec26e7772f59eb4915dda2fb0de04ca5980b51057557ba6a15f0fb6ca9a0db583866fcbe2585939b8cc09500642a0aea46ac2b696ec1ae54cf6c7f WHIRLPOOL 194df8c550a302e678aaf0959ea395185aea004206d24b969263ffedf77adfc76f04f5bc89cbbd66e9d7d925e07cedceb698507c92afba8d4096839b6575ae1f
+DIST libvpx-1.4.0.tar.bz2 1807989 SHA256 f582d9b2d60a592a4a3d8c32965ca2d2167e9ade38c6c30bac8801ff66a118e4 SHA512 70234220e0ed64db000689ec8bea02dadef938a4f4dea96e5781d361c15245456212c1b6aec2b698d32ed423e73917d2303009e49224a2237669cab416dd6984 WHIRLPOOL 309055669aea96f8ed051ae33d2b86c4aac2096be43ac7140812d2b42e0b1b6e609d86206a01268137f18769f967cbd074beb75fe5b059ced71a1caefb8dcb05
+DIST libvpx-testdata-1.2.0.tar.bz2 43521881 SHA256 41dc3eb8ad0b24177ccc43f7dd6ec7946f78e6aaa5ff94d0883487e02eb4da2c SHA512 77d909435137965d2d13d5bbd053e658664caa035dfc60b2ba91d075a37624ed27d75cac53f013c8043624fc9b56219ad0b0dd20dd4eecc471935b2757110637 WHIRLPOOL 19c3d8d27e03407098f9e9f3120c242b25bea442aa1fb1755b63fce875662ec00942949af3c5e499f6e18ccfef67f18e1403c226b288e925786ef6fc64e112e0
+DIST libvpx-testdata-1.3.0.tar.bz2 45380954 SHA256 0956429f629f068b734d760f6af49bbb679ee65f8d860bbf2cb4e2c574c03550 SHA512 fe96c16c8aea352dd145ee73058404024b13b9bee1d3431ac2513e3636d13880d1fa0eb9eeaea2805fbc2ec8dc6e2be381c6d50baac472a0de835b0563d63c94 WHIRLPOOL 0cc5a39405a0de6238beb7f3da5b01845e4bc39a3b9858b13c73dd69bed275964c13d62468c7fb3a1af33fb7bc5d65ddc5abfe87a71b21c5d3575924e29734da
+DIST libvpx-testdata-1.4.0.tar.bz2 113132379 SHA256 8458297dfe6ecc168a6bb3b41260aeef5c35296b99ced888767f70af40a50046 SHA512 5a0402ce1943fcd1a0e954a42728a409a512c9382883c227adea399f4ca4ff8b7d72d0247dce842c3e929dce86ca2bdad935fc82d3ee58ea72291c8fcdeca393 WHIRLPOOL b4b451be2074a1af1e36c757ac14dc41c764a32eeb4b4fed2bbb38030e51a18d0c37afd71db3118dc4af4546e212946fabc6e1cf453ebee88e66a43045c938be
+DIST libvpx-v1.1.0.tar.bz2 1653485 SHA256 9ce074cf4b3bcd9a49ff93e05485b71c273bfc3685a305e55a0e7fa51beb72c5 SHA512 5c165a1a171143f7c406ef899914a353d35f6dec0e3c49eec9a4f3311fd4072dea2e0da8ceb80651ad23e24cdbf2d6da328805bda8be042bbea2c65c9e53eaaa WHIRLPOOL 2dc8164e3f812903a1b52901438857bcdf172cb1d979f1ced45933fc12ffbb0c49e2a6c02b0c6f3360f48b146e1e5c6ea25c1613abafc3089030f6c1e7af92ed
+DIST libvpx-v1.3.0.tar.bz2 2084229 SHA256 d3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9 SHA512 af26766a3336155c5bc7b8cce7c23228de054287b990f9cacdc35273384a7af4999c01bb623d12143f40107036308a8b3207081efe67936748503c30c985fd6b WHIRLPOOL 03de78d6701daab8847c453317d8cc0a22e4a332994b7e1f55c5d6953b7f3acf94f3c623943dd8588bb1a174df4f7d9a8b8bc889f50823d92767c40c96fc5e68
diff --git a/media-libs/libvpx/files/libvpx-1.1.0-arm.patch b/media-libs/libvpx/files/libvpx-1.1.0-arm.patch
new file mode 100644
index 000000000000..698e65a2dba5
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.1.0-arm.patch
@@ -0,0 +1,38 @@
+From 2b59e14a0023be9d084349d58ee156a49cc674bb Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Wed, 15 Aug 2012 11:55:31 -0400
+Subject: [PATCH] Parse out arm isa targets from dumpmachine
+
+The current parsing logic of the dumpmachine tuple lacks any arm
+cases which means tgt_isa never gets set, so for all arm targets,
+we get detected as generic-gnu. Add some basic arm checks here
+so the automatic detection logic works.
+
+Change-Id: Ie5e98142876025c6708604236bc519c0bdb09319
+---
+ build/make/configure.sh | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index 26eb864..eeb959a 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -593,6 +593,15 @@ process_common_toolchain() {
+
+ # detect tgt_isa
+ case "$gcctarget" in
++ armv6*)
++ tgt_isa=armv6
++ ;;
++ armv7*)
++ tgt_isa=armv7
++ ;;
++ armv5te*)
++ tgt_isa=armv5te
++ ;;
+ *x86_64*|*amd64*)
+ tgt_isa=x86_64
+ ;;
+--
+1.7.9.7
+
diff --git a/media-libs/libvpx/files/libvpx-1.1.0-chost.patch b/media-libs/libvpx/files/libvpx-1.1.0-chost.patch
new file mode 100644
index 000000000000..eb6b286cd66b
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.1.0-chost.patch
@@ -0,0 +1,36 @@
+commit 871bd23e4c41bb0fb94b72832b270766de540dea
+Author: Alexis Ballier <alexis.ballier@gmail.com>
+Date: Sat May 12 15:45:13 2012 -0400
+
+ Allow target autodetection to work when cross-compiling.
+
+ Allow CHOST to override the gcc -dumpmachine output. This allows to
+ use the target autodetection code when cross compiling by setting the
+ CHOST variable.
+
+ On Gentoo, we would like to support easy cross-compilation, and for
+ libvpx this would basically mean copying the code in
+ build/make/configure.sh to setup the right --target option. It seems a
+ lot easier to let it guess by itself.
+
+ Another option I considered was using CROSS-gcc instead but this would
+ not work for our multilib setups: They use gcc -m32 to build 32bits
+ binaries and gcc -m32 -dumpmachine will output the 64bits version,
+ which would then make libvpx wrongly believe it is building for a
+ 64bits architecture.
+
+ Change-Id: I05a19be402228f749e23be7473ca53ae74fd2186
+
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index 3c772e5..3118c0a 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -549,7 +549,7 @@ setup_gnu_toolchain() {
+
+ process_common_toolchain() {
+ if [ -z "$toolchain" ]; then
+- gcctarget="$(gcc -dumpmachine 2> /dev/null)"
++ gcctarget="${CHOST:-$(gcc -dumpmachine 2> /dev/null)}"
+
+ # detect tgt_isa
+ case "$gcctarget" in
diff --git a/media-libs/libvpx/files/libvpx-1.1.0-generic-gnu-shared.patch b/media-libs/libvpx/files/libvpx-1.1.0-generic-gnu-shared.patch
new file mode 100644
index 000000000000..84d536f5054c
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.1.0-generic-gnu-shared.patch
@@ -0,0 +1,39 @@
+From b4ab43f12cc44a24e8161eb2d0857b78c756b18c Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Tue, 14 Aug 2012 14:24:28 -0400
+Subject: [PATCH] do not error out on generic-gnu + --enable-shared
+
+If you build with --enabled-shared on a Linux arch not explicitly
+listed, the configure script will abort because it didn't detect
+"linux" in the fallback generic-gnu tuple.
+
+Since this is the fallback tuple and people are passing
+--enable-shared, assume the user knows what they're in for.
+
+Change-Id: Ia35b657e7247c8855e3a94fca424c9884d4241e3
+---
+ configure | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 2e19e5b..dde215f 100755
+--- a/configure
++++ b/configure
+@@ -454,7 +454,13 @@ process_detect() {
+ # Can only build shared libs on a subset of platforms. Doing this check
+ # here rather than at option parse time because the target auto-detect
+ # magic happens after the command line has been parsed.
+- enabled linux || die "--enable-shared only supported on ELF for now"
++ if ! enabled linux; then
++ if enabled gnu; then
++ echo "--enable-shared is only supported on ELF; assuming this is OK"
++ else
++ die "--enable-shared only supported on ELF for now"
++ fi
++ fi
+ fi
+ if [ -z "$CC" ]; then
+ echo "Bypassing toolchain for environment detection."
+--
+1.7.9.7
+
diff --git a/media-libs/libvpx/files/libvpx-1.1.0-x32.patch b/media-libs/libvpx/files/libvpx-1.1.0-x32.patch
new file mode 100644
index 000000000000..bcacdbf4c79d
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.1.0-x32.patch
@@ -0,0 +1,64 @@
+https://bugs.gentoo.org/426248
+
+From c769945318b84b5c823091213634a4db0cdc5be5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 25 Sep 2012 00:37:11 -0400
+Subject: [PATCH] check for x32 targets
+
+Add configure detection of the new x32 ABI.
+---
+ build/make/configure.sh | 5 +++++
+ vpx_ports/x86_abi_support.asm | 10 ++++++++++
+ 2 files changed, 15 insertions(+)
+
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index eeb959a..05bbabe 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -989,6 +989,11 @@ process_common_toolchain() {
+ x86*)
+ bits=32
+ enabled x86_64 && bits=64
++ check_cpp <<EOF && bits=x32
++#ifndef __ILP32__
++#error "not x32"
++#endif
++EOF
+ soft_enable runtime_cpu_detect
+ soft_enable mmx
+ soft_enable sse
+diff --git a/vpx_ports/x86_abi_support.asm b/vpx_ports/x86_abi_support.asm
+index e1a540c..0c9fe37 100644
+--- a/vpx_ports/x86_abi_support.asm
++++ b/vpx_ports/x86_abi_support.asm
+@@ -88,6 +88,8 @@
+ %define sym(x) x
+ %elifidn __OUTPUT_FORMAT__,elf64
+ %define sym(x) x
++%elifidn __OUTPUT_FORMAT__,elfx32
++%define sym(x) x
+ %elifidn __OUTPUT_FORMAT__,x64
+ %define sym(x) x
+ %else
+@@ -223,6 +227,9 @@
+ %ifidn __OUTPUT_FORMAT__,elf64
+ %define WRT_PLT wrt ..plt
+ %define HIDDEN_DATA(x) x:data hidden
++ %elifidn __OUTPUT_FORMAT__,elfx32
++ %define WRT_PLT wrt ..plt
++ %define HIDDEN_DATA(x) x:data hidden
+ %else
+ %define HIDDEN_DATA(x) x
+ %endif
+@@ -364,5 +371,8 @@ section .text
+ %elifidn __OUTPUT_FORMAT__,elf64
+ section .note.GNU-stack noalloc noexec nowrite progbits
+ section .text
++%elifidn __OUTPUT_FORMAT__,elfx32
++section .note.GNU-stack noalloc noexec nowrite progbits
++section .text
+ %endif
+
+--
+1.7.12
+
diff --git a/media-libs/libvpx/files/libvpx-1.2.0_pre20130625-armv7.patch b/media-libs/libvpx/files/libvpx-1.2.0_pre20130625-armv7.patch
new file mode 100644
index 000000000000..6e8eba908faf
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.2.0_pre20130625-armv7.patch
@@ -0,0 +1,41 @@
+commit af9dd50e42e0a7558d0d555ee12a1eb60e87a458
+Author: Luca Barbato <lu_zero@gentoo.org>
+Date: Thu Jan 10 05:13:57 2013 +0100
+
+ configure: support hardfloat armv7 CHOSTS
+
+ Many linux distribution for arm switched to armhf/hardfloat, support
+ them.
+
+ Change-Id: I8ab39d34782b4f24b7028ac76342118166fd5905
+
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index e27af96..f69b6d7 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -597,8 +597,13 @@ process_common_toolchain() {
+ armv6*)
+ tgt_isa=armv6
+ ;;
++ armv7*-hardfloat*)
++ tgt_isa=armv7
++ float_abi=hard
++ ;;
+ armv7*)
+ tgt_isa=armv7
++ float_abi=softfp
+ ;;
+ armv5te*)
+ tgt_isa=armv5te
+@@ -784,8 +789,9 @@ process_common_toolchain() {
+ check_add_asflags --defsym ARCHITECTURE=${arch_int}
+ tune_cflags="-mtune="
+ if [ ${tgt_isa} == "armv7" ]; then
+- check_add_cflags -march=armv7-a -mfloat-abi=softfp
+- check_add_asflags -march=armv7-a -mfloat-abi=softfp
++ [ -z "${float_abi}" ] && float_abi=softfp
++ check_add_cflags -march=armv7-a -mfloat-abi=${float_abi}
++ check_add_asflags -march=armv7-a -mfloat-abi=${float_abi}
+
+ if enabled neon
+ then
diff --git a/media-libs/libvpx/files/libvpx-1.3.0-dash.patch b/media-libs/libvpx/files/libvpx-1.3.0-dash.patch
new file mode 100644
index 000000000000..fa021b659a06
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.3.0-dash.patch
@@ -0,0 +1,16 @@
+dash compat
+https://bugs.gentoo.org/show_bug.cgi?id=498136
+
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -405,8 +405,8 @@
+ }
+
+ write_common_target_config_mk() {
+- local CC=${CC}
+- local CXX=${CXX}
++ local CC="${CC}"
++ local CXX="${CXX}"
+ enabled ccache && CC="ccache ${CC}"
+ enabled ccache && CXX="ccache ${CXX}"
+ print_webm_license $1 "##" ""
diff --git a/media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch b/media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch
new file mode 100644
index 000000000000..dc3f6c9387c7
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch
@@ -0,0 +1,10 @@
+--- configure~ 2014-01-10 21:12:42.000000000 +0100
++++ configure 2014-04-05 12:51:51.794638686 +0200
+@@ -109,6 +109,7 @@
+ all_platforms="${all_platforms} ppc64-darwin9-gcc"
+ all_platforms="${all_platforms} ppc64-linux-gcc"
+ all_platforms="${all_platforms} sparc-solaris-gcc"
++all_platforms="${all_platforms} sparc-linux-gcc"
+ all_platforms="${all_platforms} x86-android-gcc"
+ all_platforms="${all_platforms} x86-darwin8-gcc"
+ all_platforms="${all_platforms} x86-darwin8-icc"
diff --git a/media-libs/libvpx/libvpx-1.1.0.ebuild b/media-libs/libvpx/libvpx-1.1.0.ebuild
new file mode 100644
index 000000000000..20676d2e567d
--- /dev/null
+++ b/media-libs/libvpx/libvpx-1.1.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit multilib toolchain-funcs base flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="https://chromium.googlesource.com/webm/${PN}.git"
+elif [[ ${PV} == *pre* ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+ SRC_URI="http://webm.googlecode.com/files/${PN}-v${PV}.tar.bz2"
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+DESCRIPTION="WebM VP8 Codec SDK"
+HOMEPAGE="http://www.webmproject.org"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="altivec debug 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 static-libs +threads"
+
+RDEPEND=""
+DEPEND="amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ doc? (
+ app-doc/doxygen
+ dev-lang/php
+ )
+"
+
+REQUIRED_USE="
+ cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-chost.patch"
+ "${FILESDIR}/${P}-generic-gnu-shared.patch"
+ "${FILESDIR}/${P}-arm.patch"
+ "${FILESDIR}/${P}-x32.patch"
+)
+
+src_configure() {
+ replace-flags -ggdb3 -g #402825
+
+ unset CODECS #357487
+
+ # let the build system decide which AS to use (it honours $AS but
+ # then feeds it with yasm flags without checking...) #345161
+ local a
+ tc-export AS
+ for a in {amd64,x86}{,-{fbsd,linux}} ; do
+ use ${a} && unset AS
+ done
+
+ # build verbose by default
+ MAKEOPTS="${MAKEOPTS} verbose=yes"
+
+ # http://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
+ addpredict /var/lib/net-snmp/
+ addpredict /var/lib/net-snmp/mib_indexes
+ addpredict /session_mm_cli0.sem
+
+ # Build with correct toolchain.
+ tc-export CC AR NM
+ # Link with gcc by default, the build system should override this if needed.
+ export LD="${CC}"
+
+ set -- \
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --enable-pic \
+ --enable-vp8 \
+ --enable-shared \
+ --extra-cflags="${CFLAGS}" \
+ $(use_enable altivec) \
+ $(use_enable debug debug-libs) \
+ $(use_enable debug) \
+ $(use_enable doc install-docs) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable postproc) \
+ $(use_enable cpu_flags_x86_sse 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 static-libs static ) \
+ $(use_enable threads multithread)
+ echo "$@"
+ "$@" || die
+}
+
+src_install() {
+ # Override base.eclass's src_install.
+ default
+}
diff --git a/media-libs/libvpx/libvpx-1.2.0_pre20130625.ebuild b/media-libs/libvpx/libvpx-1.2.0_pre20130625.ebuild
new file mode 100644
index 000000000000..7850bf52135a
--- /dev/null
+++ b/media-libs/libvpx/libvpx-1.2.0_pre20130625.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit multilib toolchain-funcs multilib-minimal eutils
+
+LIBVPX_TESTDATA_VER=1.2.0
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="https://chromium.googlesource.com/webm/${PN}.git"
+elif [[ ${PV} == *pre* ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+ SRC_URI="http://webm.googlecode.com/files/${PN}-v${PV}.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+# generated by: make LIBVPX_TEST_DATA_PATH=libvpx-testdata testdata + tar'ing
+# it.
+SRC_URI="${SRC_URI}
+ test? ( mirror://gentoo/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.bz2 )"
+
+DESCRIPTION="WebM VP8 Codec SDK"
+HOMEPAGE="http://www.webmproject.org"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="altivec 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 static-libs test +threads"
+
+RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="abi_x86_32? ( dev-lang/yasm )
+ abi_x86_64? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ amd64-fbsd? ( dev-lang/yasm )
+ doc? (
+ app-doc/doxygen
+ dev-lang/php
+ )
+"
+
+REQUIRED_USE="
+ cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-armv7.patch"
+}
+
+multilib_src_configure() {
+ unset CODECS #357487
+
+ # 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
+
+ # http://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
+ addpredict /var/lib/net-snmp/
+ addpredict /var/lib/net-snmp/mib_indexes
+ addpredict /session_mm_cli0.sem
+
+ # 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}"
+
+ local myconf
+ if [ "${ABI}" = "${DEFAULT_ABI}" ] ; then
+ myconf+=" $(use_enable doc install-docs) $(use_enable doc docs)"
+ else
+ # not needed for multilib and will be overwritten anyway.
+ myconf+=" --disable-examples --disable-install-docs --disable-docs"
+ fi
+
+ "${S}/configure" \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --enable-pic \
+ --enable-vp8 \
+ --enable-shared \
+ --extra-cflags="${CFLAGS}" \
+ $(use_enable altivec) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable postproc) \
+ $(use_enable cpu_flags_x86_sse 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 static-libs static) \
+ $(use_enable test unit-tests) \
+ $(use_enable threads multithread) \
+ ${myconf} \
+ || die
+}
+
+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() {
+ LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" \
+ emake verbose=yes GEN_EXAMPLES= LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata" test
+}
+
+multilib_src_install() {
+ emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
+ [ "${ABI}" = "${DEFAULT_ABI}" ] && use doc && dohtml docs/html/*
+}
diff --git a/media-libs/libvpx/libvpx-1.3.0.ebuild b/media-libs/libvpx/libvpx-1.3.0.ebuild
new file mode 100644
index 000000000000..49244cbcb881
--- /dev/null
+++ b/media-libs/libvpx/libvpx-1.3.0.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils multilib toolchain-funcs multilib-minimal
+
+LIBVPX_TESTDATA_VER=1.3.0
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="https://chromium.googlesource.com/webm/${PN}.git"
+elif [[ ${PV} == *pre* ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+ SRC_URI="http://webm.googlecode.com/files/${PN}-v${PV}.tar.bz2"
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+# generated by: make LIBVPX_TEST_DATA_PATH=libvpx-testdata testdata + tar'ing
+# it.
+SRC_URI="${SRC_URI}
+ test? ( mirror://gentoo/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.bz2 )"
+
+DESCRIPTION="WebM VP8 Codec SDK"
+HOMEPAGE="http://www.webmproject.org"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="altivec 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 static-libs test +threads"
+
+RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="abi_x86_32? ( dev-lang/yasm )
+ abi_x86_64? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ amd64-fbsd? ( dev-lang/yasm )
+ doc? (
+ app-doc/doxygen
+ dev-lang/php
+ )
+"
+
+REQUIRED_USE="
+ cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/libvpx-1.3.0-dash.patch"
+ epatch "${FILESDIR}/libvpx-1.3.0-sparc-configure.patch" # 501010
+}
+
+multilib_src_configure() {
+ unset CODECS #357487
+
+ # 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
+
+ # http://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
+ addpredict /var/lib/net-snmp/
+ addpredict /var/lib/net-snmp/mib_indexes
+ addpredict /session_mm_cli0.sem
+
+ # 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}"
+
+ local myconf
+ if [ "${ABI}" = "${DEFAULT_ABI}" ] ; then
+ myconf+=" $(use_enable doc install-docs) $(use_enable doc docs)"
+ else
+ # not needed for multilib and will be overwritten anyway.
+ myconf+=" --disable-examples --disable-install-docs --disable-docs"
+ fi
+
+ # #498364: sse doesn't work without sse2 enabled,
+ "${S}/configure" \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --enable-pic \
+ --enable-vp8 \
+ --enable-shared \
+ --extra-cflags="${CFLAGS}" \
+ $(use_enable altivec) \
+ $(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 static-libs static) \
+ $(use_enable test unit-tests) \
+ $(use_enable threads multithread) \
+ ${myconf} \
+ || die
+}
+
+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() {
+ LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" \
+ emake verbose=yes GEN_EXAMPLES= LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata" test
+}
+
+multilib_src_install() {
+ emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
+ [ "${ABI}" = "${DEFAULT_ABI}" ] && use doc && dohtml docs/html/*
+}
diff --git a/media-libs/libvpx/libvpx-1.4.0.ebuild b/media-libs/libvpx/libvpx-1.4.0.ebuild
new file mode 100644
index 000000000000..e142ee2f4e35
--- /dev/null
+++ b/media-libs/libvpx/libvpx-1.4.0.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib toolchain-funcs multilib-minimal
+
+LIBVPX_TESTDATA_VER=1.4.0
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="https://chromium.googlesource.com/webm/${PN}.git"
+elif [[ ${PV} == *pre* ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+else
+ SRC_URI="http://storage.googleapis.com/downloads.webmproject.org/releases/webm/${P}.tar.bz2"
+ KEYWORDS="~alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+# generated by: make LIBVPX_TEST_DATA_PATH=libvpx-testdata testdata + tar'ing
+# it.
+SRC_URI="${SRC_URI}
+ test? ( mirror://gentoo/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.bz2 )"
+
+DESCRIPTION="WebM VP8 Codec SDK"
+HOMEPAGE="http://www.webmproject.org"
+
+LICENSE="BSD"
+SLOT="0/2"
+IUSE="altivec 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 static-libs test +threads"
+
+RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="abi_x86_32? ( dev-lang/yasm )
+ abi_x86_64? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ amd64-fbsd? ( dev-lang/yasm )
+ doc? (
+ app-doc/doxygen
+ dev-lang/php
+ )
+"
+
+REQUIRED_USE="
+ cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/libvpx-1.3.0-sparc-configure.patch" # 501010
+}
+
+multilib_src_configure() {
+ unset CODECS #357487
+
+ # 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
+
+ # http://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
+ addpredict /var/lib/net-snmp/
+ addpredict /var/lib/net-snmp/mib_indexes
+ addpredict /session_mm_cli0.sem
+
+ # 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}"
+
+ local myconf
+ if [ "${ABI}" = "${DEFAULT_ABI}" ] ; then
+ myconf+=" $(use_enable doc install-docs) $(use_enable doc docs)"
+ else
+ # not needed for multilib and will be overwritten anyway.
+ myconf+=" --disable-examples --disable-install-docs --disable-docs"
+ fi
+
+ # #498364: sse doesn't work without sse2 enabled,
+ "${S}/configure" \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --enable-pic \
+ --enable-vp8 \
+ --enable-shared \
+ --extra-cflags="${CFLAGS}" \
+ $(use_enable altivec) \
+ $(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 static-libs static) \
+ $(use_enable test unit-tests) \
+ $(use_enable threads multithread) \
+ ${myconf} \
+ || die
+}
+
+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() {
+ LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" \
+ emake verbose=yes GEN_EXAMPLES= LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata" test
+}
+
+multilib_src_install() {
+ emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
+ [ "${ABI}" = "${DEFAULT_ABI}" ] && use doc && dohtml docs/html/*
+}
diff --git a/media-libs/libvpx/metadata.xml b/media-libs/libvpx/metadata.xml
new file mode 100644
index 000000000000..7f147f9aef7b
--- /dev/null
+++ b/media-libs/libvpx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>video</herd>
+ <herd>chromium</herd>
+ <maintainer>
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="postproc">Enable additional post processing filters</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">webm</remote-id>
+ </upstream>
+</pkgmetadata>