www/firefox may start requiring devel/gn or devel/chromium-gn in future. For now upstream bundles preprocessed GN->JSON files. Unfortunately, it doesn't work with devel/gn compared to devel/chromium-gn. Can you investigate? https://bugzilla.mozilla.org/show_bug.cgi?id=1534615 https://firefox-source-docs.mozilla.org/build/buildsystem/gn.html Environment: $ pkg install python27 $ hash git 2>/dev/null || pkg install mercurial $ hg clone https://hg.mozilla.org/mozilla-unified firefox || git clone https://github.com/mozilla/gecko-dev firefox $ cd firefox $ hg update central || git checkout origin/master $ echo "export CC=clang80 CXX=clang++80 # whichever mesa installs" >>.mozconfig $ echo "ac_add_options --disable-debug-symbols" >>.mozconfig $ ./mach bootstrap # select Firefox for Desktop Steps to reproduce: $ pkg install gn $ ./mach configure $ ./mach build-backend -b GnConfigGen 0:01.09 _virtualenvs/init/bin/python config.status --backend GnConfigGen Reticulating splines... 0:00.68 File already read. Skipping: modules/brotli/moz.build Running "/usr/local/bin/gn gen media/webrtc/trunk/webrtc/gn-output --args=is_debug=false host_cpu="x64" target_os="freebsd" target_cpu="x64" --ide=json" ERROR at //rtc_base/BUILD.gn:850:5: Only source, header, and object files belong in the sources of a source_set. //rtc_base/sigslottester.h.pump is not one of the valid types. "sigslottester.h.pump", ^--------------------- See //rtc_base/BUILD.gn:813:1: whence it was called. rtc_source_set("rtc_base_tests_utils") { ^--------------------------------------- See //BUILD.gn:288:7: which caused the file to be included. "rtc_base", ^--------- Traceback (most recent call last): File "config.status", line 1255, in <module> config_status(**args) File "python/mozbuild/mozbuild/config_status.py", line 145, in config_status the_backend.consume(definitions) File "python/mozbuild/mozbuild/backend/base.py", line 128, in consume if (not self.consume_object(obj) and File "python/mozbuild/mozbuild/gn_processor.py", line 550, in consume_object obj.gn_target) File "python/mozbuild/mozbuild/gn_processor.py", line 521, in generate_gn_config subprocess.check_call(gen_args, cwd=srcdir, stderr=subprocess.STDOUT) File "/usr/local/lib/python2.7/subprocess.py", line 190, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/local/bin/gn', 'gen', u'media/webrtc/trunk/webrtc/gn-output', u'--args=is_debug=false host_cpu="x64" target_os="freebsd" target_cpu="x64"', '--ide=json']' returned non-zero exit status 1
(In reply to Jan Beich from comment #0) I will look on it.
Currently (version 75) chromium uses outdated by 4 months bundled version of gn. The old behavior was changed by this https://gn.googlesource.com/gn/+/8730b0feb6b991fa47368566501ab9ccfb453c92 commit, when non-buildable sources in binary targets just ignored. So, it still worked with chromium-gn for now. But when chromium will update their copy of gn the situation will be the same.
Thanks. At worst a slave port just for www/firefox can be created. For now that future is too vague to do anything.