diff mbox series

[bug#38670] Fix audio/video in icecat

Message ID 87lfr57yi4.fsf@netris.org
State Accepted
Headers show
Series [bug#38670] Fix audio/video in icecat | expand

Commit Message

Mark H Weaver Dec. 22, 2019, 4:52 a.m. UTC
Hi Julien,

Thanks very much for investigating and producing a working fix for this
issue!  It is a great relief to remove this item from my TODO list :)

I have a few minor nits, and am currently testing a slight variant of
your proposed patch, attached below.  I made the following changes:

* I added a new phase instead of augmenting the existing
  'link-libxul-with-libraries' phase, since the name of the existing
  phase doesn't match what's being done here.

* I leave the numeric suffixes (version number) of the shared library
  names unchanged, instead of stripping them as you did.

* I used "\\." in the regexp to strictly match that character.

* I moved the rationale comment from the commit log into the code.

What do you think?

   Thanks again!
       Mark

Comments

Brett Gilio Dec. 22, 2019, 7:07 a.m. UTC | #1
Dec 21, 2019 10:54:14 PM Mark H Weaver :

> Hi Julien,
>
> Thanks very much for investigating and producing a working fix for this
> issue! It is a great relief to remove this item from my TODO list :)
>
> I have a few minor nits, and am currently testing a slight variant of
> your proposed patch, attached below. I made the following changes:
>
> * I added a new phase instead of augmenting the existing
> 'link-libxul-with-libraries' phase, since the name of the existing
> phase doesn't match what's being done here.
>
> * I leave the numeric suffixes (version number) of the shared library
> names unchanged, instead of stripping them as you did.
>
> * I used "\\." in the regexp to strictly match that character.
>
> * I moved the rationale comment from the commit log into the code.
>
> What do you think?
>
> Thanks again!
> Mark
>


I think with Mark's changes this is looking pretty much perfect.


--
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<brettg@gnu.org> <brettg@posteo.net>
Julien Lepiller Dec. 22, 2019, 10 a.m. UTC | #2
Le Sat, 21 Dec 2019 23:52:08 -0500,
Mark H Weaver <mhw@netris.org> a écrit :

> Hi Julien,
> 
> Thanks very much for investigating and producing a working fix for
> this issue!  It is a great relief to remove this item from my TODO
> list :)
> 
> I have a few minor nits, and am currently testing a slight variant of
> your proposed patch, attached below.  I made the following changes:
> 
> * I added a new phase instead of augmenting the existing
>   'link-libxul-with-libraries' phase, since the name of the existing
>   phase doesn't match what's being done here.
> 
> * I leave the numeric suffixes (version number) of the shared library
>   names unchanged, instead of stripping them as you did.
> 
> * I used "\\." in the regexp to strictly match that character.
> 
> * I moved the rationale comment from the commit log into the code.
> 
> What do you think?

Looks very good! Can you push it, or should I do it?

> 
>    Thanks again!
>        Mark
> 
>
Mark H Weaver Dec. 22, 2019, 8:33 p.m. UTC | #3
Hi Julien,

Julien Lepiller <julien@lepiller.eu> wrote:
> Looks very good! Can you push it, or should I do it?

Would you be willing to try building IceCat with my variant of your
patch and confirm that it works for you?  If it does, please push it.

The reason I ask is because although I built it myself, I'm not sure
that it's working for me.  It might be that the specific sites I tried
are failing to work for other reasons, e.g. the privacy enhancements in
IceCat's default configuration.  Or, it might be that my decision to
keep the shared library version numbers intact somehow broke it.

    Thank you!
       Mark
Julien Lepiller Dec. 22, 2019, 11:04 p.m. UTC | #4
Le 22 décembre 2019 21:33:13 GMT+01:00, Mark H Weaver <mhw@netris.org> a écrit :
>Hi Julien,
>
>Julien Lepiller <julien@lepiller.eu> wrote:
>> Looks very good! Can you push it, or should I do it?
>
>Would you be willing to try building IceCat with my variant of your
>patch and confirm that it works for you?  If it does, please push it.
>
>The reason I ask is because although I built it myself, I'm not sure
>that it's working for me.  It might be that the specific sites I tried
>are failing to work for other reasons, e.g. the privacy enhancements in
>IceCat's default configuration.  Or, it might be that my decision to
>keep the shared library version numbers intact somehow broke it.
>
>    Thank you!
>       Mark

Sure, I'jl do that tomorrow morning. I have ajready tried a few variants of my own patch, and it worked well both with anl without the version number. However, I'll build and check your patch before pushing.

I'm basically testing the default html5 player on an mp3 file, which didn't work before (you can see in the browser console it says mpeg is unsupported) and worked after applying the patch (and no more erron in the console).
diff mbox series

Patch

From eed217b25cea8926680308c8e21522417fe13cf4 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Thu, 19 Dec 2019 13:02:07 +0100
Subject: [PATCH] gnu: icecat: Fix linking with ffmpeg.

* gnu/packages/gnuzilla.scm (icecat)[arguments]: Add
'fix-ffmpeg-runtime-linker' phase.

Co-authored-by: Mark H Weaver <mhw@netris.org>.
---
 gnu/packages/gnuzilla.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 8bfa6c2a55..46fc7928a0 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -968,6 +968,13 @@  from forcing GEXP-PROMISE."
     'avcodec', 'avutil', 'pulse' ]\n\n"
                                all)))
              #t))
+         (add-after 'link-libxul-with-libraries 'fix-ffmpeg-runtime-linker
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Arrange to load libavcodec.so by its absolute file name.
+             (substitute* "dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp"
+               (("libavcodec\\.so")
+                (string-append (assoc-ref inputs "ffmpeg") "/lib/libavcodec.so")))
+             #t))
          (replace 'bootstrap
            (lambda _
              (invoke "sh" "-c" "autoconf old-configure.in > old-configure")
-- 
2.24.1