about summary refs log tree commit diff
path: root/pkgs/by-name/en/envision-unwrapped/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/en/envision-unwrapped/package.nix')
-rw-r--r--pkgs/by-name/en/envision-unwrapped/package.nix100
1 files changed, 100 insertions, 0 deletions
diff --git a/pkgs/by-name/en/envision-unwrapped/package.nix b/pkgs/by-name/en/envision-unwrapped/package.nix
new file mode 100644
index 0000000000000..732af75ddd013
--- /dev/null
+++ b/pkgs/by-name/en/envision-unwrapped/package.nix
@@ -0,0 +1,100 @@
+{
+  appstream-glib,
+  cairo,
+  cargo,
+  desktop-file-utils,
+  fetchFromGitLab,
+  gdb,
+  gdk-pixbuf,
+  git,
+  glib,
+  gtk4,
+  gtksourceview5,
+  lib,
+  libadwaita,
+  libgit2,
+  libusb1,
+  meson,
+  ninja,
+  nix-update-script,
+  openssl,
+  openxr-loader,
+  pango,
+  pkg-config,
+  rustPlatform,
+  rustc,
+  stdenv,
+  vte-gtk4,
+  wrapGAppsHook4,
+  zlib,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "envision-unwrapped";
+  version = "0-unstable-2024-09-28";
+
+  src = fetchFromGitLab {
+    owner = "gabmus";
+    repo = "envision";
+    rev = "56d500a9f914ce2ddad038223711192e4d1dcbe1";
+    hash = "sha256-8wU2sjhH026l6a11XZ5Qdu5x/EbI+ZqwE7AixsYMCFk=";
+  };
+
+  strictDeps = true;
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "libmonado-rs-0.1.0" = "sha256-xztevBUaYBm5G3A0ZTb+3GV3g1IAU3SzfSS5BBqfp1Y=";
+      "openxr-0.18.0" = "sha256-ktkbhmExstkNJDYM/HYOwAwv3acex7P9SP0KMAOKhQk=";
+    };
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    cargo
+    git
+    meson
+    ninja
+    pkg-config
+    rustPlatform.cargoSetupHook
+    rustc
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    cairo
+    gdk-pixbuf
+    glib
+    gtk4
+    gtksourceview5
+    libadwaita
+    libgit2
+    libusb1
+    openssl
+    openxr-loader
+    pango
+    vte-gtk4
+    zlib
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/envision \
+      --prefix PATH : "${lib.makeBinPath [ gdb ]}"
+  '';
+
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch=main" ]; };
+
+  meta = {
+    description = "UI for building, configuring and running Monado, the open source OpenXR runtime";
+    homepage = "https://gitlab.com/gabmus/envision";
+    license = lib.licenses.agpl3Only;
+    mainProgram = "envision";
+    maintainers = with lib.maintainers; [
+      pandapip1
+      Scrumplex
+    ];
+    platforms = lib.platforms.linux;
+  };
+})