nukeop / nuclear

Streaming music player that finds free music for you
https://nuclearplayer.com
GNU Affero General Public License v3.0
12.22k stars 1.07k forks source link

MacOS arm64 releases not working #1692

Closed Alphrag closed 2 months ago

Alphrag commented 2 months ago

Platform: MacOS Sonoma 14.5

Nuclear version: 0.6.38 (but true for any release that has an arm64 dmg file)

Description of the issue: First of all, thank you for this app! 🙂 I use it everyday on my linux at work to listen to music, so I considered using it also on my home computer which is a mac.

I have an M3 chip and tried to install Nuclear from the release page using the arm64 .dmg (as well as the homebrew cask, which uses the same file under the hood). I however receive the following error popup when trying to launch the app:

image

which translates as "nuclear" is broken and cannot be opened. You should move this file to the trash. I have tested every dmg file for arm64 since release 0.6.31 and they all suffer from the same problem.

Nonetheless, I have built the project locally without any problem and I am currently running the one that was built that way. So it seems that the problem comes from the packaging made on the github action. I have checked that the steps that run were the same locally compared to the last release action I can see. I have not seen such a problem from the other apps I use that are built using electron-builder (such as Ferdium), but the build process is slightly differently since we let electron-builder handle the question of the architecture, by letting it rebuild the dependencies that are necessary, whereas you are running cargo specifically to target mac-arm64 in the build of scanner before actually packaging the app with electron-builder.

I would like to help you fix that problem since I think this app has improved a lot recently and folks would benefit having directly an arm version for their mac (of course atm they can still run the x64 version if they decided to install Rosetta, but it is not a viable option). Do you know exactly which parts are necessary to be run explicitly for arm64? Would the build of scanner not pick the architecture of the container it is running in, without having to target it with an option? I am pretty sure that electron-builder does it by default.


In case this is useful, here are the tools I used to compile:

nukeop commented 2 months ago

This is a lie on Apple's part. Try going here: https://nuclear.js.org/downloads There's a section that says "If you have trouble running Nuclear". Try running these steps, and try again. You should be able to succeed.

Alphrag commented 2 months ago

Hmm you're right, removing the quarantine with xattr was enough to make it work. Sorry I didn't see the information on the website before posting here. Thanks for the quick answer!

kevinpapst commented 2 months ago

Hahaha, this is the first app to ever show such behavior.

Can't the brew formula be adjusted to include that step?