[PATCH] gnu: zen: Adding Zen browser.

  • Done
  • quality assurance status badge
Details
4 participants
  • outlook user
  • Murilo
  • Noé Lopez
  • Vagrant Cascadian
Owner
unassigned
Submitted by
outlook user
Severity
normal
O
O
outlook user wrote on 7 Sep 16:46 +0200
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
AS8P251MB08542EB190AAEEC1B1D51C90979F2@AS8P251MB0854.EURP251.PROD.OUTLOOK.COM

Attachment: file
V
V
Vagrant Cascadian wrote on 20 Sep 23:48 +0200
(address . 73103-done@debbugs.gnu.org)
87y13mj8s9.fsf@wireframe
There was no content in the submitted patch, closing.

Feel free to re-submit if you have not already.

live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZu3txgAKCRDcUY/If5cW
qjmTAP9bnoCo+JQhoCW5d7gd9lG96fy2Sb03T4pfNRmiO3S7MQEA/gm0vwXECzJ5
82tpSvESVFsUeBb87MGbTEjpboQ1cwY=
=9/gK
-----END PGP SIGNATURE-----

Closed
O
O
outlook user wrote on 17 Dec 16:03 +0100
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
AS8P251MB08549302199A85F7BAE7E3B797042@AS8P251MB0854.EURP251.PROD.OUTLOOK.COM
unarchive 73103
O
O
outlook user wrote on 17 Dec 16:09 +0100
(name . 73103@debbugs.gnu.org)(address . 73103@debbugs.gnu.org)
AS8P251MB0854E34ABF39E3F5AC60EB0197042@AS8P251MB0854.EURP251.PROD.OUTLOOK.COM
```shell
guix shell --container --emulate-fhs # zen: No such file or directory
--network # Hmm. We?re having trouble finding that site.
--preserve='^MOZ_ENABLE_WAYLAND' --preserve='^XDG_SESSION_TYPE' --preserve='^QT_QPA_PLATFORM' # --preserve='^GDK_BACKEND' # Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
--preserve='^DISPLAY' # Error: no DISPLAY environment variable specified
--preserve='^XAUTHORITY' --share=/run/user/1000/.mutter-Xwaylandauth.* # Authorization required, but no authorization protocol specified
--share=/tmp/.X11-unix/X0 # Error: cannot open display: :0
grep coreutils # AppRun: line : command not found
gcc-toolchain gtk+ alsa-lib # zen: error while loading shared libraries: lib: cannot open shared object file: No such file or directory
-- .local/share/AppImage/ZenBrowser.AppImage # : No such file or directory
--appimage-extract-and-run # fuse: failed to exec fusermount: Permission denied
```

Is there any way to optimize that? Like creating an scm to install actual files instead of an AppImage to avoid fuse hassle, or running it without emulating FHS to get access to system `grep coreutils gcc-toolchain gtk+ alsa-lib`, or using per default WayLand to avoid all the x11 hassle, or lighter packages than `grep coreutils gcc-toolchain gtk+ alsa-lib`, or to make work fuse to avoid extraction
O
O
O
outlook user wrote on 17 Dec 20:50 +0100
(name . 73103@debbugs.gnu.org)(address . 73103@debbugs.gnu.org)
AS8P251MB085495E5173E68283DE87ADC97042@AS8P251MB0854.EURP251.PROD.OUTLOOK.COM
=
De :?outlook user <RACP@outlook.fr>
Envoy? :?mardi 17 d?cembre 2024 20:11
? :?73103@debbugs.gnu.org <73103@debbugs.gnu.org>; No? Lopez <noe@xn--no-cja.eu>
Objet :?RE: TR:
?


=
De :?No? Lopez <noe@xn--no-cja.eu>
Envoy? :?mardi 17 d?cembre 2024 17:46
? :?outlook user <RACP@outlook.fr>
Objet :?Re: TR:
?
outlook user <RACP@outlook.fr> writes:

=
De : outlook user <RACP@outlook.fr>
Envoy? : mardi 17 d?cembre 2024 16:09
? : 73103@debbugs.gnu.org <73103@debbugs.gnu.org>
Objet :

Toggle quote (16 lines)
> > ```shell
> > guix shell --container --emulate-fhs # zen: No such file or directory
> > --network # Hmm. We?re having trouble finding that site.
> > --preserve='^MOZ_ENABLE_WAYLAND' --preserve='^XDG_SESSION_TYPE'? --preserve='^QT_QPA_PLATFORM' # --preserve='^GDK_BACKEND' # Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
> > --preserve='^DISPLAY' # Error: no DISPLAY environment variable specified
> > --preserve='^XAUTHORITY' --share=/run/user/1000/.mutter-Xwaylandauth.* # Authorization required, but no authorization protocol specified
> > --share=/tmp/.X11-unix/X0 # Error: cannot open display: :0
> > grep coreutils # AppRun: line : command not found
> > gcc-toolchain gtk+ alsa-lib # zen: error while loading shared libraries: lib: cannot open shared object file: No such file or directory
> >? -- .local/share/AppImage/ZenBrowser.AppImage # : No such file or directory
> > --appimage-extract-and-run # fuse: failed to exec fusermount: Permission denied
> > ```
> >
> > Is there any way to optimize that? Like creating an scm to install actual files instead of an AppImage to avoid fuse hassle, or running it without emulating FHS to get access to system `grep coreutils gcc-toolchain gtk+ alsa-lib`, or using per default WayLand to avoid all the x11 hassle, or lighter packages than `grep coreutils gcc-toolchain gtk+ alsa-lib`, or to make work fuse to avoid extraction
>
> To make fuse work, add the ?fuse? package to your shell, maybe ?fuse@2?.
```shell
$ guix shell fuse -- .local/share/AppImage/ZenBrowser.AppImage
fuse: failed to exec fusermount: Permission denied

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
for more information
open dir error: No such file or directory
```

Toggle quote (5 lines)
>
> To get it working outside of FHS container it?s complicated, you can use
> --appimage-extract to have the files deposited in a local directory
> named squashfs-root, but you will have to patch the binaries?
> interpreter path with patchelf.
Yeah but like you said it's complicated (obiously more than the command I shared) and it's not AppImage anymore

Toggle quote (2 lines)
> ? Alternatively, Zen browser publishes a tar, which
> should be easier both with the container and without.
Better install it with an scm if it's not to use AppImage. But do you have instructions to make work the tar?

Toggle quote (3 lines)
>
> The best thing to do would of course be to package it inside guix,
> following icecat or librewolf?s example.
Exactly, I tried many times on my side but it's really difficult. Many way to skin a cat plus each software is it's own adventure even if you can take basis on sister package

Toggle quote (3 lines)
>
> Good evening,
> No?
O
O
outlook user wrote on 17 Dec 20:57 +0100
(name . 73103@debbugs.gnu.org)(address . 73103@debbugs.gnu.org)
AS8P251MB0854526E6A38110DD1A2D93597042@AS8P251MB0854.EURP251.PROD.OUTLOOK.COM
test
?


=
De :?outlook user <RACP@outlook.fr>
Envoy? :?mardi 17 d?cembre 2024 20:11
? :?73103@debbugs.gnu.org <73103@debbugs.gnu.org>; No? Lopez <noe@xn--no-cja.eu>
Objet :?RE: TR:
?


=
De :?No? Lopez <noe@xn--no-cja.eu>
Envoy? :?mardi 17 d?cembre 2024 17:46
? :?outlook user <RACP@outlook.fr>
Objet :?Re: TR:
?
outlook user <RACP@outlook.fr> writes:

=
De : outlook user <RACP@outlook.fr>
Envoy? : mardi 17 d?cembre 2024 16:09
? : 73103@debbugs.gnu.org <73103@debbugs.gnu.org>
Objet :

Toggle quote (16 lines)
> > ```shell
> > guix shell --container --emulate-fhs # zen: No such file or directory
> > --network # Hmm. We?re having trouble finding that site.
> > --preserve='^MOZ_ENABLE_WAYLAND' --preserve='^XDG_SESSION_TYPE'? --preserve='^QT_QPA_PLATFORM' # --preserve='^GDK_BACKEND' # Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
> > --preserve='^DISPLAY' # Error: no DISPLAY environment variable specified
> > --preserve='^XAUTHORITY' --share=/run/user/1000/.mutter-Xwaylandauth.* # Authorization required, but no authorization protocol specified
> > --share=/tmp/.X11-unix/X0 # Error: cannot open display: :0
> > grep coreutils # AppRun: line : command not found
> > gcc-toolchain gtk+ alsa-lib # zen: error while loading shared libraries: lib: cannot open shared object file: No such file or directory
> >? -- .local/share/AppImage/ZenBrowser.AppImage # : No such file or directory
> > --appimage-extract-and-run # fuse: failed to exec fusermount: Permission denied
> > ```
> >
> > Is there any way to optimize that? Like creating an scm to install actual files instead of an AppImage to avoid fuse hassle, or running it without emulating FHS to get access to system `grep coreutils gcc-toolchain gtk+ alsa-lib`, or using per default WayLand to avoid all the x11 hassle, or lighter packages than `grep coreutils gcc-toolchain gtk+ alsa-lib`, or to make work fuse to avoid extraction
>
> To make fuse work, add the ?fuse? package to your shell, maybe ?fuse@2?.
```shell
$ guix shell fuse -- .local/share/AppImage/ZenBrowser.AppImage
fuse: failed to exec fusermount: Permission denied

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
for more information
open dir error: No such file or directory
```

Toggle quote (5 lines)
>
> To get it working outside of FHS container it?s complicated, you can use
> --appimage-extract to have the files deposited in a local directory
> named squashfs-root, but you will have to patch the binaries?
> interpreter path with patchelf.
Yeah but like you said it's complicated (obiously more than the command I shared) and it's not AppImage anymore

Toggle quote (2 lines)
> ? Alternatively, Zen browser publishes a tar, which
> should be easier both with the container and without.
Better install it with an scm if it's not to use AppImage. But do you have instructions to make work the tar?

Toggle quote (3 lines)
>
> The best thing to do would of course be to package it inside guix,
> following icecat or librewolf?s example.
Exactly, I tried many times on my side but it's really difficult. Many way to skin a cat plus each software is it's own adventure even if you can take basis on sister package

Toggle quote (3 lines)
>
> Good evening,
> No?
N
N
Noé Lopez wrote on 18 Dec 00:22 +0100
87pllpc2u7.fsf@xn--no-cja.eu
outlook user <RACP@outlook.fr> writes:

Toggle quote (43 lines)
> ________________________________________
> De : Noé Lopez <noe@xn--no-cja.eu>
> Envoyé : mardi 17 décembre 2024 17:46
> À : outlook user <RACP@outlook.fr>
> Objet : Re: TR:
>  
> outlook user <RACP@outlook.fr> writes:
>
> ________________________________
> De : outlook user <RACP@outlook.fr>
> Envoyé : mardi 17 décembre 2024 16:09
> À : 73103@debbugs.gnu.org <73103@debbugs.gnu.org>
> Objet :
>
>> > ```shell
>> > guix shell --container --emulate-fhs # zen: No such file or directory
>> > --network # Hmm. We’re having trouble finding that site.
>> > --preserve='^MOZ_ENABLE_WAYLAND' --preserve='^XDG_SESSION_TYPE'  --preserve='^QT_QPA_PLATFORM' # --preserve='^GDK_BACKEND' # Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
>> > --preserve='^DISPLAY' # Error: no DISPLAY environment variable specified
>> > --preserve='^XAUTHORITY' --share=/run/user/1000/.mutter-Xwaylandauth.* # Authorization required, but no authorization protocol specified
>> > --share=/tmp/.X11-unix/X0 # Error: cannot open display: :0
>> > grep coreutils # AppRun: line : command not found
>> > gcc-toolchain gtk+ alsa-lib # zen: error while loading shared libraries: lib: cannot open shared object file: No such file or directory
>> >  -- .local/share/AppImage/ZenBrowser.AppImage # : No such file or directory
>> > --appimage-extract-and-run # fuse: failed to exec fusermount: Permission denied
>> > ```
>> >
>> > Is there any way to optimize that? Like creating an scm to install actual files instead of an AppImage to avoid fuse hassle, or running it without emulating FHS to get access to system `grep coreutils gcc-toolchain gtk+ alsa-lib`, or using per default WayLand to avoid all the x11 hassle, or lighter packages than `grep coreutils gcc-toolchain gtk+ alsa-lib`, or to make work fuse to avoid extraction
>>
>> To make fuse work, add the “fuse” package to your shell, maybe “fuse@2”.
> ```shell
> $ guix shell fuse -- .local/share/AppImage/ZenBrowser.AppImage
> fuse: failed to exec fusermount: Permission denied
>
> Cannot mount AppImage, please check your FUSE setup.
> You might still be able to extract the contents of this AppImage
> if you run it with the --appimage-extract option.
> See https://github.com/AppImage/AppImageKit/wiki/FUSE
> for more information
> open dir error: No such file or directory
> ```
>

Odd, since fusermount is contained in the fuse package.

Toggle quote (12 lines)
>>
>> To get it working outside of FHS container it’s complicated, you can use
>> --appimage-extract to have the files deposited in a local directory
>> named squashfs-root, but you will have to patch the binaries’
>> interpreter path with patchelf.
> Yeah but like you said it's complicated (obiously more than the command I shared) and it's not AppImage anymore
>
>>   Alternatively, Zen browser publishes a tar, which
>> should be easier both with the container and without.
> Better install it with an scm if it's not to use AppImage. But do you have instructions to make work the tar?
>

I don’t know how to do that.

Toggle quote (6 lines)
>>
>> The best thing to do would of course be to package it inside guix,
>> following icecat or librewolf’s example.
> Exactly, I tried many times on my side but it's really difficult. Many way to skin a cat plus each software is it's own adventure even if you can take basis on sister package
>

Yeah, the browser packages look really complex. Good luck to you if you
decide to continue that route :)
M
M
Murilo wrote on 18 Dec 01:28 +0100
Re: [bug#73103] TR:
D6EEGH8AJJ1G.2VRVJP0RPF12Z@disroot.org
Toggle quote (5 lines)
>>>   Alternatively, Zen browser publishes a tar, which
>>> should be easier both with the container and without.
>> Better install it with an scm if it's not to use AppImage. But do you have instructions to make work the tar?
> I don’t know how to do that.

If it helps I have the binary packaged in my channel, and have been maintaining
and using it since the early alphas on my guix system, as my primary browser for a
few months now.

Besides for streams not playing, it works flawlessly on my side (running on native wayland).

Feel free to have a look, use the channel or yoink the package definition :)


Toggle quote (8 lines)
>>> The best thing to do would of course be to package it inside guix,
>>> following icecat or librewolf’s example.
>> Exactly, I tried many times on my side but it's really difficult. Many way to skin a cat plus each software is it's own adventure even if you can take basis on sister package
>>
>
> Yeah, the browser packages look really complex. Good luck to you if you
> decide to continue that route :)

I gave a go at it a while ago to try and package surfer (the tool to simplify
building ff forks), and the browser itself, but with little to no success, so I
gave up shortly after trying.
O
O
outlook user wrote on 18 Dec 07:13 +0100
(name . 73103@debbugs.gnu.org)(address . 73103@debbugs.gnu.org)
GVXP251MB0839F5C6EFC58350E8D8F04B97052@GVXP251MB0839.EURP251.PROD.OUTLOOK.COM
Is there a way to delete #7 and #8?
Attachment: file
O
O
outlook user wrote on 18 Dec 08:00 +0100
GVXP251MB0839D62659EC9D8E8343353297052@GVXP251MB0839.EURP251.PROD.OUTLOOK.COM
Toggle quote (4 lines)
>>>> Alternatively, Zen browser publishes a tar, which
>>> Better install it with an scm if it's not to use AppImage. But do you have instructions to make work the tar?
>> I don?t know how to do that.
> the binary packaged in my channel
There should be a place where all that is advertised (outside Guix official channels to avoid conflict when that applies). I'm so clueless personally

Toggle quote (1 lines)
> streams not playing
You mean like Twitch or YouTube or videocall or something else? Personally with the AppImage everything was working fine (but I haven't checked everything possible)

Toggle quote (1 lines)
> running on native wayland
What was the workaround/solution? Personally it receives the order to use WayLand

```html
<tbody id="graphics-features-tbody">
<tr>
<td style="white-space: pre-wrap">
EGL_EXTENSIONS(nullptr): EGL_EXT_platform_wayland
EGL_KHR_platform_wayland
</td>
</tr>
<tr>
<td style="white-space: pre-wrap">
EGL_EXTENSIONS(nullptr): EGL_EXT_platform_wayland
EGL_KHR_platform_wayland
</td>
</tr>
</tbody>
</table>
<table xmlns="http://www.w3.org/1999/xhtml"class="prefs-table"
<tbody id="environment-variables-tbody">
<tr>
<td class="pref-name">MOZ_ENABLE_WAYLAND</td>
<td class="pref-value">1</td>
</tr>
```

but

```html
<tr>
<th class="column" data-l10n-id="graphics-window-protocol">
Window Protocol
</th>
<td style="white-space: pre-wrap">x11</td>
</tr>
</tbody>
</table>
```

Toggle quote (1 lines)
> use the channel
Last time I messed with channels I've had to maintain a whole version control system **just** to figure out what wasn't working, took me, idk, months of maintenance time, weeks of mind time and maybe hours/day of actual time. Maybe you know a foolproof way or something?

Toggle quote (1 lines)
> search in toys
IIRC when I wanted first to use it I tried Toys but found nothing, or maybe it was for another browser, but pretty sure it was for Zen

Toggle quote (4 lines)
>>>> The best thing to do would of course be to package it inside guix,
>>> Exactly, I tried many times on my side but it's really difficult. Many way to skin a cat plus each software is it's own adventure even if you can take basis on sister package
>> Yeah, the browser packages look really complex.? Good luck to you if you
> little to no success
Yeah Guix do love that we do things the Guix way, and using a tool to prepare a binary to be used non-Guix way makes Guix no happy
M
M
Murilo wrote 7 days ago
Re: [bug#73103] TR:
D6EULB4YXA9R.SWLZPFCNWGI@disroot.org
Toggle quote (2 lines)
> There should be a place where all that is advertised (outside Guix official channels to avoid conflict when that applies). I'm so clueless personally

I find toys to be more than enough to be honest, maybe it needs some more
advertising, but once you know about it, works wonders, it shows both guix and
outside of guix (user channels).

Toggle quote (3 lines)
>> streams not playing
> You mean like Twitch or YouTube or videocall or something else? Personally with the AppImage everything was working fine (but I haven't checked everything possible)

I mean twitch streams and youtube streams. Video calls work fine, twitch videos
(VODs) work fine, youtube videos work fine. Might be something I missed when
packaging but honestly I don't mind since I use mpv to watch everything anyways.

Toggle quote (3 lines)
>> running on native wayland
> What was the workaround/solution? Personally it receives the order to use WayLand

I didn't do anything special, I just open zen and it is already native wayland,
no tweaks, no flags, no nothing, just plain executing the `zen` command. My WM
also shows the window is native wayland, and I even use hardware accel from GPU
on native wayland with it just fine.
I do have couple env vars for wayland set: QT_QPA_PLATFORM=wayland
XDG_SESSION_TYPE=wayland XDG_CURRENT_DESKTOP=Hyprland

Toggle quote (3 lines)
>> use the channel
> Last time I messed with channels I've had to maintain a whole version control system **just** to figure out what wasn't working, took me, idk, months of maintenance time, weeks of mind time and maybe hours/day of actual time. Maybe you know a foolproof way or something?

I'm not sure, I've never had any problems with using channels. Outside of what
we already have in the manual for how to use channels, I just make sure the
package symbols I'm using on my config match the ones I want to use (sometimes
channels duplicate them, then using #:hide or #:select for modules help) and
that's about it. If anything, guix pull lets you roll back if something breaks.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73103@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73103
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch