lopsided98 / nix-ros-overlay

ROS overlay for the Nix package manager
Apache License 2.0
192 stars 77 forks source link

ament-cmake-vendor-package: don't 'fix' cmake files #417

Closed Pleune closed 2 weeks ago

Pleune commented 3 months ago

the ament cmake vendoring works by downloading files into the ros2_ws/install/opt/<package> folder, which is a local path. It then sets the CMAKE_PREFIX_PATH to point into this directory. However, the normal nixpkgs cmake setup renames the /opt/ chunk with /var/empty, which then breaks the CMAKE_PREFIX_PATH setup. since this is a local install, just dont "fix" the cmake paths.

I noticed this by trying to build https://github.com/ros2/rmw_zenoh, which uses the ament cmake vendoring, and therefore just simply does not build without this patch.

I had to apply this in the distro overlay files, as the vendoring package does not exist in foxy.

Pleune commented 2 months ago

Rebased and add patch for Jazzy. This is still needed to support rmw_zenoh.

lopsided98 commented 2 months ago

This should go in ros2-overlay.nix

Pleune commented 1 month ago

Updated to apply in ros2-overlay.nix

Pleune commented 3 weeks ago

I'm hoping this can be merged soon, it prevents the compilation of rmw_zenoh, a big part of the current ros2 development