summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2022-12-13 17:27:40 +0100
committerGitHub <noreply@github.com>2022-12-13 17:27:40 +0100
commit6b8791b66c62705a9cd56fb91c5986d5cdff34ac (patch)
treeeae56cf5fb3e9411326b58e9f32deca36d698da3
parentMerge pull request #205162 from wegank/dosbox-darwin (diff)
parentpinocchio: fix build on x86_64-darwin (diff)
downloadnixpkgs-6b8791b66c62705a9cd56fb91c5986d5cdff34ac.tar.gz
Merge pull request #205067 from wegank/crocoddyl-init
-rw-r--r--pkgs/development/libraries/crocoddyl/default.nix49
-rw-r--r--pkgs/development/libraries/example-robot-data/default.nix42
-rw-r--r--pkgs/development/libraries/pinocchio/default.nix57
-rw-r--r--pkgs/development/python-modules/eigenpy/default.nix44
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix17
6 files changed, 215 insertions, 0 deletions
diff --git a/pkgs/development/libraries/crocoddyl/default.nix b/pkgs/development/libraries/crocoddyl/default.nix
new file mode 100644
index 000000000000..2a8267f9d6b9
--- /dev/null
+++ b/pkgs/development/libraries/crocoddyl/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/libraries/example-robot-data/default.nix b/pkgs/development/libraries/example-robot-data/default.nix
new file mode 100644
index 000000000000..08a650dbca00
--- /dev/null
+++ b/pkgs/development/libraries/example-robot-data/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/libraries/pinocchio/default.nix b/pkgs/development/libraries/pinocchio/default.nix
new file mode 100644
index 000000000000..8b48e74476a6
--- /dev/null
+++ b/pkgs/development/libraries/pinocchio/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/python-modules/eigenpy/default.nix b/pkgs/development/python-modules/eigenpy/default.nix
new file mode 100644
index 000000000000..a13b8e52ed53
--- /dev/null
+++ b/pkgs/development/python-modules/eigenpy/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cd08b4415220..d83f1d3fe9bd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 51719fbde161..b9d16de47750 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -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 { };