Merge pull request #6776 from giogadi/add-ceres-solver
Add derivation for google ceres-solver library
This commit is contained in:
commit
8c87695f60
|
@ -81,6 +81,7 @@
|
||||||
garrison = "Jim Garrison <jim@garrison.cc>";
|
garrison = "Jim Garrison <jim@garrison.cc>";
|
||||||
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
|
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
|
||||||
gebner = "Gabriel Ebner <gebner@gebner.org>";
|
gebner = "Gabriel Ebner <gebner@gebner.org>";
|
||||||
|
giogadi = "Luis G. Torres <lgtorres42@gmail.com>";
|
||||||
globin = "Robin Gloster <robin@glob.in>";
|
globin = "Robin Gloster <robin@glob.in>";
|
||||||
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
|
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
|
||||||
gridaphobe = "Eric Seidel <eric@seidel.io>";
|
gridaphobe = "Eric Seidel <eric@seidel.io>";
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
{ stdenv
|
||||||
|
, eigen
|
||||||
|
, fetchurl
|
||||||
|
, cmake
|
||||||
|
, google-gflags ? null
|
||||||
|
, glog ? null
|
||||||
|
, runTests ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
# google-gflags is required to run tests
|
||||||
|
assert runTests -> google-gflags != null;
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "1.10.0";
|
||||||
|
|
||||||
|
# glog currently doesn't build on darwin
|
||||||
|
# Issue: https://code.google.com/p/google-glog/issues/detail?id=121
|
||||||
|
useGlog = glog != null && !stdenv.isDarwin;
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "ceres-solver-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz";
|
||||||
|
sha256 = "20bb5db05c3e3e14a4062e2cf2b0742d2653359549ecded3e0653104ef3deb17";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ cmake ]
|
||||||
|
++ stdenv.lib.optional useGlog glog
|
||||||
|
++ stdenv.lib.optional (google-gflags != null) google-gflags;
|
||||||
|
|
||||||
|
inherit eigen;
|
||||||
|
|
||||||
|
doCheck = runTests;
|
||||||
|
|
||||||
|
checkTarget = "test";
|
||||||
|
|
||||||
|
cmakeFlags = "
|
||||||
|
-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
|
||||||
|
${if !useGlog then "-DMINIGLOG=ON" else ""}
|
||||||
|
";
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -697,6 +697,10 @@ let
|
||||||
|
|
||||||
cdemu-client = callPackage ../misc/emulators/cdemu/client.nix { };
|
cdemu-client = callPackage ../misc/emulators/cdemu/client.nix { };
|
||||||
|
|
||||||
|
ceres-solver = callPackage ../development/libraries/ceres-solver {
|
||||||
|
google-gflags = null; # only required for examples/tests
|
||||||
|
};
|
||||||
|
|
||||||
gcdemu = callPackage ../misc/emulators/cdemu/gui.nix { };
|
gcdemu = callPackage ../misc/emulators/cdemu/gui.nix { };
|
||||||
|
|
||||||
image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
|
image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
|
||||||
|
|
Loading…
Reference in New Issue