Cleanup overrides

Move some ROS 1 specific overrides out of distro-overlay.nix, get rid of
some that have been fixed upstream and remove some for packages that
only exist in ancient distros.
This commit is contained in:
Ben Wolsieffer 2024-11-17 15:07:05 -05:00
parent 0eccf67b40
commit f5f0ee1237
4 changed files with 44 additions and 113 deletions

View file

@ -72,69 +72,16 @@ let
overrides = rosSelf: rosSuper: with rosSelf.lib; {
# ROS package overrides/fixups
camera-calibration-parsers = patchBoostPython rosSuper.camera-calibration-parsers;
cob-light = patchBoostSignals rosSuper.cob-light;
cv-bridge = patchBoostPython rosSuper.cv-bridge;
dynamic-reconfigure = rosSuper.dynamic-reconfigure.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = postPatch + ''
substituteInPlace cmake/setup_custom_pythonpath.sh.in \
--replace-fail '#!/usr/bin/env sh' '#!${self.stdenv.shell}'
'';
});
fake-localization = patchBoostSignals rosSuper.fake-localization;
gazebo-ros = rosSuper.gazebo-ros.overrideAttrs ({ ... }:{
setupHook = ./gazebo-ros-setup-hook.sh;
});
gmapping = patchBoostSignals rosSuper.gmapping;
image-cb-detector = patchBoostSignals rosSuper.image-cb-detector;
laser-cb-detector = patchBoostSignals rosSuper.laser-cb-detector;
libfranka = rosSuper.libfranka.overrideAttrs ({
cmakeFlags ? [], ...
}: {
# Uses custom flag to disable tests. Attempts to download GTest without
# this.
cmakeFlags = cmakeFlags ++ [ "-DBUILD_TESTS=OFF" ];
});
libpcan = patchVendorUrl rosSuper.libpcan {
url = "http://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.3.tar.gz";
sha256 = "0f6v3vjszyg1xp99jx48hyv8p32iyq4j18a4ir4x5p6f3b0z3r34";
};
librealsense = rosSuper.librealsense.overrideAttrs ({
patches ? [], ...
}: {
patches = patches ++ [ (self.fetchpatch {
url = "https://github.com/IntelRealSense/librealsense/commit/86e434c86096b91a722f22bd039c2b6eeb8174ab.patch";
sha256 = "1kcvm32cx9zzd56k9yglnyxizmfgar3a6cybjdwpyf6ljrxjlpp5";
}) ];
});
librealsense2 = rosSuper.librealsense2.overrideAttrs ({
buildInputs ? [], ...
}: {
buildInputs = buildInputs ++ [ self.glfw self.libGLU ];
});
libuvc-camera = rosSuper.libuvc-camera.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = postPatch + ''
substituteInPlace cfg/UVCCamera.cfg --replace-fail python2 python
'';
});
mapviz = rosSuper.mapviz.overrideAttrs ({
nativeBuildInputs ? [],
postFixup ? "", ...
@ -156,16 +103,6 @@ let
ROS_PYTHON_VERSION = if rosSelf.python.isPy3k then 3 else 2;
});
message-filters = patchBoostSignals rosSuper.message-filters;
message-relay = rosSuper.message-relay.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = postPatch + ''
patchShebangs scripts
'';
});
osqp-vendor = pipe rosSuper.osqp-vendor [
(pkg: pkg.overrideAttrs ({
preInstall ? "", ...
@ -203,16 +140,6 @@ let
];
});
open-manipulator-control-gui = rosSuper.open-manipulator-control-gui.overrideAttrs ({
nativeBuildInputs ? [], ...
}: {
dontWrapQtApps = false;
nativeBuildInputs = nativeBuildInputs ++ [ self.qt5.wrapQtAppsHook ];
postFixup = ''
wrapQtApp "$out/lib/open_manipulator_control_gui/open_manipulator_control_gui"
'';
});
plotjuggler = rosSuper.plotjuggler.overrideAttrs ({
nativeBuildInputs ? [], ...
}: {
@ -223,8 +150,6 @@ let
'';
});
pr2-tilt-laser-interface = patchBoostSignals rosSuper.pr2-tilt-laser-interface;
python-qt-binding = (rosSuper.python-qt-binding.override {
python3Packages = rosSelf.python3Packages.overrideScope (pyFinal: pyPrev: {
pyqt5 = pyPrev.pyqt5.overrideAttrs ({
@ -405,30 +330,6 @@ let
'';
});
rxcpp-vendor = patchVendorUrl rosSuper.rxcpp-vendor {
url = "https://github.com/ReactiveX/RxCpp/archive/v4.1.0.tar.gz";
sha256 = "1smxrcm0s6bz05185dx1i2xjgn47rq7m247pblil6p3bmk3lkfyk";
};
swri-profiler-tools = rosSuper.swri-profiler-tools.overrideAttrs ({
nativeBuildInputs ? [], ...
}: {
dontWrapQtApps = false;
nativeBuildInputs = nativeBuildInputs ++ [ self.qt5.wrapQtAppsHook ];
postFixup = ''
wrapQtApp "$out/lib/swri_profiler_tools/profiler"
'';
});
tf = patchBoostSignals rosSuper.tf;
tf2 = patchBoostSignals rosSuper.tf2;
tinydir-vendor = patchVendorUrl rosSuper.tinydir-vendor {
url = "https://github.com/cxong/tinydir/archive/1.2.4.tar.gz";
sha256 = "1qjwky7v4b9d9dmxzsybnhiz6xgx94grc67sdyvlp1d4kfkfsl4w";
};
turtlesim = rosSuper.turtlesim.overrideAttrs ({
nativeBuildInputs ? [], ...
}: {
@ -438,8 +339,6 @@ let
wrapQtApp "$out/lib/turtlesim/turtlesim_node"
'';
});
urdf = patchBoostPython rosSuper.urdf;
} // (mrptOverrides rosSelf rosSuper);
otherSplices = {

View file

@ -57,6 +57,14 @@ in with lib; {
};
};
libfranka = rosSuper.libfranka.overrideAttrs ({
cmakeFlags ? [], ...
}: {
# Uses custom flag to disable tests. Attempts to download GTest without
# this.
cmakeFlags = cmakeFlags ++ [ "-DBUILD_TESTS=OFF" ];
});
libphidget22 = patchVendorUrl rosSuper.libphidget22 {
url = "https://www.phidgets.com/downloads/phidget22/libraries/linux/libphidget22/libphidget22-1.19.20240304.tar.gz";
hash = "sha256-GpzGMpQ02s/X/XEcGoozzMjigrbqvAu81bcb7QG+36E=";

View file

@ -73,11 +73,22 @@ rosSelf: rosSuper: with rosSelf.lib; {
];
});
dynamic-reconfigure = rosSuper.dynamic-reconfigure.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = postPatch + ''
substituteInPlace cmake/setup_custom_pythonpath.sh.in \
--replace-fail '#!/usr/bin/env sh' '#!${self.stdenv.shell}'
'';
});
fcl-catkin = patchVendorUrl rosSuper.fcl-catkin {
url = "https://github.com/flexible-collision-library/fcl/archive/v0.6.1.zip";
sha256 = "0nryr4hg3lha1aaz35wbqr42lb6l8alfcy6slj2yn2dgb5syrmn2";
};
image-cb-detector = patchBoostSignals rosSuper.image-cb-detector;
jsk-recognition-msgs = rosSuper.jsk-recognition-msgs.overrideAttrs ({
buildInputs ? [], postPatch ? "", ...
}: {
@ -91,6 +102,13 @@ rosSelf: rosSuper: with rosSelf.lib; {
'';
});
laser-cb-detector = patchBoostSignals rosSuper.laser-cb-detector;
libpcan = patchVendorUrl rosSuper.libpcan {
url = "http://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.3.tar.gz";
sha256 = "0f6v3vjszyg1xp99jx48hyv8p32iyq4j18a4ir4x5p6f3b0z3r34";
};
libphidgets = patchVendorUrl rosSuper.libphidgets {
url = "https://www.phidgets.com/downloads/phidget21/libraries/linux/libphidget/libphidget_2.1.8.20151217.tar.gz";
sha256 = "0lpaskqxpklm05050wwvdqwhw30f2hpzss8sgyvczdpvvqzjg4vk";
@ -103,6 +121,14 @@ rosSelf: rosSuper: with rosSelf.lib; {
nativeBuildInputs = nativeBuildInputs ++ [ self.openblas ];
});
libuvc-camera = rosSuper.libuvc-camera.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = postPatch + ''
substituteInPlace cfg/UVCCamera.cfg --replace-fail python2 python
'';
});
map-server = rosSuper.map-server.overrideAttrs ({
nativeBuildInputs ? [], ...
}: {
@ -186,6 +212,16 @@ rosSelf: rosSuper: with rosSelf.lib; {
'';
});
swri-profiler-tools = rosSuper.swri-profiler-tools.overrideAttrs ({
nativeBuildInputs ? [], ...
}: {
dontWrapQtApps = false;
nativeBuildInputs = nativeBuildInputs ++ [ self.qt5.wrapQtAppsHook ];
postFixup = ''
wrapQtApp "$out/lib/swri_profiler_tools/profiler"
'';
});
swri-transform-util = (rosSuper.swri-transform-util.override {
# PROJ 8 finally removed the deprecated proj_api.h header
proj = self.proj_7;

View file

@ -146,18 +146,6 @@
'';
});
patchBoostPython = pkg: pkg.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = let
pythonVersion = rosSelf.python.sourceVersion;
pythonLib = "python${pythonVersion.major}${pythonVersion.minor}";
in ''
sed -i CMakeLists.txt \
-e '/Boost [^)]*/s/python[^ )]*/${pythonLib}/'
'' + postPatch;
});
# Many ROS packages claim to have a dependency on Boost signals when they
# really don't or they actually depend on signals2. Boost 1.69 removed
# signals causing these packages to fail to build.