This fixes build failures in gz-*-vendor packages for Jazzy and
Rolling. Some of these packages are required for building rviz2.
Since most of the gz-* packages share the same structure, we introduce
patchGzAmentVendorGit function to make patching easier. In addition to
patching ament_vendor() calls, it adds a check to CMakeLists.txt to
detect upstream updates of the vendored package version. This should
help keeping our overrides in sync with upstream.
Currently, the overrides for Jazzy and Rolling are the same.
Co-authored-by: Błażej Sowa <bsowa123@gmail.com>
MRPT ROS packaging was recently split to multiple smaller ROS
packages, but the source code of all of them is still maintained in
the original big repo. The new packages fetch the original repo and
build just a part of it. Obviously, with Nix, we have to fetch source
code ourselves, instead of letting CMake do this.
This gets rid of evaluation error for armv7a-darwin. It makes no sense
to support this platform in this overlay. According to the discussion
around around
https://github.com/NixOS/nixpkgs/pull/324155#issuecomment-2362297603,
it is better to support just the systems exposed by the nixpkgs flake.
Currently, these are:
- aarch64-darwin
- aarch64-linux
- armv6l-linux
- armv7l-linux
- i686-linux
- powerpc64le-linux
- riscv64-linux
- x86_64-darwin
- x86_64-freebsd
- 86_64-linux
In file included from ../../../ThirdParty/GL/glh/glh_obs.h:62:
../../../ThirdParty/GL/glh/glh_linear.h:371:11: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
371 | register real u;
| ^~~~~~~~
The vendored version of libjpeg fails to build with errors like this:
../../ThirdParty/LibJPEG/jccolor.c:135:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
135 | register int r, g, b;
| ^~~~~~~~
In e78372fd63,
the sip_configure.py cmake helper script in python-qt-binding was
updated to live-patch the QtCoremod.sip file in a temp directory. Which
is the same change that is applied from the aur here. The live patch
thing breaks the build as it is writing to a file outside of the nix
build area. Remove that write and apply the patch from the AUR.
Also moved the ros1 rviz pyqt patch into the regular python-qt-binding
overlay to allow any downstream packages to have functional pyqt if that
is what ends up being used.