about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-01-06 21:38:48 +0100
committerGitHub <noreply@github.com>2021-01-06 21:38:48 +0100
commit877bc4b72019d46941c6c8b801ad95c83152c4c3 (patch)
treed8fb6fc57db06ed85fbe5a42c03638143e5b15ed /pkgs
parentb3ebcdb8e9dcfdf4e4dd282ccf68ad3f2e9e82a2 (diff)
parent5f114a0bcff61a8502b670834afff0d02ed24328 (diff)
Merge pull request #108577 from prusnak/monado
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/graphics/monado/default.nix101
-rw-r--r--pkgs/development/libraries/libuvc/default.nix30
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 135 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/monado/default.nix b/pkgs/applications/graphics/monado/default.nix
new file mode 100644
index 0000000000000..61343b3b1b466
--- /dev/null
+++ b/pkgs/applications/graphics/monado/default.nix
@@ -0,0 +1,101 @@
+{ stdenv
+, fetchFromGitLab
+, fetchpatch
+, cmake
+, pkg-config
+, python3
+, SDL2
+, dbus
+, eigen
+, ffmpeg
+, glslang
+, hidapi
+, libGL
+, libXau
+, libXdmcp
+, libXrandr
+, libffi
+# , librealsense
+, libsurvive
+, libusb1
+, libuvc
+, libv4l
+, libxcb
+, opencv4
+, openhmd
+, udev
+, vulkan-headers
+, vulkan-loader
+, wayland
+, wayland-protocols
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "monado";
+  version = "0.4.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "114aif79dqyn2qg07mkv6lzmqn15k6fdcii818rdf5g4bp7zzzgm";
+  };
+
+  patches = [
+    # fix libsurvive autodetection, drop with the next version update
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/monado/monado/-/commit/345e9eab56e2de9e8b07cf72c2a67cf2ebd01e62.patch";
+      sha256 = "17c110an6sxc8rn7dfz30rfkbayg64w68licicwc8cqabi6cgrm3";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake pkg-config python3 ];
+
+  buildInputs = [
+    SDL2
+    dbus
+    eigen
+    ffmpeg
+    glslang
+    hidapi
+    libGL
+    libXau
+    libXdmcp
+    libXrandr
+    libffi
+    # librealsense.dev - see below
+    libsurvive
+    libusb1
+    libuvc
+    libv4l
+    libxcb
+    opencv4
+    openhmd
+    udev
+    vulkan-headers
+    vulkan-loader
+    wayland
+    wayland-protocols
+    zlib
+  ];
+
+  # realsense is disabled, the build ends with the following error:
+  #
+  # CMake Error in src/xrt/drivers/CMakeLists.txt:
+  # Imported target "realsense2::realsense2" includes non-existent path
+  # "/nix/store/2v95aps14hj3jy4ryp86vl7yymv10mh0-librealsense-2.41.0/include"
+  # in its INTERFACE_INCLUDE_DIRECTORIES.
+  #
+  # for some reason cmake is trying to use ${librealsense}/include
+  # instead of ${librealsense.dev}/include as an include directory
+
+  meta = with stdenv.lib; {
+    description = "Open source XR runtime";
+    homepage = "https://monado.freedesktop.org/";
+    license = licenses.boost;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libuvc/default.nix b/pkgs/development/libraries/libuvc/default.nix
new file mode 100644
index 0000000000000..e2956a99432d8
--- /dev/null
+++ b/pkgs/development/libraries/libuvc/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libusb1
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libuvc";
+  version = "unstable-2020-11-29";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "5cddef71b17d41f7e98875a840c50d9704c3d2b2";
+    sha256 = "0kranb0x1k5qad8rwxnn1w9963sbfj2cfzdgpfmlivb04544m2j7";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ libusb1 ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://ken.tossell.net/libuvc/";
+    description = "Cross-platform library for USB video devices";
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ prusnak ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 71fb4bd60999e..100a2aea85300 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2486,6 +2486,8 @@ in
 
   monetdb = callPackage ../servers/sql/monetdb { };
 
+  monado = callPackage ../applications/graphics/monado {};
+
   mons = callPackage ../tools/misc/mons {};
 
   mousetweaks = callPackage ../applications/accessibility/mousetweaks {
@@ -14952,6 +14954,8 @@ in
     inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
   };
 
+  libuvc = callPackage ../development/libraries/libuvc { };
+
   libv4l = lowPrio (v4l-utils.override {
     withUtils = false;
   });