From owner-freebsd-chromium@FreeBSD.ORG Mon Mar 10 16:13:22 2014 Return-Path: Delivered-To: chromium@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 95BAEE27 for ; Mon, 10 Mar 2014 16:13:22 +0000 (UTC) Received: from mail-bk0-x22c.google.com (mail-bk0-x22c.google.com [IPv6:2a00:1450:4008:c01::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 243FFCA0 for ; Mon, 10 Mar 2014 16:13:21 +0000 (UTC) Received: by mail-bk0-f44.google.com with SMTP id mz13so1212453bkb.31 for ; Mon, 10 Mar 2014 09:13:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=5x/1dOVMUNJcYiFPRrfe9vY+43ORa6Emtn7BH/Z1Jss=; b=yaxkL+hFnEbqsqlrhX4ZyCUz/HPjCZtVQXYK42sbLKCtVb4fN79QbKAYxaS5UT4Voz tGg2h9CCKvu19cK3AsX9e8dPZlODnOb0PGNIR+7/AvH5D2/2DFxtGWSUSK8SfwPwRFQI LoKsZ8oAvAGJkC4R/DmIgjUqzTIXpB7l4XFEMHLWtmSCcg+hyts2hl8peyft/jroZ3zL 6tg1D2vmhgQ2WJPtEpWi3vYNd9ca5yy6WrMQ8zJKB0nP/S1RPxKLJnjadWg/9Qo79gjk dV/Vb+pp2KzXyT0utBILUjg3eE9v+H2XVI4tjWf6vq/ksqZdBdlH/7XXrj63sEv3jTbq rvAQ== X-Received: by 10.205.14.196 with SMTP id pr4mr13854bkb.89.1394468000373; Mon, 10 Mar 2014 09:13:20 -0700 (PDT) Received: from ?IPv6:2001:980:d7ed:1:85db:cc90:55c9:64ad? ([2001:980:d7ed:1:85db:cc90:55c9:64ad]) by mx.google.com with ESMTPSA id p5sm12210851bkh.1.2014.03.10.09.13.18 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 10 Mar 2014 09:13:19 -0700 (PDT) Sender: =?UTF-8?Q?Ren=C3=A9_Ladan?= Message-ID: <531DE49E.8000207@freebsd.org> Date: Mon, 10 Mar 2014 17:13:18 +0100 From: =?UTF-8?B?UmVuw6kgTGFkYW4=?= User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: "Torne (Richard Coles)" Subject: Re: [chromium-packagers] more thoughts on porting Chromium to FreeBSD References: <531D83D1.2050005@freebsd.org> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: chromium-packagers@chromium.org, chromium@freebsd.org X-BeenThere: freebsd-chromium@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: FreeBSD-specific Chromium issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Mar 2014 16:13:22 -0000 On 03/10/2014 11:16, Torne (Richard Coles) wrote: > On 10 March 2014 09:20, René Ladan > 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), So in this case _freebsd versions should be made? > but in other places it means "POSIX system with a GNOME/KDE/similar > desktop" and is mostly about dbus and xdg and related stuff. and in this case probably not. Should the _linux files be renamed to something more generic (_posix, _unix_desktop, ...) ? > 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). Hm, there does not seem to be a hard rule here. Somehow having dedicated _freebsd files looks cleaner but that does impose more work. > > > - 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. Ah, I sent in those tickets just before this was announced. But only the first one is specific to GN, the other two are more generic. > > > - 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. Woops, this was because my script was running gyp_chromium with a vanilla GN (which does not know about FreeBSD) and therefore it never runs GYP before invoking ninja. It runs fine again apart from expected breakage. Regards, René