Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 107 lines 2.0 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 fetchpatch, 6 7 # nativeBuildInputs 8 cmake, 9 libsForQt5, 10 pkg-config, 11 wrapGAppsHook3, 12 13 # buildInputs 14 opencv, 15 pcl, 16 liblapack, 17 xorg, 18 libusb1, 19 yaml-cpp, 20 libnabo, 21 libpointmatcher, 22 eigen, 23 g2o, 24 ceres-solver, 25 octomap, 26 freenect, 27 libdc1394, 28 libGL, 29 libGLU, 30 librealsense, 31 vtkWithQt5, 32 zed-open-capture, 33 hidapi, 34 35 # passthru 36 gitUpdater, 37}: 38 39stdenv.mkDerivation (finalAttrs: { 40 pname = "rtabmap"; 41 version = "0.22.1"; 42 43 src = fetchFromGitHub { 44 owner = "introlab"; 45 repo = "rtabmap"; 46 tag = finalAttrs.version; 47 hash = "sha256-6kDjIfUgyaqrsVAWO6k0h1qIDN/idMOJJxLpqMQ6DFY="; 48 }; 49 50 nativeBuildInputs = [ 51 cmake 52 libsForQt5.wrapQtAppsHook 53 pkg-config 54 wrapGAppsHook3 55 ]; 56 buildInputs = [ 57 ## Required 58 opencv 59 opencv.cxxdev 60 pcl 61 liblapack 62 xorg.libSM 63 xorg.libICE 64 xorg.libXt 65 66 ## Optional 67 libusb1 68 eigen 69 g2o 70 ceres-solver 71 yaml-cpp 72 libnabo 73 libpointmatcher 74 octomap 75 freenect 76 libdc1394 77 librealsense 78 libsForQt5.qtbase 79 libGL 80 libGLU 81 vtkWithQt5 82 zed-open-capture 83 hidapi 84 ]; 85 86 # Configure environment variables 87 NIX_CFLAGS_COMPILE = "-Wno-c++20-extensions -I${vtkWithQt5}/include/vtk"; 88 89 cmakeFlags = [ 90 (lib.cmakeFeature "VTK_QT_VERSION" "5") 91 (lib.cmakeFeature "VTK_DIR" "${vtkWithQt5}/lib/cmake/vtk-${lib.versions.majorMinor vtkWithQt5.version}") 92 (lib.cmakeFeature "CMAKE_INCLUDE_PATH" "${vtkWithQt5}/include/vtk:${pcl}/include/pcl-${lib.versions.majorMinor pcl.version}") 93 ]; 94 95 passthru = { 96 updateScript = gitUpdater { }; 97 }; 98 99 meta = { 100 description = "Real-Time Appearance-Based 3D Mapping"; 101 homepage = "https://introlab.github.io/rtabmap/"; 102 changelog = "https://github.com/introlab/rtabmap/releases/tag/${finalAttrs.version}"; 103 license = lib.licenses.bsd3; 104 maintainers = with lib.maintainers; [ marius851000 ]; 105 platforms = with lib.platforms; linux; 106 }; 107})