summary refs log tree commit diff
path: root/pkgs/development/libraries/pcl/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/pcl/default.nix')
-rw-r--r--pkgs/development/libraries/pcl/default.nix67
1 files changed, 51 insertions, 16 deletions
diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix
index 506c78aca8a..2b2763b5a05 100644
--- a/pkgs/development/libraries/pcl/default.nix
+++ b/pkgs/development/libraries/pcl/default.nix
@@ -1,34 +1,69 @@
-{ stdenv, fetchFromGitHub, cmake
-, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
-, libusb1, libpcap, libXt, libpng, Cocoa, AGL, OpenGL
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, wrapQtAppsHook
+, cmake
+, qhull
+, flann
+, boost
+, vtk
+, eigen
+, pkg-config
+, qtbase
+, libusb1
+, libpcap
+, libXt
+, libpng
+, Cocoa
+, AGL
+, OpenGL
 }:
 
 stdenv.mkDerivation rec {
-  name = "pcl-1.11.0";
+  pname = "pcl";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "PointCloudLibrary";
     repo = "pcl";
-    rev = name;
-    sha256 = "0nr3j71gh1v8x6wjr7a7xyr0438sw7vf621a5kbw4lmsxbj55k8g";
+    rev = "${pname}-${version}";
+    sha256 = "1cli2rxqsk6nxp36p5mgvvahjz8hm4fb68yi8cf9nw4ygbcvcwb1";
   };
 
-  enableParallelBuilding = true;
+  patches = [
+    # Support newer QHull versions (2020.2)
+    # Backport of https://github.com/PointCloudLibrary/pcl/pull/4540
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/conda-forge/pcl-feedstock/0b1eff402994a3fb891b44659c261e7e85c8d915/recipe/4540.patch";
+      sha256 = "0hhvw6ajigzrarn95aicni73zd3sdgnb8rc3wgjrrg19xs84z138";
+    })
+  ];
 
-  nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ qhull flann boost eigen libusb1 libpcap
-                  libpng vtk qtbase libXt ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa AGL ];
+  nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
+  buildInputs = [
+    qhull
+    flann
+    boost
+    eigen
+    libusb1
+    libpcap
+    libpng
+    vtk
+    qtbase
+    libXt
+  ]
+  ++ lib.optionals stdenv.isDarwin [ Cocoa AGL ];
 
-  cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [
+  cmakeFlags = lib.optionals stdenv.isDarwin [
     "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"
   ];
 
   meta = {
-    homepage = "http://pointclouds.org/";
+    homepage = "https://pointclouds.org/";
     description = "Open project for 2D/3D image and point cloud processing";
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ viric ];
+    platforms = with lib.platforms; linux ++ darwin;
   };
 }