GNU bug report logs - #38670
[PATCH] Fix audio/video in icecat

Previous Next

Package: guix-patches;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Thu, 19 Dec 2019 14:00:02 UTC

Severity: normal

Tags: patch

Done: Julien Lepiller <julien <at> lepiller.eu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 38670 in the body.
You can then email your comments to 38670 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#38670; Package guix-patches. (Thu, 19 Dec 2019 14:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Lepiller <julien <at> lepiller.eu>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 19 Dec 2019 14:00:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: guix-patches <at> gnu.org
Subject: [PATCH] Fix audio/video in icecat
Date: Thu, 19 Dec 2019 14:59:22 +0100
[Message part 1 (text/plain, inline)]
Hi guix,

since the update to icecat 68, mpeg decoding doesn't work in IceCat
(mp3/mp4 would not play, breaking a lot of online media players). This
patch addresses that issue, that was caused by IceCat not finding
ffmpeg's library. It was dlopening libavcodec.so, but could not find
it. I replaced it with an absolute reference to the library in the
store, which now allows IceCat to load the library at runtime. It also
adds ffmpeg to icecat's closure, ensuring it will always find it.
[0001-gnu-icecat-Fix-linking-with-ffmpeg.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#38670; Package guix-patches. (Sat, 21 Dec 2019 22:50:02 GMT) Full text and rfc822 format available.

Message #8 received at 38670 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: Mark H Weaver <mhw <at> netris.org>, 38670 <at> debbugs.gnu.org
Subject: Re: [bug#38670] [PATCH] Fix audio/video in icecat
Date: Sat, 21 Dec 2019 23:49:08 +0100
Hi Julien,

Julien Lepiller <julien <at> lepiller.eu> skribis:

> since the update to icecat 68, mpeg decoding doesn't work in IceCat
> (mp3/mp4 would not play, breaking a lot of online media players). This
> patch addresses that issue, that was caused by IceCat not finding
> ffmpeg's library. It was dlopening libavcodec.so, but could not find
> it. I replaced it with an absolute reference to the library in the
> store, which now allows IceCat to load the library at runtime. It also
> adds ffmpeg to icecat's closure, ensuring it will always find it.

Great that you found out!

>>From c144cf973235d2e633daeeedbac45fcf61da04a1 Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien <at> lepiller.eu>
> Date: Thu, 19 Dec 2019 13:02:34 +0100
> Subject: [PATCH] gnu: icecat: Fix linking with ffmpeg.
>
> * gnu/packages/gnuzilla.scm (icecat): Use absolute path for ffmpeg
> library loading.

LGTM!  (Cc’ing Mark for a heads-up.)

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#38670; Package guix-patches. (Sun, 22 Dec 2019 04:54:02 GMT) Full text and rfc822 format available.

Message #11 received at 38670 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 38670 <at> debbugs.gnu.org
Subject: Re: [bug#38670] [PATCH] Fix audio/video in icecat
Date: Sat, 21 Dec 2019 23:52:08 -0500
[Message part 1 (text/plain, inline)]
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


[0001-gnu-icecat-Fix-linking-with-ffmpeg.patch (text/x-patch, inline)]
From eed217b25cea8926680308c8e21522417fe13cf4 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien <at> 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 <at> 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


Information forwarded to guix-patches <at> gnu.org:
bug#38670; Package guix-patches. (Sun, 22 Dec 2019 07:08:02 GMT) Full text and rfc822 format available.

Message #14 received at 38670 <at> debbugs.gnu.org (full text, mbox):

From: Brett Gilio <brettg <at> posteo.net>
To: Mark H Weaver <mhw <at> netris.org>
Cc: Julien Lepiller <julien <at> lepiller.eu>,
 Ludovic Courtès <ludo <at> gnu.org>, 38670 <at> debbugs.gnu.org
Subject: Re: [bug#38670] [PATCH] Fix audio/video in icecat
Date: Sun, 22 Dec 2019 07:07:37 +0000 (UTC)

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 <at> gnu.org> <brettg <at> posteo.net>





Information forwarded to guix-patches <at> gnu.org:
bug#38670; Package guix-patches. (Sun, 22 Dec 2019 10:01:01 GMT) Full text and rfc822 format available.

Message #17 received at 38670 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 38670 <at> debbugs.gnu.org
Subject: Re: [bug#38670] [PATCH] Fix audio/video in icecat
Date: Sun, 22 Dec 2019 11:00:24 +0100
Le Sat, 21 Dec 2019 23:52:08 -0500,
Mark H Weaver <mhw <at> 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
> 
> 





Information forwarded to guix-patches <at> gnu.org:
bug#38670; Package guix-patches. (Sun, 22 Dec 2019 20:36:02 GMT) Full text and rfc822 format available.

Message #20 received at 38670 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 38670 <at> debbugs.gnu.org
Subject: Re: [bug#38670] [PATCH] Fix audio/video in icecat
Date: Sun, 22 Dec 2019 15:33:13 -0500
Hi Julien,

Julien Lepiller <julien <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#38670; Package guix-patches. (Sun, 22 Dec 2019 23:05:02 GMT) Full text and rfc822 format available.

Message #23 received at 38670 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 38670 <at> debbugs.gnu.org
Subject: Re: [bug#38670] [PATCH] Fix audio/video in icecat
Date: Mon, 23 Dec 2019 00:04:23 +0100
Le 22 décembre 2019 21:33:13 GMT+01:00, Mark H Weaver <mhw <at> netris.org> a écrit :
>Hi Julien,
>
>Julien Lepiller <julien <at> 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).




Reply sent to Julien Lepiller <julien <at> lepiller.eu>:
You have taken responsibility. (Mon, 23 Dec 2019 11:51:01 GMT) Full text and rfc822 format available.

Notification sent to Julien Lepiller <julien <at> lepiller.eu>:
bug acknowledged by developer. (Mon, 23 Dec 2019 11:51:01 GMT) Full text and rfc822 format available.

Message #28 received at 38670-done <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 38670-done <at> debbugs.gnu.org
Subject: Re: [bug#38670] [PATCH] Fix audio/video in icecat
Date: Mon, 23 Dec 2019 12:50:32 +0100
Pushed Mark's version as 8e5567195f5d29301d571612085b5afdb460619d.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 20 Jan 2020 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 150 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.