-
Notifications
You must be signed in to change notification settings - Fork 36
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
[gyp_installer] Usage of GYP's Command Expansions leads to an AttributeError exception #851
Comments
We certainty shouldn't maintain our own fork of gyp. Node.js relies on gyp heavily, and they are discussing right now if they want to maintain gyp in their org. If they decide for that, we should switch to this. If not, looking for alternatives maintainers or considering freezing it. I believe gyp_installer got only added because it is a dependency of another package? |
I don't know actually, but this was extremely useful at least for me to install it from Conan. |
Yeah, it would be nice having another alternative. @SSE4 spent a lot of time fixing our fork. If we could use node version I would be happy, at least they are updating more frequently than us. |
if they have added python3 compatibility to the official repo, we may try to use that, that's great news |
They have (if we're about Google), but its Ninja generator doesn't work properly on Windows and fails on |
okay, and what about nodejs/npm, do they use their own fork of gyp or just Google's repository? |
It seems that they use a their own fork: |
okay then, let's try to migrate to node-gyp, for me it looks like the best option for now |
for @Croydon : gyp installer was added because some package use it as build system, for instance |
Google is barely maintaining GYP, it's pretty much dead for them as they have moved on to other build systems. The Node.js community has still several discussion ongoing about the future of their build system, but in the short term they are likely going to migrate to another fork which has Python 3 support, see: nodejs/node#26620 So we could use https://github.com/refack/GYP |
See nodejs/node#26620 and bincrafters/community#851 for further reasoning
Python 2 works with this GYP fork. Python 3 fails currently with this error https://ci.appveyor.com/project/bincrafters/conan-gyp-installer/build/job/2pin2muby1qphq74#L412 even though they are supposed to have fixed that https://github.com/refack/GYP/blame/master/gyp/generator/xcodeproj_file.py#L160 maybe we should try to push @uilianries patch upstream as he removed the |
Actually, they should merge https://chromium.googlesource.com/external/gyp/+/aca1e2c3d346d704adfa60944e6b4dd06f4728be |
Created issue: refack/GYP3#48 |
@cher-nov You spoke out against replacing our fork with the upstream version, why? |
Because of this: #851 (comment). |
We decided a while ago to archive our gyp recipe. https://github.com/bincrafters/conan-gyp_installer
|
CC @uilianries @SSE4
Notes
This is seems to be caused by the next piece of code:
https://github.com/bincrafters/gyp/blob/cc91d1b0dc0375a9087974a8fd09fe9539a6ab3e/pylib/gyp/input.py#L898-L905
The problem is
universal_newlines=True
. The Python3 documentation states next:Note that there's also many
universal_newlines=True
in the other places, introduced in by the bincrafters/gyp@067a33b.Also note that there's much more Python3 compatibility fixes appeared in the official repo, so it's maybe have sense to rebase onto it (not replacing with it!) the Bincrafters version (moreover, their version seems to retain compatibility with Python2).
Steps to reproduce
Run on Linux:
python3 gyp/gyp_main.py --depth=. --format=gypd lemme_die.gyp
Contents of
lemme_die.gyp
:Logs
Package and Environment Details
Conan configuration
The text was updated successfully, but these errors were encountered: