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.
This is needed at least for Humble and Iron. Jazzy version cannot be
build due to build failures in its dependencies.
Without this change the build fails with:
-- The CXX compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at cmake/CPM.cmake:19 (file):
file DOWNLOAD cannot compute hash on failed download
status: [6;"Couldn't resolve host name"]
Call Stack (most recent call first):
CMakeLists.txt:8 (include)
The version in jazzy uses a different version, so we copy the original
expression to {humble,iron}/overrides.nix and add an updated one to
jazzy/overrides.nix.
Gets around:
> error: Multiple top-level packages discovered in a flat-layout: ['srv', 'msg', 'sample', 'action'].
>
> To avoid accidental inclusion of unwanted files or directories,
> setuptools will not proceed with this build.
>
> If you are trying to create a single distribution with multiple packages
> on purpose, you should not rely on automatic discovery.
> Instead, consider the following options:
>
> 1. set up custom discovery (`find` directive with `include` or `exclude`)
> 2. use a `src-layout`
> 3. explicitly set `py_modules` or `packages` with a list of names
>
> To find more information, look for "package discovery" on setuptools docs.
> CMake Error at catkin_generated/safe_execute_install.cmake:4 (message):
>
> execute_process(/build/jsk_recognition-release-release-noetic-jsk_recognition_msgs-1.2.17-2/build/catkin_generated/python_distutils_install.sh)
> returned error code
> Call Stack (most recent call first):
> cmake_install.cmake:46 (include)
>
>
> make: *** [Makefile💯 install] Error 1
This catches when packages update their vendored version but we haven't
updated on our end. Try to fix all usages of patchExternalProjectGit so
they are correct now.
CycloneDDS depends on Linux-only libraries such as acl and cannot be
built on MacOS. Removing CycloneDDS from rmw-implementation
dependencies is OK, because there are other RMW implementations, which
build fine on MacOS. For example FastDDS, which is the default one.
The result of this change is that on MacOS one cannot switch to
CycloneDDS at run-time by selecting it in the RMW_IMPLEMENTATION
environment variable.
Specifically, this commit avoids to following error:
error: Package ‘acl-2.3.1’ in
/nix/store/.../pkgs/development/libraries/acl/default.nix:40 is
not available on the requested hostPlatform:
hostPlatform.config = "aarch64-apple-darwin"
This fixes the following error:
make[2]: *** No rule to make target
'/nix/store/03q8gn91mj95y5bqbcl90hyvmpqpz738-python3-3.11.7/lib/libpython3.11.so',
needed by
'rosidl_generator_py/builtin_interfaces/libbuiltin_interfaces__rosidl_generator_py.dylib'.
Stop.