Unverified Commit 109da46a authored by Pol Dellaiera's avatar Pol Dellaiera Committed by GitHub
Browse files

Merge pull request #306943 from nim65s/pin271

pinocchio: 2.7.0 -> 2.7.1
parents fe6b10e2 fa334d69
Loading
Loading
Loading
Loading
+20 −13
Original line number Diff line number Diff line
@@ -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;
  };
})