diff --git a/pkgs/by-name/cr/crocoddyl/package.nix b/pkgs/by-name/cr/crocoddyl/package.nix index ccc05b0297f1..87aa4b589409 100644 --- a/pkgs/by-name/cr/crocoddyl/package.nix +++ b/pkgs/by-name/cr/crocoddyl/package.nix @@ -10,8 +10,6 @@ lib, pinocchio, pkg-config, - pythonSupport ? false, - python3Packages, stdenv, }: @@ -46,31 +44,20 @@ stdenv.mkDerivation (finalAttrs: { cmake doxygen pkg-config - ] - ++ lib.optionals pythonSupport [ - python3Packages.python - python3Packages.pythonImportsCheckHook ]; propagatedBuildInputs = [ blas ipopt lapack - ] - ++ lib.optionals (!pythonSupport) [ example-robot-data pinocchio - ] - ++ lib.optionals pythonSupport [ - python3Packages.example-robot-data - python3Packages.pinocchio - python3Packages.scipy ]; cmakeFlags = [ (lib.cmakeBool "INSTALL_DOCUMENTATION" true) - (lib.cmakeBool "BUILD_EXAMPLES" pythonSupport) - (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport) + (lib.cmakeBool "BUILD_EXAMPLES" false) + (lib.cmakeBool "BUILD_PYTHON_INTERFACE" false) ]; prePatch = '' @@ -81,8 +68,6 @@ stdenv.mkDerivation (finalAttrs: { ''; doCheck = true; - pythonImportsCheck = [ "crocoddyl" ]; - checkInputs = lib.optionals pythonSupport [ python3Packages.scipy ]; meta = with lib; { description = "Crocoddyl optimal control library"; diff --git a/pkgs/development/python-modules/crocoddyl/default.nix b/pkgs/development/python-modules/crocoddyl/default.nix new file mode 100644 index 000000000000..5e5e449899f0 --- /dev/null +++ b/pkgs/development/python-modules/crocoddyl/default.nix @@ -0,0 +1,54 @@ +{ + lib, + + toPythonModule, + pythonImportsCheckHook, + + crocoddyl, + + example-robot-data, + ffmpeg, + matplotlib, + nbconvert, + nbformat, + ipykernel, + python, + scipy, +}: +toPythonModule ( + crocoddyl.overrideAttrs (super: { + pname = "py-${super.pname}"; + + cmakeFlags = super.cmakeFlags ++ [ + (lib.cmakeBool "BUILD_PYTHON_INTERFACE" true) + (lib.cmakeBool "BUILD_STANDALONE_PYTHON_INTERFACE" true) + ]; + + # those are used by CMake at configure/build time + nativeBuildInputs = super.nativeBuildInputs ++ [ + python + ]; + + propagatedBuildInputs = super.propagatedBuildInputs ++ [ + crocoddyl + example-robot-data + ]; + + nativeCheckInputs = [ + ffmpeg + pythonImportsCheckHook + ]; + + checkInputs = [ + matplotlib + nbconvert + nbformat + ipykernel + scipy + ]; + + pythonImportsCheck = [ + "crocoddyl" + ]; + }) +) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 39ee4ccf6217..c77ad5075b6e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3108,12 +3108,7 @@ self: super: with self; { crochet = callPackage ../development/python-modules/crochet { }; - crocoddyl = toPythonModule ( - pkgs.crocoddyl.override { - pythonSupport = true; - python3Packages = self; - } - ); + crocoddyl = callPackage ../development/python-modules/crocoddyl { inherit (pkgs) crocoddyl; }; cron-converter = callPackage ../development/python-modules/cron-converter { };