Skip to content

Add NodeJS_16, with Apple Silicon support #2869

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

Merged
merged 10 commits into from
May 4, 2021

Conversation

jeremiahpslewis
Copy link
Contributor

@jeremiahpslewis jeremiahpslewis commented Apr 21, 2021

@jeremiahpslewis
Copy link
Contributor Author

jeremiahpslewis commented Apr 21, 2021

@MichaelHatherly This was a bit of a shot in the dark and leans entirely on your work, but the checks appear to have succeeded 🤞 . If you have a chance to give this a quick review / any feedback, would be thrilled. :)

@MichaelHatherly
Copy link
Contributor

Are you able to confirm locally that the built artifact for apple silicon does actually work?

@giordano
Copy link
Member

If we're going to have multiple parallel versions of NodeJS, it'd be better to have them in N/NodeJS/NodeJS_*/ directories, perhaps with a common build script if they're all the same across all versions.

@jeremiahpslewis
Copy link
Contributor Author

Are you able to confirm locally that the built artifact for apple silicon does actually work?

Yep, just did, it works!

@jeremiahpslewis
Copy link
Contributor Author

@giordano Think a common script might be overkill, given that the build script itself is 10 lines long and everything else is config / boilerplate. Folder structure is updated. Thoughts?

@davidanthoff
Copy link
Contributor

I think this is excellent! NodeJSBuilder supports more platforms (see here), could we add the remaining ones here as well?

@davidanthoff
Copy link
Contributor

Also, could we add NodeJS_14 as well? Would be good to have the current LTS release also supported. I would suggest that for the node 14 build we just repackage the x64 binaries for apple silicon, for node 14 only.

@MichaelHatherly
Copy link
Contributor

Also, could we add NodeJS_14 as well?

#2739 has had the package name changed to NodeJS_14 in e278dc3.

@davidanthoff
Copy link
Contributor

Ah, didn't see that!

@jeremiahpslewis
Copy link
Contributor Author

@davidanthoff added the missing platforms with some caveats:

i686 on Linux doesn't seem to be supported as a built node binary: https://github.com/nodesource/distributions#faq
Likewise for FreeBSD...nodejs/node#3716

@davidanthoff
Copy link
Contributor

Ah, yes, this is actually a better reflection of what gets currently packaged in NodeJSBuilder. I think the only platform that I'm packing there that isn't packaged here in this PR yet is linux arm7?

@jeremiahpslewis
Copy link
Contributor Author

@davidanthoff oops, failed to push, recheck now

Copy link
Contributor

@davidanthoff davidanthoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fantastic, I'd say we merge!

@MichaelHatherly
Copy link
Contributor

@jeremiahpslewis if you'd like to PR similar changes, if they're needed, against my nodejs 14 branch then we can sort that one out as well?

@jeremiahpslewis
Copy link
Contributor Author

jeremiahpslewis commented May 4, 2021

Gladly, it's now done, please see here: https://github.com/MichaelHatherly/Yggdrasil/pull/2ase

@MichaelHatherly
Copy link
Contributor

Gladly, it's now done, please see here: MichaelHatherly/Yggdrasil/pull/2ase

Thanks.

Copy link
Contributor

@davidanthoff davidanthoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we merge this? Who can actually merge this?

@giordano giordano enabled auto-merge (squash) May 4, 2021 17:09
@giordano giordano merged commit 60dbe06 into JuliaPackaging:master May 4, 2021
@jeremiahpslewis jeremiahpslewis deleted the node16 branch May 5, 2021 16:26
@quinnj quinnj mentioned this pull request Jul 10, 2022
# The products that we will ensure are always built
products = [
ExecutableProduct("node", :node),
FileProduct("bin/npm", :npm),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jeremiahpslewis, sorry for the ping on an old PR, but any reason in particular npm isn't an ExecutableProduct? instead of FileProduct?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because that's not a binary executable, but a script which needs an interpreter (node in this case)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, makes sense. so usage would be run('$node $npm ...'), right?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, or something like that.

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

Successfully merging this pull request may close these issues.

5 participants