about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/im/immersed-vr/package.nix')
-rw-r--r--nixpkgs/pkgs/by-name/im/immersed-vr/package.nix29
1 files changed, 19 insertions, 10 deletions
diff --git a/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix b/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix
index 985c7cc38b4c..f9968e4485c3 100644
--- a/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix
+++ b/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix
@@ -1,27 +1,36 @@
 { lib
 , appimageTools
+, callPackage
 , fetchurl
+, stdenv
 }:
-appimageTools.wrapType2 rec {
+let
   pname = "immersed-vr";
   version = "9.10";
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://web.archive.org/web/20240210075929/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
-    hash = "sha256-Mx8UnV4fZSebj9ah650ZqsL/EIJpM6jl8tYmXJZiJpA=";
+  sources = rec {
+    x86_64-linux = {
+      url = "https://web.archive.org/web/20240210075929/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
+      hash = "sha256-Mx8UnV4fZSebj9ah650ZqsL/EIJpM6jl8tYmXJZiJpA=";
+    };
+    x86_64-darwin = {
+      url = "https://web.archive.org/web/20240210075929/https://static.immersed.com/dl/Immersed.dmg";
+      hash = "sha256-CR2KylovlS7zerZIEScnadm4+ENNhib5QnS6z5Ihv1Y=";
+    };
+    aarch64-darwin = x86_64-darwin;
   };
 
-  extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
-  '';
+  src = fetchurl (sources.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"));
 
   meta = with lib; {
     description = "A VR coworking platform";
     homepage = "https://immersed.com";
     license = licenses.unfree;
     maintainers = with maintainers; [ haruki7049 ];
-    platforms = [ "x86_64-linux" ];
+    platforms = builtins.attrNames sources;
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
-}
+
+in if stdenv.isDarwin
+then callPackage ./darwin.nix { inherit pname version src meta; }
+else callPackage ./linux.nix { inherit pname version src meta; }