Split into "current" version, as used by most things (aka gn),
and "gn1924", which uses a more recent version of gn which is
incompatible with the currently packaged version of v8 in nixpkgs.
We can't win, but I need a newer version of gn for envoy.
Note that the newer gn matches the version in Chromium's DEPS for
v93.0.4577.82, the current Linux stable build as of September.
This updates gn to the required version for chromiumDev (the recommended
version for the stable release of Chromium isn't sufficient [0]).
[0]: The Chromium build fails during the configuration phase:
ERROR at //mojo/public/tools/bindings/mojom.gni:393:16: Undefined identifier
"cpp_typemaps",
^-------------
For Git to work properly, I used fetchgit with leaveDotGit. This seems
to be causing hash to change on different systems in different times.
I've replaced generation of last_commit_position.h in tools/gen.py with
just plain nix template. "gn --version" will loose a bit (just commit
hash, without commit height in front of it), but I hope noone relies on
it.
Lots of packages are missing versions in their name. This adds them
where appropriate. These were found with this command:
$ nix-env -qa -f. | grep -v '\-[0-9A-Za-z.-_+]*$' | grep -v '^hook$'
See issue #41007.
On GNU/Linux the build references these files, so let's fetch them from
the Chromium repository. I haven't checked whether they are heavily
patched or whether we can use the version from LLVM, but when looking at
the changes, they do seem to divert a bit from upstream LLVM.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @matthewbauer, @stesie
The tarball from upstream seems to be generated on the fly, so the
output is not deterministic and using fetchzip makes this more reliable
as we have a recursively hashed output path without any of the
non-determinisms in tarballs.
Unfortunately, the build still fails on NixOS systems, because we need a
few more stuff in the build tree.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @matthewbauer, @stesie
This is the standalone version of GN used currently solely for building
Chromium. An upstream bug report is available at
https://crbug.com/504074 to support a standalone build without needing
various components from the Chromium source tree.
Because there isn't a standalone vrsion available, I'm choosing
0.0.0.${date} as the version scheme here so that we don't conflict with
versioned releases from upstream someday[TM].
Signed-off-by: aszlig <aszlig@redmoonstudios.org>