diff --git a/distros/build-env/default.nix b/distros/build-env/default.nix index bcf5bcaf5cd..9d62cbeb64d 100644 --- a/distros/build-env/default.nix +++ b/distros/build-env/default.nix @@ -86,20 +86,8 @@ let ''; }; }; - })).overrideAttrs ({ buildCommand, passAsFile ? [], ...}: { - # Hack to allow buildEnv to use propagatedBuildInputs - buildCommand = null; - oldBuildCommand = buildCommand; - passAsFile = (if passAsFile == null then [] else passAsFile) ++ [ "oldBuildCommand" ]; - - propagatedBuildInputs = propagatedPaths.otherPackages; - - buildPhase = '' - runHook preBuild - . "$oldBuildCommandPath" - runHook postBuild - ''; - phases = [ "buildPhase" "fixupPhase" ]; + })).overrideAttrs ({ propagatedBuildInputs ? [], ... }: { + propagatedBuildInputs = propagatedBuildInputs ++ propagatedPaths.otherPackages; # Disable redundant fixup operations. # The fixupPhase is needed for shell hooks and input propagation, but other diff --git a/distros/build-env/setup-hook-builder.pl b/distros/build-env/setup-hook-builder.pl index a8a3f785fb5..a52ae915107 100644 --- a/distros/build-env/setup-hook-builder.pl +++ b/distros/build-env/setup-hook-builder.pl @@ -7,20 +7,16 @@ # Read packages list. my $pkgs; -if (exists $ENV{"pkgsPath"}) { - open FILE, $ENV{"pkgsPath"}; - $pkgs = ; - close FILE; -} else { - $pkgs = $ENV{"pkgs"} -} +open FILE, $ENV{"NIX_ATTRS_JSON_FILE"}; +$pkgs = ; +close FILE; # Create a setup hook that sources the setup hooks of all packages in the # environment. mkdir "$out/nix-support" unless -d "$out/nix-support"; open(my $setupHook, '>', "$out/nix-support/setup-hook"); -for my $pkg (@{decode_json $pkgs}) { +for my $pkg (@{decode_json($pkgs)->{chosenOutputs}}) { for my $path (@{$pkg->{paths}}) { my $pathSetupHook = "$path/nix-support/setup-hook"; print $setupHook ". $pathSetupHook\n" if -e $pathSetupHook; diff --git a/distros/distro-overlay.nix b/distros/distro-overlay.nix index 5419f2d985e..14a61f42ef5 100644 --- a/distros/distro-overlay.nix +++ b/distros/distro-overlay.nix @@ -90,7 +90,7 @@ let # Some third-party packages are available in rodistro, # but have a better packaging in nixpkgs, so use it instead - inherit (self.python3Packages) coal eigenpy pinocchio crocoddyl ; + inherit (self.python3Packages) coal eigenpy pinocchio crocoddyl tsid; freeimage = null; # Get rid of freeimage @@ -204,6 +204,10 @@ let ''; }); + # vcstool was replaced by vcs2l in nixpkgs (https://github.com/NixOS/nixpkgs/pull/499630) + # TODO: Make this change in rosdep after master is moved to nixpkgs without vcstool. + vcstool = self.vcs2l; + } // (mrptOverrides rosSelf rosSuper); otherSplices = { diff --git a/distros/humble/overrides.nix b/distros/humble/overrides.nix index 6cf7ddac23e..a478765e861 100644 --- a/distros/humble/overrides.nix +++ b/distros/humble/overrides.nix @@ -176,6 +176,53 @@ in with lib; { ''; }); + boost-plugin-loader = rosSuper.boost-plugin-loader.overrideAttrs ({ + postPatch ? "", ... + }: { + # In Boost >= 1.88, boost::dll::import_symbol returns + # std::shared_ptr instead of boost::shared_ptr. Use auto to stay + # compatible with both. Upstream handles this in + # https://github.com/tesseract-robotics/boost_plugin_loader/pull/29, + # but it cannot be easily applied to old humble version. + postPatch = postPatch + '' + substituteInPlace include/boost_plugin_loader/plugin_loader.hpp \ + --replace-fail \ + 'boost::shared_ptr plugin = boost::dll::import_symbol(lib, symbol_name);' \ + 'auto plugin = boost::dll::import_symbol(lib, symbol_name);' + ''; + }); + + bosch-locator-bridge = rosSuper.bosch-locator-bridge.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/boschglobal/rokit_ros_bridge/pull/80 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail "REQUIRED COMPONENTS system" "REQUIRED" + ''; + }); + + canopen-core = rosSuper.canopen-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ros-industrial/ros2_canopen/pull/399 + postPatch = '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "find_package(Boost REQUIRED system thread)" \ + "find_package(Boost REQUIRED thread)" + ''; + }); + + cartographer = rosSuper.cartographer.overrideAttrs ({ + postPatch ? "", ... + }: { + # Fix "ld.bfd: libcartographer.a(tsdf_2d.cc.o): undefined reference to symbol '_ZN4absl12lts_2026010712log_internal17MakeCheckOpStringImmEEPKcT_T0_S4_'" + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "absl::utility" \ + "absl::utility absl::log_internal_check_op" + ''; + }); + clips-vendor = lib.patchAmentVendorFile rosSuper.clips-vendor { }; cyclonedds = rosSuper.cyclonedds.overrideAttrs ({ @@ -334,8 +381,22 @@ in with lib; { gtsam = rosSuper.gtsam.overrideAttrs ({ - postPatch ? "", ... + patches ? [], postPatch ? "", ... }: { + patches = [ + # https://github.com/borglab/gtsam/pull/2232 merged upstream + (self.fetchpatch2 { + name = "allow-next-patch.patch"; + url = "https://github.com/borglab/gtsam/commit/7b96d1e32525dbb123653058e1aab4e82270a782.patch?full_index=1"; + hash = "sha256-WFyKG3tJ1XoZsIMPbE2VkR+hHdChjw1IHSSXlOR7OZ8="; + includes = [ "cmake/HandleBoost.cmake" ]; + }) + (self.fetchpatch2 { + name = "drop-boost-system.patch"; + url = "https://github.com/borglab/gtsam/commit/a0592a6b5ab161194da1b162caaedda78ef3f2bf.patch?full_index=1"; + hash = "sha256-S9YI8/MVthAuuBl3DRR8JCTxTw5Hi+hVz41T95APDu4="; + }) + ]; postPatch = postPatch + '' substituteInPlace CMakeLists.txt gtsam/3rdparty/metis/CMakeLists.txt --replace-fail \ "cmake_minimum_required(VERSION 3.0)" \ @@ -388,6 +449,17 @@ in with lib; { ''; }); + ld08-driver = rosSuper.ld08-driver.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ROBOTIS-GIT/ld08_driver/pull/36 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "Boost::system" "Boost::boost" \ + --replace-fail "REQUIRED system" "REQUIRED" + ''; + }); + lsc-ros2-driver = rosSuper.lsc-ros2-driver.overrideAttrs ({ patches ? [], ... }: { @@ -579,15 +651,113 @@ in with lib; { substituteInPlace deps/libmotioncapture/deps/pybind11/CMakeLists.txt --replace-fail \ "cmake_minimum_required(VERSION 3.4)" \ "cmake_minimum_required(VERSION 3.5)" + + # https://github.com/IMRCLab/libmotioncapture/pull/33 + substituteInPlace deps/libmotioncapture/CMakeLists.txt \ + --replace-fail "Boost 1.5 COMPONENTS system REQUIRED" "Boost REQUIRED" \ + --replace-fail "Boost::system" "Boost::boost" + + # https://github.com/whoenig/vicon-datastream-sdk/pull/7 + substituteInPlace deps/libmotioncapture/deps/vicon-datastream-sdk/CMakeLists.txt \ + --replace-fail \ + "Boost 1.5 COMPONENTS system thread chrono REQUIRED" \ + "Boost 1.5 COMPONENTS thread chrono REQUIRED" \ + --replace-fail "Boost::system" "Boost::boost" + + # https://github.com/whoenig/NatNetSDKCrossplatform/pull/8 + substituteInPlace deps/libmotioncapture/deps/NatNetSDKCrossplatform/CMakeLists.txt \ + --replace-fail \ + "Boost 1.5 REQUIRED COMPONENTS system thread" \ + "Boost 1.5 REQUIRED COMPONENTS thread" \ + --replace-fail "Boost::system" "Boost::boost" + ''; + }); + + moveit-core = rosSuper.moveit-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake \ + --replace-fail " system" "" ''; }); moveit-kinematics = rosSuper.moveit-kinematics.overrideAttrs ({ - propagatedBuildInputs ? [], ... + postPatch ? "", propagatedBuildInputs ? [], ... }: { # Added upstream in 2.7.2 # https://github.com/ros-planning/moveit2/pull/2109 propagatedBuildInputs = propagatedBuildInputs ++ [ rosSelf.moveit-ros-planning ]; + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail "system" "" + ''; + }); + + moveit-planners-ompl = rosSuper.moveit-planners-ompl.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + + moveit-ros-control-interface = rosSuper.moveit-ros-control-interface.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "Boost REQUIRED COMPONENTS system thread" \ + "Boost REQUIRED COMPONENTS thread" + ''; + }); + + moveit-ros-move-group = rosSuper.moveit-ros-move-group.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-planning = rosSuper.moveit-ros-planning.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-planning-interface = rosSuper.moveit-ros-planning-interface.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-visualization = rosSuper.moveit-ros-visualization.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-warehouse = rosSuper.moveit-ros-warehouse.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; }); moveit-task-constructor-capabilities = rosSuper.moveit-task-constructor-capabilities.overrideAttrs ({ @@ -603,6 +773,16 @@ in with lib; { ]; }); + moveit-visual-tools = rosSuper.moveit-visual-tools.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit_visual_tools/pull/154 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + + mqtt-client = rosSuper.mqtt-client.overrideAttrs ({ patches ? [], ... }: { @@ -630,6 +810,12 @@ in with lib; { url = "https://github.com/KIT-MRT/mrt_cmake_modules/commit/56bb3808fd7883c1afb216bb9b974fb4d6f16ed0.patch?full_index=1"; hash = "sha256-6BclHo/NEXPSnjjZ1TNF1cPdDCy3t4tjSP5oAgDQS50="; }) + # drop boost system + # ref. https://github.com/KIT-MRT/mrt_cmake_modules/pull/41 + (self.fetchpatch2 { + url = "https://github.com/KIT-MRT/mrt_cmake_modules/commit/332c1d733336c6ed5c8c2c8e21146e75d8c7f565.patch?full_index=1"; + hash = "sha256-oNmIPw7SaDGFQyBPUyMzg8mgSc49MyjuBMya0Odmqfs="; + }) ]; }); @@ -762,6 +948,17 @@ in with lib; { ]; }); + ompl = rosSuper.ompl.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # https://github.com/ompl/ompl/pull/1306 merged + (self.fetchpatch2 { + url = "https://github.com/ompl/ompl/commit/44eaf82b6e9829d15317884f9b78ab24618c5f6f.patch?full_index=1"; + hash = "sha256-SSC0Uk3ddHwRdv81cY7DRJS9uekYgr2Zv13Yk0bWl2M="; + }) + ]; + }); openvdb-vendor = (lib.patchAmentVendorGit rosSuper.openvdb-vendor {}).overrideAttrs ({ postPatch ? "", ... @@ -943,6 +1140,17 @@ in with lib; { ''; }); + rtabmap = rosSuper.rtabmap.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/introlab/rtabmap/commit/739628aef9cd765025dd2a0b99c8540abe65e808 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "filesystem system" \ + "filesystem" + ''; + }); + rviz-ogre-vendor = (patchVendorUrl rosSuper.rviz-ogre-vendor { url = "https://github.com/OGRECave/ogre/archive/v1.12.1.zip"; sha256 = "1iv6k0dwdzg5nnzw2mcgcl663q4f7p2kj7nhs8afnsikrzxxgsi4"; @@ -985,6 +1193,26 @@ in with lib; { sha256 = "1255n51y1bjry97n4w60mgz6b9h14flfrxb01ihjf6pwvvfns8ag"; }; + slam-toolbox = rosSuper.slam-toolbox.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/SteveMacenski/slam_toolbox/pull/854 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt lib/karto_sdk/CMakeLists.txt \ + --replace-fail " system" "" + ''; + }); + + spatio-temporal-voxel-layer = rosSuper.spatio-temporal-voxel-layer.overrideAttrs ({ + postPatch ? "", ... + }: { + # boost removed in https://github.com/SteveMacenski/spatio_temporal_voxel_layer/pull/356 + # but that does not apply cleanly + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail "COMPONENTS system thread" "COMPONENTS thread" + ''; + }); + turtlesim = rosSuper.turtlesim.overrideAttrs ({ nativeBuildInputs ? [], ... }: { @@ -1100,6 +1328,26 @@ in with lib; { ''; }); + warehouse-ros-sqlite = rosSuper.warehouse-ros-sqlite.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/warehouse_ros_sqlite/pull/61 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + + web-video-server = rosSuper.web-video-server.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/RobotWebTools/web_video_server/pull/200 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "REQUIRED COMPONENTS system" "REQUIRED" \ + --replace-fail "Boost::system" "" + ''; + }); + webots-ros2-driver = rosSuper.webots-ros2-driver.overrideAttrs ({ postPatch ? "", ... }: { @@ -1112,7 +1360,11 @@ in with lib; { zenoh-cpp-vendor = (lib.patchAmentVendorGit rosSuper.zenoh-cpp-vendor { # Patch the build.rs script to be able to build internal # opaque-types crate without network access. - patchesFor.zenoh_c_vendor = [ ./zenoh-cpp-vendor/zenoh-c.patch ]; + patchesFor.zenoh_c_vendor = [ + ./zenoh-cpp-vendor/zenoh-c.patch + ./zenoh-cpp-vendor/static-init-104.patch + ./zenoh-cpp-vendor/opaque-types-static-init-104.patch + ]; }).overrideAttrs(finalAttrs: { nativeBuildInputs ? [], postPatch ? "", passthru ? {}, ... }: let diff --git a/distros/humble/zenoh-cpp-vendor/opaque-types-static-init-104.patch b/distros/humble/zenoh-cpp-vendor/opaque-types-static-init-104.patch new file mode 100644 index 00000000000..9671b2b28a7 --- /dev/null +++ b/distros/humble/zenoh-cpp-vendor/opaque-types-static-init-104.patch @@ -0,0 +1,74 @@ +--- a/build-resources/opaque-types/Cargo.lock 1970-01-01 01:00:01.000000000 +0100 ++++ b/build-resources/opaque-types/Cargo.lock 2026-05-18 18:35:58.873458133 +0200 +@@ -1285,9 +1285,9 @@ + + [[package]] + name = "lock_api" +-version = "0.4.12" ++version = "0.4.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" + dependencies = [ + "autocfg", + "scopeguard", +@@ -1618,9 +1618,9 @@ + + [[package]] + name = "parking_lot" +-version = "0.11.2" ++version = "0.12.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" ++checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" + dependencies = [ + "instant", + "lock_api", +@@ -1629,9 +1629,9 @@ + + [[package]] + name = "parking_lot_core" +-version = "0.8.6" ++version = "0.9.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" ++checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" + dependencies = [ + "cfg-if", + "instant", +@@ -1956,9 +1956,9 @@ + + [[package]] + name = "redox_syscall" +-version = "0.2.16" ++version = "0.5.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" ++checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" + dependencies = [ + "bitflags 1.3.2", + ] +@@ -2648,9 +2648,9 @@ + + [[package]] + name = "static_init" +-version = "1.0.3" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" ++checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" + dependencies = [ + "bitflags 1.3.2", + "cfg_aliases 0.1.1", +@@ -2663,9 +2663,9 @@ + + [[package]] + name = "static_init_macro" +-version = "1.0.2" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" ++checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" + dependencies = [ + "cfg_aliases 0.1.1", + "memchr", diff --git a/distros/humble/zenoh-cpp-vendor/static-init-104.patch b/distros/humble/zenoh-cpp-vendor/static-init-104.patch new file mode 100644 index 00000000000..da6dcea4617 --- /dev/null +++ b/distros/humble/zenoh-cpp-vendor/static-init-104.patch @@ -0,0 +1,74 @@ +--- a/Cargo.lock 1970-01-01 01:00:01.000000000 +0100 ++++ b/Cargo.lock 2026-05-18 17:41:00.499670859 +0200 +@@ -1469,9 +1469,9 @@ + + [[package]] + name = "lock_api" +-version = "0.4.12" ++version = "0.4.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" + dependencies = [ + "autocfg", + "scopeguard", +@@ -1790,9 +1790,9 @@ + + [[package]] + name = "parking_lot" +-version = "0.11.2" ++version = "0.12.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" ++checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" + dependencies = [ + "instant", + "lock_api", +@@ -1801,9 +1801,9 @@ + + [[package]] + name = "parking_lot_core" +-version = "0.8.6" ++version = "0.9.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" ++checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" + dependencies = [ + "cfg-if", + "instant", +@@ -2199,9 +2199,9 @@ + + [[package]] + name = "redox_syscall" +-version = "0.2.16" ++version = "0.5.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" ++checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" + dependencies = [ + "bitflags 1.3.2", + ] +@@ -2913,9 +2913,9 @@ + + [[package]] + name = "static_init" +-version = "1.0.3" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" ++checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" + dependencies = [ + "bitflags 1.3.2", + "cfg_aliases 0.1.1", +@@ -2928,9 +2928,9 @@ + + [[package]] + name = "static_init_macro" +-version = "1.0.2" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" ++checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" + dependencies = [ + "cfg_aliases 0.1.1", + "memchr", diff --git a/distros/jazzy/overrides.nix b/distros/jazzy/overrides.nix index d44af5bed54..739569c4a19 100644 --- a/distros/jazzy/overrides.nix +++ b/distros/jazzy/overrides.nix @@ -191,6 +191,28 @@ in { ]; }); + canopen-core = rosSuper.canopen-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ros-industrial/ros2_canopen/pull/399 + postPatch = '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "find_package(Boost REQUIRED system thread)" \ + "find_package(Boost REQUIRED thread)" + ''; + }); + + cartographer = rosSuper.cartographer.overrideAttrs ({ + postPatch ? "", ... + }: { + # Fix "ld.bfd: libcartographer.a(tsdf_2d.cc.o): undefined reference to symbol '_ZN4absl12lts_2026010712log_internal17MakeCheckOpStringImmEEPKcT_T0_S4_'" + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "absl::utility" \ + "absl::utility absl::log_internal_check_op" + ''; + }); + clips-vendor = lib.patchAmentVendorFile rosSuper.clips-vendor { }; cyclonedds = rosSuper.cyclonedds.overrideAttrs ({ @@ -255,6 +277,23 @@ in { ]; }); + fuse-core = rosSuper.fuse-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/locusrobotics/fuse/pull/424 + postPatch = postPatch + '' + substituteInPlace \ + include/fuse_core/graph.hpp \ + include/fuse_core/message_buffer.hpp \ + include/fuse_core/transaction.hpp \ + include/fuse_core/timestamp_manager.hpp \ + --replace-fail \ + "#include " \ + "#include + #include " + ''; + }); + fusioncore-ros = rosSuper.fusioncore-ros.overrideAttrs ({ buildInputs ? [], ... }: { @@ -319,8 +358,22 @@ in { }; gtsam = rosSuper.gtsam.overrideAttrs ({ - postPatch ? "", ... + patches ? [], postPatch ? "", ... }: { + patches = [ + # https://github.com/borglab/gtsam/pull/2232 merged upstream + (self.fetchpatch2 { + name = "allow-next-patch.patch"; + url = "https://github.com/borglab/gtsam/commit/7b96d1e32525dbb123653058e1aab4e82270a782.patch?full_index=1"; + hash = "sha256-WFyKG3tJ1XoZsIMPbE2VkR+hHdChjw1IHSSXlOR7OZ8="; + includes = [ "cmake/HandleBoost.cmake" ]; + }) + (self.fetchpatch2 { + name = "drop-boost-system.patch"; + url = "https://github.com/borglab/gtsam/commit/a0592a6b5ab161194da1b162caaedda78ef3f2bf.patch?full_index=1"; + hash = "sha256-S9YI8/MVthAuuBl3DRR8JCTxTw5Hi+hVz41T95APDu4="; + }) + ]; postPatch = postPatch + '' substituteInPlace CMakeLists.txt gtsam/3rdparty/metis/CMakeLists.txt --replace-fail \ "cmake_minimum_required(VERSION 3.0)" \ @@ -517,6 +570,17 @@ in { ''; }); + ld08-driver = rosSuper.ld08-driver.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ROBOTIS-GIT/ld08_driver/pull/36 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "Boost::system" "Boost::boost" \ + --replace-fail "REQUIRED system" "REQUIRED" + ''; + }); + lely-core-libraries = (lib.patchExternalProjectGit rosSuper.lely-core-libraries { url = "https://gitlab.com/lely_industries/lely-core.git"; rev = "fb735b79cab5f0cdda45bc5087414d405ef8f3ab"; @@ -545,7 +609,7 @@ in { }; libpointmatcher = rosSuper.libpointmatcher.overrideAttrs ({ - patches ? [], ... + patches ? [], postPatch ? "", ... }: { patches = patches ++ [ # Fix failing build due to deprecated boost::filesystem functions @@ -554,6 +618,10 @@ in { hash = "sha256-U0I5UuJoNtKzNSKriWaiGHr79Y9QWe3Pf1y77YJvaK8="; }) ]; + # https://github.com/norlab-ulaval/libpointmatcher/pull/614 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail "system program_options" "program_options" + ''; }); mcap-vendor = lib.patchVendorUrl rosSuper.mcap-vendor { @@ -615,17 +683,77 @@ in { substituteInPlace deps/libmotioncapture/deps/vrpn/CMakeLists.txt --replace-fail \ "cmake_minimum_required(VERSION 2.8.3)" \ "cmake_minimum_required(VERSION 3.10)" + + # https://github.com/IMRCLab/libmotioncapture/pull/33 + substituteInPlace deps/libmotioncapture/CMakeLists.txt \ + --replace-fail "Boost 1.5 COMPONENTS system REQUIRED" "Boost REQUIRED" \ + --replace-fail "Boost::system" "Boost::boost" + + # https://github.com/whoenig/vicon-datastream-sdk/pull/7 + substituteInPlace deps/libmotioncapture/deps/vicon-datastream-sdk/CMakeLists.txt \ + --replace-fail \ + "Boost 1.5 COMPONENTS system thread chrono REQUIRED" \ + "Boost 1.5 COMPONENTS thread chrono REQUIRED" \ + --replace-fail "Boost::system" "Boost::boost" + + # https://github.com/whoenig/NatNetSDKCrossplatform/pull/8 + substituteInPlace deps/libmotioncapture/deps/NatNetSDKCrossplatform/CMakeLists.txt \ + --replace-fail \ + "Boost 1.5 REQUIRED COMPONENTS system thread" \ + "Boost 1.5 REQUIRED COMPONENTS thread" \ + --replace-fail "Boost::system" "Boost::boost" ''; }); moveit-core = rosSuper.moveit-core.overrideAttrs ({ postPatch ? "", ... }: { - # Remove workaround for Ubuntu-specific dependency hell issue postPatch = postPatch + '' + # Remove workaround for Ubuntu-specific dependency hell issue substituteInPlace CMakeLists.txt --replace-fail \ 'find_package(octomap 1.9.7...<1.10.0 REQUIRED)' \ 'find_package(octomap REQUIRED)' + + # https://github.com/moveit/moveit2/pull/3727 + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-kinematics = rosSuper.moveit-kinematics.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail "system" "" + ''; + }); + + moveit-planners-ompl = rosSuper.moveit-planners-ompl.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + + moveit-ros-control-interface = rosSuper.moveit-ros-control-interface.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "Boost REQUIRED COMPONENTS system thread" \ + "Boost REQUIRED COMPONENTS thread" + ''; + }); + + moveit-ros-move-group = rosSuper.moveit-ros-move-group.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" ''; }); @@ -640,6 +768,42 @@ in { ''; }); + moveit-ros-planning = rosSuper.moveit-ros-planning.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-planning-interface = rosSuper.moveit-ros-planning-interface.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-visualization = rosSuper.moveit-ros-visualization.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-warehouse = rosSuper.moveit-ros-warehouse.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + moveit-setup-framework = rosSuper.moveit-setup-framework.overrideAttrs ({ patches ? [], ... }: { @@ -654,6 +818,15 @@ in { ]; }); + moveit-visual-tools = rosSuper.moveit-visual-tools.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit_visual_tools/pull/154 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + mp-units-vendor = lib.patchAmentVendorGit rosSuper.mp-units-vendor {}; mqtt-client = rosSuper.mqtt-client.overrideAttrs ({ @@ -667,6 +840,19 @@ in { ''; }); + mrt-cmake-modules = rosSuper.mrt-cmake-modules.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # drop boost system + # ref. https://github.com/KIT-MRT/mrt_cmake_modules/pull/41 + (self.fetchpatch2 { + url = "https://github.com/KIT-MRT/mrt_cmake_modules/commit/332c1d733336c6ed5c8c2c8e21146e75d8c7f565.patch?full_index=1"; + hash = "sha256-oNmIPw7SaDGFQyBPUyMzg8mgSc49MyjuBMya0Odmqfs="; + }) + ]; + }); + nav2-behavior-tree = rosSuper.nav2-behavior-tree.overrideAttrs({ ... }: { @@ -767,6 +953,18 @@ in { ]; }); + ompl = rosSuper.ompl.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # https://github.com/ompl/ompl/pull/1306 merged + (self.fetchpatch2 { + url = "https://github.com/ompl/ompl/commit/44eaf82b6e9829d15317884f9b78ab24618c5f6f.patch?full_index=1"; + hash = "sha256-SSC0Uk3ddHwRdv81cY7DRJS9uekYgr2Zv13Yk0bWl2M="; + }) + ]; + }); + openvdb-vendor = (lib.patchAmentVendorGit rosSuper.openvdb-vendor {}).overrideAttrs ({ postPatch ? "", ... }: { @@ -882,6 +1080,17 @@ in { ]; }); + rtabmap = rosSuper.rtabmap.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/introlab/rtabmap/commit/739628aef9cd765025dd2a0b99c8540abe65e808 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "filesystem system" \ + "filesystem" + ''; + }); + rviz-ogre-vendor = lib.patchAmentVendorGit rosSuper.rviz-ogre-vendor { tarSourceArgs.hook = let version = "1.79"; @@ -940,6 +1149,35 @@ in { ''; }); + slam-toolbox = rosSuper.slam-toolbox.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/SteveMacenski/slam_toolbox/pull/854 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt lib/karto_sdk/CMakeLists.txt \ + --replace-fail " system" "" + ''; + }); + + spatio-temporal-voxel-layer = rosSuper.spatio-temporal-voxel-layer.overrideAttrs ({ + postPatch ? "", ... + }: { + # boost removed in https://github.com/SteveMacenski/spatio_temporal_voxel_layer/pull/356 + # but that does not apply cleanly + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail "COMPONENTS system thread" "COMPONENTS thread" + ''; + }); + + turtlebot3-panorama = rosSuper.turtlebot3-panorama.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ROBOTIS-GIT/turtlebot3_applications/pull/79 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail "COMPONENTS system" "" + ''; + }); + turtlesim = rosSuper.turtlesim.overrideAttrs ({ nativeBuildInputs ? [], ... }: { @@ -1035,6 +1273,26 @@ in { ''; }); + warehouse-ros-sqlite = rosSuper.warehouse-ros-sqlite.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/warehouse_ros_sqlite/pull/61 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + + web-video-server = rosSuper.web-video-server.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/RobotWebTools/web_video_server/pull/200 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "REQUIRED COMPONENTS system" "REQUIRED" \ + --replace-fail "Boost::system" "" + ''; + }); + webots-ros2-driver = rosSuper.webots-ros2-driver.overrideAttrs ({ postPatch ? "", ... }: { @@ -1047,7 +1305,11 @@ in { zenoh-cpp-vendor = (lib.patchAmentVendorGit rosSuper.zenoh-cpp-vendor { # Patch the build.rs script to be able to build internal # opaque-types crate without network access. - patchesFor.zenoh_c_vendor = [ ./zenoh-cpp-vendor/zenoh-c.patch ]; + patchesFor.zenoh_c_vendor = [ + ./zenoh-cpp-vendor/zenoh-c.patch + ./zenoh-cpp-vendor/static-init-104.patch + ./zenoh-cpp-vendor/opaque-types-static-init-104.patch + ]; }).overrideAttrs(finalAttrs: { nativeBuildInputs ? [], postPatch ? "", passthru ? {}, ... }: let diff --git a/distros/jazzy/zenoh-cpp-vendor/opaque-types-static-init-104.patch b/distros/jazzy/zenoh-cpp-vendor/opaque-types-static-init-104.patch new file mode 100644 index 00000000000..9671b2b28a7 --- /dev/null +++ b/distros/jazzy/zenoh-cpp-vendor/opaque-types-static-init-104.patch @@ -0,0 +1,74 @@ +--- a/build-resources/opaque-types/Cargo.lock 1970-01-01 01:00:01.000000000 +0100 ++++ b/build-resources/opaque-types/Cargo.lock 2026-05-18 18:35:58.873458133 +0200 +@@ -1285,9 +1285,9 @@ + + [[package]] + name = "lock_api" +-version = "0.4.12" ++version = "0.4.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" + dependencies = [ + "autocfg", + "scopeguard", +@@ -1618,9 +1618,9 @@ + + [[package]] + name = "parking_lot" +-version = "0.11.2" ++version = "0.12.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" ++checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" + dependencies = [ + "instant", + "lock_api", +@@ -1629,9 +1629,9 @@ + + [[package]] + name = "parking_lot_core" +-version = "0.8.6" ++version = "0.9.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" ++checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" + dependencies = [ + "cfg-if", + "instant", +@@ -1956,9 +1956,9 @@ + + [[package]] + name = "redox_syscall" +-version = "0.2.16" ++version = "0.5.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" ++checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" + dependencies = [ + "bitflags 1.3.2", + ] +@@ -2648,9 +2648,9 @@ + + [[package]] + name = "static_init" +-version = "1.0.3" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" ++checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" + dependencies = [ + "bitflags 1.3.2", + "cfg_aliases 0.1.1", +@@ -2663,9 +2663,9 @@ + + [[package]] + name = "static_init_macro" +-version = "1.0.2" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" ++checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" + dependencies = [ + "cfg_aliases 0.1.1", + "memchr", diff --git a/distros/jazzy/zenoh-cpp-vendor/static-init-104.patch b/distros/jazzy/zenoh-cpp-vendor/static-init-104.patch new file mode 100644 index 00000000000..da6dcea4617 --- /dev/null +++ b/distros/jazzy/zenoh-cpp-vendor/static-init-104.patch @@ -0,0 +1,74 @@ +--- a/Cargo.lock 1970-01-01 01:00:01.000000000 +0100 ++++ b/Cargo.lock 2026-05-18 17:41:00.499670859 +0200 +@@ -1469,9 +1469,9 @@ + + [[package]] + name = "lock_api" +-version = "0.4.12" ++version = "0.4.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" + dependencies = [ + "autocfg", + "scopeguard", +@@ -1790,9 +1790,9 @@ + + [[package]] + name = "parking_lot" +-version = "0.11.2" ++version = "0.12.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" ++checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" + dependencies = [ + "instant", + "lock_api", +@@ -1801,9 +1801,9 @@ + + [[package]] + name = "parking_lot_core" +-version = "0.8.6" ++version = "0.9.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" ++checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" + dependencies = [ + "cfg-if", + "instant", +@@ -2199,9 +2199,9 @@ + + [[package]] + name = "redox_syscall" +-version = "0.2.16" ++version = "0.5.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" ++checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" + dependencies = [ + "bitflags 1.3.2", + ] +@@ -2913,9 +2913,9 @@ + + [[package]] + name = "static_init" +-version = "1.0.3" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" ++checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" + dependencies = [ + "bitflags 1.3.2", + "cfg_aliases 0.1.1", +@@ -2928,9 +2928,9 @@ + + [[package]] + name = "static_init_macro" +-version = "1.0.2" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" ++checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" + dependencies = [ + "cfg_aliases 0.1.1", + "memchr", diff --git a/distros/kilted/overrides.nix b/distros/kilted/overrides.nix index 29f885fcb7f..b5dc2354cc1 100644 --- a/distros/kilted/overrides.nix +++ b/distros/kilted/overrides.nix @@ -47,6 +47,28 @@ in { ]; }); + canopen-core = rosSuper.canopen-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ros-industrial/ros2_canopen/pull/399 + postPatch = '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "find_package(Boost REQUIRED system thread)" \ + "find_package(Boost REQUIRED thread)" + ''; + }); + + cartographer = rosSuper.cartographer.overrideAttrs ({ + postPatch ? "", ... + }: { + # Fix "ld.bfd: libcartographer.a(tsdf_2d.cc.o): undefined reference to symbol '_ZN4absl12lts_2026010712log_internal17MakeCheckOpStringImmEEPKcT_T0_S4_'" + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "absl::utility" \ + "absl::utility absl::log_internal_check_op" + ''; + }); + clips-vendor = lib.patchAmentVendorFile rosSuper.clips-vendor { }; cyclonedds = rosSuper.cyclonedds.overrideAttrs ({ @@ -109,6 +131,23 @@ in { ''; }); + fuse-core = rosSuper.fuse-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/locusrobotics/fuse/pull/424 + postPatch = postPatch + '' + substituteInPlace \ + include/fuse_core/graph.hpp \ + include/fuse_core/message_buffer.hpp \ + include/fuse_core/transaction.hpp \ + include/fuse_core/timestamp_manager.hpp \ + --replace-fail \ + "#include " \ + "#include + #include " + ''; + }); + gazebo = self.gazebo_11; geometric-shapes = rosSuper.geometric-shapes.overrideAttrs({ @@ -129,11 +168,19 @@ in { }; gtsam = rosSuper.gtsam.overrideAttrs ({ - nativeBuildInputs ? [], cmakeFlags ? [], ... + nativeBuildInputs ? [], patches ? [], cmakeFlags ? [], ... }: { # https://github.com/borglab/gtsam/pull/2171 # boost is optional but enabled by default nativeBuildInputs = nativeBuildInputs ++ [ self.boost ]; + patches = [ + # https://github.com/borglab/gtsam/pull/2232 merged upstream + (self.fetchpatch2 { + name = "drop-boost-system.patch"; + url = "https://github.com/borglab/gtsam/commit/a0592a6b5ab161194da1b162caaedda78ef3f2bf.patch?full_index=1"; + hash = "sha256-S9YI8/MVthAuuBl3DRR8JCTxTw5Hi+hVz41T95APDu4="; + }) + ]; # GCC 15 enables -Woverloaded-virtual by default; DecisionTreeFactor hides # base class operator* overloads and has no upstream fix yet cmakeFlags = cmakeFlags ++ [ "-DCMAKE_CXX_FLAGS=-Wno-overloaded-virtual" ]; @@ -150,6 +197,10 @@ in { excludes = ["tutorials/install.md"]; }) ]; + }).overrideAttrs({ + buildInputs ? [], ... + }: { + buildInputs = buildInputs ++ [ self.zlib ]; }); gz-dartsim-vendor = lib.patchAmentVendorGit rosSuper.gz-dartsim-vendor { }; @@ -300,6 +351,17 @@ in { ''; }); + ld08-driver = rosSuper.ld08-driver.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ROBOTIS-GIT/ld08_driver/pull/36 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "Boost::system" "Boost::boost" \ + --replace-fail "REQUIRED system" "REQUIRED" + ''; + }); + lely-core-libraries = (lib.patchExternalProjectGit rosSuper.lely-core-libraries { url = "https://gitlab.com/lely_industries/lely-core.git"; rev = "fb735b79cab5f0cdda45bc5087414d405ef8f3ab"; @@ -373,11 +435,52 @@ in { moveit-core = rosSuper.moveit-core.overrideAttrs ({ postPatch ? "", ... }: { - # Remove workaround for Ubuntu-specific dependency hell issue postPatch = postPatch + '' + # Remove workaround for Ubuntu-specific dependency hell issue substituteInPlace CMakeLists.txt --replace-fail \ 'find_package(octomap 1.9.7...<1.10.0 REQUIRED)' \ 'find_package(octomap REQUIRED)' + + # https://github.com/moveit/moveit2/pull/3727 + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-kinematics = rosSuper.moveit-kinematics.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail "system" "" + ''; + }); + + moveit-planners-ompl = rosSuper.moveit-planners-ompl.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + + moveit-ros-control-interface = rosSuper.moveit-ros-control-interface.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "Boost REQUIRED COMPONENTS system thread" \ + "Boost REQUIRED COMPONENTS thread" + ''; + }); + + moveit-ros-move-group = rosSuper.moveit-ros-move-group.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" ''; }); @@ -392,6 +495,42 @@ in { ''; }); + moveit-ros-planning = rosSuper.moveit-ros-planning.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-planning-interface = rosSuper.moveit-ros-planning-interface.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-visualization = rosSuper.moveit-ros-visualization.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + + moveit-ros-warehouse = rosSuper.moveit-ros-warehouse.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit2/pull/3727 + postPatch = postPatch + '' + substituteInPlace ConfigExtras.cmake --replace-fail " system" "" + ''; + }); + moveit-setup-framework = rosSuper.moveit-setup-framework.overrideAttrs ({ patches ? [], ... }: { @@ -406,6 +545,15 @@ in { ]; }); + moveit-visual-tools = rosSuper.moveit-visual-tools.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/moveit_visual_tools/pull/154 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + mp-units-vendor = lib.patchAmentVendorGit rosSuper.mp-units-vendor {}; mqtt-client = rosSuper.mqtt-client.overrideAttrs ({ @@ -419,6 +567,19 @@ in { ''; }); + mrt-cmake-modules = rosSuper.mrt-cmake-modules.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # drop boost system + # ref. https://github.com/KIT-MRT/mrt_cmake_modules/pull/41 + (self.fetchpatch2 { + url = "https://github.com/KIT-MRT/mrt_cmake_modules/commit/332c1d733336c6ed5c8c2c8e21146e75d8c7f565.patch?full_index=1"; + hash = "sha256-oNmIPw7SaDGFQyBPUyMzg8mgSc49MyjuBMya0Odmqfs="; + }) + ]; + }); + nav2-behavior-tree = rosSuper.nav2-behavior-tree.overrideAttrs({ ... }: { @@ -463,6 +624,18 @@ in { ''; }); + ompl = rosSuper.ompl.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # https://github.com/ompl/ompl/pull/1306 merged + (self.fetchpatch2 { + url = "https://github.com/ompl/ompl/commit/44eaf82b6e9829d15317884f9b78ab24618c5f6f.patch?full_index=1"; + hash = "sha256-SSC0Uk3ddHwRdv81cY7DRJS9uekYgr2Zv13Yk0bWl2M="; + }) + ]; + }); + openvdb-vendor = (lib.patchAmentVendorGit rosSuper.openvdb-vendor {}).overrideAttrs ({ postPatch ? "", ... }: { @@ -552,6 +725,17 @@ in { ''; }); + rtabmap = rosSuper.rtabmap.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/introlab/rtabmap/commit/739628aef9cd765025dd2a0b99c8540abe65e808 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "filesystem system" \ + "filesystem" + ''; + }); + rviz-ogre-vendor = lib.patchAmentVendorGit rosSuper.rviz-ogre-vendor { tarSourceArgs.hook = let version = "1.79"; @@ -594,6 +778,16 @@ in { ]; }); + slam-toolbox = rosSuper.slam-toolbox.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/SteveMacenski/slam_toolbox/pull/854 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt lib/karto_sdk/CMakeLists.txt \ + --replace-fail " system" "" + ''; + }); + shared-queues-vendor = lib.patchVendorUrl rosSuper.shared-queues-vendor { url = "https://github.com/cameron314/readerwriterqueue/archive/ef7dfbf553288064347d51b8ac335f1ca489032a.zip"; hash = "sha256-TyFt3d78GidhDGD17KgjAaZl/qvAcGJP8lmu4EOxpYg="; @@ -609,6 +803,16 @@ in { ''; }); + spatio-temporal-voxel-layer = rosSuper.spatio-temporal-voxel-layer.overrideAttrs ({ + postPatch ? "", ... + }: { + # boost removed in https://github.com/SteveMacenski/spatio_temporal_voxel_layer/pull/356 + # but that does not apply cleanly + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail "COMPONENTS system thread" "COMPONENTS thread" + ''; + }); + turtlesim = rosSuper.turtlesim.overrideAttrs ({ nativeBuildInputs ? [], ... }: { @@ -704,6 +908,26 @@ in { ''; }); + warehouse-ros-sqlite = rosSuper.warehouse-ros-sqlite.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/warehouse_ros_sqlite/pull/61 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + + web-video-server = rosSuper.web-video-server.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/RobotWebTools/web_video_server/pull/200 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "REQUIRED COMPONENTS system" "REQUIRED" \ + --replace-fail "Boost::system" "" + ''; + }); + webots-ros2-driver = rosSuper.webots-ros2-driver.overrideAttrs ({ postPatch ? "", ... }: { @@ -716,7 +940,11 @@ in { zenoh-cpp-vendor = (lib.patchAmentVendorGit rosSuper.zenoh-cpp-vendor { # Patch the build.rs script to be able to build internal # opaque-types crate without network access. - patchesFor.zenoh_c_vendor = [ ./zenoh-cpp-vendor/zenoh-c.patch ]; + patchesFor.zenoh_c_vendor = [ + ./zenoh-cpp-vendor/zenoh-c.patch + ./zenoh-cpp-vendor/static-init-104.patch + ./zenoh-cpp-vendor/opaque-types-static-init-104.patch + ]; }).overrideAttrs(finalAttrs: { nativeBuildInputs ? [], postPatch ? "", passthru ? {}, ... }: let diff --git a/distros/kilted/zenoh-cpp-vendor/opaque-types-static-init-104.patch b/distros/kilted/zenoh-cpp-vendor/opaque-types-static-init-104.patch new file mode 100644 index 00000000000..9671b2b28a7 --- /dev/null +++ b/distros/kilted/zenoh-cpp-vendor/opaque-types-static-init-104.patch @@ -0,0 +1,74 @@ +--- a/build-resources/opaque-types/Cargo.lock 1970-01-01 01:00:01.000000000 +0100 ++++ b/build-resources/opaque-types/Cargo.lock 2026-05-18 18:35:58.873458133 +0200 +@@ -1285,9 +1285,9 @@ + + [[package]] + name = "lock_api" +-version = "0.4.12" ++version = "0.4.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" + dependencies = [ + "autocfg", + "scopeguard", +@@ -1618,9 +1618,9 @@ + + [[package]] + name = "parking_lot" +-version = "0.11.2" ++version = "0.12.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" ++checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" + dependencies = [ + "instant", + "lock_api", +@@ -1629,9 +1629,9 @@ + + [[package]] + name = "parking_lot_core" +-version = "0.8.6" ++version = "0.9.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" ++checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" + dependencies = [ + "cfg-if", + "instant", +@@ -1956,9 +1956,9 @@ + + [[package]] + name = "redox_syscall" +-version = "0.2.16" ++version = "0.5.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" ++checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" + dependencies = [ + "bitflags 1.3.2", + ] +@@ -2648,9 +2648,9 @@ + + [[package]] + name = "static_init" +-version = "1.0.3" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" ++checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" + dependencies = [ + "bitflags 1.3.2", + "cfg_aliases 0.1.1", +@@ -2663,9 +2663,9 @@ + + [[package]] + name = "static_init_macro" +-version = "1.0.2" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" ++checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" + dependencies = [ + "cfg_aliases 0.1.1", + "memchr", diff --git a/distros/kilted/zenoh-cpp-vendor/static-init-104.patch b/distros/kilted/zenoh-cpp-vendor/static-init-104.patch new file mode 100644 index 00000000000..da6dcea4617 --- /dev/null +++ b/distros/kilted/zenoh-cpp-vendor/static-init-104.patch @@ -0,0 +1,74 @@ +--- a/Cargo.lock 1970-01-01 01:00:01.000000000 +0100 ++++ b/Cargo.lock 2026-05-18 17:41:00.499670859 +0200 +@@ -1469,9 +1469,9 @@ + + [[package]] + name = "lock_api" +-version = "0.4.12" ++version = "0.4.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" + dependencies = [ + "autocfg", + "scopeguard", +@@ -1790,9 +1790,9 @@ + + [[package]] + name = "parking_lot" +-version = "0.11.2" ++version = "0.12.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" ++checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" + dependencies = [ + "instant", + "lock_api", +@@ -1801,9 +1801,9 @@ + + [[package]] + name = "parking_lot_core" +-version = "0.8.6" ++version = "0.9.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" ++checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" + dependencies = [ + "cfg-if", + "instant", +@@ -2199,9 +2199,9 @@ + + [[package]] + name = "redox_syscall" +-version = "0.2.16" ++version = "0.5.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" ++checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" + dependencies = [ + "bitflags 1.3.2", + ] +@@ -2913,9 +2913,9 @@ + + [[package]] + name = "static_init" +-version = "1.0.3" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" ++checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" + dependencies = [ + "bitflags 1.3.2", + "cfg_aliases 0.1.1", +@@ -2928,9 +2928,9 @@ + + [[package]] + name = "static_init_macro" +-version = "1.0.2" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" ++checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" + dependencies = [ + "cfg_aliases 0.1.1", + "memchr", diff --git a/distros/lyrical/overrides.nix b/distros/lyrical/overrides.nix index 755a4826545..15556f27433 100644 --- a/distros/lyrical/overrides.nix +++ b/distros/lyrical/overrides.nix @@ -34,6 +34,28 @@ in { ]; }); + canopen-core = rosSuper.canopen-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ros-industrial/ros2_canopen/pull/399 + postPatch = '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "find_package(Boost REQUIRED system thread)" \ + "find_package(Boost REQUIRED thread)" + ''; + }); + + cartographer = rosSuper.cartographer.overrideAttrs ({ + postPatch ? "", ... + }: { + # Fix "ld.bfd: libcartographer.a(tsdf_2d.cc.o): undefined reference to symbol '_ZN4absl12lts_2026010712log_internal17MakeCheckOpStringImmEEPKcT_T0_S4_'" + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "absl::utility" \ + "absl::utility absl::log_internal_check_op" + ''; + }); + clips-vendor = lib.patchAmentVendorFile rosSuper.clips-vendor { }; ecl-build = rosSuper.ecl-build.overrideAttrs ({ @@ -96,6 +118,33 @@ in { ''; }); + fuse-core = rosSuper.fuse-core.overrideAttrs ({ + patches ? [], postPatch ? "", ... + }: { + patches = patches ++ [ + # Don't fail with boost >= 1.86 + # https://github.com/locusrobotics/fuse/pull/423 + (self.fetchpatch2 { + url = "https://github.com/wentasah/fuse/commit/037b417d9db394b3d5154a800283c30d0ae30cee.patch?full_index=1"; + hash = "sha256-ShWKk5H/6eaViWfAOL0T+ynCps2FgsPWtAZDoUjvR50="; + stripLen = 1; + }) + ]; + + # https://github.com/locusrobotics/fuse/pull/424 + postPatch = postPatch + '' + substituteInPlace \ + include/fuse_core/graph.hpp \ + include/fuse_core/message_buffer.hpp \ + include/fuse_core/transaction.hpp \ + include/fuse_core/timestamp_manager.hpp \ + --replace-fail \ + "#include " \ + "#include + #include " + ''; + }); + gazebo = self.gazebo_11; geometric-shapes = rosSuper.geometric-shapes.overrideAttrs({ @@ -134,6 +183,10 @@ in { excludes = ["tutorials/install.md"]; }) ]; + }).overrideAttrs({ + buildInputs ? [], ... + }: { + buildInputs = buildInputs ++ [ self.zlib ]; }); gz-dartsim-vendor = lib.patchAmentVendorGit rosSuper.gz-dartsim-vendor { }; @@ -266,6 +319,9 @@ in { ]; }); + # upstream archived + kinematics-interface-pinocchio = null; + # Fixes build error in autoware-lanelet2-extension: # Imported target "lanelet2_maps::lanelet2_maps" includes non-existent path # "/nix/store/85v2zq13fh16v2zy6nyljz7f4caqvrab-ros-humble-lanelet2-maps-1.2.2-r1/include" @@ -276,6 +332,17 @@ in { ''; }); + ld08-driver = rosSuper.ld08-driver.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ROBOTIS-GIT/ld08_driver/pull/36 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "Boost::system" "Boost::boost" \ + --replace-fail "REQUIRED system" "REQUIRED" + ''; + }); + lely-core-libraries = (lib.patchExternalProjectGit rosSuper.lely-core-libraries { url = "https://gitlab.com/lely_industries/lely-core.git"; rev = "fb735b79cab5f0cdda45bc5087414d405ef8f3ab"; @@ -360,6 +427,19 @@ in { mp-units-vendor = lib.patchAmentVendorGit rosSuper.mp-units-vendor {}; + mrt-cmake-modules = rosSuper.mrt-cmake-modules.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # drop boost system + # ref. https://github.com/KIT-MRT/mrt_cmake_modules/pull/41 + (self.fetchpatch2 { + url = "https://github.com/KIT-MRT/mrt_cmake_modules/commit/332c1d733336c6ed5c8c2c8e21146e75d8c7f565.patch?full_index=1"; + hash = "sha256-oNmIPw7SaDGFQyBPUyMzg8mgSc49MyjuBMya0Odmqfs="; + }) + ]; + }); + nlohmann-json-schema-validator-vendor = (lib.patchExternalProjectGit rosSuper.nlohmann-json-schema-validator-vendor { url = "https://github.com/pboettch/json-schema-validator.git"; rev = "5ef4f903af055550e06955973a193e17efded896"; @@ -376,6 +456,18 @@ in { ''; }); + ompl = rosSuper.ompl.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # https://github.com/ompl/ompl/pull/1306 merged + (self.fetchpatch2 { + url = "https://github.com/ompl/ompl/commit/44eaf82b6e9829d15317884f9b78ab24618c5f6f.patch?full_index=1"; + hash = "sha256-SSC0Uk3ddHwRdv81cY7DRJS9uekYgr2Zv13Yk0bWl2M="; + }) + ]; + }); + pcl-conversions = rosSuper.pcl-conversions.overrideAttrs ({ patches ? [], ... }: { @@ -667,6 +759,15 @@ in { ''; }); + warehouse-ros-sqlite = rosSuper.warehouse-ros-sqlite.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/warehouse_ros_sqlite/pull/61 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + webots-ros2-driver = rosSuper.webots-ros2-driver.overrideAttrs ({ postPatch ? "", ... }: { diff --git a/distros/rolling/overrides.nix b/distros/rolling/overrides.nix index e2bb1c1219f..1d8fed950a0 100644 --- a/distros/rolling/overrides.nix +++ b/distros/rolling/overrides.nix @@ -34,6 +34,28 @@ in { ]; }); + canopen-core = rosSuper.canopen-core.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ros-industrial/ros2_canopen/pull/399 + postPatch = '' + substituteInPlace ConfigExtras.cmake --replace-fail \ + "find_package(Boost REQUIRED system thread)" \ + "find_package(Boost REQUIRED thread)" + ''; + }); + + cartographer = rosSuper.cartographer.overrideAttrs ({ + postPatch ? "", ... + }: { + # Fix "ld.bfd: libcartographer.a(tsdf_2d.cc.o): undefined reference to symbol '_ZN4absl12lts_2026010712log_internal17MakeCheckOpStringImmEEPKcT_T0_S4_'" + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail \ + "absl::utility" \ + "absl::utility absl::log_internal_check_op" + ''; + }); + clips-vendor = lib.patchAmentVendorFile rosSuper.clips-vendor { }; ecl-build = rosSuper.ecl-build.overrideAttrs ({ @@ -134,6 +156,10 @@ in { excludes = ["tutorials/install.md"]; }) ]; + }).overrideAttrs({ + buildInputs ? [], ... + }: { + buildInputs = buildInputs ++ [ self.zlib ]; }); gz-dartsim-vendor = lib.patchAmentVendorGit rosSuper.gz-dartsim-vendor { }; @@ -276,6 +302,17 @@ in { ''; }); + ld08-driver = rosSuper.ld08-driver.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/ROBOTIS-GIT/ld08_driver/pull/36 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "Boost::system" "Boost::boost" \ + --replace-fail "REQUIRED system" "REQUIRED" + ''; + }); + lely-core-libraries = (lib.patchExternalProjectGit rosSuper.lely-core-libraries { url = "https://gitlab.com/lely_industries/lely-core.git"; rev = "fb735b79cab5f0cdda45bc5087414d405ef8f3ab"; @@ -360,6 +397,19 @@ in { mp-units-vendor = lib.patchAmentVendorGit rosSuper.mp-units-vendor {}; + mrt-cmake-modules = rosSuper.mrt-cmake-modules.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # drop boost system + # ref. https://github.com/KIT-MRT/mrt_cmake_modules/pull/41 + (self.fetchpatch2 { + url = "https://github.com/KIT-MRT/mrt_cmake_modules/commit/332c1d733336c6ed5c8c2c8e21146e75d8c7f565.patch?full_index=1"; + hash = "sha256-oNmIPw7SaDGFQyBPUyMzg8mgSc49MyjuBMya0Odmqfs="; + }) + ]; + }); + nlohmann-json-schema-validator-vendor = (lib.patchExternalProjectGit rosSuper.nlohmann-json-schema-validator-vendor { url = "https://github.com/pboettch/json-schema-validator.git"; rev = "5ef4f903af055550e06955973a193e17efded896"; @@ -376,6 +426,18 @@ in { ''; }); + ompl = rosSuper.ompl.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # https://github.com/ompl/ompl/pull/1306 merged + (self.fetchpatch2 { + url = "https://github.com/ompl/ompl/commit/44eaf82b6e9829d15317884f9b78ab24618c5f6f.patch?full_index=1"; + hash = "sha256-SSC0Uk3ddHwRdv81cY7DRJS9uekYgr2Zv13Yk0bWl2M="; + }) + ]; + }); + pcl-conversions = rosSuper.pcl-conversions.overrideAttrs ({ patches ? [], ... }: { @@ -652,6 +714,15 @@ in { ''; }); + warehouse-ros-sqlite = rosSuper.warehouse-ros-sqlite.overrideAttrs ({ + postPatch ? "", ... + }: { + # https://github.com/moveit/warehouse_ros_sqlite/pull/61 + postPatch = postPatch + '' + substituteInPlace CMakeLists.txt --replace-fail " system" "" + ''; + }); + webots-ros2-driver = rosSuper.webots-ros2-driver.overrideAttrs ({ postPatch ? "", ... }: { diff --git a/examples/ros2-gz.nix b/examples/ros2-gz.nix index ffd4b196f58..0e0e7e99d56 100644 --- a/examples/ros2-gz.nix +++ b/examples/ros2-gz.nix @@ -23,6 +23,7 @@ with rosPackages.${rosDistro}; }) ] ++ lib.optionals (builtins.elem rosDistro [ "lyrical" "rolling" ]) [ # this is for the shellhook portion + qt6.qtbase qt6.wrapQtAppsHook makeWrapper ]; diff --git a/flake.lock b/flake.lock index c36cd6b1ccd..19e79ae734b 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1778869304, + "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "d233902339c02a9c334e7e593de68855ad26c4cb", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index b4817d7495d..cb4e0275a42 100644 --- a/flake.nix +++ b/flake.nix @@ -28,7 +28,6 @@ }; devShells = { - example-turtlebot3-gazebo = import ./examples/turtlebot3-gazebo.nix { inherit pkgs; }; example-ros2-basic = import ./examples/ros2-basic.nix { inherit pkgs; }; example-ros2-desktop = import ./examples/ros2-desktop.nix { inherit pkgs; }; example-ros2-desktop-full = import ./examples/ros2-desktop-full.nix { inherit pkgs; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index 38688513293..acc2d88a4c4 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -65,6 +65,19 @@ self: super: with self.lib; { utils = self.ignition.utils1; }; + libfyaml = super.libfyaml.overrideAttrs ({ + patches ? [], ... + }: { + patches = patches ++ [ + # backport "Fix C11 atomics detection and buggy macros for C++ compatibility" + # https://github.com/NixOS/nixpkgs/pull/517279 + (self.fetchpatch { + url = "https://github.com/pantoniou/libfyaml/commit/1026d76850909dc9b1c5f95b8cd94e865a313fd5.diff"; + hash = "sha256-0YfOqdqHdELFMqr52TDAC3BNFLkcuxvuJY5b9yZ7NFk="; + }) + ]; + }); + # Needs unsecure freeimage. We want Gazebo to use gz-gz-ogre-next-vendor ogre1_9 = null;