Currently, all www-client/chromium ebuilds "hard" require the non-free unRAR license, but there has been a singular toggle to specifically disable the unRAR code "for license reasons" since chromium-128.0.6575.0 which, at the time of writing, has remained unchanged since. ``` index b479afb..d968760 100644 --- a/components/safe_browsing/buildflags.gni +++ b/components/safe_browsing/buildflags.gni @@ -21,5 +21,5 @@ declare_args() { } # Allows building without //third_party/unrar included, for license reasons - safe_browsing_use_unrar = true + safe_browsing_use_unrar = false } ``` On the face of it, the same patch should work for all of the chromium ebuilds currently available, and should allow for removing the unRAR license when toggled to false, but I have only tested it on =www-client/chromium-138.0.7180.2 Reproducible: Always Steps to Reproduce: Attempting to emerge chromium without accepting the unRAR license. Actual Results: It mandatorily requires ACCEPT_LICENSE=unRAR which isn't in @FREE. Expected Results: In my mind, this requirement should be able to be toggled by an USE flag, as there already is a toggle specifically for this in chromium's sources. I now realise that what I actually ended up asking for in https://bugs.gentoo.org/956123 was an unending maintenance task to support and continue supporting disabling safe browsing at compile time, and I couldn't even get those changes to work in all of the versions myself, which meant was even asking for more work to be done right now. Moreover, all of the safe-browsing features are able to be manually disabled through in-application settings, although the settings do a poor job (I now think it's almost deliberately poor) of explaining what the features actually do, and I guess the "legal" defence for this would be something like "Users who would care about things like this would be expected to be able to read the privacy implications from between the lines". However, just focusing on the unRAR license issue; it looks like the potential need for removing it has already been answered by upstream and can be done though this single toggle since chromium-128.0.6575.0 where it was introduced in this 2024-07-03 commit: https://github.com/chromium/chromium/commit/bb2d00f2245e7cbdd51114bc9b520be8b7e7cceb 322 days ago. That commit is still the last to modifify components/safe_browsing/buildflags.gni
Hopefully we can actually set that via the GN invocation, then purge `unrar` from keeplibs and still be able to successfully build. Once this week's stable bump is finished building I'll play with the ebuild and see if the implementation is quick and easy; adding USE=rar sounds quite reasonable if we're not going to have to constantly patch it.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1594d30d115173529685783a7a94d656300c911f commit 1594d30d115173529685783a7a94d656300c911f Author: Matt Jolly <kangie@gentoo.org> AuthorDate: 2025-05-22 00:16:53 +0000 Commit: Matt Jolly <kangie@gentoo.org> CommitDate: 2025-05-22 05:44:46 +0000 www-client/chromium: add 137.0.7151.40 This commit changes the way that `myconf_gn` works, making it an array and allowing significant reduction in boilerplate. We're also able to better group and order GN args. Additionally USE=`rar` is added, which controls whether or not the "Safe Browsing" component will use unRAR licenced code. Closes: https://bugs.gentoo.org/956390 Bug: https://bugs.gentoo.org/956400 Signed-off-by: Matt Jolly <kangie@gentoo.org> www-client/chromium/Manifest | 2 + www-client/chromium/chromium-137.0.7151.40.ebuild | 1551 +++++++++++++++++++++ www-client/chromium/metadata.xml | 1 + 3 files changed, 1554 insertions(+) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53a98c48592576c564e856c3e191ba0f00e0013e commit 53a98c48592576c564e856c3e191ba0f00e0013e Author: Matt Jolly <kangie@gentoo.org> AuthorDate: 2025-05-22 05:19:59 +0000 Commit: Matt Jolly <kangie@gentoo.org> CommitDate: 2025-05-22 05:44:46 +0000 www-client/chromium: 138A: add USE=rar Also sync with M137-style `myconf_gn` as array for maintainability. Bug: https://bugs.gentoo.org/956390 Signed-off-by: Matt Jolly <kangie@gentoo.org> www-client/chromium/chromium-138.0.7180.2.ebuild | 481 +++++++++++------------ 1 file changed, 237 insertions(+), 244 deletions(-)
Thanks for the pointer, unRAR code is now deleted without USE=rar and the build succeeds so I think that's fine to roll out. I'm not going to action 136 as we'll be dropping that from the tree ASAP anyway.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a53429cb4d66d41932d3fca4d14b0c6339aff73 commit 4a53429cb4d66d41932d3fca4d14b0c6339aff73 Author: Matt Jolly <kangie@gentoo.org> AuthorDate: 2025-05-22 06:42:38 +0000 Commit: Matt Jolly <kangie@gentoo.org> CommitDate: 2025-05-22 06:48:14 +0000 www-client/chromium: 138 correct path `rar` -> `unrar` Bug: https://bugs.gentoo.org/956390 Closes: https://bugs.gentoo.org/956420 Signed-off-by: Matt Jolly <kangie@gentoo.org> www-client/chromium/chromium-138.0.7180.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)