From c56e0bbe36f5890edc80f5c8962111bdfe2244a8 Mon Sep 17 00:00:00 2001 From: Arnaud TANGUY Date: Sat, 4 Jul 2026 18:54:46 +0200 Subject: [PATCH 1/6] copra: update to 1.3.3 no submodules --- module.nix | 1 + pkgs/copra/default.nix | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/module.nix b/module.nix index 3c21bc7..e090f65 100644 --- a/module.nix +++ b/module.nix @@ -311,6 +311,7 @@ in state-observation mesh-sampling eigen-fmt + copra ; # mc-rtc diff --git a/pkgs/copra/default.nix b/pkgs/copra/default.nix index 72c750f..e67d411 100644 --- a/pkgs/copra/default.nix +++ b/pkgs/copra/default.nix @@ -1,23 +1,29 @@ { stdenv, lib, - fetchurl, + fetchFromGitHub, cmake, boost, eigen-qld, eigen-quadprog, + jrl-cmakemodules, }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "copra"; - version = "1.2.2"; + version = "1.3.3"; - src = fetchurl { - url = "https://github.com/jrl-umi3218/copra/releases/download/v1.2.2/copra-v1.2.2.tar.gz"; - sha256 = "1765z58rqgikkf9kp7f59skx45xbhlab6kxdp2kyvnqhn953gmvr"; + src = fetchFromGitHub { + owner = "jrl-umi3218"; + repo = "copra"; + tag = "v${version}"; + hash = "sha256-KD7Fu10JEkgVXjsfC6zE028U3yBJw/cFvW9o8NEHCVM="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + jrl-cmakemodules + ]; propagatedBuildInputs = [ boost eigen-qld From 838653b914913d00f859e12f75dc584e4a85c25b Mon Sep 17 00:00:00 2001 From: Arnaud TANGUY Date: Sat, 4 Jul 2026 18:55:18 +0200 Subject: [PATCH 2/6] lipm-walking: update to 1.7.1 --- module.nix | 8 +++++-- overlay.nix | 3 +-- pkgs/copra/default.nix | 1 - .../lipm-walking-controller/default.nix | 23 ++++++++----------- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/module.nix b/module.nix index e090f65..6179dfa 100644 --- a/module.nix +++ b/module.nix @@ -354,10 +354,14 @@ in env-mj-description ; - inherit (pkgs) panda-prosthesis mc-force-shoe-plugin sphinx-cmake; + # Controllers + inherit (pkgs) panda-prosthesis robogami-controller lipm-walking-controller; + + # Plugins + inherit (pkgs) mc-force-shoe-plugin; # Tools - inherit (pkgs) mc-robot-tools; + inherit (pkgs) mc-robot-tools sphinx-cmake; } (lib.optionalAttrs (cfg.with-ros || superbuildCfg.withRos) { inherit (pkgs) mc-rtc-ticker; diff --git a/overlay.nix b/overlay.nix index 01c8d01..d93f718 100644 --- a/overlay.nix +++ b/overlay.nix @@ -81,8 +81,7 @@ }; # mc-state-observation = prev.callPackage ./pkgs/mc-rtc/observers/mc-state-observation; mc-state-observation = prev.callPackage ./pkgs/mc-rtc/observers/mc-state-observation { }; - #lipm-walking-controller = prev.callPackage ./pkgs/mc-rtc/controllers/lipm-walking-controller {}; - # lipm-walking-controller = prev.callPackage ./pkgs/mc-rtc/controllers/lipm-walking-controller {}; + lipm-walking-controller = prev.callPackage ./pkgs/mc-rtc/controllers/lipm-walking-controller { }; robogami-controller = prev.callPackage ./pkgs/mc-rtc/controllers/robogami-controller { }; #mc-rtc-raylib = prev.callPackage ./pkgs/mc-rtc-raylib {}; mc-rtc-msgs = prev.callPackage ./pkgs/mc-rtc-msgs { }; diff --git a/pkgs/copra/default.nix b/pkgs/copra/default.nix index e67d411..4718358 100644 --- a/pkgs/copra/default.nix +++ b/pkgs/copra/default.nix @@ -31,7 +31,6 @@ stdenv.mkDerivation rec { ]; cmakeFlags = [ - "-DBUILD_TESTING=OFF" "-DPYTHON_BINDING=OFF" "-DINSTALL_DOCUMENTATION=OFF" ]; diff --git a/pkgs/mc-rtc/controllers/lipm-walking-controller/default.nix b/pkgs/mc-rtc/controllers/lipm-walking-controller/default.nix index bf98934..402d1b7 100644 --- a/pkgs/mc-rtc/controllers/lipm-walking-controller/default.nix +++ b/pkgs/mc-rtc/controllers/lipm-walking-controller/default.nix @@ -1,24 +1,21 @@ { stdenv, lib, - fetchgit, + fetchFromGitHub, cmake, mc-rtc, copra, }: -let - version = "1.6.0"; -in -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "lipm-walking-controller"; - version = "${version}"; + version = "1.7.1"; - # master branch as of 2021.01.25 - src = fetchgit { - url = "https://github.com/jrl-umi3218/lipm_walking_controller"; - rev = "e28e9552faff0ee110fcc3d6ce11dc6bb4759e31"; - sha256 = "sha256-nj1XWy9XHbk9oP1H2mZsFqmBJ1lnNG0CnMEA20VG6eQ"; + src = fetchFromGitHub { + owner = "jrl-umi3218"; + repo = "lipm_walking_controller"; + tag = "v${version}"; + hash = "sha256-tPWzbxuJbJm5zlUzU8jQJSdTIOsW8mb/Ci2DOeFdr4M="; }; nativeBuildInputs = [ cmake ]; @@ -28,13 +25,11 @@ stdenv.mkDerivation { ]; cmakeFlags = [ - "-DBUILD_TESTING=OFF" - "-DPYTHON_BINDING=OFF" "-DINSTALL_DOCUMENTATION=OFF" "-DMC_RTC_HONOR_INSTALL_PREFIX=ON" ]; - doCheck = false; + doCheck = true; meta = with lib; { description = "Walking controller based on linear inverted pendulum tracking"; From a75850e7c4ca7b01f242f1fff40bf982450ed871 Mon Sep 17 00:00:00 2001 From: Arnaud TANGUY Date: Sat, 4 Jul 2026 20:47:24 +0200 Subject: [PATCH 3/6] superbuild: add default profile for lipm-walking, panda-prosthesis and orgigami-controller --- module.nix | 49 +++++++++++++++++++ .../controllers/panda-prosthesis/default.nix | 28 +++++------ 2 files changed, 61 insertions(+), 16 deletions(-) diff --git a/module.nix b/module.nix index 6179dfa..c020bf9 100644 --- a/module.nix +++ b/module.nix @@ -217,6 +217,55 @@ in ]; }; }; + + lipm-walking = with pkgs; { + extends = [ "default" ]; + enabled = "LIPMWalking"; + runtime = { + observers = [ mc-state-observation ]; + apps = [ + mc-mujoco + ]; + }; + devel = { + controllers = [ lipm-walking-controller ]; + }; + }; + + robogami = with pkgs; { + extends = [ "default" ]; + mainRobot = "robogami"; + enabled = "RobogamiController"; + runtime = { + robots = [ + mc-robogami + ]; + }; + devel = { + controllers = [ robogami-controller ]; + }; + }; + + panda-prosthesis = with pkgs; { + extends = [ "minimal" ]; + runtime = { + robots = [ + mc-panda-lirmm + mc-panda + ]; + + apps = [ + mc-rtc-magnum + ]; + config = "lib/mc_controller/etc/panda_prosthesis/mc_rtc.yaml"; + }; + devel = { + config = "lib64/mc_controller/etc/panda_prosthesis/mc_rtc.yaml"; + controllers = [ panda-prosthesis ]; + plugins = [ panda-prosthesis ]; + robots = [ panda-prosthesis ]; + }; + }; }; configurations = builtInConfigurations // superbuildCfg.configurations; diff --git a/pkgs/mc-rtc/controllers/panda-prosthesis/default.nix b/pkgs/mc-rtc/controllers/panda-prosthesis/default.nix index d232f96..db8dd65 100644 --- a/pkgs/mc-rtc/controllers/panda-prosthesis/default.nix +++ b/pkgs/mc-rtc/controllers/panda-prosthesis/default.nix @@ -9,29 +9,25 @@ screen, minicom, mc-panda-lirmm, + pkg-config, }: stdenv.mkDerivation { pname = "panda-prosthesis"; version = "1.0.0"; - src = - # TODO: release panda-prosthesis - # fetchgit { - # #url = "https://github.com/ROLKNEEMATICS/panda_prosthesis"; - # url = "https://github.com/arntanguy/panda_prosthesis_rolkneematics"; - # # topic/ConnectModules - # rev = "edef20d6a4b05ba5868e399d63984f18da64bac4"; - # sha256 = "sha256-yzIjxDpD0ry6j9+a5n6y+PAgYmtrtwUeZDFC0/M7aR4="; - # }; - fetchFromGitHub { - owner = "arntanguy"; - repo = "panda_prosthesis_rolkneematics"; - rev = "734a0a3496042a33ba1ec74cb771c6fa17415e6e"; - hash = "sha256-w3o5mYrwPic1/9ZkNPpwCtQ958L1e8vNoOBPx34+CxI="; - }; + # TODO: release panda-prosthesis + src = fetchFromGitHub { + owner = "rolkneematics"; + repo = "panda_prosthesis"; + rev = "1653b020ae5ea207659fecc4ec0b0eaff65e369a"; + hash = "sha256-ZOaSpVhhxuWGaRaE5JSgpc05FptT6eX8A07/yhdCi1k="; + }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; propagatedBuildInputs = [ mc-rtc mc-panda-lirmm From 256e45037e377f742a526598cf453315a44ab6a9 Mon Sep 17 00:00:00 2001 From: Arnaud TANGUY Date: Sat, 4 Jul 2026 20:49:47 +0200 Subject: [PATCH 4/6] chore(mergify): don't comment on all prs --- .mergify.yml | 3 +++ templates/controller/.mergify.yml | 4 ++++ templates/default/.mergify.yml | 3 +++ templates/flakoboros/.mergify.yml | 2 ++ templates/private/.mergify.yml | 2 ++ templates/ros/.mergify.yml | 2 ++ 6 files changed, 16 insertions(+) diff --git a/.mergify.yml b/.mergify.yml index a342df1..4ea513a 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -19,6 +19,9 @@ pull_request_rules: actions: queue: +merge_queue: + queue_controls_comment: false + # ensure that required CI jobs suceed queue_rules: - name: default diff --git a/templates/controller/.mergify.yml b/templates/controller/.mergify.yml index 2ccdaf9..bf107d8 100644 --- a/templates/controller/.mergify.yml +++ b/templates/controller/.mergify.yml @@ -23,3 +23,7 @@ queue_rules: - name: default merge_conditions: - check-success = "check-macos-linux-nix" + +merge_queue: + queue_controls_comment: false + diff --git a/templates/default/.mergify.yml b/templates/default/.mergify.yml index 2ccdaf9..012c96a 100644 --- a/templates/default/.mergify.yml +++ b/templates/default/.mergify.yml @@ -23,3 +23,6 @@ queue_rules: - name: default merge_conditions: - check-success = "check-macos-linux-nix" +merge_queue: + queue_controls_comment: false + diff --git a/templates/flakoboros/.mergify.yml b/templates/flakoboros/.mergify.yml index 2ccdaf9..fa73ec0 100644 --- a/templates/flakoboros/.mergify.yml +++ b/templates/flakoboros/.mergify.yml @@ -23,3 +23,5 @@ queue_rules: - name: default merge_conditions: - check-success = "check-macos-linux-nix" +merge_queue: + queue_controls_comment: false diff --git a/templates/private/.mergify.yml b/templates/private/.mergify.yml index 2ccdaf9..fa73ec0 100644 --- a/templates/private/.mergify.yml +++ b/templates/private/.mergify.yml @@ -23,3 +23,5 @@ queue_rules: - name: default merge_conditions: - check-success = "check-macos-linux-nix" +merge_queue: + queue_controls_comment: false diff --git a/templates/ros/.mergify.yml b/templates/ros/.mergify.yml index 2ccdaf9..fa73ec0 100644 --- a/templates/ros/.mergify.yml +++ b/templates/ros/.mergify.yml @@ -23,3 +23,5 @@ queue_rules: - name: default merge_conditions: - check-success = "check-macos-linux-nix" +merge_queue: + queue_controls_comment: false From dc74aeab169ccfe06a0e91cc6bffb426a1ad1250 Mon Sep 17 00:00:00 2001 From: Arnaud TANGUY Date: Sat, 4 Jul 2026 20:50:12 +0200 Subject: [PATCH 5/6] chore: update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 492b800..88cf78d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ ros-overlay/ result +.superbuild/ From e2c87746a5c1e644c2684d8640105ea76e52e225 Mon Sep 17 00:00:00 2001 From: Arnaud TANGUY Date: Sat, 4 Jul 2026 21:03:15 +0200 Subject: [PATCH 6/6] fix(macos): do not build mujoco on macos --- module.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module.nix b/module.nix index c020bf9..4fd31bc 100644 --- a/module.nix +++ b/module.nix @@ -160,6 +160,8 @@ in specialArgs = { inherit pkgs; }; }).config; + maybe-mc-mujoco = lib.optional (!pkgs.stdenv.hostPlatform.isDarwin) pkgs.mc-mujoco; + builtInConfigurations = { minimal = { runtime = { }; @@ -223,9 +225,7 @@ in enabled = "LIPMWalking"; runtime = { observers = [ mc-state-observation ]; - apps = [ - mc-mujoco - ]; + apps = maybe-mc-mujoco; }; devel = { controllers = [ lipm-walking-controller ];