From b10d6c48e1694d9530b3d0db06b1cf9dcbb958ac Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Sat, 6 Apr 2019 16:26:04 -0400 Subject: [PATCH] Fix rviz. --- .gitignore | 2 +- mk-distro-overlay.nix | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 61c657b267..b2be92b7db 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -result-* +result diff --git a/mk-distro-overlay.nix b/mk-distro-overlay.nix index e0ad6c5639..cb23323eb4 100644 --- a/mk-distro-overlay.nix +++ b/mk-distro-overlay.nix @@ -92,22 +92,35 @@ self: super: with self.lib; let }); python-qt-binding = rosSuper.python-qt-binding.overrideDerivation ({ + propagatedNativeBuildInputs ? [], postPatch ? "", ... }: { + propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ [ rosSelf.pythonPackages.sip ]; postPatch = '' sed -e "s#'-I', sip_dir,#'-I', '${rosSelf.pythonPackages.pyqt5}/share/sip/PyQt5',#" \ -e "s#qtconfig\['QT_INSTALL_HEADERS'\]#'${self.qt5.qtbase.dev}/include'#g" \ -i cmake/sip_configure.py '' + postPatch; + + setupHook = self.writeText "python-qt-binding-setup-hook" '' + _pythonQtBindingPreFixupHook() { + # Prevent /build RPATH references + rm -rf devel/lib + } + preFixupHooks+=(_pythonQtBindingPreFixupHook) + ''; }); - qt-gui-cpp = rosSuper.qt-gui-cpp.overrideDerivation ({ - nativeBuildInputs ? [], ... + rviz = rosSuper.rviz.overrideDerivation ({ + nativeBuildInputs ? [], + postFixup ? "", ... }: { - nativeBuildInputs = nativeBuildInputs ++ [ rosSelf.pythonPackages.sip ]; + nativeBuildInputs = nativeBuildInputs ++ [ self.makeWrapper ]; - # Prevent /build RPATH references - preFixup = "rm -r devel/lib"; + postFixup = '' + wrapProgram $out/bin/rviz \ + --prefix QT_PLUGIN_PATH : "${self.qt5.qtbase.bin}/${self.qt5.qtbase.qtPluginPrefix}" + '' + postFixup; }); rqt-gui = rosSuper.rqt-gui.overrideDerivation ({ @@ -118,7 +131,7 @@ self: super: with self.lib; let postFixup = '' wrapProgram $out/bin/rqt \ - --set QT_PLUGIN_PATH "${self.qt5.qtbase.bin}/${self.qt5.qtbase.qtPluginPrefix}" + --prefix QT_PLUGIN_PATH : "${self.qt5.qtbase.bin}/${self.qt5.qtbase.qtPluginPrefix}" '' + postFixup; });