about summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2024-03-14 12:45:38 +0100
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2024-03-14 12:45:38 +0100
commitfe9f697fc469e944868a853db392b1996d232918 (patch)
treed776c379e0d8b263debf6cd37b81bc6f4765134a /pkgs/by-name
parentae16fe151c7078177b7d6d5051c4405b8f844953 (diff)
downloadnixlib-fe9f697fc469e944868a853db392b1996d232918.tar
nixlib-fe9f697fc469e944868a853db392b1996d232918.tar.gz
nixlib-fe9f697fc469e944868a853db392b1996d232918.tar.bz2
nixlib-fe9f697fc469e944868a853db392b1996d232918.tar.lz
nixlib-fe9f697fc469e944868a853db392b1996d232918.tar.xz
nixlib-fe9f697fc469e944868a853db392b1996d232918.tar.zst
nixlib-fe9f697fc469e944868a853db392b1996d232918.zip
opencomposite{,-helper}: move to pkgs/by-name
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/op/opencomposite-helper/package.nix18
-rw-r--r--pkgs/by-name/op/opencomposite/package.nix65
2 files changed, 83 insertions, 0 deletions
diff --git a/pkgs/by-name/op/opencomposite-helper/package.nix b/pkgs/by-name/op/opencomposite-helper/package.nix
new file mode 100644
index 000000000000..f19f5e868139
--- /dev/null
+++ b/pkgs/by-name/op/opencomposite-helper/package.nix
@@ -0,0 +1,18 @@
+{ writeShellApplication
+
+, monado
+, opencomposite
+}:
+writeShellApplication {
+  name = "opencomposite-helper";
+  text = ''
+    # Tell Proton to use OpenComposite instead of OpenVR
+    export VR_OVERRIDE=${opencomposite}/lib/opencomposite
+    # Help OpenComposite find the OpenXR runtime
+    export XR_RUNTIME_JSON=${monado}/share/openxr/1/openxr_monado.json
+    # Tell Steam Pressure Vessel to allow access to Monado
+    export PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/monado_comp_ipc
+    exec "$@"
+  '';
+}
+
diff --git a/pkgs/by-name/op/opencomposite/package.nix b/pkgs/by-name/op/opencomposite/package.nix
new file mode 100644
index 000000000000..dff4e5988cda
--- /dev/null
+++ b/pkgs/by-name/op/opencomposite/package.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+
+, cmake
+
+, glm
+, libGL
+, openxr-loader
+, python3
+, vulkan-headers
+, vulkan-loader
+, xorg
+
+, nix-update-script
+}:
+
+stdenv.mkDerivation {
+  pname = "opencomposite";
+  version = "unstable-2024-03-04";
+
+  src = fetchFromGitLab {
+    owner = "znixian";
+    repo = "OpenOVR";
+    rev = "1bfdf67358add5f573efedbec1fa65d18b790e0e";
+    hash = "sha256-qF5oMI9B5a1oE2gQb/scbom/39Efccja0pTPHHaHMA8=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    glm
+    libGL
+    openxr-loader
+    python3
+    vulkan-headers
+    vulkan-loader
+    xorg.libX11
+  ];
+
+  cmakeFlags = [
+    "-DUSE_SYSTEM_OPENXR=ON"
+    "-DUSE_SYSTEM_GLM=ON"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/lib/opencomposite
+    cp -r bin/ $out/lib/opencomposite
+    runHook postInstall
+  '';
+
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch=openxr" ];
+  };
+
+  meta = with lib; {
+    description = "Reimplementation of OpenVR, translating calls to OpenXR";
+    homepage = "https://gitlab.com/znixian/OpenOVR";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ Scrumplex ];
+  };
+}