[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2024-08-14 Thread Sam James
commit: c0f4bc8800030a7ed449f98312c474148a5b327e
Author: Sam James  gentoo  org>
AuthorDate: Thu Aug 15 00:29:17 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Aug 15 00:29:17 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0f4bc88

media-libs/libaom: fix build w/ gcc-15

Closes: https://bugs.gentoo.org/937420
Signed-off-by: Sam James  gentoo.org>

 .../libaom/files/libaom-3.9.1-gcc15-cstdint.patch  | 39 ++
 media-libs/libaom/libaom-3.9.1.ebuild  |  1 +
 2 files changed, 40 insertions(+)

diff --git a/media-libs/libaom/files/libaom-3.9.1-gcc15-cstdint.patch 
b/media-libs/libaom/files/libaom-3.9.1-gcc15-cstdint.patch
new file mode 100644
index ..4195d240e493
--- /dev/null
+++ b/media-libs/libaom/files/libaom-3.9.1-gcc15-cstdint.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/937420
+https://aomedia.issues.chromium.org/issues/357622679
+https://aomedia-review.googlesource.com/c/aom/+/192404
+
+From b20dcf3adf51919226b436151734ba38d1123850 Mon Sep 17 00:00:00 2001
+From: James Zern 
+Date: Tue, 06 Aug 2024 10:38:00 -0700
+Subject: [PATCH] update libwebm to libwebm-1.0.0.31-10-g3b63004
+
+This fixes a build error seen in gcc 15:
+3b63004 mkvparser/mkvparser.cc: add missing  include
+
+Bug: aomedia:357622679
+Change-Id: I6c4a1795d189f9993d4f2c5c9f0375912bc58f0c
+(cherry picked from commit e448dcd13a9f534c7291903e9ab18dfc4fea54ad)
+--- a/third_party/libwebm/mkvmuxer/mkvmuxerutil.h
 b/third_party/libwebm/mkvmuxer/mkvmuxerutil.h
+@@ -8,9 +8,9 @@
+ #ifndef MKVMUXER_MKVMUXERUTIL_H_
+ #define MKVMUXER_MKVMUXERUTIL_H_
+ 
+-#include "mkvmuxertypes.h"
++#include 
+ 
+-#include "stdint.h"
++#include "mkvmuxertypes.h"
+ 
+ namespace mkvmuxer {
+ class Cluster;
+--- a/third_party/libwebm/mkvparser/mkvparser.cc
 b/third_party/libwebm/mkvparser/mkvparser.cc
+@@ -16,6 +16,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include 
+ #include 
+ #include 

diff --git a/media-libs/libaom/libaom-3.9.1.ebuild 
b/media-libs/libaom/libaom-3.9.1.ebuild
index 18e04da00b1b..7e193b62a448 100644
--- a/media-libs/libaom/libaom-3.9.1.ebuild
+++ b/media-libs/libaom/libaom-3.9.1.ebuild
@@ -50,6 +50,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.4.0-posix-c-source-ftello.patch
"${FILESDIR}"/${PN}-3.7.0-allow-fortify-source.patch
"${FILESDIR}"/${PN}-3.8.1-tests-parallel.patch
+   "${FILESDIR}"/${PN}-3.9.1-gcc15-cstdint.patch
 )
 
 multilib_src_configure() {



[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2024-06-03 Thread Mike Gilbert
commit: 006eca8fb26ff3329ee3ba3b676419d67a9c009f
Author: Mike Gilbert  gentoo  org>
AuthorDate: Tue Jun  4 01:48:24 2024 +
Commit: Mike Gilbert  gentoo  org>
CommitDate: Tue Jun  4 01:48:24 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=006eca8f

media-libs/libaom: backport build fix

Closes: https://bugs.gentoo.org/933429
Signed-off-by: Mike Gilbert  gentoo.org>

 .../libaom/files/libaom-3.9.0-guard-ssse3.patch| 67 ++
 media-libs/libaom/libaom-3.9.0.ebuild  |  1 +
 2 files changed, 68 insertions(+)

diff --git a/media-libs/libaom/files/libaom-3.9.0-guard-ssse3.patch 
b/media-libs/libaom/files/libaom-3.9.0-guard-ssse3.patch
new file mode 100644
index ..40cb17f0a354
--- /dev/null
+++ b/media-libs/libaom/files/libaom-3.9.0-guard-ssse3.patch
@@ -0,0 +1,67 @@
+https://bugs.chromium.org/p/aomedia/issues/detail?id=3578#c6
+https://bugs.gentoo.org/933429
+
+From 8670445106036383c1f55c08b1a3283bd0accf7a Mon Sep 17 00:00:00 2001
+From: Wan-Teh Chang 
+Date: Mon, 3 Jun 2024 11:13:53 -0700
+Subject: [PATCH] Guard DECLS(ssse3), FNS(ssse3) with #if HAVE_SSSE3
+
+The aom_dsp/x86/variance_sse2.c file is compiled if the ENABLE_SSE2
+cmake option is enabled. The file also contains some SSSE3 code. That
+code should only be compiled if the ENABLE_SSSE3 cmake option is
+enabled.
+
+Bug: aomedia:3578
+Change-Id: I86685862e7da9506bd551b76228cdc9920c68ab1
+(cherry picked from commit afb5237d908bd04ce6ea15eae85db4a54cba289c)
+---
+ aom_dsp/x86/variance_sse2.c | 8 
+ 1 file changed, 8 insertions(+)
+
+diff --git a/aom_dsp/x86/variance_sse2.c b/aom_dsp/x86/variance_sse2.c
+index 81b30072a5..e71244f1c7 100644
+--- a/aom_dsp/x86/variance_sse2.c
 b/aom_dsp/x86/variance_sse2.c
+@@ -415,7 +415,9 @@ unsigned int aom_mse16x16_sse2(const uint8_t *src, int 
src_stride,
+   DECL(8, opt);\
+   DECL(16, opt)
+ 
++#if HAVE_SSSE3
+ DECLS(ssse3);
++#endif
+ #undef DECLS
+ #undef DECL
+ 
+@@ -491,7 +493,9 @@ DECLS(ssse3);
+   FN(4, 4, 4, 2, 2, opt, (int32_t), (int32_t))
+ #endif
+ 
++#if HAVE_SSSE3
+ FNS(ssse3)
++#endif
+ 
+ #undef FNS
+ #undef FN
+@@ -508,7 +512,9 @@ FNS(ssse3)
+   DECL(8, opt);\
+   DECL(16, opt)
+ 
++#if HAVE_SSSE3
+ DECLS(ssse3);
++#endif
+ #undef DECL
+ #undef DECLS
+ 
+@@ -588,7 +594,9 @@ DECLS(ssse3);
+   FN(4, 4, 4, 2, 2, opt, (uint32_t), (int32_t))
+ #endif
+ 
++#if HAVE_SSSE3
+ FNS(ssse3)
++#endif
+ 
+ #undef FNS
+ #undef FN
+-- 
+2.45.2
+

diff --git a/media-libs/libaom/libaom-3.9.0.ebuild 
b/media-libs/libaom/libaom-3.9.0.ebuild
index 8062dc97f9b4..d9cbbf1ee16a 100644
--- a/media-libs/libaom/libaom-3.9.0.ebuild
+++ b/media-libs/libaom/libaom-3.9.0.ebuild
@@ -50,6 +50,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.4.0-posix-c-source-ftello.patch
"${FILESDIR}"/${PN}-3.7.0-allow-fortify-source.patch
"${FILESDIR}"/${PN}-3.8.1-tests-parallel.patch
+   "${FILESDIR}"/libaom-3.9.0-guard-ssse3.patch
 )
 
 multilib_src_configure() {



[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2024-02-01 Thread Sam James
commit: d59caef600a47bc3b0e45c9485261e9f05d9a18a
Author: Sam James  gentoo  org>
AuthorDate: Fri Feb  2 04:05:07 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Feb  2 04:05:07 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d59caef6

media-libs/libaom: add 3.8.1

Run tests in parallel.

Signed-off-by: Sam James  gentoo.org>

 media-libs/libaom/Manifest  |  2 ++
 .../libaom/files/libaom-3.8.1-tests-parallel.patch  | 21 +
 .../{libaom-.ebuild => libaom-3.8.1.ebuild} | 17 ++---
 media-libs/libaom/libaom-.ebuild| 17 ++---
 4 files changed, 51 insertions(+), 6 deletions(-)

diff --git a/media-libs/libaom/Manifest b/media-libs/libaom/Manifest
index 656483c55d3c..1b4b83e7571b 100644
--- a/media-libs/libaom/Manifest
+++ b/media-libs/libaom/Manifest
@@ -5,3 +5,5 @@ DIST libaom-3.7.1-testdata.tar.xz 373814716 BLAKE2B 
2aecab88d36998d72ccbd1704004
 DIST libaom-3.7.1.tar.gz 5349727 BLAKE2B 
a5bc8aaa538353fa405520fc096459d0009348c590dc585377e53971df252bac0b5bea40b6483c8be54caa7a0e8fccd761c5b3ec0db4144becec3cc12a91a5e9
 SHA512 
2ac90997065fcbdfa028e09945c10cbdad405569b98e03592a46971aebb189014ebd59553589804ba0a03c386af41bfbc37dd0a12320eb0fc6c9fd03e2149ee3
 DIST libaom-3.8.0-testdata.tar.xz 426384840 BLAKE2B 
a195f44aa8f55e869ea613f587a101162723be643d272c08b5ac50afc9c55e2240d84f63489402482699f6c306d96116f7808f47f529ce4d0ec8149495b72b49
 SHA512 
18ba3468e770e274e8a1556160c8524d309d6ea80e3cca971d68585ba4f2d3764f484e19d23df83ebc50e047aa1ef6fb1a92aad90668cfee7daa95447db2
 DIST libaom-3.8.0.tar.gz 5448720 BLAKE2B 
276e50c134a5a5925591cbc5c76a11383d288854bc5f4db79d97f1e4e41e74f5739ee916df127112cb678673f09aeb5dfa91f1d8696b0894923837cea991bd73
 SHA512 
201a3ef00c0de3f90ed2486b306b836ec3e5c891c0ea05cb4607523f084f957849d38cd1e2684c05af2a93180a1b151ccc7a99ba8d5d52a84d8cb17cb25b0e8a
+DIST libaom-3.8.1-testdata.tar.xz 426372276 BLAKE2B 
4d6194a98612045023f4d35ca851a37ffc69cbfbfd015d5c1f4e3aebb6789096d7b7f82b9641c545e4203b44fe8a9243de83bb23a8c53aced30ec26aed0376e0
 SHA512 
03bf5d521c613728dd12fd33bb76fc64a20798e276dbdc2501446e1fb9891552e88adb25f0e4ff65d6c8aad301a550aec195498ab1f1a506bce3fe384e24cc0e
+DIST libaom-3.8.1.tar.gz 5450909 BLAKE2B 
fec3123f8ee68b1027a1a2019969c098b730da72be2902274659b983857f2d8f62dae5b563543b3f144ae8bc51b6d6fdd4fcd6aadf2ca04d5a4dd5be987fbbac
 SHA512 
f9ee918a37699cfaf2bcb5aa16a4d8b077feb1fc577d8c5437ed3fa1a1c0a5d734c9564e3c8c0f0b1baf43dc5abb7ff0196a77607b10d926c0be7858778ac1e3

diff --git a/media-libs/libaom/files/libaom-3.8.1-tests-parallel.patch 
b/media-libs/libaom/files/libaom-3.8.1-tests-parallel.patch
new file mode 100644
index ..8c090764681c
--- /dev/null
+++ b/media-libs/libaom/files/libaom-3.8.1-tests-parallel.patch
@@ -0,0 +1,21 @@
+--- a/test/test.cmake
 b/test/test.cmake
+@@ -573,10 +573,14 @@ function(setup_aom_test_targets)
+ if(((NOT MSVC) AND (NOT XCODE)) OR ENABLE_IDE_TEST_HOSTING)
+ 
+   # Pick a reasonable number of targets (this controls parallelization).
+-  processorcount(num_test_targets)
+-  if(num_test_targets EQUAL 0) # Just default to 10 targets when there's 
no
+-   # processor count available.
+-set(num_test_targets 10)
++  if(DEFINED ENV{LIBAOM_TEST_PROCS})
++  set(num_test_targets $ENV{LIBAOM_TEST_PROCS})
++  else()
++  processorcount(num_test_targets)
++  if(num_test_targets EQUAL 0) # Just default to 10 targets when 
there's no
++   # processor count available.
++  set(num_test_targets 10)
++  endif()
+   endif()
+ 
+   math(EXPR max_shard_index "${num_test_targets} - 1")

diff --git a/media-libs/libaom/libaom-.ebuild 
b/media-libs/libaom/libaom-3.8.1.ebuild
similarity index 85%
copy from media-libs/libaom/libaom-.ebuild
copy to media-libs/libaom/libaom-3.8.1.ebuild
index 9316ed29f90d..9ea4cca0ff7e 100644
--- a/media-libs/libaom/libaom-.ebuild
+++ b/media-libs/libaom/libaom-3.8.1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake-multilib python-any-r1
+inherit cmake-multilib flag-o-matic multiprocessing python-any-r1
 
 if [[ ${PV} == ** ]]; then
inherit git-r3
@@ -33,7 +33,7 @@ HOMEPAGE="https://aomedia.org 
https://aomedia.googlesource.com/aom/";
 
 LICENSE="BSD-2"
 SLOT="0/3"
-IUSE="big-endian doc +examples test"
+IUSE="big-endian debug doc +examples test"
 IUSE="${IUSE} cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 
cpu_flags_x86_sse3 cpu_flags_x86_ssse3"
 IUSE="${IUSE} cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx 
cpu_flags_x86_avx2"
 IUSE="${IUSE} cpu_flags_arm_crc32 cpu_flags_arm_neon cpu_flags_ppc_vsx"
@@ -58,9 +58,14 @@ DOCS=( PATENTS )
 PATCHES=(
"${FILESDIR}"/${PN}-3.4.0-posix-c-source-ftello.patch
"${FILESDIR}"/${PN}-3.7.0-allow-fortify-source.patch
+   "

[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2023-10-04 Thread Sam James
commit: 63986f124e96f45645258e7934f201d71199d922
Author: Sam James  gentoo  org>
AuthorDate: Wed Oct  4 18:07:35 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Oct  4 18:07:35 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63986f12

media-libs/libaom: allow _FORTIFY_SOURCE

We've had several high profile vulnerabilities in codecs recently and all
tests pass with this. Enable this rather useful mitigation.

Signed-off-by: Sam James  gentoo.org>

 .../files/libaom-3.7.0-allow-fortify-source.patch  |  13 +++
 media-libs/libaom/libaom-3.7.0-r1.ebuild   | 127 +
 2 files changed, 140 insertions(+)

diff --git a/media-libs/libaom/files/libaom-3.7.0-allow-fortify-source.patch 
b/media-libs/libaom/files/libaom-3.7.0-allow-fortify-source.patch
new file mode 100644
index ..7c7697fc5dfa
--- /dev/null
+++ b/media-libs/libaom/files/libaom-3.7.0-allow-fortify-source.patch
@@ -0,0 +1,13 @@
+Fortification is an important security feature.
+--- a/build/cmake/aom_configure.cmake
 b/build/cmake/aom_configure.cmake
+@@ -389,9 +389,6 @@ else()
+ add_compiler_flag_if_supported("-Werror")
+   endif()
+ 
+-  if(build_type_lowercase MATCHES "rel")
+-add_compiler_flag_if_supported("-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0")
+-  endif()
+   add_compiler_flag_if_supported("-D_LARGEFILE_SOURCE")
+   add_compiler_flag_if_supported("-D_FILE_OFFSET_BITS=64")
+ endif()

diff --git a/media-libs/libaom/libaom-3.7.0-r1.ebuild 
b/media-libs/libaom/libaom-3.7.0-r1.ebuild
new file mode 100644
index ..d8ce8c479ebe
--- /dev/null
+++ b/media-libs/libaom/libaom-3.7.0-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake-multilib python-any-r1
+
+if [[ ${PV} == ** ]]; then
+   inherit git-r3
+   EGIT_REPO_URI="https://aomedia.googlesource.com/aom";
+else
+   # To update test data tarball, follow these steps:
+   # 1.  Clone the upstream repo and check out the relevant tag,
+   # or download the release tarball
+   # 2.  Regular cmake configure (options don't matter here):
+   # cd build && cmake ..
+   # 3.  Set LIBAOM_TEST_DATA_PATH to the directory you want and
+   # run the "make testdata" target:
+   # LIBAOM_TEST_DATA_PATH=../libaom-3.7.0-testdata make testdata
+   # This will download the test data from the internet.
+   # 4.  Create a tarball out of that directory.
+   # cd .. && tar cvaf libaom-3.7.0-testdata.tar.xz 
libaom-3.7.0-testdata
+   SRC_URI="
+   https://storage.googleapis.com/aom-releases/${P}.tar.gz
+   test? ( 
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-testdata.tar.xz )
+   "
+   KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 
~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Alliance for Open Media AV1 Codec SDK"
+HOMEPAGE="https://aomedia.org https://aomedia.googlesource.com/aom/";
+
+LICENSE="BSD-2"
+SLOT="0/3"
+IUSE="doc +examples test"
+IUSE="${IUSE} cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 
cpu_flags_x86_sse3 cpu_flags_x86_ssse3"
+IUSE="${IUSE} cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx 
cpu_flags_x86_avx2"
+IUSE="${IUSE} cpu_flags_arm_neon"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+   cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+   cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
+"
+
+BDEPEND="${PYTHON_DEPS}
+   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 )
+"
+
+# The PATENTS file is required to be distributed with this package, bug #682214
+DOCS=( PATENTS )
+
+PATCHES=(
+   "${FILESDIR}"/${PN}-3.4.0-posix-c-source-ftello.patch
+   "${FILESDIR}"/${PN}-3.7.0-allow-fortify-source.patch
+)
+
+multilib_src_configure() {
+   local mycmakeargs=(
+   -DENABLE_CCACHE=OFF
+   -DENABLE_DOCS=$(multilib_native_usex doc ON OFF)
+   -DENABLE_EXAMPLES=$(multilib_native_usex examples ON OFF)
+   -DENABLE_NASM=OFF
+   -DENABLE_TESTS=$(usex test)
+   -DENABLE_TOOLS=ON
+   -DENABLE_WERROR=OFF
+
+   # Needs libjxl, currently unpackaged.
+   -DCONFIG_TUNE_BUTTERAUGLI=0
+
+   # neon support is assumed to be always enabled on arm64
+   -DENABLE_NEON=$(usex cpu_flags_arm_neon ON $(usex arm64 ON OFF))
+   # ENABLE_DSPR2 / ENABLE_MSA for mips
+   -DENABLE_MMX=$(usex cpu_flags_x86_mmx ON OFF)
+   -DENABLE_SSE=$(usex cpu_flags_x86_sse ON OFF)
+   -DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)
+   -DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)
+   -DENABLE_SSSE3=$(usex cpu_flags_x86_

[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2022-09-09 Thread Sam James
commit: 50c7c4021e347ee549164595280cf8a23c960959
Author: Sam James  gentoo  org>
AuthorDate: Sat Sep 10 04:32:45 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Sep 10 04:44:54 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50c7c402

media-libs/libaom: fix musl build (ftello)

Closes: https://bugs.gentoo.org/869419
Signed-off-by: Sam James  gentoo.org>

 .../files/libaom-3.4.0-posix-c-source-ftello.patch |  13 +++
 media-libs/libaom/libaom-3.4.0-r1.ebuild   | 113 +
 2 files changed, 126 insertions(+)

diff --git a/media-libs/libaom/files/libaom-3.4.0-posix-c-source-ftello.patch 
b/media-libs/libaom/files/libaom-3.4.0-posix-c-source-ftello.patch
new file mode 100644
index ..6e910b3f732c
--- /dev/null
+++ b/media-libs/libaom/files/libaom-3.4.0-posix-c-source-ftello.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/869419
+
+POSIX_C_SOURCE is needed for ftello.
+--- a/CMakeLists.txt
 b/CMakeLists.txt
+@@ -266,6 +266,7 @@ add_library(aom_rtcd OBJECT ${AOM_RTCD_SOURCES})
+ add_dependencies(aom_rtcd aom_version)
+ 
+ if(ENABLE_EXAMPLES)
++  add_definitions(-D_POSIX_C_SOURCE=200112L)
+   add_library(aom_encoder_stats OBJECT ${AOM_ENCODER_STATS_SOURCES})
+   set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_encoder_stats)
+ endif()

diff --git a/media-libs/libaom/libaom-3.4.0-r1.ebuild 
b/media-libs/libaom/libaom-3.4.0-r1.ebuild
new file mode 100644
index ..7c969b44ed77
--- /dev/null
+++ b/media-libs/libaom/libaom-3.4.0-r1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake-multilib python-any-r1
+
+if [[ ${PV} == ** ]]; then
+   inherit git-r3
+   EGIT_REPO_URI="https://aomedia.googlesource.com/aom";
+else
+   SRC_URI="https://storage.googleapis.com/aom-releases/${P}.tar.gz";
+   KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 
~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Alliance for Open Media AV1 Codec SDK"
+HOMEPAGE="https://aomedia.org https://aomedia.googlesource.com/aom/";
+
+LICENSE="BSD-2"
+SLOT="0/3"
+IUSE="doc +examples test"
+IUSE="${IUSE} cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 
cpu_flags_x86_sse3 cpu_flags_x86_ssse3"
+IUSE="${IUSE} cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx 
cpu_flags_x86_avx2"
+IUSE="${IUSE} cpu_flags_arm_neon"
+# Tests need more wiring up
+RESTRICT="!test? ( test ) test"
+
+REQUIRED_USE="
+   cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+   cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
+"
+
+BDEPEND="${PYTHON_DEPS}
+   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 )
+"
+
+# The PATENTS file is required to be distributed with this package, bug #682214
+DOCS=( PATENTS )
+
+PATCHES=(
+   "${FILESDIR}"/${PN}-3.4.0-posix-c-source-ftello.patch
+)
+
+multilib_src_configure() {
+   local mycmakeargs=(
+   -DENABLE_CCACHE=OFF
+   -DENABLE_DOCS=$(multilib_native_usex doc ON OFF)
+   -DENABLE_EXAMPLES=$(multilib_native_usex examples ON OFF)
+   -DENABLE_NASM=OFF
+   -DENABLE_TESTS=$(usex test)
+   -DENABLE_TOOLS=ON
+   -DENABLE_WERROR=OFF
+
+   # Needs libjxl, currently unpackaged.
+   -DCONFIG_TUNE_BUTTERAUGLI=0
+
+   # neon support is assumed to be always enabled on arm64
+   -DENABLE_NEON=$(usex cpu_flags_arm_neon ON $(usex arm64 ON OFF))
+   # ENABLE_DSPR2 / ENABLE_MSA for mips
+   -DENABLE_MMX=$(usex cpu_flags_x86_mmx ON OFF)
+   -DENABLE_SSE=$(usex cpu_flags_x86_sse ON OFF)
+   -DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)
+   -DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)
+   -DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 ON OFF)
+   -DENABLE_SSE4_1=$(usex cpu_flags_x86_sse4_1 ON OFF)
+   -DENABLE_SSE4_2=$(usex cpu_flags_x86_sse4_2 ON OFF)
+   -DENABLE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+   -DENABLE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+   )
+
+   # For 32-bit multilib builds, force some intrinsics on to work around
+   # bug #816027. libaom seems to do runtime detection for some targets
+   # at least, so this isn't an issue.
+   if ! multilib_is_native_abi && use amd64 ; then
+   mycmakeargs+=(
+   -DENABLE_SSE3=ON
+   -DENABLE_SSSE3=ON
+   )
+   fi
+
+   # On ARM32-on-ARM64, things end up failing if NEON is off, bug #835456
+   # Just force generic, given it's a niche situation.
+   # TODO: could try forcing armv7 or similar?
+   if use arm && ! use cpu_flags_arm_neon && [[ $(uname -p) == "aarch64" 
]] ;

[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2019-07-11 Thread Jory Pratt
commit: 3e097ee7935471d2024e0a192d1dfbccd6d1aaa6
Author: Jory Pratt  gentoo  org>
AuthorDate: Thu Jul 11 21:15:52 2019 +
Commit: Jory Pratt  gentoo  org>
CommitDate: Thu Jul 11 21:16:07 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e097ee7

media-libs/libaom: Fix build issues on ppc64

Closes: https://bugs.gentoo.org/671036
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Jory Pratt  gentoo.org>

 .../libaom/files/libaom-1.0.0-update-vsx-ppc.patch | 126 +
 media-libs/libaom/libaom-1.0.0-r2.ebuild   |   1 +
 2 files changed, 127 insertions(+)

diff --git a/media-libs/libaom/files/libaom-1.0.0-update-vsx-ppc.patch 
b/media-libs/libaom/files/libaom-1.0.0-update-vsx-ppc.patch
new file mode 100644
index 000..7293c1a75e3
--- /dev/null
+++ b/media-libs/libaom/files/libaom-1.0.0-update-vsx-ppc.patch
@@ -0,0 +1,126 @@
+From 2f8587a8b30cb2e4b45df36c6c8461a440a77336 Mon Sep 17 00:00:00 2001
+From: Luca Barbato 
+Date: Sat, 23 Jun 2018 02:47:16 -0500
+Subject: [PATCH] Update the VSX support
+
+The CFL function signature takes a source and destination pointer.
+Also make the typedef compatible with clang.
+
+Change-Id: Ia633d10141ac0fd10af0a40b9878d18293463fb8
+---
+ av1/common/ppc/cfl_ppc.c | 85 
+ 1 file changed, 42 insertions(+), 43 deletions(-)
+
+diff --git a/av1/common/ppc/cfl_ppc.c b/av1/common/ppc/cfl_ppc.c
+index 58933a7b3..026a07809 100644
+--- a/av1/common/ppc/cfl_ppc.c
 b/av1/common/ppc/cfl_ppc.c
+@@ -24,19 +24,21 @@
+ #define CFL_LINE_2 128
+ #define CFL_LINE_3 192
+ 
+-typedef vector int8_t int8x16_t;
+-typedef vector uint8_t uint8x16_t;
+-typedef vector int16_t int16x8_t;
+-typedef vector uint16_t uint16x8_t;
+-typedef vector int32_t int32x4_t;
+-typedef vector uint32_t uint32x4_t;
+-typedef vector uint64_t uint64x2_t;
++typedef vector signed char int8x16_t;  // NOLINT(runtime/int)
++typedef vector unsigned char uint8x16_t;   // NOLINT(runtime/int)
++typedef vector signed short int16x8_t; // NOLINT(runtime/int)
++typedef vector unsigned short uint16x8_t;  // NOLINT(runtime/int)
++typedef vector signed int int32x4_t;   // NOLINT(runtime/int)
++typedef vector unsigned int uint32x4_t;// NOLINT(runtime/int)
++typedef vector unsigned long long uint64x2_t;  // NOLINT(runtime/int)
+ 
+-static INLINE void subtract_average_vsx(int16_t *pred_buf, int width,
+-int height, int round_offset,
++static INLINE void subtract_average_vsx(const uint16_t *src_ptr, int16_t *dst,
++int width, int height, int 
round_offset,
+ int num_pel_log2) {
+-  const int16_t *end = pred_buf + height * CFL_BUF_LINE;
+-  const int16_t *sum_buf = pred_buf;
++  //  int16_t *dst = dst_ptr;
++  const int16_t *dst_end = dst + height * CFL_BUF_LINE;
++  const int16_t *sum_buf = (const int16_t *)src_ptr;
++  const int16_t *end = sum_buf + height * CFL_BUF_LINE;
+   const uint32x4_t div_shift = vec_splats((uint32_t)num_pel_log2);
+   const uint8x16_t mask_64 = { 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 
};
+@@ -71,43 +73,40 @@ static INLINE void subtract_average_vsx(int16_t *pred_buf, 
int width,
+   const int32x4_t avg = vec_sr(sum_32x4, div_shift);
+   const int16x8_t vec_avg = vec_pack(avg, avg);
+   do {
+-vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0, pred_buf), vec_avg), OFF_0, 
pred_buf);
+-vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_1, pred_buf), vec_avg),
+-   OFF_0 + CFL_BUF_LINE_BYTES, pred_buf);
+-vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_2, pred_buf), vec_avg),
+-   OFF_0 + CFL_LINE_2, pred_buf);
+-vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_3, pred_buf), vec_avg),
+-   OFF_0 + CFL_LINE_3, pred_buf);
++vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0, dst), vec_avg), OFF_0, dst);
++vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_1, dst), vec_avg),
++   OFF_0 + CFL_BUF_LINE_BYTES, dst);
++vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_2, dst), vec_avg),
++   OFF_0 + CFL_LINE_2, dst);
++vec_vsx_st(vec_sub(vec_vsx_ld(OFF_0 + CFL_LINE_3, dst), vec_avg),
++   OFF_0 + CFL_LINE_3, dst);
+ if (width >= 16) {
+-  vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1, pred_buf), vec_avg), OFF_1,
+- pred_buf);
+-  vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_1, pred_buf), vec_avg),
+- OFF_1 + CFL_LINE_1, pred_buf);
+-  vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_2, pred_buf), vec_avg),
+- OFF_1 + CFL_LINE_2, pred_buf);
+-  vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1 + CFL_LINE_3, pred_buf), vec_avg),
+- OFF_1 + CFL_LINE_3, pred_buf);
++  vec_vsx_st(vec_sub(vec_vsx_ld(OFF_1, dst), vec_avg), OFF_1, dst);
++  

[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2018-11-13 Thread Craig Andrews
commit: f3a9a901f710d75e7e025db0d7acb423f9eb470c
Author: Craig Andrews  gentoo  org>
AuthorDate: Mon Nov 12 14:21:48 2018 +
Commit: Craig Andrews  gentoo  org>
CommitDate: Tue Nov 13 12:57:51 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3a9a901

media-libs/libaom: Fix configure on armv7l

Closes: https://bugs.gentoo.org/658068
Package-Manager: Portage-2.3.51, Repoman-2.3.12
Signed-off-by: Craig Andrews  gentoo.org>

 media-libs/libaom/files/libaom-1.0.0-armv7l.patch | 13 +
 media-libs/libaom/libaom-1.0.0-r1.ebuild  |  1 +
 2 files changed, 14 insertions(+)

diff --git a/media-libs/libaom/files/libaom-1.0.0-armv7l.patch 
b/media-libs/libaom/files/libaom-1.0.0-armv7l.patch
new file mode 100644
index 000..25fb9e0ff41
--- /dev/null
+++ b/media-libs/libaom/files/libaom-1.0.0-armv7l.patch
@@ -0,0 +1,13 @@
+Only in libaom.orig/build/cmake: .aom_configure.cmake.swp
+diff -ru libaom.orig/build/cmake/aom_configure.cmake 
libaom/build/cmake/aom_configure.cmake
+--- libaom.orig/build/cmake/aom_configure.cmake2018-06-13 
21:22:56.295771914 +0200
 libaom/build/cmake/aom_configure.cmake 2018-06-13 21:23:10.489772591 
+0200
+@@ -16,7 +16,7 @@
+ include(FindThreads)
+ 
+ set(AOM_SUPPORTED_CPU_TARGETS
+-"arm64 armv7 armv7s generic mips32 mips64 ppc x86 x86_64")
++"arm64 armv7 armv7l armv7s generic mips32 mips64 ppc x86 x86_64")
+ 
+ # Generate the user config settings. This must occur before include of
+ # aom_config_defaults.cmake (because it turns every config variable into a 
cache

diff --git a/media-libs/libaom/libaom-1.0.0-r1.ebuild 
b/media-libs/libaom/libaom-1.0.0-r1.ebuild
index f51e105a845..1fc265f2b28 100644
--- a/media-libs/libaom/libaom-1.0.0-r1.ebuild
+++ b/media-libs/libaom/libaom-1.0.0-r1.ebuild
@@ -46,6 +46,7 @@ PATCHES=(
"${FILESDIR}/libdirpc2.patch"
"${FILESDIR}/pthread_lib2.patch"
"${FILESDIR}/${P}-version.patch"
+   "${FILESDIR}/${P}-armv7l.patch"
 )
 
 src_prepare() {



[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2018-06-28 Thread Alexis Ballier
commit: b8f01c6fb2a8d5a29eddde87cb2e09e1d66df333
Author: Alexis Ballier  gentoo  org>
AuthorDate: Thu Jun 28 14:40:39 2018 +
Commit: Alexis Ballier  gentoo  org>
CommitDate: Thu Jun 28 17:23:01 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8f01c6f

media-libs/libaom: update patches for live ebuild

Closes: https://bugs.gentoo.org/654430
Package-Manager: Portage-2.3.41, Repoman-2.3.9

 media-libs/libaom/files/libdirpc2.patch| 48 ++
 media-libs/libaom/files/pthread_lib2.patch | 14 +
 media-libs/libaom/libaom-.ebuild   |  2 +-
 3 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/media-libs/libaom/files/libdirpc2.patch 
b/media-libs/libaom/files/libdirpc2.patch
new file mode 100644
index 000..cbd1b901fb3
--- /dev/null
+++ b/media-libs/libaom/files/libdirpc2.patch
@@ -0,0 +1,48 @@
+Index: libaom-/CMakeLists.txt
+===
+--- libaom-.orig/CMakeLists.txt
 libaom-/CMakeLists.txt
+@@ -234,8 +234,9 @@ if(NOT MSVC)
+  -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+  -DCMAKE_PROJECT_NAME=${CMAKE_PROJECT_NAME}
+  -DCONFIG_MULTITHREAD=${CONFIG_MULTITHREAD}
+- -DHAVE_PTHREAD_H=${HAVE_PTHREAD_H} -P
+- "${AOM_ROOT}/build/cmake/pkg_config.cmake"
++ -DHAVE_PTHREAD_H=${HAVE_PTHREAD_H}
++ -DLIB_SUFFIX=${LIB_SUFFIX}
++ -P "${AOM_ROOT}/build/cmake/pkg_config.cmake"
+  COMMENT "Writing aom.pc" VERBATIM)
+   add_dependencies(aom_pc aom_version)
+ endif()
+Index: libaom-/build/cmake/pkg_config.cmake
+===
+--- libaom-.orig/build/cmake/pkg_config.cmake
 libaom-/build/cmake/pkg_config.cmake
+@@ -34,12 +34,13 @@ endif()
+ 
+ # Write pkg-config info.
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
++set(libdir "lib${LIB_SUFFIX}")
+ set(pkgconfig_file "${AOM_CONFIG_DIR}/aom.pc")
+ string(TOLOWER ${CMAKE_PROJECT_NAME} pkg_name)
+ file(WRITE "${pkgconfig_file}" "# libaom pkg-config.\n")
+ file(APPEND "${pkgconfig_file}" "prefix=${prefix}\n")
+ file(APPEND "${pkgconfig_file}" "exec_prefix=\${prefix}/bin\n")
+-file(APPEND "${pkgconfig_file}" "libdir=\${prefix}/lib\n")
++file(APPEND "${pkgconfig_file}" "libdir=\${prefix}/${libdir}\n")
+ file(APPEND "${pkgconfig_file}" "includedir=\${prefix}/include\n\n")
+ file(APPEND "${pkgconfig_file}" "Name: ${pkg_name}\n")
+ file(APPEND "${pkgconfig_file}"
+@@ -49,10 +50,10 @@ file(APPEND "${pkgconfig_file}" "Require
+ file(APPEND "${pkgconfig_file}" "Conflicts:\n")
+ if(CONFIG_MULTITHREAD AND HAVE_PTHREAD_H)
+   file(APPEND "${pkgconfig_file}"
+-  "Libs: -L\${prefix}/lib -l${pkg_name} -lm -lpthread\n")
++  "Libs: -L\${prefix}/${libdir} -l${pkg_name} -lm -lpthread\n")
+   file(APPEND "${pkgconfig_file}" "Libs.private: -lm -lpthread\n")
+ else()
+-  file(APPEND "${pkgconfig_file}" "Libs: -L\${prefix}/lib -l${pkg_name} 
-lm\n")
++  file(APPEND "${pkgconfig_file}" "Libs: -L\${prefix}/${libdir} -l${pkg_name} 
-lm\n")
+   file(APPEND "${pkgconfig_file}" "Libs.private: -lm\n")
+ endif()
+ file(APPEND "${pkgconfig_file}" "Cflags: -I\${prefix}/include\n")

diff --git a/media-libs/libaom/files/pthread_lib2.patch 
b/media-libs/libaom/files/pthread_lib2.patch
new file mode 100644
index 000..ec4b9107e99
--- /dev/null
+++ b/media-libs/libaom/files/pthread_lib2.patch
@@ -0,0 +1,14 @@
+Index: libaom-/CMakeLists.txt
+===
+--- libaom-.orig/CMakeLists.txt
 libaom-/CMakeLists.txt
+@@ -575,6 +575,9 @@
+   include("${AOM_ROOT}/build/cmake/exports.cmake")
+   setup_exports_target()
+   set_target_properties(aom PROPERTIES SOVERSION 0)
++  if(HAVE_PTHREAD_H AND CONFIG_MULTITHREAD)
++target_link_libraries(aom ${AOM_LIB_LINK_TYPE} Threads::Threads)
++  endif()
+ endif()
+ 
+ # Handle user supplied compile and link flags last to ensure they're obeyed.

diff --git a/media-libs/libaom/libaom-.ebuild 
b/media-libs/libaom/libaom-.ebuild
index 68a8ddfdb1a..29e0528f563 100644
--- a/media-libs/libaom/libaom-.ebuild
+++ b/media-libs/libaom/libaom-.ebuild
@@ -36,7 +36,7 @@ REQUIRED_USE="
cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
 "
 
-PATCHES=( "${FILESDIR}/libdirpc.patch" "${FILESDIR}/pthread_lib.patch" )
+PATCHES=( "${FILESDIR}/libdirpc2.patch" "${FILESDIR}/pthread_lib2.patch" )
 
 src_prepare() {
sed -e 's/lib"/lib${LIB_SUFFIX}"/' -i CMakeLists.txt || die



[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2018-04-10 Thread Alexis Ballier
commit: 2ef91df1f0f81deca530b90a249c94d86f4ace36
Author: Alexis Ballier  gentoo  org>
AuthorDate: Tue Apr 10 07:43:23 2018 +
Commit: Alexis Ballier  gentoo  org>
CommitDate: Tue Apr 10 08:04:15 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ef91df1

media-libs/libaom: fix shared lib underlinking

Package-Manager: Portage-2.3.28, Repoman-2.3.9

 media-libs/libaom/files/pthread_lib.patch | 14 ++
 media-libs/libaom/libaom-.ebuild  |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/media-libs/libaom/files/pthread_lib.patch 
b/media-libs/libaom/files/pthread_lib.patch
new file mode 100644
index 000..d8770bc687c
--- /dev/null
+++ b/media-libs/libaom/files/pthread_lib.patch
@@ -0,0 +1,14 @@
+Index: libaom-/CMakeLists.txt
+===
+--- libaom-.orig/CMakeLists.txt
 libaom-/CMakeLists.txt
+@@ -598,6 +598,9 @@ if (BUILD_SHARED_LIBS)
+   include("${AOM_ROOT}/build/cmake/exports.cmake")
+   setup_exports_target()
+   set_target_properties(aom PROPERTIES SOVERSION 0)
++  if (HAVE_PTHREAD_H AND CONFIG_MULTITHREAD)
++target_link_libraries(aom ${AOM_LIB_LINK_TYPE} Threads::Threads)
++  endif ()
+ endif ()
+ 
+ # Handle user supplied compile and link flags last to ensure they're obeyed.

diff --git a/media-libs/libaom/libaom-.ebuild 
b/media-libs/libaom/libaom-.ebuild
index 512d1b35470..9b472bd99de 100644
--- a/media-libs/libaom/libaom-.ebuild
+++ b/media-libs/libaom/libaom-.ebuild
@@ -35,7 +35,7 @@ REQUIRED_USE="
cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
 "
 
-PATCHES=( "${FILESDIR}/libdirpc.patch" )
+PATCHES=( "${FILESDIR}/libdirpc.patch" "${FILESDIR}/pthread_lib.patch" )
 
 src_prepare() {
sed -e 's/lib"/lib${LIB_SUFFIX}"/' -i CMakeLists.txt || die



[gentoo-commits] repo/gentoo:master commit in: media-libs/libaom/, media-libs/libaom/files/

2018-04-10 Thread Alexis Ballier
commit: fdbc37db6ce44a4c029eeb2ff10aa5f2276fb3c1
Author: Alexis Ballier  gentoo  org>
AuthorDate: Tue Apr 10 07:36:57 2018 +
Commit: Alexis Ballier  gentoo  org>
CommitDate: Tue Apr 10 08:04:15 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdbc37db

media-libs/libaom: fix libdir in pkgconfig files

Package-Manager: Portage-2.3.28, Repoman-2.3.9

 media-libs/libaom/files/libdirpc.patch | 40 ++
 media-libs/libaom/libaom-.ebuild   |  3 +++
 2 files changed, 43 insertions(+)

diff --git a/media-libs/libaom/files/libdirpc.patch 
b/media-libs/libaom/files/libdirpc.patch
new file mode 100644
index 000..ac646643368
--- /dev/null
+++ b/media-libs/libaom/files/libdirpc.patch
@@ -0,0 +1,40 @@
+Index: libaom-/CMakeLists.txt
+===
+--- libaom-.orig/CMakeLists.txt
 libaom-/CMakeLists.txt
+@@ -248,6 +248,7 @@ if (NOT MSVC)
+   -DCMAKE_PROJECT_NAME=${CMAKE_PROJECT_NAME}
+   -DCONFIG_MULTITHREAD=${CONFIG_MULTITHREAD}
+   -DHAVE_PTHREAD_H=${HAVE_PTHREAD_H}
++  -DLIB_SUFFIX=${LIB_SUFFIX}
+   -P "${AOM_ROOT}/build/cmake/pkg_config.cmake"
+   COMMENT "Writing aom.pc"
+   VERBATIM)
+Index: libaom-/build/cmake/pkg_config.cmake
+===
+--- libaom-.orig/build/cmake/pkg_config.cmake
 libaom-/build/cmake/pkg_config.cmake
+@@ -35,12 +35,13 @@ endif ()
+ 
+ # Write pkg-config info.
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
++set(libdir "lib${LIB_SUFFIX}")
+ set(pkgconfig_file "${AOM_CONFIG_DIR}/aom.pc")
+ string(TOLOWER ${CMAKE_PROJECT_NAME} pkg_name)
+ file(WRITE "${pkgconfig_file}" "# libaom pkg-config.\n")
+ file(APPEND "${pkgconfig_file}" "prefix=${prefix}\n")
+ file(APPEND "${pkgconfig_file}" "exec_prefix=\${prefix}/bin\n")
+-file(APPEND "${pkgconfig_file}" "libdir=\${prefix}/lib\n")
++file(APPEND "${pkgconfig_file}" "libdir=\${prefix}/${libdir}\n")
+ file(APPEND "${pkgconfig_file}" "includedir=\${prefix}/include\n\n")
+ file(APPEND "${pkgconfig_file}" "Name: ${pkg_name}\n")
+ file(APPEND "${pkgconfig_file}"
+@@ -48,7 +49,7 @@ file(APPEND "${pkgconfig_file}"
+ file(APPEND "${pkgconfig_file}" "Version: ${package_version}\n")
+ file(APPEND "${pkgconfig_file}" "Requires:\n")
+ file(APPEND "${pkgconfig_file}" "Conflicts:\n")
+-file(APPEND "${pkgconfig_file}" "Libs: -L\${prefix}/lib -l${pkg_name} -lm\n")
++file(APPEND "${pkgconfig_file}" "Libs: -L\${prefix}/${libdir} -l${pkg_name} 
-lm\n")
+ if (CONFIG_MULTITHREAD AND HAVE_PTHREAD_H)
+   file(APPEND "${pkgconfig_file}" "Libs.private: -lm -lpthread\n")
+ else ()

diff --git a/media-libs/libaom/libaom-.ebuild 
b/media-libs/libaom/libaom-.ebuild
index f940504046e..512d1b35470 100644
--- a/media-libs/libaom/libaom-.ebuild
+++ b/media-libs/libaom/libaom-.ebuild
@@ -35,6 +35,8 @@ REQUIRED_USE="
cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
 "
 
+PATCHES=( "${FILESDIR}/libdirpc.patch" )
+
 src_prepare() {
sed -e 's/lib"/lib${LIB_SUFFIX}"/' -i CMakeLists.txt || die
cmake-utils_src_prepare
@@ -63,6 +65,7 @@ multilib_src_configure() {
-DBUILD_SHARED_LIBS=ON
)
cmake-utils_src_configure
+   rm aom.pc # ensure it is rebuilt with proper libdir
 }
 
 multilib_src_install() {