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

Create MacOS universal build of jbrowse-desktop to help M1 macs #4015

Merged
merged 2 commits into from
Oct 24, 2023

Conversation

cmdcolin
Copy link
Collaborator

@cmdcolin cmdcolin commented Oct 24, 2023

fixes #4011

draft since untested

@github-actions github-actions bot added the needs label triage Needs a label to show in changelog (breaking, enhancement, bug, documentation, or internal) label Oct 24, 2023
@cmdcolin cmdcolin added enhancement New feature or request and removed needs label triage Needs a label to show in changelog (breaking, enhancement, bug, documentation, or internal) labels Oct 24, 2023
@codecov
Copy link

codecov bot commented Oct 24, 2023

Codecov Report

Merging #4015 (e7bf1a9) into main (bb2ad7c) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #4015      +/-   ##
==========================================
+ Coverage   63.67%   63.68%   +0.01%     
==========================================
  Files        1024     1024              
  Lines       30229    30229              
  Branches     7206     7206              
==========================================
+ Hits        19248    19252       +4     
+ Misses      10816    10812       -4     
  Partials      165      165              

see 2 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@cmdcolin
Copy link
Collaborator Author

log from @carolinebridge-oicr from this branch showing it might not work

  • electron-builder  version=24.6.4 os=22.6.0
  • loaded configuration  file=package.json ("build" field)
  • packaging       platform=darwin arch=x64 electron=27.0.1 appOutDir=dist/mac-universal-x64-temp
  • packaging       platform=darwin arch=arm64 electron=27.0.1 appOutDir=dist/mac-universal-arm64-temp
  • packaging       platform=darwin arch=universal electron=27.0.1 appOutDir=dist/mac-universal
  ⨯ Cannot read properties of undefined (reading 'link')  failedTask=build stackTrace=TypeError: Cannot read properties of undefined (reading 'link')
    at Filesystem.getFile (/Users/cbridge/Workspace/jbrowse-components/node_modules/@electron/asar/lib/filesystem.js:146:14)
    at Filesystem.getFile (/Users/cbridge/Workspace/jbrowse-components/node_modules/@electron/asar/lib/filesystem.js:147:19)
    at Object.module.exports.statFile (/Users/cbridge/Workspace/jbrowse-components/node_modules/@electron/asar/lib/asar.js:157:21)
    at buildUnpacked (/Users/cbridge/Workspace/jbrowse-components/node_modules/@electron/universal/src/asar-utils.ts:101:25)
    at Object.exports.mergeASARs (/Users/cbridge/Workspace/jbrowse-components/node_modules/@electron/universal/src/asar-utils.ts:114:3)
    at exports.makeUniversalApp (/Users/cbridge/Workspace/jbrowse-components/node_modules/@electron/universal/src/index.ts:235:13)
    at MacPackager.doPack (/Users/cbridge/Workspace/jbrowse-components/node_modules/app-builder-lib/src/macPackager.ts:129:9)
    at MacPackager.pack (/Users/cbridge/Workspace/jbrowse-components/node_modules/app-builder-lib/src/macPackager.ts:196:7)
    at Packager.doBuild (/Users/cbridge/Workspace/jbrowse-components/node_modules/app-builder-lib/src/packager.ts:442:9)
    at executeFinally (/Users/cbridge/Workspace/jbrowse-components/node_modules/builder-util/src/promise.ts:12:14)
    at Packager._build (/Users/cbridge/Workspace/jbrowse-components/node_modules/app-builder-lib/src/packager.ts:376:31)
    at Packager.build (/Users/cbridge/Workspace/jbrowse-components/node_modules/app-builder-lib/src/packager.ts:337:12)
    at executeFinally (/Users/cbridge/Workspace/jbrowse-components/node_modules/builder-util/src/promise.ts:12:14)
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

@cmdcolin
Copy link
Collaborator Author

was updated with mergeASARs:false option which allowed build to work...awaiting confirmation from m1 users

@scottcain
Copy link
Member

The app built for M1 appears to work fine for me. Is there anything else you want me to try?

@scottcain
Copy link
Member

That is, I didn't try running the build myself--do you want that?

@cmdcolin
Copy link
Collaborator Author

@scottcain are you familiar with the rosetta concept that #4008 refers to? basically wondering whether the new build can be "used without rosetta"

@scottcain
Copy link
Member

Only sort of familar with it: I'm pretty sure I installed when I got my M1 because I needed it for something (probably a python dependency :-/ I don't think it has a UI in system settings, but I'll do some research to see if it can be deactivated.

@scottcain
Copy link
Member

Oh this is somewhat terrible: to remove rosetta, I have to boot into recovery mode and delete some system files:
https://developer.apple.com/forums/thread/669486
I'm not going to do that right now as I'm away from home and running on battery. I can try it tonight if you want.

@cmdcolin cmdcolin marked this pull request as ready for review October 24, 2023 23:05
@cmdcolin
Copy link
Collaborator Author

@scottcain if you want to can try out, @billzt appeared to confirm it worked in the other thread though!

@cmdcolin cmdcolin merged commit a516c2b into main Oct 24, 2023
11 checks passed
@cmdcolin cmdcolin deleted the mac_os_universal branch October 24, 2023 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create universal or native Mac M1 build of jbrowse desktop
2 participants