diff options
Diffstat (limited to 'pkgs/development/libraries/pinocchio/default.nix')
-rw-r--r-- | pkgs/development/libraries/pinocchio/default.nix | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/pkgs/development/libraries/pinocchio/default.nix b/pkgs/development/libraries/pinocchio/default.nix index add7ef6fde22e..86f0c891b2a90 100644 --- a/pkgs/development/libraries/pinocchio/default.nix +++ b/pkgs/development/libraries/pinocchio/default.nix @@ -4,7 +4,9 @@ , cmake , boost , eigen +, example-robot-data , collisionSupport ? !stdenv.isDarwin +, jrl-cmakemodules , hpp-fcl , urdfdom , pythonSupport ? false @@ -13,16 +15,22 @@ stdenv.mkDerivation (finalAttrs: { pname = "pinocchio"; - version = "2.7.0"; + version = "2.7.1"; src = fetchFromGitHub { owner = "stack-of-tasks"; repo = finalAttrs.pname; rev = "v${finalAttrs.version}"; - fetchSubmodules = true; - hash = "sha256-yhrG+MilGJkvwLUNTAgNhDqUWGjPswjrbg38yOLsmHc="; + hash = "sha256-Ks5dvKi5iutjM+iovDOYGx3vsr45JWRqGOXV8+Ko4gg="; }; + # example-robot-data models are used in checks. + # Upstream provide them as git submodule, but we can use our own version instead. + postPatch = '' + rmdir models/example-robot-data + ln -s ${example-robot-data.src} models/example-robot-data + ''; + strictDeps = true; nativeBuildInputs = [ @@ -30,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: { ]; propagatedBuildInputs = [ + jrl-cmakemodules urdfdom ] ++ lib.optionals (!pythonSupport) [ boost @@ -43,15 +52,13 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.hpp-fcl ]; - cmakeFlags = lib.optionals collisionSupport [ - "-DBUILD_WITH_COLLISION_SUPPORT=ON" - ] ++ lib.optionals pythonSupport [ - "-DBUILD_WITH_LIBPYTHON=ON" + cmakeFlags = [ + (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport) + (lib.cmakeBool "BUILD_WITH_LIBPYTHON" pythonSupport) + (lib.cmakeBool "BUILD_WITH_COLLISION_SUPPORT" collisionSupport) ] ++ lib.optionals (pythonSupport && stdenv.isDarwin) [ # AssertionError: '.' != '/tmp/nix-build-pinocchio-2.7.0.drv/sou[84 chars].dae' "-DCMAKE_CTEST_ARGUMENTS='--exclude-regex;test-py-bindings_geometry_model_urdf'" - ] ++ lib.optionals (!pythonSupport) [ - "-DBUILD_PYTHON_INTERFACE=OFF" ]; doCheck = true; @@ -60,11 +67,11 @@ stdenv.mkDerivation (finalAttrs: { "pinocchio" ]; - meta = with lib; { + meta = { description = "A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives"; homepage = "https://github.com/stack-of-tasks/pinocchio"; - license = licenses.bsd2; - maintainers = with maintainers; [ nim65s wegank ]; - platforms = platforms.unix; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ nim65s wegank ]; + platforms = lib.platforms.unix; }; }) |