I'm working with a dual multilib setup and have come across a couple of minor issues: 1. Tests: 'use amd64' instead of '[[ $ABI = amd64 ]]' 2. ABI dependent variable exported in ebuild-level scope Changes in patch form below. Should cause no change in behaviour for the vast majority of people. :)
Created attachment 213013 [details, diff] chromium-4.0.266.0.ebuild patch
Hmm, forgot to say... I added a test in there to set ia32 as target when x86 is the ABI. This is currently the default build target in chromium. However, I thought it would make sense to protect against possible future changes in the build system, e.g. detection of the processor, which might cause problems down the line.
Thanks for the patch! I've applied the changes to 4.0.266.0 and 9999 ebuilds
Reverted by changes in 301652. I'm going to see if I can find a way to fix this without causing problems with cross compiling systems.
I just sent you an email on this, but apparently you already spotted it ;) Reopening and CC-ing new co-maintainer
I've been investigating to get this right. Basically, I wanted to make sure it will even work if someone has a cross-compiler on (or even for) a multilib system. There are a few ways of setting up cross-compilers, some a bit outdated, so I wanted to make it as correct as possible. - ABI only gets set if the active profile is a multilib one. A cross-compiler on a multilib system will not have it set. A cross-compiler that is a multilib compiler also will have ABI set to correct values. - ARCH gets set on every system, but it is possible for it to not be correct on multilib. Otherwise it should be correct (and is equivalent to the 'use somearch' test). That leads to the following logic: local myarch="$ABI" [[ $myarch = "" ]] && myarch="$ARCH" if [[ $myarch = amd64 ]] ; then myconf="${myconf} -Dtarget_arch=x64" elif [[ $myarch = x86 ]] ; then myconf="${myconf} -Dtarget_arch=ia32" elif [[ $myarch = arm ]] ; then myconf="${myconf} -Dtarget_arch=arm -Ddisable_nacl=1 -Dv8_use_snapshot=false -Dlinux_use_tcmalloc=0" else die "could not determine arch to build chromium for, got myarch='${myarch}'" fi I've added the else clause so that if chromium starts working on any other arches, another line needs to be added to the if statement. It's annoying, but until chromium gets a proper build system that makes things for the right arch, I think it's better for it to be explicitly set by portage like this. Giacomo do you want to test this to make sure it works for you too?
amd64, could you suggest the best course of action / validate the posted patch? Feel free to modify the ebuilds too. TIA.
Pacho, could you comment on https://bugs.gentoo.org/show_bug.cgi?id=296917#c6 ? Does it look good to you?
(In reply to comment #8) > Pacho, could you comment on https://bugs.gentoo.org/show_bug.cgi?id=296917#c6 ? > Does it look good to you? > Sadly I don't know what is the best way to go :-(, but I am CCing QA team since they will know much more than me on this for sure
(In reply to comment #6) Thanks for the suggested patch, I applied it to the most recent chromium ebuilds.