aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/libraries/librealsense/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/librealsense/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/librealsense/default.nix34
1 files changed, 30 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/libraries/librealsense/default.nix b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
index 8fd90c60bda..55171cd3de4 100644
--- a/nixpkgs/pkgs/development/libraries/librealsense/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
@@ -1,8 +1,13 @@
-{ stdenv, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig }:
+{ stdenv, config, lib, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig, gcc
+, cudaSupport ? config.cudaSupport or false, cudatoolkit
+, enablePython ? false, pythonPackages ? null }:
+
+assert cudaSupport -> cudatoolkit != null;
+assert enablePython -> pythonPackages != null;
stdenv.mkDerivation rec {
pname = "librealsense";
- version = "2.34.0";
+ version = "2.38.0";
outputs = [ "out" "dev" ];
@@ -10,11 +15,17 @@ stdenv.mkDerivation rec {
owner = "IntelRealSense";
repo = pname;
rev = "v${version}";
- sha256 = "0bi7pszrryz18aqna0z73mb1hzz2vqdb0m00pf93hnwc2hba7hwm";
+ sha256 = "12rs0gklgzn8bplqjmaxixk04pr870i333mmcp9i5bhkn8x86zbx";
};
buildInputs = [
libusb1
+ gcc.cc.lib
+ ] ++ lib.optional cudaSupport cudatoolkit
+ ++ lib.optional enablePython pythonPackages.python;
+
+ patches = lib.optionals enablePython [
+ ./py_sitepackage_dir.patch
];
nativeBuildInputs = [
@@ -23,7 +34,22 @@ stdenv.mkDerivation rec {
pkgconfig
];
- cmakeFlags = [ "-DBUILD_EXAMPLES=false" ];
+ cmakeFlags = [
+ "-DBUILD_EXAMPLES=ON"
+ "-DBUILD_GRAPHICAL_EXAMPLES=OFF"
+ "-DBUILD_GLSL_EXTENSIONS=OFF"
+ ] ++ lib.optionals enablePython [
+ "-DBUILD_PYTHON_BINDINGS:bool=true"
+ "-DXXNIX_PYTHON_SITEPACKAGES=${placeholder "out"}/${pythonPackages.python.sitePackages}"
+ ] ++ lib.optional cudaSupport "-DBUILD_WITH_CUDA:bool=true";
+
+ # ensure python package contains its __init__.py. for some reason the install
+ # script does not do this, and it's questionable if intel knows it should be
+ # done
+ # ( https://github.com/IntelRealSense/meta-intel-realsense/issues/20 )
+ postInstall = lib.optionalString enablePython ''
+ cp ../wrappers/python/pyrealsense2/__init__.py $out/${pythonPackages.python.sitePackages}/pyrealsense2
+ '';
meta = with stdenv.lib; {
description = "A cross-platform library for IntelĀ® RealSenseā„¢ depth cameras (D400 series and the SR300)";