Support for macOS Apple Silicon #7342

Open
robd003 wants to merge 4 commits from robd003/master into master
robd003 commented 2021-12-11 03:01:42 +01:00 (Migrated from github.com)

Currently this is building x64 and arm64 electron apps.
We could make DMGs of each and have end users select their platform.

Fixes

Issue Number: https://github.com/lbryio/lbry-desktop/issues/7338

What is the current behavior?

Only x64 builds for macOS

What is the new behavior?

x64 & arm64 builds for macOS

Other information

PR Checklist

Toggle...

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting)
  • Refactoring (no functional changes)
  • Documentation changes
  • Other - Please describe:

Please check all that apply to this PR using "x":

  • I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
  • I added a line describing my change to CHANGELOG.md
  • I have checked that this PR does not introduce a breaking change
  • This PR introduces breaking changes and I have provided a detailed explanation below
Currently this is building x64 and arm64 electron apps. We *could* make DMGs of each and have end users select their platform. ## Fixes Issue Number: https://github.com/lbryio/lbry-desktop/issues/7338 ## What is the current behavior? Only x64 builds for macOS ## What is the new behavior? x64 & **arm64** builds for macOS ## Other information ## PR Checklist <!-- For the checkbox formatting to work properly, make sure there are no spaces on either side of the "x" --> <details><summary>Toggle...</summary> What kind of change does this PR introduce? - [ ] Bugfix - [x] Feature - [ ] Code style update (formatting) - [ ] Refactoring (no functional changes) - [ ] Documentation changes - [ ] Other - Please describe: Please check all that apply to this PR using "x": - [x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged) - [x] I added a line describing my change to CHANGELOG.md - [x] I have checked that this PR does not introduce a breaking change - [ ] This PR introduces breaking changes and I have provided a detailed explanation below </details>
jessopb commented 2021-12-11 03:25:16 +01:00 (Migrated from github.com)

Nice - thanks for trying this.
"electron-updater": "^4.2.4", needs to be 4.3.7, some threads say.

Nice - thanks for trying this. "electron-updater": "^4.2.4", needs to be 4.3.7, some threads say.
robd003 commented 2021-12-11 03:50:02 +01:00 (Migrated from github.com)

Todo:

Todo: - get lbrynet built as universal binary ( https://github.com/lbryio/lbry-sdk/pull/3516 ) - fix DMG filesystem if built on x64 so that it's APFS (macOS on M1 thinks HFS+ is "corrupted")
jessopb commented 2021-12-11 03:51:10 +01:00 (Migrated from github.com)

Cool. I'm going to create my own branch of this and PR it so that CI will run.
I'm not terribly satisfied with our ability to test updates yet, but we'll see. I think we have to change 'rc' to 'alpha' in our versions and use a flag that allows using prereleases.

Cool. I'm going to create my own branch of this and PR it so that CI will run. I'm not terribly satisfied with our ability to test updates yet, but we'll see. I think we have to change 'rc' to 'alpha' in our versions and use a flag that allows using prereleases.
robd003 commented 2021-12-11 03:52:30 +01:00 (Migrated from github.com)

@jessopb If you want I can add you to my fork as a contributor so you can push any changes there

https://github.com/robd003/lbry-desktop/invitations

@jessopb If you want I can add you to my fork as a contributor so you can push any changes there https://github.com/robd003/lbry-desktop/invitations
jessopb commented 2021-12-11 03:53:46 +01:00 (Migrated from github.com)

I thikn if I push it, CI will run with the appropriate secrets? I'm not sure why it failed last time.

I thikn if I push it, CI will run with the appropriate secrets? I'm not sure why it failed last time.
robd003 commented 2021-12-11 04:38:26 +01:00 (Migrated from github.com)

Quick note for building universal app:

import { makeUniversalApp } from '@electron/universal';

await makeUniversalApp({
  x64AppPath: 'dist/electron/mac/LBRY.app',
  arm64AppPath: 'dist/electron/mac-arm64/LBRY.app',
  outAppPath: 'dist/electron/mac-universal/LBRY.app',
});
Quick note for building universal app: ``` import { makeUniversalApp } from '@electron/universal'; await makeUniversalApp({ x64AppPath: 'dist/electron/mac/LBRY.app', arm64AppPath: 'dist/electron/mac-arm64/LBRY.app', outAppPath: 'dist/electron/mac-universal/LBRY.app', }); ```
jessopb commented 2021-12-13 01:44:39 +01:00 (Migrated from github.com)

I think what I'm going to do is add a settings feature that allows people to enable prerelease autoupdates. We'll release that when we get this CSC thing ironed out for windows, then we'll do this as a prerelease that can be e2e tested.

I think what I'm going to do is add a settings feature that allows people to enable prerelease autoupdates. We'll release that when we get this CSC thing ironed out for windows, then we'll do this as a prerelease that can be e2e tested.
robd003 commented 2021-12-14 20:28:33 +01:00 (Migrated from github.com)

@jessopb any chance you could nudge somebody on the team to take a look at this https://github.com/lbryio/lbry-sdk/pull/3516 ?

@jessopb any chance you could nudge somebody on the team to take a look at this https://github.com/lbryio/lbry-sdk/pull/3516 ?
jessopb commented 2021-12-15 02:07:22 +01:00 (Migrated from github.com)

Yep, done. There was mention of it this morning at meeting.

Yep, done. There was mention of it this morning at meeting.
This pull request has changes conflicting with the target branch.
  • electron-builder.json
  • package.json
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin robd003/master:robd003/master
git checkout robd003/master

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout master
git merge --no-ff robd003/master
git checkout robd003/master
git rebase master
git checkout master
git merge --ff-only robd003/master
git checkout robd003/master
git rebase master
git checkout master
git merge --no-ff robd003/master
git checkout master
git merge --squash robd003/master
git checkout master
git merge --ff-only robd003/master
git checkout master
git merge robd003/master
git push origin master
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LBRYCommunity/lbry-desktop#7342
No description provided.