nixpkgs/pkgs/development/libraries/ceres-solver/default.nix

46 lines
1005 B
Nix

{ stdenv
, eigen
, fetchurl
, cmake
, google-gflags ? null
, glog
, runTests ? false
}:
# google-gflags is required to run tests
assert runTests -> google-gflags != null;
let
version = "1.10.0";
in
stdenv.mkDerivation {
name = "ceres-solver-${version}";
src = fetchurl {
url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz";
sha256 = "20bb5db05c3e3e14a4062e2cf2b0742d2653359549ecded3e0653104ef3deb17";
};
buildInputs = [ cmake glog ]
++ stdenv.lib.optional (google-gflags != null) google-gflags;
inherit eigen;
doCheck = runTests;
checkTarget = "test";
cmakeFlags = "
-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
";
meta = with stdenv.lib; {
description = "C++ library for modeling and solving large, complicated optimization problems";
license = licenses.bsd3;
homepage = "http://ceres-solver.org";
maintainers = with stdenv.lib.maintainers; [ giogadi ];
inherit version;
platforms = with stdenv.lib.platforms; unix;
};
}