Skip to content

utm: init at 3.2.4#195274

Merged
viraptor merged 2 commits intoNixOS:masterfrom
rrbutani:feature/utm
Oct 11, 2022
Merged

utm: init at 3.2.4#195274
viraptor merged 2 commits intoNixOS:masterfrom
rrbutani:feature/utm

Conversation

@rrbutani
Copy link
Contributor

@rrbutani rrbutani commented Oct 9, 2022

Description of changes

Adds UTM: a GUI application for managing virtual machines on macOS.


I starting trying to build UTM from source but ended up just packaging their binary releases instead. I think it's not impossible to build UTM from source within the sandbox but I think it'll end up taking a fair amount of effort.

We would need to:

  • essentially recreate most of build_dependencies.sh in the package
    • most of the deps are already in nixpkgs
    • we'd still want to use UTM's QEMU instead of the one in nixpkgs
    • we'd want separate derivations for the deps that we do build (at a glance this looks like: qemu, spice, angle, epoxy, virglrenderer plus some tools like depot/gclient) and then assertions in the main UTM derivation that check that the versions we built match what's supposed to be in the UTM release
  • figure out what to do for entitlements
  • get UTM to build with xcbuild instead of real xcodebuild

So for now I just have this package pull the DMG from the UTM GitHub releases. FWIW, this is what homebrew seems to do as well.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@rrbutani rrbutani force-pushed the feature/utm branch 3 times, most recently from 6eae4b7 to de3227b Compare October 9, 2022 20:32
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Oct 9, 2022
@bobby285271 bobby285271 added the 12.approvals: 1 This PR was reviewed and approved by one person. label Oct 9, 2022
@viraptor
Copy link
Contributor

Worked for me just fine.

@viraptor viraptor merged commit d1dcdee into NixOS:master Oct 11, 2022
@rrbutani rrbutani deleted the feature/utm branch October 11, 2022 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants