python3Packages.crocoddyl: depend on pkgs.crocoddyl

instead of rebuild, use the new BUILD_STANDALONE_PYTHON_INTERFACE feature.
This commit is contained in:
Guilhem Saurel
2025-10-15 19:54:47 +02:00
parent da6f8bee2a
commit 71bdd9a09f
3 changed files with 57 additions and 23 deletions
+2 -17
View File
@@ -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";
@@ -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"
];
})
)
+1 -6
View File
@@ -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 { };