diff --git a/distros/jazzy/overrides.nix b/distros/jazzy/overrides.nix index d05a60a0af..18e88f6a3d 100644 --- a/distros/jazzy/overrides.nix +++ b/distros/jazzy/overrides.nix @@ -118,10 +118,22 @@ in { hash = "sha256-zSiPHEh3h2J8hGL342tde5U9FLaGnWs72WD9BqyPf6E="; }; - gz-tools-vendor = lib.patchGzAmentVendorGit rosSuper.gz-tools-vendor { + gz-tools-vendor = (lib.patchGzAmentVendorGit rosSuper.gz-tools-vendor { version = "2.0.1"; hash = "sha256-sV/T53oVk1fgjwqn/SRTaPTukt+vAlGGxGvTN8+G6Mo="; - }; + }).overrideAttrs({ + nativeBuildInputs ? [], propagatedNativeBuildInputs ? [], qtWrapperArgs ? [], postFixup ? "", ... + }: { + nativeBuildInputs = nativeBuildInputs ++ [ self.qt5.wrapQtAppsHook ]; + propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ [self.qt5.qtquickcontrols2 self.qt5.qtgraphicaleffects self.pkg-config]; + qtWrapperArgs = qtWrapperArgs ++ [ + # Use X11 by default + "--set-default QT_QPA_PLATFORM xcb" + ]; + postFixup = postFixup + '' + wrapQtApp "$out/opt/gz_tools_vendor/bin/gz" + ''; + }); gz-transport-vendor = lib.patchGzAmentVendorGit rosSuper.gz-transport-vendor { version = "13.4.0"; diff --git a/distros/rolling/overrides.nix b/distros/rolling/overrides.nix index 4627005eb0..c7ed5c176a 100644 --- a/distros/rolling/overrides.nix +++ b/distros/rolling/overrides.nix @@ -118,10 +118,22 @@ in { hash = "sha256-zSiPHEh3h2J8hGL342tde5U9FLaGnWs72WD9BqyPf6E="; }; - gz-tools-vendor = lib.patchGzAmentVendorGit rosSuper.gz-tools-vendor { + gz-tools-vendor = (lib.patchGzAmentVendorGit rosSuper.gz-tools-vendor { version = "2.0.1"; hash = "sha256-sV/T53oVk1fgjwqn/SRTaPTukt+vAlGGxGvTN8+G6Mo="; - }; + }).overrideAttrs({ + nativeBuildInputs ? [], propagatedNativeBuildInputs ? [], qtWrapperArgs ? [], postFixup ? "", ... + }: { + nativeBuildInputs = nativeBuildInputs ++ [ self.qt5.wrapQtAppsHook ]; + propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ [self.qt5.qtquickcontrols2 self.qt5.qtgraphicaleffects self.pkg-config]; + qtWrapperArgs = qtWrapperArgs ++ [ + # Use X11 by default + "--set-default QT_QPA_PLATFORM xcb" + ]; + postFixup = postFixup + '' + wrapQtApp "$out/opt/gz_tools_vendor/bin/gz" + ''; + }); gz-transport-vendor = lib.patchGzAmentVendorGit rosSuper.gz-transport-vendor { version = "13.4.0"; diff --git a/examples/ros2-gz-example.nix b/examples/ros2-gz-example.nix index 82ef92d237..22288addb3 100644 --- a/examples/ros2-gz-example.nix +++ b/examples/ros2-gz-example.nix @@ -35,7 +35,6 @@ with rosPackages.jazzy; ]; }) ]; - GZ_CONFIG_PATH = "${gz-tools-vendor}/opt/gz_tools_vendor/share/gz:${gz-gui-vendor}/opt/gz_gui_vendor/share/gz\:${gz-cmake-vendor}/opt/gz_cmake_vendor/share/gz\:${gz-fuel-tools-vendor}/opt/gz_fuel_tools_vendor/share/gz\:${gz-launch-vendor}/opt/gz_launch_vendor/share/gz\:${gz-math-vendor}/opt/gz_math_vendor/share/gz\:${gz-msgs-vendor}/opt/gz_msgs_vendor/share/gz\:${gz-physics-vendor}/opt/gz_physics_vendor/share/gz\:${gz-plugin-vendor}/opt/gz_plugin_vendor/share/gz\:${gz-rendering-vendor}/opt/gz_rendering_vendor/share/gz\:${gz-sensors-vendor}/opt/gz_sensors_vendor/share/gz\:${gz-sim-vendor}/opt/gz_sim_vendor/share/gz\:${gz-transport-vendor}/opt/gz_transport_vendor/share/gz\:${gz-utils-vendor}/opt/gz_utils_vendor/share/gz"; shellHook = '' unset QT_QPA_PLATFORM ''; diff --git a/lib/default.nix b/lib/default.nix index 877857aa20..863119136c 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -137,6 +137,12 @@ endif() EOF ''; + preBuild = '' + find . -name "*build.make" -print -exec sed -i "s#var/empty#opt#g" {} \; + ''; + setupHook = self.writeText "${pname}-setup-hook.sh" '' + addToSearchPath GZ_CONFIG_PATH "@out@/opt/${lib.replaceStrings ["-"] ["_"] stem}_vendor/share/gz" + ''; }); patchBoostPython = pkg: pkg.overrideAttrs ({