Conversation
The original upstream hasn't been maintained for some time now. I've copied https://github.com/nodejs/node/tree/master/tools/gyp to https://github.com/libuv/gyp after stripping it down a bit. Let's point users to that. I'll work on getting it tested on the CI, too. Refs: libuv/help#126 Refs: nodejs/build#2172
|
What is Node’s current upstream? I guess we could just use that since Node has a much larger gyp dependency than we do. |
|
Slightly more controversial :-) How about we remove support for it, since Google has abandoned it? Node could keep the gypfiles around maybe? |
|
FWIW, I'd be in favor of dropping gyp completely. |
Officially it doesn't have one. There's some work to sync the copies of gyp in nodejs/node (for building Node.js) and nodejs/node-gyp (for building addon modules) (nodejs/node#30563 and nodejs/node-gyp#1975) but neither of those are upstream of each other either. (Somewhat related discussion in node-gyp, nodejs/node-gyp#1791). |
|
|
||
| ```bash | ||
| $ git clone https://chromium.googlesource.com/external/gyp build/gyp | ||
| $ git clone https://github.com/libuv/gyp build/gyp |
There was a problem hiding this comment.
Chromium's copy of gyp contains patches for z/OS (e.g. https://chromium-review.googlesource.com/c/external/gyp/+/644712/) which are not in https://github.com/nodejs/node/tree/d0413ae8f92aa0591506ff115f21ec0ae2591e62/tools/gyp that was used to seed https://github.com/libuv. This isn't evident from CI as currently the a copy of gyp served from Jenkins (nodejs/build#2172) is used.
|
I'm good with dropping gyp. Node's already on the hook for maintaining all the other gyp builds of its dependencies. It'll need some tweaks to the CI though. |
|
Then how about we do that? The vcbuild.bat script would need changes too, I guess we can switch to using CMake there but keep the CLI commands to make sure scripts continue to work. |
|
I'd get rid of vcbuild.bat and make cmake the official way of building on Windows. It duplicates a lot of functionality that cmake provides out of the box. The android build scripts currently depend on gyp too but I'm 80% sure the cmake build already works for that platform (and is otherwise easy to fix.) I'll open a PR to kick off the discussion. |
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. Refs: libuv#2681
|
Awesome! I do volunteer to help fix Jenkins or whatever necessary. I should have time for it next week! |
|
Most of the linux CI jobs are built using autotools. The two exceptions are on ubuntu 14.04 (EOL) so I've requested their removal: nodejs/build#2174 The remaining jobs that need an update are zos and windows. I did some research and cmake-on-zos is a thing these days. I'm reasonably sure I got the If cmake doesn't pick up the right compiler, edit: nodejs/build#2175 - I'd make a great manager: delegate, delegate, delegate! |
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. Refs: libuv#2681
|
@bnoordhuis since we're planning to remove gyp support, should this just be closed or what? |
|
Yep, closing. |
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. Refs: libuv#2681
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. Refs: libuv#2681
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. Refs: libuv#2681
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. Refs: libuv#2681
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. Refs: libuv#2681
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. PR-URL: libuv#2682 Refs: libuv#2681 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Santiago Gimeno <[email protected]> Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. PR-URL: libuv/libuv#2682 Refs: libuv/libuv#2681 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Santiago Gimeno <[email protected]> Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
Upstream GYP has been unmaintained for some time now. The only big downstream user is Node.js and they already maintain GYP build files for their other dependencies. This commit removes vcbuild.bat because: 1. it's entirely built around GYP, and 2. duplicates a lot of functionality that cmake provides out of the box This commit also removes appveyor.yml. It hasn't been used after we stopped providing prebuilt binaries for Windows about two years ago. As if that isn't enough, this commit also removes the Android build scripts. They were wrappers around GYP. Use CMake. PR-URL: libuv/libuv#2682 Refs: libuv/libuv#2681 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Santiago Gimeno <[email protected]> Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
The original upstream hasn't been maintained for some time now.
I've copied https://github.com/nodejs/node/tree/master/tools/gyp to
https://github.com/libuv/gyp after stripping it down a bit. Let's
point users to that. I'll work on getting it tested on the CI, too.
Refs: libuv/help#126
Refs: nodejs/build#2172
CI: https://ci.nodejs.org/job/libuv-test-commit/1755/