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

[Feature Request] Native Arm build for macOS #85

Open
shinra-electric opened this issue Jul 26, 2024 · 7 comments
Open

[Feature Request] Native Arm build for macOS #85

shinra-electric opened this issue Jul 26, 2024 · 7 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@shinra-electric
Copy link

This feature request is for one of two possibilities:

  • Two separate builds targeting x86 and Arm (simpler to build, end user may not be sure which to pick)
  • A single universal binary containing both x86 and Arm binaries (more involved to build, but simpler for the end user)

Currently there are two Mac releases:
PS4.Remote.PKG.Sender.V2-2.10.4-mac.zip
PS4.Remote.PKG.Sender.V2-2.10.4.dmg
They seem like identical x86 builds, the only difference being the delivery method (zip vs dmg). This seems a bit superfluous.

@Gkiokan
Copy link
Owner

Gkiokan commented Jul 26, 2024

Hi there. Thanks for the Issue.

Indeed, a non technical User may get confused with all the different releases, even though there is a Support for all Architectures.

The Mac Releases are exactly the same, just with the difference for the People who like the DMG Installer, they can pick it over the zip file which has the Single Executable file.

I think for covering the confusion, it will be worth to make a little Landingpage to guide the User on what to pick.

I am still on mac intel version, but the new arm processors of Mac should be capable of running x86 and x64 builds without hassle - at this scale there is no special x64 coding involved. Maybe even the Linux ones?

@Gkiokan Gkiokan added documentation Improvements or additions to documentation enhancement New feature or request labels Jul 26, 2024
@shinra-electric
Copy link
Author

I am still on mac intel version, but the new arm processors of Mac should be capable of running x86 and x64 builds without hassle - at this scale there is no special x64 coding involved.

The M-series Macs can certainly handle running the x86 versions through Rosetta, but it's extra overhead on top of Electron (which is notorious for being a slow resource hog).

How are you building the releases? Do you have any build instructions anywhere so people who would prefer a native version could build it themselves?

I don't think you use Github Actions, but this might be a good option for creating releases automatically...

@Gkiokan
Copy link
Owner

Gkiokan commented Sep 2, 2024

Sorry for the delay, I was on vacation.

Sure you can build it yourself. You might use nvm use 14 first.
Install the node modules first with npm i and then build the release by running npm run build:mac or even simpler npm run build as it will build the release file based on your OS with it's dependencies.

Not remembering right now if required, but you may need to install npm i pkg -g, too.

@shinra-electric
Copy link
Author

Thanks for the reply.

I wasn't able to get this to build, I got a ton of errors about deprecated or unsupported packages.

I'm sure I'm not doing something right. Could you provide build instructions in a step-by-step list?

@Gkiokan
Copy link
Owner

Gkiokan commented Sep 13, 2024

I never tried my build on a M Series mac but I've heard that not all x86 instructions can be build on arm.
There are a couple deprecated packages yes, but there are good reason to stay there where the versions are.
Mental moral of the principe: Never change a running System.

What you have to do is basically, make sure you are on node 14.x, install the npm deps and then build.
If you have nvm installed, you can swap over with
nvm use 14.

Check your node version with
node -v

Install the dependencies
npm install

Build for your machine
npm run build

If you still have trouble, get in touch with me over Discord or Telegram.

It should look something like this with a bunch of logging but in the end must succeed the build.
image

@Tokarak
Copy link

Tokarak commented Sep 25, 2024

Node@14 is disabled in homebrew :(. It would be good to migrate to a maintained node version.

@Gkiokan
Copy link
Owner

Gkiokan commented Sep 26, 2024

Node@14 is disabled in homebrew :(. It would be good to migrate to a maintained node version.

Node.js 14 was an LTS (Long-Term Support) version from October 27, 2020, when it entered LTS status, until April 30, 2023, when it reached the end of its life (EOL).
As I mentioned, you can (and should) use Node Version Manager (nvm) to change the current linked node Versions.

Unfortunatelly there is no way to refactor the code to node 20 LTS in a breeze, that would require a huge amount of time and the outcome is questionable. Never change a running System until you have to. There is still a quite good coverage of everything, so no worries about that.

Updates coming also slowly after vacation, so we are all fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants