summary refs log tree commit diff
path: root/pkgs/applications/graphics/cloudcompare/default.nix
diff options
context:
space:
mode:
authorThomas Watson <twatson52@icloud.com>2022-04-02 14:31:11 -0500
committerThomas Watson <twatson52@icloud.com>2022-04-03 11:57:05 -0500
commit5f5a06877ff40bb176e0db2b181084ce7359cbd3 (patch)
tree5ac8126350ab6e3636ac217aa394841ef1d31092 /pkgs/applications/graphics/cloudcompare/default.nix
parenteb40e8633a9b00b5492a7255287b7ed78b0b492a (diff)
downloadnixpkgs-5f5a06877ff40bb176e0db2b181084ce7359cbd3.tar
nixpkgs-5f5a06877ff40bb176e0db2b181084ce7359cbd3.tar.gz
nixpkgs-5f5a06877ff40bb176e0db2b181084ce7359cbd3.tar.bz2
nixpkgs-5f5a06877ff40bb176e0db2b181084ce7359cbd3.tar.lz
nixpkgs-5f5a06877ff40bb176e0db2b181084ce7359cbd3.tar.xz
nixpkgs-5f5a06877ff40bb176e0db2b181084ce7359cbd3.tar.zst
nixpkgs-5f5a06877ff40bb176e0db2b181084ce7359cbd3.zip
CloudCompare: unstable-2021-10-14 -> 2.12.0, add plugins
Diffstat (limited to 'pkgs/applications/graphics/cloudcompare/default.nix')
-rw-r--r--pkgs/applications/graphics/cloudcompare/default.nix57
1 files changed, 45 insertions, 12 deletions
diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix
index cd3f026dfa0..6a6820240f4 100644
--- a/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/pkgs/applications/graphics/cloudcompare/default.nix
@@ -1,13 +1,16 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
+, fetchpatch
 , cmake
-, dxflib
+, boost
+, cgal_5
 , eigen
 , flann
 , gdal
+, gmp
 , LASzip
-, libLAS
+, mpfr
 , pdal
 , pcl
 , qtbase
@@ -15,36 +18,43 @@
 , qttools
 , tbb
 , xercesc
+, wrapGAppsHook
 }:
 
 mkDerivation rec {
   pname = "cloudcompare";
-  # Released version(v2.11.3) doesn't work with packaged PCL.
-  version = "unstable-2021-10-14";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "CloudCompare";
     repo = "CloudCompare";
-    rev = "1f65ba63756e23291ae91ff52d04da468ade8249";
-    sha256 = "x1bDjFjXIl3r+yo1soWvRB+4KGP50/WBoGlrH013JQo=";
-    # As of writing includes (https://github.com/CloudCompare/CloudCompare/blob/a1c589c006fc325e8b560c77340809b9c7e7247a/.gitmodules):
-    # * libE57Format
-    # * PoissonRecon
-    # * CCCoreLib
+    rev = "v${version}";
+    sha256 = "sha256-hu3ckVocExi9lvxelHAwKb/MZacH4CcCE+vIzElgP/A=";
     fetchSubmodules = true;
   };
 
+  patches = [
+    # fix issues compiling on aarch64. remove once upgraded past 2.12.0
+    (fetchpatch {
+      url = "https://github.com/CloudCompare/CloudCompare/commit/7e71861fdbd6ea704add5ba69343f47d8fc3d5ae.patch";
+      sha256 = "sha256-CRUPjxtKUbsqOyYsjKF+dRZ+E3rqrv5mS3ZaOay2wk8=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     eigen # header-only
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    dxflib
+    boost
+    cgal_5
     flann
     gdal
+    gmp
     LASzip
-    libLAS
+    mpfr
     pdal
     pcl
     qtbase
@@ -72,9 +82,32 @@ mkDerivation rec {
     "-DPLUGIN_IO_QPHOTOSCAN=ON"
     "-DPLUGIN_IO_QRDB=OFF" # Riegl rdblib is proprietary; not packaged in nixpkgs
 
+    "-DCCCORELIB_USE_CGAL=ON" # enables Delauney triangulation support
     "-DPLUGIN_STANDARD_QPCL=ON" # Adds PCD import and export support
+    "-DPLUGIN_STANDARD_QANIMATION=ON"
+    "-DPLUGIN_STANDARD_QBROOM=ON"
+    "-DPLUGIN_STANDARD_QCANUPO=ON"
+    "-DPLUGIN_STANDARD_QCOMPASS=ON"
+    "-DPLUGIN_STANDARD_QCSF=ON"
+    "-DPLUGIN_STANDARD_QFACETS=ON"
+    "-DPLUGIN_STANDARD_QHOUGH_NORMALS=ON"
+    "-DEIGEN_ROOT_DIR=${eigen}/include/eigen3" # needed for hough normals
+    "-DPLUGIN_STANDARD_QHPR=ON"
+    "-DPLUGIN_STANDARD_QM3C2=ON"
+    "-DPLUGIN_STANDARD_QMPLANE=ON"
+    "-DPLUGIN_STANDARD_QPOISSON_RECON=ON"
+    "-DPLUGIN_STANDARD_QRANSAC_SD=ON"
+    "-DPLUGIN_STANDARD_QSRA=ON"
+    "-DPLUGIN_STANDARD_QCLOUDLAYERS=ON"
   ];
 
+  dontWrapGApps = true;
+
+  # fix file dialogs crashing on non-NixOS (and avoid double wrapping)
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "3D point cloud and mesh processing software";
     homepage = "https://cloudcompare.org";