Unverified Commit 379e2894 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #290893 from pcasaretto/immersed-vr-darwin

immersed-vr: add support for darwin
parents 863764bb 6fc76199
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
{ stdenv
, pname
, version
, src
, meta
, undmg
}:

stdenv.mkDerivation {
  inherit pname version src meta;

  nativeBuildInputs = [ undmg ];

  sourceRoot = ".";

  installPhase = ''
    runHook preInstall

    mkdir -p $out/Applications
    cp -r *.app $out/Applications

    runHook postInstall
  '';

  # Immersed is notarized.
  dontFixup = true;
}
+14 −0
Original line number Diff line number Diff line
{ pname
, version
, src
, meta
, appimageTools
}:
appimageTools.wrapType2 rec {
  inherit pname version src meta;
  name = "${pname}-${version}";

  extraInstallCommands = ''
    mv $out/bin/{${name},${pname}}
  '';
}
+19 −10
Original line number Diff line number Diff line
{ lib
, appimageTools
, callPackage
, fetchurl
, stdenv
}:
appimageTools.wrapType2 rec {
let
  pname = "immersed-vr";
  version = "9.10";
  name = "${pname}-${version}";

  src = fetchurl {
  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; }