These files were generated by running
./maintainers/scripts/update-ament-vendor.sh several times, to reach
the fix point. This is needed because some vendored packages depend on
other and the depending package cannot be updated before the dependent
package.
The information is stored in vendored-source.json files in the package
directories. The file can be automatically generated by running
command like this:
$(nix-build -A rosPackages.jazzy.gz-math-vendor.updateAmentVendor)'
This command executes Cmake for the given package with an alternative
implementation of the ament_vendor Cmake macro, which generates the
file instead of fetching the source code. The above command generates
`distros/jazzy/gz-math-vendor/vendored-source.json` files with this
content:
{
"url": "https://github.com/gazebosim/gz-math.git",
"rev": "gz-math7_7.5.2",
"hash": "sha256-LwYeyv8nwX06n5ju+ra2uqNMedMSLRumem8qDHXtNns="
}
patchAmentVendorGit function is updated to pick the information about
patching from that file instead of from its arguments.
patchGzAmentVendorGit is updated similarly and the check for version
mismatch is removed, because it would not work (version information is
not available from function arguments) and more importantly, it
is (hopefully) no longer needed, because the version will always be
updated automatically by CI.
Many packages fail to compile with Boost 1.87. Updating them to Boost
1.87 would be non-trivial amount of work and given the approaching
Noetic EOL, it wouldn't pay off. Mixing different Boost versions in
the distribution also leads to failures so setting 1.86 for all
packages seems to be the best option.
I need to override laser-geometry (see next commit), which also needs
the distutils override. In the current implementation the distutils
override replaces the manual override. With this change, both
overrides are composed.
Without this change, gtsam is built against a vendored copy, which is
different version (3.3) than what's in nixpkgs (3.4). Dependent
packages using Eigen then fail with the following error:
/nix/store/lic85q2svs3ymv0zkgl727af9khm1x4l-ros-jazzy-gtsam-4.2.0-r4/include/gtsam/base/Vector.h:76:30: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
76 | GTSAM_EIGEN_VERSION_MAJOR==EIGEN_MAJOR_VERSION,
| ^
/nix/store/lic85q2svs3ymv0zkgl727af9khm1x4l-ros-jazzy-gtsam-4.2.0-r4/include/gtsam/base/Vector.h:76:30: note: the comparison reduces to '(3 == 4)'
This is the case for mola_state_estimation (which was recently added
to ROS) as well as for some 3rd-party ROS packages I worked with.
Fixes this error:
```
> CMake Error at CMakeLists.txt:114 (message):
> Mismatch in ros-jazzy-gz-msgs-vendor version (Nix: 10.3.1, upstream:
> 10.3.2). Fix this in overrides.nix.
```
Fixes this error:
```
> CMake Error at CMakeLists.txt:114 (message):
> Mismatch in ros-jazzy-gz-common-vendor version (Nix: 5.7.0, upstream:
> 5.7.1). Fix this in overrides.nix.
```
The new hash is retrieved with `nix flake prefetch github:gazebosim/gz-common/gz-common5_5.7.1` command that returns correct old hash for the previous revision.