Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider gyp.js? #960

Closed
indutny opened this issue Jun 17, 2016 · 20 comments
Closed

Consider gyp.js? #960

indutny opened this issue Jun 17, 2016 · 20 comments

Comments

@indutny
Copy link
Member

indutny commented Jun 17, 2016

Hello everyone!

We're working on https://github.com/indutny/gyp.js , which is a port of GYP to Node.js. I think the project is reaching the point when it could be actually used as an alternative "backend" for node-gyp.

What do you think about bundling it here under a flag to see how well it will work?

Thank you,
Fedor.

@Fishrock123
Copy link
Contributor

What do you think about bundling it here under a flag to see how well it will work?

I think that is an excellent starting point.

I suppose a flag would just change the child-process invocation to gyp.js?

Not sure I'm the best person to lead on this though, I'm pretty pre-occupied.

@indutny
Copy link
Member Author

indutny commented Jun 17, 2016

@Fishrock123 yep, the flag will just do this.

@indutny
Copy link
Member Author

indutny commented Jun 17, 2016

Though, important thing about gyp.js is that it may not work on older versions of node, because of extensive ES6 usage. Is this going to be a problem for us, or can we manage it through semver?

@Fishrock123
Copy link
Contributor

@indutny We might be able to transpile it back. Does it work on v4 or just v6?

@indutny
Copy link
Member Author

indutny commented Jun 17, 2016

Just v6 at the moment.

pmed added a commit to pmed/node-gyp that referenced this issue Jun 19, 2016
See issue nodejs#960

Added initial `gyp.js` support with --gypjs command line option.
Environment variable `npm_config_gypjs` also turns this option on.

Update configure and build usage strings depending on `npm_config_gypjs`
environment variable
pmed added a commit to pmed/node-gyp that referenced this issue Jun 19, 2016
Added description for new command-line options and environment variables.

See: nodejs#960
@pmed
Copy link
Contributor

pmed commented Jun 20, 2016

@indutny See PR: #962

pmed added a commit to pmed/node-gyp that referenced this issue Jun 20, 2016
See issue nodejs#960

Added initial `gyp.js` support with --gypjs command line option.
Environment variable `npm_config_gypjs` also turns this option on.

Update configure and build usage strings depending on `npm_config_gypjs`
environment variable.

Set `npm_config_gypjs` env variable if `--gypjs` command-line option
was set to affect usage text for `configure` and `build` commands.

Update usage strings if `--gypjs` command-line option was supplied
pmed added a commit to pmed/node-gyp that referenced this issue Jun 20, 2016
Added description for new command-line options and environment variables.

See: nodejs#960
pmed added a commit to pmed/node-gyp that referenced this issue Jun 20, 2016
Added description for new command-line options and environment variables.

See: nodejs#960
pmed added a commit to pmed/node-gyp that referenced this issue Jun 23, 2016
See issue nodejs#960

Added initial `gyp.js` support with --gypjs command line option.
Environment variable `npm_config_gypjs` also turns this option on.

Update configure and build usage strings depending on `npm_config_gypjs`
environment variable.

Set `npm_config_gypjs` env variable if `--gypjs` command-line option
was set to affect usage text for `configure` and `build` commands.

Update usage strings if `--gypjs` command-line option was supplied

Trying to load gyp.js module only if --gypjs command-line option was supplied.
pmed added a commit to pmed/node-gyp that referenced this issue Jun 23, 2016
Added description for new command-line options and environment variables.

See: nodejs#960
pmed added a commit to pmed/node-gyp that referenced this issue Jul 9, 2016
See issue nodejs#960

Added initial `gyp.js` support with --gypjs command line option.
Environment variable `npm_config_gypjs` also turns this option on.

Update configure and build usage strings depending on `npm_config_gypjs`
environment variable.

Set `npm_config_gypjs` env variable if `--gypjs` command-line option
was set to affect usage text for `configure` and `build` commands.

Update usage strings if `--gypjs` command-line option was supplied

Trying to load gyp.js module only if --gypjs command-line option was supplied.
@indutny
Copy link
Member Author

indutny commented Aug 10, 2016

@rvagg sorry, but I have feeling that we are not moving fast enough on this. Is there any way to expedite the review process? Should we invite more collaborators to this project?

indutny pushed a commit to indutny/node-gyp that referenced this issue Jan 20, 2017
See: nodejs#960

Added initial `gyp.js` support with --gypjs command line option.
Environment variable `npm_config_gypjs` also turns this option on.

Update configure and build usage strings depending on `npm_config_gypjs`
environment variable.

Set `npm_config_gypjs` env variable if `--gypjs` command-line option
was set to affect usage text for `configure` and `build` commands.

Update usage strings if `--gypjs` command-line option was supplied

Trying to load gyp.js module only if --gypjs command-line option was supplied.
@prasannavl
Copy link

It's been quite a while. Any update on the state of things?

@refack
Copy link
Contributor

refack commented Jun 8, 2017

I'll follow up on #962 #1092

@stalkerg
Copy link

@JamesMGreene
Copy link

@stalkerg: Hmm, maybe, but AFAICT, that:

  • was last updated in April,
  • has merge conflicts,
  • has not been reviewed, and
  • has not been merged.

😢

@stalkerg
Copy link

ah... but I hope this problem is will fix

@refack
Copy link
Contributor

refack commented Jul 11, 2017

Good news: https://chromium-review.googlesource.com/c/479691

@stalkerg thank you for bringing this to attention

@huan
Copy link

huan commented Jul 24, 2017

+1

@Pomax
Copy link

Pomax commented Aug 19, 2017

It's been quite a while again, any update on the state of things? Removing the dependency on Python is super valuable for people who are JavaScript developers, not Python developers. Especially for those of us who need (or like) to use Windows (which does not come with any version of Python, and so anyone who is told they need python will download whatever is the latest version of Python. And then node-gyp still doesn't work. In 2017 =)

@refack
Copy link
Contributor

refack commented Aug 20, 2017

@Pomax it's just a matter of limited resources... If you want to try and follow up on the work that's been done, I'd be very happy to help.
Good starting point: #1092

@ArmorDarks
Copy link

ArmorDarks commented Sep 3, 2017

Won't it add dependencies on Ninja and C/C++ compilers, kinda making no difference, with C dependency instead of Python?

Ops, sorry. I was sure that I was referenced here from https://github.com/lovell/sharp and didn't notice that it is node-gyp repository, not sharp's one.

@piranna
Copy link

piranna commented Sep 3, 2017

Won't it add dependencies on Ninja and C/C++ compilers, kinda making no difference, with C dependency instead of Python?

In any case, you currently has C dependencies for natives modules, in fact it would be really difficult to erradicate them...

@gibfahn
Copy link
Member

gibfahn commented Sep 3, 2017

@ArmorDarks GYP/Ninja/Cmake etc. are meta-build systems, they just generate the right Makefiles for each platform. The C/C++ compilation still has to be done whatever system you use.

@rvagg
Copy link
Member

rvagg commented Jun 20, 2019

closing this with much sadness, gyp.js would have been nice but we were never organised enough to pull it of and @indutny has moved on now from it. If someone wants to pick this up again and push forward then please open a fresh PR and let's talk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests