summary refs log tree commit diff
diff options
context:
space:
mode:
authorMike Purvis <mike@uwmike.com>2021-07-13 09:44:08 -0400
committerGitHub <noreply@github.com>2021-07-13 15:44:08 +0200
commit64f7cb574a6f7d5908bc18250fdd2b51771ab6b1 (patch)
tree5e923d567d94bb0a68352f290546940075d8dfbd
parentdc3e28e753b90ed6cc76cb6c817990d6369e92ce (diff)
downloadnixpkgs-64f7cb574a6f7d5908bc18250fdd2b51771ab6b1.tar
nixpkgs-64f7cb574a6f7d5908bc18250fdd2b51771ab6b1.tar.gz
nixpkgs-64f7cb574a6f7d5908bc18250fdd2b51771ab6b1.tar.bz2
nixpkgs-64f7cb574a6f7d5908bc18250fdd2b51771ab6b1.tar.lz
nixpkgs-64f7cb574a6f7d5908bc18250fdd2b51771ab6b1.tar.xz
nixpkgs-64f7cb574a6f7d5908bc18250fdd2b51771ab6b1.tar.zst
nixpkgs-64f7cb574a6f7d5908bc18250fdd2b51771ab6b1.zip
flann: refactor (#129491)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
-rw-r--r--pkgs/development/libraries/flann/default.nix59
1 files changed, 50 insertions, 9 deletions
diff --git a/pkgs/development/libraries/flann/default.nix b/pkgs/development/libraries/flann/default.nix
index 91339380424..283c815b199 100644
--- a/pkgs/development/libraries/flann/default.nix
+++ b/pkgs/development/libraries/flann/default.nix
@@ -1,24 +1,65 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, unzip, cmake, python }:
+{ lib
+, cmake
+, fetchFromGitHub
+, fetchpatch
+, lz4
+, pkg-config
+, python3
+, stdenv
+, unzip
+, enablePython ? false
+}:
 
-stdenv.mkDerivation {
-  name = "flann-1.9.1";
+stdenv.mkDerivation rec {
+  pname = "flann";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
-    owner = "mariusmuja";
+    owner = "flann-lib";
     repo = "flann";
-    rev = "1.9.1";
+    rev = version;
     sha256 = "13lg9nazj5s9a41j61vbijy04v6839i67lqd925xmxsbybf36gjc";
   };
 
   patches = [
-    # Upstream issue: https://github.com/mariusmuja/flann/issues/369
+    # Patch HDF5_INCLUDE_DIR -> HDF_INCLUDE_DIRS.
     (fetchpatch {
-      url = "https://raw.githubusercontent.com/buildroot/buildroot/45a39b3e2ba42b72d19bfcef30db1b8da9ead51a/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch";
-      sha256 = "1gmj06cmnqvwxx649mxaivd35727wj6w7710zbcmmgmsnyfh2js4";
+      url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0001-Updated-fix-cmake-hdf5.patch";
+      sha256 = "yM1ONU4mu6lctttM5YcSTg8F344TNUJXwjxXLqzr5Pk=";
+    })
+    # Patch no-source library workaround that breaks on CMake > 3.11.
+    (fetchpatch {
+      url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0001-src-cpp-fix-cmake-3.11-build.patch";
+      sha256 = "REsBnbe6vlrZ+iCcw43kR5wy2o6q10RM73xjW5kBsr4=";
+    })
+    # Avoid the bundled version of LZ4 and instead use the system one.
+    (fetchpatch {
+      url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0003-Use-system-version-of-liblz4.patch";
+      sha256 = "xi+GyFn9PEjLgbJeAIEmsbp7ut9G9KIBkVulyT3nfsg=";
+    })
+    # Fix LZ4 string separator issue, see: https://github.com/flann-lib/flann/pull/480
+    (fetchpatch {
+      url = "https://github.com/flann-lib/flann/commit/25eb56ec78472bd419a121c6905095a793cf8992.patch";
+      sha256 = "qt8h576Gn8uR7+T9u9bEBIRz6e6AoTKpa1JfdZVvW9s=";
     })
   ];
 
-  nativeBuildInputs = [ unzip cmake python ];
+  cmakeFlags = [
+    "-DBUILD_EXAMPLES:BOOL=OFF"
+    "-DBUILD_TESTS:BOOL=OFF"
+    "-DBUILD_MATLAB_BINDINGS:BOOL=OFF"
+    "-DBUILD_PYTHON_BINDINGS:BOOL=${if enablePython then "ON" else "OFF"}"
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    unzip
+  ];
+
+  propagatedBuildInputs = [ lz4 ];
+
+  buildInputs = lib.optionals enablePython [ python3 ];
 
   meta = {
     homepage = "http://people.cs.ubc.ca/~mariusm/flann/";