typioca: 2.7.0 -> 2.8.0
[NixPkgs.git] / pkgs / os-specific / darwin / utm / default.nix
blobf7055d378cbbb031f3dc60e7f5d535d8d3b65f0d
1 { lib
2 , undmg
3 , makeWrapper
4 , fetchurl
5 , stdenvNoCC
6 }:
8 stdenvNoCC.mkDerivation rec {
9   pname = "utm";
10   version = "4.4.4";
12   src = fetchurl {
13     url = "https://github.com/utmapp/UTM/releases/download/v${version}/UTM.dmg";
14     hash = "sha256-SyrqkNWRUKQS3D17XYsC/dcCKlPLGNNsG5obEiHE1Lk=";
15   };
17   nativeBuildInputs = [ undmg makeWrapper ];
19   sourceRoot = ".";
20   installPhase = ''
21     runHook preInstall
23     mkdir -p $out/Applications
24     cp -r *.app $out/Applications
26     mkdir -p $out/bin
27     for bin in $out/Applications/UTM.app/Contents/MacOS/*; do
28       # Symlinking `UTM` doesn't work; seems to look for files in the wrong
29       # place
30       makeWrapper $bin "$out/bin/$(basename $bin)"
31     done
33     runHook postInstall
34   '';
36   meta = with lib; {
37     description = "Full featured system emulator and virtual machine host for iOS and macOS";
38     longDescription = ''
39       UTM is a full featured system emulator and virtual machine host for iOS
40       and macOS. It is based off of QEMU. In short, it allows you to run
41       Windows, Linux, and more on your Mac, iPhone, and iPad.
43       Features:
44         - Full system emulation (MMU, devices, etc) using QEMU
45         - 30+ processors supported including x86_64, ARM64, and RISC-V
46         - VGA graphics mode using SPICE and QXL
47         - Text terminal mode
48         - USB devices
49         - JIT based acceleration using QEMU TCG
50         - Frontend designed from scratch for macOS 11 and iOS 11+ using the
51           latest and greatest APIs
52         - Create, manage, run VMs directly from your device
53         - Hardware accelerated virtualization using Hypervisor.framework and
54           QEMU
55         - Boot macOS guests with Virtualization.framework on macOS 12+
57       See https://docs.getutm.app/ for more information.
58     '';
59     homepage = "https://mac.getutm.app/";
60     changelog = "https://github.com/utmapp/${pname}/releases/tag/v${version}";
61     mainProgram = "UTM";
62     license = licenses.asl20;
63     platforms = platforms.darwin; # 11.3 is the minimum supported version as of UTM 4.
64     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
65     maintainers = with maintainers; [ rrbutani wegank ];
66   };