diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/ceres-solver/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/ceres-solver/default.nix | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/development/libraries/ceres-solver/default.nix b/nixpkgs/pkgs/development/libraries/ceres-solver/default.nix index 794a09749c55..f5c000f2271e 100644 --- a/nixpkgs/pkgs/development/libraries/ceres-solver/default.nix +++ b/nixpkgs/pkgs/development/libraries/ceres-solver/default.nix @@ -1,10 +1,16 @@ -{ lib, stdenv -, eigen +{ lib +, stdenv +, fetchpatch , fetchurl +, blas , cmake +, eigen , gflags , glog +, suitesparse , runTests ? false +, enableStatic ? stdenv.hostPlatform.isStatic +, withBlas ? true }: # gflags is required to run tests @@ -19,9 +25,24 @@ stdenv.mkDerivation rec { sha256 = "00vng9vnmdb1qga01m0why90m0041w7bn6kxa2h4m26aflfqla8h"; }; + outputs = [ "out" "dev" ]; + + patches = [ + # Enable GNUInstallDirs, see: https://github.com/ceres-solver/ceres-solver/pull/706 + (fetchpatch { + url = "https://github.com/ceres-solver/ceres-solver/commit/4998c549396d36a491f1c0638fe57824a40bcb0d.patch"; + sha256 = "sha256-mF6Zh2fDVzg2kD4nI2dd9rp4NpvPErmwfdYo5JaBmCA="; + }) + ]; + nativeBuildInputs = [ cmake ]; buildInputs = lib.optional runTests gflags; - propagatedBuildInputs = [ eigen glog ]; + propagatedBuildInputs = [ eigen glog ] + ++ lib.optionals withBlas [ blas suitesparse ]; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=${if enableStatic then "OFF" else "ON"}" + ]; # The Basel BUILD file conflicts with the cmake build directory on # case-insensitive filesystems, eg. darwin. |