Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / nanoflann / default.nix
blob1fa8a216e4dd8d4d49836872450f5412dc51e016
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , buildExamples ? false
6 }:
8 stdenv.mkDerivation (finalAttrs: {
9   version = "1.5.0";
10   pname = "nanoflann";
12   src = fetchFromGitHub {
13     owner = "jlblancoc";
14     repo = "nanoflann";
15     rev = "v${finalAttrs.version}";
16     hash = "sha256-vPLL6l4sFRi7nvIfdMbBn/gvQ1+1lQHlZbR/2ok0Iw8=";
17   };
19   nativeBuildInputs = [ cmake ];
21   cmakeFlags = [
22     "-DBUILD_EXAMPLES=${if buildExamples then "ON" else "OFF"}"
23   ];
25   doCheck = true;
26   checkTarget = "test";
28   meta = {
29     homepage = "https://github.com/jlblancoc/nanoflann";
30     description = "Header only C++ library for approximate nearest neighbor search";
31     longDescription = ''
32       nanoflann is a C++11 header-only library for building KD-Trees of datasets
33       with different topologies: R2, R3 (point clouds), SO(2) and SO(3) (2D and
34       3D rotation groups). No support for approximate NN is provided. nanoflann
35       does not require compiling or installing. You just need to #include
36       <nanoflann.hpp> in your code.
38       This library is a fork of the flann library by Marius Muja and David
39       G. Lowe, and born as a child project of MRPT. Following the original
40       license terms, nanoflann is distributed under the BSD license. Please, for
41       bugs use the issues button or fork and open a pull request.
42     '';
43     changelog = "https://github.com/jlblancoc/nanoflann/blob/v${finalAttrs.version}/CHANGELOG.md";
44     license = lib.licenses.bsd2;
45     maintainers = [ lib.maintainers.AndersonTorres ];
46     platforms = lib.platforms.unix;
47   };