diff --git a/pkgs/by-name/nd/ndcurves/package.nix b/pkgs/by-name/nd/ndcurves/package.nix new file mode 100644 index 000000000000..cc58991bb325 --- /dev/null +++ b/pkgs/by-name/nd/ndcurves/package.nix @@ -0,0 +1,73 @@ +{ + cmake, + doxygen, + fetchFromGitHub, + jrl-cmakemodules, + lib, + pinocchio, + pkg-config, + python3Packages, + pythonSupport ? false, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ndcurves"; + version = "1.4.1"; + + src = fetchFromGitHub { + owner = "loco-3d"; + repo = "ndcurves"; + rev = "v${finalAttrs.version}"; + hash = "sha256-XJ3VSSGKSJ+x3jc4408PGHTYg3nC7o/EeFnbKBELefs="; + }; + + outputs = [ + "out" + "doc" + ]; + + strictDeps = true; + + nativeBuildInputs = + [ + cmake + doxygen + pkg-config + ] + ++ lib.optionals pythonSupport [ + python3Packages.python + python3Packages.pythonImportsCheckHook + ]; + propagatedBuildInputs = + [ jrl-cmakemodules ] + ++ lib.optionals pythonSupport [ + python3Packages.eigenpy + python3Packages.pinocchio + ] + ++ lib.optional (!pythonSupport) pinocchio; + + cmakeFlags = + [ + (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport) + (lib.cmakeBool "CURVES_WITH_PINOCCHIO_SUPPORT" true) + ] + ++ lib.optional stdenv.hostPlatform.isAarch64 ( + lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;'curves_tests|python-curves'" + ) + ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) ( + lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;'test-so3-smooth'" + ); + + doCheck = true; + + pythonImportsCheck = [ "ndcurves" ]; + + meta = { + description = "Library for creating smooth cubic splines"; + homepage = "https://github.com/loco-3d/ndcurves"; + license = lib.licenses.bsd2; + maintainers = [ lib.maintainers.nim65s ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ba43430e48c1..b4429cfa2792 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8962,6 +8962,8 @@ self: super: with self; { natural = callPackage ../development/python-modules/natural { }; + ndcurves = toPythonModule (pkgs.ndcurves.override { python3Packages = self; pythonSupport = true; }); + nomadnet = callPackage ../development/python-modules/nomadnet { }; noneprompt = callPackage ../development/python-modules/noneprompt { };