Subject: [bug#28004] Chromium

From: Marius Bakke <[email-masked]>
Date: Wed, 28 Feb 2018 18:14:08 +0100

ng0 <[email-masked]> writes:

> Marius Bakke transcribed 43K bytes:
>> ng0 <[email-masked]> writes:
>> 
>> > Marius Bakke transcribed 2.1K bytes:
>> >> Mike Gerwitz <[email-masked]> writes:
>> >> 
>> >> > On Tue, Jan 16, 2018 at 20:01:34 +0100, Marius Bakke wrote:
>> >> >> If there are no objections, expect to see this in 'master' in 1-2 weeks.
>> >> >
>> >> > I want to express gratitude for your hard work on this---given that
>> >> > IceCat does not contain many of the FF devtool updates, Chromium is very
>> >> > desirable for web development.  It's also needed for certain Node.js
>> >> > tools, like node-inspector.
>> >> >
>> >> > So, thank you!
>> >> 
>> >> Thank *you* for the kind words! :-)
>> >> 
>> >> Here is the latest iteration of this patch.  New in this version:
>> >> 
>> >> * Chromium 64 (duh).
>> >> * The 'delete-bundled-software' phase has been moved to a snippet,
>> >>   shaving ~100MiB (~22%) off the compressed tarball size (and
>> >>   drastically reduces (de)compression time).
>> >> * The New Tab page does not show any thumbnails for new profiles.
>> >
>> > I think you forgot to attach the patches :)
>> 
>> Derp.  I realized that and just used `git send-email`[0], but have
>> attached it here for convenience since the debbugs web UI doesn't allow
>> easy download of a raw message.
>> 
>> [0] https://debbugs.gnu.org/cgi/bugreport.cgi?msg=131;bug=28004#131
>>
>
> Comments inlined, some words ahead.
>
> I think it's good that we will be able to handle extensions via Guix.
> But: We should point it out that you won't be able to install extensions
> manually, via the store or as a file. People who betatested this got
> confused.

I haven't tested installing from a file.  Which error are you getting?

You can use extensions from the store by setting the variable
"CHROMIUM_ENABLE_WEB_STORE", as in Debian.  But I don't see a need to
document it since it's unsupported territory from a Guix viewpoint.

>> +             (substitute* "chrome/common/chrome_paths.cc"
>> +               (("/usr/share/chromium/extensions")
>> +                ;; TODO: Add ~/.guix-profile.
>> +                "/run/current-system/profile/share/chromium/extensions"))
>
>                    I don't know if I asked you about this in the past, but can you explain why you
>                    picked the run dir? I have to re-read the Gentoo eclass and Nix integration for this.

The plan is to package extensions with Guix and place them in
"out/share/chromium/extensions".  Then you would be able to install
extensions through the system profile, until a better solution is in
place (like a search path).

>> +                 (mkdir-p bin)
>> +                 ;; Add a thin wrapper to prevent the user from inadvertently
>> +                 ;; installing non-free software through the Web Store.
>> +                 ;; TODO: Discover extensions from the profile and pass
>> +                 ;; something like "--disable-extensions-except=...".
>
>                     To be able to work on this, can you (at least in this bug ticket,
>                     explain the TODO part a bit more?

This was inspired by Debians wrapper script, which discovers extensions
installed by Apt and composes this command line.  It allows disabling
the web store while still using extensions.  I'll see if I can improve
the comment.

Thanks for the feedback!