[tor-project] Tor Browser Bundle on Guix

Possibly of interest to browser and/or guix folks -

I was experimenting with the [Guix System Distro] on my laptop, and managed to get Tor Browser Bundle running with a relatively new feature `--emulate-fhs`. Details below. I haven't messed with it too much yet, so I wouldn't be surprised if the runtime dependency list below is missing some, which may result in runtime errors.

It'd be nice to get it packaged properly, but probably not high priority in terms of wide user reach. It's essentially an OS for people who think [NixOS] is too mainstream :stuck_out_tongue_winking_eye:

Maybe I'll get around to poking at it sometime; they have other firefox variants in there (icecat), so that might be a reasonable starting point.

[Guix System Distro]: https://guix.gnu.org/
[NixOS]: https://nixos.org/

···

-------- Forwarded Message --------
Subject: re: Drafting a Guix blog post on the FHS container
Date: Fri, 16 Dec 2022 17:39:21 -0600
From: Jim Newsome <jim@sporksmith.net>
To: john.kehayias@protonmail.com, help-guix@gnu.org, guix-devel@gnu.org

Sorry for (presumably) breaking threading; I came across this online and don't see a way to set my in-reply-to-email header properly.

Anyways just thought I'd mention that I recently learned about this feature, and was able to use it to get a downloaded [Tor Browser Bundle] running with:

guix shell \
   --container \
   --network \
   --emulate-fhs \
   --preserve='^DISPLAY$'
   --share=/run/user/$(id -u)/gdm \
   openssl@1 \
   libevent \
   pciutils \
   dbus-glib \
   bash \
   libgccjit \
   libcxx \
   gtk+ \
   coreutils \
   grep \
   sed \
   file \
   alsa-lib \
   -- \
   ./start-tor-browser.desktop -v

`--preserve='^DISPLAY$'` and `--share=/run/user/$(id -u)/gdm` are to get access to the display. I'm not sure the second parameter is universally correct; I reverse-engineered it via roughly `ps aux | grep -- -auth`.

The `-v` parameter to the browser script keeps it from trying to background itself, which otherwise causes the container and browser to terminate.

It'd ultimately be nice to package the Tor Browser Bundle properly for guix, but it's nice to be able to use it this way in the meantime.

-Jim

[Tor Browser Bundle]: Tor Project | Download
_______________________________________________
tor-project mailing list
tor-project@lists.torproject.org
tor-project Info Page

So I think in general we (applications team) don't want to support every possible distribution format out there/be smart about which ones we *do* support in terms of maximizing reach/going where the users are.

But that said there are a few downstream re-packagers (Tails, torbrowser-launcher/ BSD, etc) that we don't want to break. If this is something you (or someone else) wants to build+maintain, then we can add you to the list of folks who get early notification of new browser releases, potentially breaking changes, etc. I think we're also generally in favor (within reason, case by case basis, etc) of taking patches to the browser itself for things which make downstream packaging easier or less complicated.

best,
-Richard

···

On 12/17/22 00:06, Jim Newsome wrote:

Possibly of interest to browser and/or guix folks -

I was experimenting with the [Guix System Distro] on my laptop, and managed to get Tor Browser Bundle running with a relatively new feature `--emulate-fhs`. Details below. I haven't messed with it too much yet, so I wouldn't be surprised if the runtime dependency list below is missing some, which may result in runtime errors.

It'd be nice to get it packaged properly, but probably not high priority in terms of wide user reach. It's essentially an OS for people who think [NixOS] is too mainstream :stuck_out_tongue_winking_eye:

Maybe I'll get around to poking at it sometime; they have other firefox variants in there (icecat), so that might be a reasonable starting point.

[Guix System Distro]: https://guix.gnu.org/
[NixOS]: https://nixos.org/

-------- Forwarded Message --------
Subject: re: Drafting a Guix blog post on the FHS container
Date: Fri, 16 Dec 2022 17:39:21 -0600
From: Jim Newsome <jim@sporksmith.net>
To: john.kehayias@protonmail.com, help-guix@gnu.org, guix-devel@gnu.org

Sorry for (presumably) breaking threading; I came across this online and don't see a way to set my in-reply-to-email header properly.

Anyways just thought I'd mention that I recently learned about this feature, and was able to use it to get a downloaded [Tor Browser Bundle] running with:

guix shell \
   --container \
   --network \
   --emulate-fhs \
   --preserve='^DISPLAY$'
   --share=/run/user/$(id -u)/gdm \
   openssl@1 \
   libevent \
   pciutils \
   dbus-glib \
   bash \
   libgccjit \
   libcxx \
   gtk+ \
   coreutils \
   grep \
   sed \
   file \
   alsa-lib \
   -- \
   ./start-tor-browser.desktop -v

`--preserve='^DISPLAY$'` and `--share=/run/user/$(id -u)/gdm` are to get access to the display. I'm not sure the second parameter is universally correct; I reverse-engineered it via roughly `ps aux | grep -- -auth`.

The `-v` parameter to the browser script keeps it from trying to background itself, which otherwise causes the container and browser to terminate.

It'd ultimately be nice to package the Tor Browser Bundle properly for guix, but it's nice to be able to use it this way in the meantime.

-Jim

[Tor Browser Bundle]: Tor Project | Download
_______________________________________________
tor-project mailing list
tor-project@lists.torproject.org
tor-project Info Page