summaryrefslogtreecommitdiff
path: root/media-libs/fdk-aac
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-07-17 19:04:28 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-07-17 19:04:28 +0100
commit514d1bbe260df2521fe60f1a3ec87cfcfde1a829 (patch)
tree555c194dbeb0fb2ac4ad3cde7c0f6a80fd330ce2 /media-libs/fdk-aac
parent4df3bf9762850b34cd1ead5c80374d1a0fc3362e (diff)
gentoo resync : 17.07.2021
Diffstat (limited to 'media-libs/fdk-aac')
-rw-r--r--media-libs/fdk-aac/Manifest3
-rw-r--r--media-libs/fdk-aac/fdk-aac-2.0.2.ebuild7
-rw-r--r--media-libs/fdk-aac/files/fdk-aac-2.0.2-always_inline.patch72
3 files changed, 78 insertions, 4 deletions
diff --git a/media-libs/fdk-aac/Manifest b/media-libs/fdk-aac/Manifest
index c7f32332faca..0873ce740677 100644
--- a/media-libs/fdk-aac/Manifest
+++ b/media-libs/fdk-aac/Manifest
@@ -1,3 +1,4 @@
+AUX fdk-aac-2.0.2-always_inline.patch 2581 BLAKE2B 46f18480fe138f4b6fd98bf3474673234e1fc3e88020be07bc63284634b971a902cbe3b1996c676e12c30e502e877d7a0b4e328b97a469dd2ed7d6bd759d5161 SHA512 030bfb1ad2dc53618a0387852910687e89bacb4cefd8d7a9a230bcda5a0c0e5493e464771691491d5da4c9bc8c83ff48a99dec5e384d2c50ebcd672a051a7ce3
DIST fdk-aac-2.0.2.tar.gz 2886434 BLAKE2B f9917cf8ded3e4165048b27211c5985b4fe174d1ac815a7bc4afad88e059f3a89a24f88ad20633becdba9cb91717b9d4bf44781368c436e35002061b1644eb64 SHA512 8e5a7992869a7e649bee6d41bf7c6e408cec7ba1931a6cd7a9ad8a01e6ac49bd299ddd147b18823e8ee379ce7c6373d7f5a94f0f859ed973a30c61eccd53fa7e
-EBUILD fdk-aac-2.0.2.ebuild 1328 BLAKE2B 53645e3a1085a5a9ac932600bf744b5a2c6964e51dc45fab1c2cefe50e101ace619deb7cc5cd1c55148611362e7290527d925ad03d0b7766beb476a85f6c089b SHA512 959b4333e726e664005cd5ed920eab51de7966197eaf0e02361c3498ebdb4a90f7ce48a092b8c24a75c3202fac61372cbbbbd133a6351ea80f0063900da6e362
+EBUILD fdk-aac-2.0.2.ebuild 1334 BLAKE2B 3f40d1e627579dc4b3c388a85d478573fe7b0a39e10fa4595e96f9142d1541412bdd9c3dba28d6c42813f42c3991d0fcdb4e54d28b794caa61b985e8f271dc1c SHA512 bfc171b2d4546db918e721d4986050ec151f21aece58f8833f254bac3146dfcbc0dda08f33757a04d13fdd8152b3b47af1e7973ddedf6c9e54ba84f33295dead
MISC metadata.xml 335 BLAKE2B 62ac5499e6bf0ca4ebb5cef78982a734cbc068fad39764b545089233f2c611937c4d8cddfa7f042705c7f7849a44f1e971431667eae02e7622d45f5b5ccdfb14 SHA512 25f894f204476ffe7bf81e7e81b16f569b34ac57572cba903bf447a53699f0e4cf5448fa27689b4baf60753e7f605f47c4a7d60f19616446b0c1f871d9b866e3
diff --git a/media-libs/fdk-aac/fdk-aac-2.0.2.ebuild b/media-libs/fdk-aac/fdk-aac-2.0.2.ebuild
index b003c4ad8fd4..913c27ccdda8 100644
--- a/media-libs/fdk-aac/fdk-aac-2.0.2.ebuild
+++ b/media-libs/fdk-aac/fdk-aac-2.0.2.ebuild
@@ -24,7 +24,9 @@ LICENSE="FraunhoferFDK"
# subslot == N where N is libfdk-aac.so.N
SLOT="0/2"
-IUSE="static-libs examples"
+IUSE="examples"
+
+PATCHES=( "${FILESDIR}"/${P}-always_inline.patch )
src_prepare() {
default
@@ -33,8 +35,7 @@ src_prepare() {
multilib_src_configure() {
local myeconfargs=(
- --enable-shared
- $(use_enable static-libs static)
+ --disable-static
$(use_enable examples example)
)
ECONF_SOURCE=${S} econf "${myeconfargs[@]}"
diff --git a/media-libs/fdk-aac/files/fdk-aac-2.0.2-always_inline.patch b/media-libs/fdk-aac/files/fdk-aac-2.0.2-always_inline.patch
new file mode 100644
index 000000000000..afb2dbe1026d
--- /dev/null
+++ b/media-libs/fdk-aac/files/fdk-aac-2.0.2-always_inline.patch
@@ -0,0 +1,72 @@
+From 7f328b93ee2aa8bb4e94613b6ed218e7525d8dc0 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sat, 10 Jul 2021 13:06:57 +0200
+Subject: [PATCH] Do not force inlining of indirect functions
+
+* A function called indirectly cannot be decorated
+ with `__attribute((always_inline))`, as this is
+ guaranteed to only work with direct calls:
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63220#c1
+
+Bug: https://bugs.gentoo.org/798045
+---
+ libFDK/include/fft.h | 4 ++--
+ libFDK/src/fft.cpp | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libFDK/include/fft.h b/libFDK/include/fft.h
+index d394046..4ef62b4 100644
+--- a/libFDK/include/fft.h
++++ b/libFDK/include/fft.h
+@@ -139,7 +139,7 @@ void ifft(int length, FIXP_DBL *pInput, INT *scalefactor);
+ * bit scale headroom. The values are interleaved, real/imag pairs.
+ */
+ LNK_SECTION_CODE_L1
+-static FDK_FORCEINLINE void fft_4(FIXP_DBL *x) {
++static inline void fft_4(FIXP_DBL *x) {
+ FIXP_DBL a00, a10, a20, a30, tmp0, tmp1;
+
+ a00 = (x[0] + x[4]) >> 1; /* Re A + Re B */
+@@ -168,7 +168,7 @@ static FDK_FORCEINLINE void fft_4(FIXP_DBL *x) {
+
+ #ifndef FUNCTION_fft_8
+ LNK_SECTION_CODE_L1
+-static FDK_FORCEINLINE void fft_8(FIXP_DBL *x) {
++static inline void fft_8(FIXP_DBL *x) {
+ FIXP_SPK w_PiFOURTH = {{FIXP_SGL(0x5A82), FIXP_SGL(0x5A82)}};
+
+ FIXP_DBL a00, a10, a20, a30;
+diff --git a/libFDK/src/fft.cpp b/libFDK/src/fft.cpp
+index 4e6fdd2..c9ee784 100644
+--- a/libFDK/src/fft.cpp
++++ b/libFDK/src/fft.cpp
+@@ -170,7 +170,7 @@ amm-info@iis.fraunhofer.de
+
+ /* Performs the FFT of length 2. Input vector unscaled, output vector scaled
+ * with factor 0.5 */
+-static FDK_FORCEINLINE void fft2(FIXP_DBL *RESTRICT pDat) {
++static inline void fft2(FIXP_DBL *RESTRICT pDat) {
+ FIXP_DBL r1, i1;
+ FIXP_DBL r2, i2;
+
+@@ -196,7 +196,7 @@ static FDK_FORCEINLINE void fft2(FIXP_DBL *RESTRICT pDat) {
+
+ #ifndef FUNCTION_fft3
+ /* Performs the FFT of length 3 according to the algorithm after winograd. */
+-static FDK_FORCEINLINE void fft3(FIXP_DBL *RESTRICT pDat) {
++static inline void fft3(FIXP_DBL *RESTRICT pDat) {
+ FIXP_DBL r1, r2;
+ FIXP_DBL s1, s2;
+ FIXP_DBL pD;
+@@ -233,7 +233,7 @@ static FDK_FORCEINLINE void fft3(FIXP_DBL *RESTRICT pDat) {
+
+ /* performs the FFT of length 5 according to the algorithm after winograd */
+ /* This version works with a prescale of 2 instead of 3 */
+-static FDK_FORCEINLINE void fft5(FIXP_DBL *RESTRICT pDat) {
++static inline void fft5(FIXP_DBL *RESTRICT pDat) {
+ FIXP_DBL r1, r2, r3, r4;
+ FIXP_DBL s1, s2, s3, s4;
+ FIXP_DBL t;
+--
+2.32.0
+