[chromium-packagers] more thoughts on porting Chromium to FreeBSD

Torne (Richard Coles) torne at chromium.org
Mon Mar 10 10:16:55 UTC 2014


On 10 March 2014 09:20, René Ladan <rene at freebsd.org> wrote:

> Hi,
>
> [this is an updated rewrite of an earlier private mail]
>
> some more thoughts and ideas I gathered while porting Chromium to FreeBSD:
> - FreeBSD seems to piggy-back on Linux too much because ninja will build
> *_linux files on FreeBSD which might or might not be useful. I guess
> that ideally there should be *_freebsd versions of these files and the
> build system should know about them. If I understand correctly, this
> should prevent the need for patches like:
> +        ['OS=="freebsd"', {
> +         'sources/': [
> +           ['exclude', '^browser/storage_monitor/udev_util_linux.cc'],
> ....
> where linux files are explicitly excluded afterwards. Which leads to the
> question what file(s) decide that FreeBSD should build *_linux files.
>

"linux" in the chromium tree means a lot of different things depending on
context; in some places it means "thing that depends on Linux-specific C
library/syscall functionality" (e.g. most uses in src/base), but in other
places it means "POSIX system with a GNOME/KDE/similar desktop" and is
mostly about dbus and xdg and related stuff. I'm not sure whether you'll do
better by including linux sources by default and excluding the ones that
aren't appropriate for *BSD, or excluding them and then re-including the
ones that are relevant (you don't want to have to write a BSD-specific
version of anything that isn't absolutely necessary).


> - GN probably needs to be ported to FreeBSD to be able to continue
> bootstrapping the build. I sent tickets for this after making the
> bootstrap binary run on both FreeBSD 8.4-i386 (oldest supported version
> of we omit FreeBSD 8.3 which will expire after April) and FreeBSD
> 10.0-amd64 (latest release). The main ticket is 180743014 which depends
> on tickets 178193018 and 185713005.
>

Just to let you know, the gn project is being put on hold and the
invocations of it are going to be removed from chromium's build process:
see
https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/gn/chromium-dev/LQKLbTU-PuU/8akR_c84JZ8J.
It's probably not worth you putting much/any effort into this right
now.


> - Possibly related to GN is this error that I get when running "ninja -C
> out/Release" in my tip-of-tree git checkout:
> ninja: Entering directory `out/Release'
> ninja: error:
> '../../chrome/renderer/resources/extensions/bluetooth_custom_bindings.js',
> needed by 'gen/chrome/grit/renderer_resources.h', missing and no known
> rule to make it
>

This isn't related to gn; grit is the normal resource generation tool. If
this doesn't work then the hooks haven't run correctly, or the revision you
have is broken.


> - some knobs seem to be half-handled (e.g. use_system_libusb).
> Concerning use_system_ knobs, would it be best to use as much system
> libraries as possible? This would reduce the build time and the number
> of patches. But on the other hand, testing more bundled libraries would
> increase robustness.
>
> - I made a port of Chromium 34.0.1847.45 to FreeBSD, see
> https://github.com/gliaskos/freebsd-chromium (beta branch). This is
> currently only build-tested and has some ugly hacks. I remember someone
> else made a similar port, maybe we can combine efforts?
>
> - At some point it would be really nice to have official FreeBSD build
> bots, but this is probably only useful after a clean git checkout builds
> on FreeBSD.
>
> Regards,
> René
>
> --
> You received this message because you are subscribed to the Google Groups
> "chromium-packagers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to chromium-packagers+unsubscribe at chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/chromium-packagers/531D83D1.2050005%40freebsd.org
> .
>


More information about the freebsd-chromium mailing list