-
-
Notifications
You must be signed in to change notification settings - Fork 443
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
Add node multi-arch/cross-compilation support #195
Add node multi-arch/cross-compilation support #195
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! This seems pretty straightforward to me.
print('ERROR: --node_arch is required') | ||
return 1 | ||
if node_arch.startswith('..\\'): | ||
node_arch = node_arch[3:] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jack-signal, do you remember what this ..\
check is for? It doesn't seem like any of these would come up in arguments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's certainly not supposed to. But it was showing up when invoked via gyp
on Windows. I think the way gyp
(or possibly Python) are parsing command line arguments on Windows is wrong, but fixing that was more than I wanted to deal with.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I also had it show up on Windows, very weird indeed... I think it's Python's parsing of command line arguments on Windows though, rather than Gyp, IIRC
6e2cfba
to
e20408c
Compare
ed9cfa5
to
0042e0d
Compare
- name: Get Node version from .nvmrc | ||
id: get-nvm-version | ||
shell: bash | ||
run: echo "::set-output name=node-version::$(cat .nvmrc)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is needed because the Windows image doesn't have nvm installed
Alright, this should be good to go now @jrose-signal. Thanks for the feedback! 🚀 |
Thanks for the contribution, and for working through all the follow-up! |
Needed for Apple Silicon/Windows arm64/Windows ia32
Ref signalapp/Signal-Desktop#3745 (comment)
Ref signalapp/Signal-Desktop#1636 (comment)
Ref signalapp/Signal-Desktop#4461
How to test:
npm_config_arch
is only needed when you're cross-compiling from a x64 host, e.g. x64 to ia32.Branch with generated binaries: https://github.com/dennisameling/libsignal-client-node/tree/cross-compilation-compat/build
Tested on: