Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.

Forming a GYP WG #110

@refack

Description

@refack

Follow up to #2

I suggest we form a GYP WG, and I volunteer to be the first member :).
The main goal of the WG will be to replace the GYP tool thus removing the python requirement from native modules (nodejs/node-gyp#629).
As an interim solution I suggest we fork GYP into the org, and minimally maintain it in a centralized, and managed manor (in #2 @rvagg suggests "We could consider taking over GYP from Chromium, either officially or by forking it" I'll try to talk with them about a hand off. If anyone can help as well?).

Reasoning

  • It seems like the de-facto situation for the foreseeable future, is that we will continue to use .gyp files to scaffold our build system, and to build native add-ons.
  • IMHO for the time being we are stuck with the GYP tool (until @indutny's gyp.js matures 🤞)
  • Since GYP has been almost abandoned by chromium (at present there are 3 google stakeholders in GYP), pushing changes upstream is very slow.
  • So we are floating two sets of patches in node-gyp and in node/tools (and a secret one in deps/npm)
  • We don't explicitly regression test these patch sets:
    1. In node it just has to work, but sometimes regressions creep in use cases that are not covered by the CI (ninja build failure on master node#12448)
    2. node-gyp has a test-suite but it mainly tests the JS wrapper around GYP so again sometimes regressions creep in (Weird error MSB6006: "cmd.exe" exited with code 1 on some packages node-gyp#1151)
  • We don't have a knowledgebase for how to write good .gyp files. Institutional knowledge is highly fragmented in comments and issue threads...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions