Merge pull request #205067 from wegank/crocoddyl-init

This commit is contained in:
Sandro 2022-12-13 17:27:40 +01:00 committed by GitHub
commit 6b8791b66c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 215 additions and 0 deletions

View File

@ -0,0 +1,49 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, example-robot-data
, pinocchio
, pythonSupport ? false
, python3Packages
}:
stdenv.mkDerivation rec {
pname = "crocoddyl";
version = "1.9.0";
src = fetchFromGitHub {
owner = "loco-3d";
repo = pname;
rev = "v${version}";
sha256 = "sha256-IQ+8ZZXVTTRFa4uGetpylRab4P9MSTU2YtytYA3z6ys=";
fetchSubmodules = true;
};
strictDeps = true;
nativeBuildInputs = [
cmake
];
propagatedBuildInputs = lib.optionals (!pythonSupport) [
example-robot-data
pinocchio
] ++ lib.optionals pythonSupport [
python3Packages.example-robot-data
python3Packages.pinocchio
];
cmakeFlags = lib.optionals (!pythonSupport) [
"-DBUILD_EXAMPLES=OFF"
"-DBUILD_PYTHON_INTERFACE=OFF"
];
meta = with lib; {
description = "Crocoddyl optimal control library";
homepage = "https://github.com/loco-3d/crocoddyl";
license = licenses.bsd3;
maintainers = with maintainers; [ wegank ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,42 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pythonSupport ? false
, python3Packages
}:
stdenv.mkDerivation rec {
pname = "example-robot-data";
version = "4.0.3";
src = fetchFromGitHub {
owner = "Gepetto";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-rxVyka8tcF/CmGTVNyh3FPR1LVa6JOAN+9zjElgqCak=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
];
buildInputs = lib.optionals pythonSupport [
python3Packages.pinocchio
];
cmakeFlags = lib.optionals (!pythonSupport) [
"-DBUILD_PYTHON_INTERFACE=OFF"
];
meta = with lib; {
description = "Set of robot URDFs for benchmarking and developed examples.";
homepage = "https://github.com/Gepetto/example-robot-data";
license = licenses.bsd3;
maintainers = with maintainers; [ wegank ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,57 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, boost
, eigen
, urdfdom
, pythonSupport ? false
, python3Packages
}:
stdenv.mkDerivation rec {
pname = "pinocchio";
version = "2.6.12";
src = fetchFromGitHub {
owner = "stack-of-tasks";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-DJX/njNX8l7ngSl3yCeN7ZoQaH65pQTsZrKwmY7EZ+E=";
};
# error: use of undeclared identifier '__sincos'
postPatch = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
substituteInPlace src/math/sincos.hpp \
--replace "__APPLE__" "0"
'';
strictDeps = true;
nativeBuildInputs = [
cmake
];
propagatedBuildInputs = [
urdfdom
] ++ lib.optionals (!pythonSupport) [
boost
eigen
] ++ lib.optionals pythonSupport [
python3Packages.boost
python3Packages.eigenpy
];
cmakeFlags = lib.optionals (!pythonSupport) [
"-DBUILD_PYTHON_INTERFACE=OFF"
];
meta = with lib; {
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; [ wegank ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,44 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, boost
, eigen
, numpy
}:
stdenv.mkDerivation rec {
pname = "eigenpy";
version = "2.8.1";
src = fetchFromGitHub {
owner = "stack-of-tasks";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-nofB5TDvEArhPcYe/Pb1LQBC+W6MrE3NuapaZmKIO68=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
];
buildInputs = [
boost
];
propagatedBuildInputs = [
eigen
numpy
];
meta = with lib; {
description = "Bindings between Numpy and Eigen using Boost.Python";
homepage = "https://github.com/stack-of-tasks/eigenpy";
license = licenses.bsd2;
maintainers = with maintainers; [ wegank ];
platforms = platforms.unix;
};
}

View File

@ -18786,6 +18786,8 @@ with pkgs;
croaring = callPackage ../development/libraries/croaring { };
crocoddyl = callPackage ../development/libraries/crocoddyl { };
crossguid = callPackage ../development/libraries/crossguid { };
cryptopp = callPackage ../development/libraries/crypto++ { };
@ -18957,6 +18959,8 @@ with pkgs;
liberasurecode = callPackage ../applications/misc/liberasurecode { };
example-robot-data = callPackage ../development/libraries/example-robot-data { };
exiv2 = callPackage ../development/libraries/exiv2 { };
expat = callPackage ../development/libraries/expat { };
@ -22051,6 +22055,8 @@ with pkgs;
pico-sdk = callPackage ../development/libraries/pico-sdk { };
pinocchio = callPackage ../development/libraries/pinocchio { };
pipelight = callPackage ../tools/misc/pipelight {
stdenv = stdenv_32bit;
wine-staging = pkgsi686Linux.wine-staging;

View File

@ -2028,6 +2028,11 @@ self: super: with self; {
criticality-score = callPackage ../development/python-modules/criticality-score { };
crocoddyl = toPythonModule (callPackage ../development/libraries/crocoddyl {
pythonSupport = true;
python3Packages = self;
});
cron-descriptor = callPackage ../development/python-modules/cron-descriptor { };
croniter = callPackage ../development/python-modules/croniter { };
@ -2897,6 +2902,8 @@ self: super: with self; {
eggdeps = callPackage ../development/python-modules/eggdeps { };
eigenpy = toPythonModule (callPackage ../development/python-modules/eigenpy { });
einops = callPackage ../development/python-modules/einops { };
eiswarnung = callPackage ../development/python-modules/eiswarnung { };
@ -3068,6 +3075,11 @@ self: super: with self; {
ewmh = callPackage ../development/python-modules/ewmh { };
example-robot-data = toPythonModule (pkgs.example-robot-data.override {
pythonSupport = true;
python3Packages = self;
});
exdown = callPackage ../development/python-modules/exdown { };
exceptiongroup = callPackage ../development/python-modules/exceptiongroup { };
@ -6963,6 +6975,11 @@ self: super: with self; {
pinboard = callPackage ../development/python-modules/pinboard { };
pinocchio = toPythonModule (pkgs.pinocchio.override {
pythonSupport = true;
python3Packages = self;
});
pint = callPackage ../development/python-modules/pint { };
pint-pandas = callPackage ../development/python-modules/pint-pandas { };