public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/avidemux-core/, media-libs/avidemux-core/files/
Date: Thu, 10 Aug 2023 04:08:05 +0000 (UTC)	[thread overview]
Message-ID: <1691640375.fa73e5fd23da1151eadc3e12abe14afbad98152d.sam@gentoo> (raw)

commit:     fa73e5fd23da1151eadc3e12abe14afbad98152d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 04:06:15 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 04:06:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa73e5fd

media-libs/avidemux-core: fix build w/ binutils-2.41

Closes: https://bugs.gentoo.org/911986
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../avidemux-core/avidemux-core-2.8.1-r1.ebuild    |  5 +-
 .../files/avidemux-core-2.8.1-ffmpeg-2.41.patch    | 84 ++++++++++++++++++++++
 2 files changed, 88 insertions(+), 1 deletion(-)

diff --git a/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild b/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild
index bc742a9bb980..617721f52e31 100644
--- a/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild
+++ b/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild
@@ -40,7 +40,10 @@ BDEPEND="
 	!system-ffmpeg? ( dev-lang/yasm[nls=] )
 "
 
-PATCHES=( "${FILESDIR}"/avidemux-core-2.7.6-ffmpeg-flags.patch )
+PATCHES=(
+	"${FILESDIR}"/avidemux-core-2.7.6-ffmpeg-flags.patch
+	"${FILESDIR}"/avidemux-core-2.8.1-ffmpeg-2.41.patch
+)
 
 S="${WORKDIR}/avidemux2-${PV}"
 CMAKE_USE_DIR="${S}/${PN/-/_}"

diff --git a/media-libs/avidemux-core/files/avidemux-core-2.8.1-ffmpeg-2.41.patch b/media-libs/avidemux-core/files/avidemux-core-2.8.1-ffmpeg-2.41.patch
new file mode 100644
index 000000000000..da444e9e1c81
--- /dev/null
+++ b/media-libs/avidemux-core/files/avidemux-core-2.8.1-ffmpeg-2.41.patch
@@ -0,0 +1,84 @@
+diff --git a/avidemux_core/ffmpeg_package/patches/libavcodec_mathops.h_binutils_241.patch b/avidemux_core/ffmpeg_package/patches/libavcodec_mathops.h_binutils_241.patch
+new file mode 100644
+index 0000000..633b4b6
+--- /dev/null
++++ b/avidemux_core/ffmpeg_package/patches/libavcodec_mathops.h_binutils_241.patch
+@@ -0,0 +1,76 @@
++https://bugs.gentoo.org/911582
++https://trac.ffmpeg.org/ticket/10405
++https://git.videolan.org/?p=ffmpeg.git;a=commit;h=25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e
++https://sourceware.org/PR30578
++https://gcc.gnu.org/PR108941
++
++From 25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e Mon Sep 17 00:00:00 2001
++From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
++Date: Sun, 16 Jul 2023 18:18:02 +0300
++Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
++ instructions within inline assembly
++
++Fixes assembling with binutil as >= 2.41
++
++Signed-off-by: James Almer <jamrial@gmail.com>
++(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb)
++--- libavcodec/x86/mathops.h
+++++ libavcodec/x86/mathops.h
++@@ -35,12 +35,20 @@
++ static av_always_inline av_const int MULL(int a, int b, unsigned shift)
++ {
++     int rt, dummy;
+++    if (__builtin_constant_p(shift))
++     __asm__ (
++         "imull %3               \n\t"
++         "shrdl %4, %%edx, %%eax \n\t"
++         :"=a"(rt), "=d"(dummy)
++-        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
+++        :"a"(a), "rm"(b), "i"(shift & 0x1F)
++     );
+++    else
+++        __asm__ (
+++            "imull %3               \n\t"
+++            "shrdl %4, %%edx, %%eax \n\t"
+++            :"=a"(rt), "=d"(dummy)
+++            :"a"(a), "rm"(b), "c"((uint8_t)shift)
+++        );
++     return rt;
++ }
++ 
++@@ -113,19 +121,31 @@ __asm__ volatile(\
++ // avoid +32 for shift optimization (gcc should do that ...)
++ #define NEG_SSR32 NEG_SSR32
++ static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
+++    if (__builtin_constant_p(s))
++     __asm__ ("sarl %1, %0\n\t"
++          : "+r" (a)
++-         : "ic" ((uint8_t)(-s))
+++         : "i" (-s & 0x1F)
++     );
+++    else
+++        __asm__ ("sarl %1, %0\n\t"
+++               : "+r" (a)
+++               : "c" ((uint8_t)(-s))
+++        );
++     return a;
++ }
++ 
++ #define NEG_USR32 NEG_USR32
++ static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
+++    if (__builtin_constant_p(s))
++     __asm__ ("shrl %1, %0\n\t"
++          : "+r" (a)
++-         : "ic" ((uint8_t)(-s))
+++         : "i" (-s & 0x1F)
++     );
+++    else
+++        __asm__ ("shrl %1, %0\n\t"
+++               : "+r" (a)
+++               : "c" ((uint8_t)(-s))
+++        );
++     return a;
++ }
++ 
++-- 
++2.30.2
+-- 
+2.41.0


             reply	other threads:[~2023-08-10  4:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-10  4:08 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-08-11 23:10 [gentoo-commits] repo/gentoo:master commit in: media-libs/avidemux-core/, media-libs/avidemux-core/files/ Thomas Deutschmann
2020-08-07 23:24 Andreas Sturmlechner
2017-10-04  8:02 Alexis Ballier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1691640375.fa73e5fd23da1151eadc3e12abe14afbad98152d.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox