Improve patchBoostPython

This commit is contained in:
Ben Wolsieffer 2019-12-08 12:08:42 -05:00
parent af8fc1662d
commit b2e9de9c59
2 changed files with 17 additions and 20 deletions

View file

@ -31,11 +31,7 @@ let
setupHook = ./ament-cmake-core-setup-hook.sh;
});
camera-calibration-parsers = rosSuper.camera-calibration-parsers.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = postPatch + patchBoostPython;
});
camera-calibration-parsers = patchBoostPython rosSuper.camera-calibration-parsers;
catkin = rosSuper.catkin.overrideAttrs ({
propagatedBuildInputs ? [],
@ -67,11 +63,9 @@ let
'';
});
cv-bridge = rosSuper.cv-bridge.overrideAttrs ({
postPatch ? "",
cv-bridge = (patchBoostPython rosSuper.cv-bridge).overrideAttrs ({
propagatedBuildInputs ? [], ...
}: {
postPatch = postPatch + patchBoostPython;
propagatedBuildInputs = propagatedBuildInputs ++ [ rosSelf.pythonPackages.opencv3 ];
});
@ -206,11 +200,7 @@ let
sha256 = "04ndwhcn9iv3cy4p5wgh5z0vx2sywqlydyympn9m3h5458w1aijh";
};
urdf = rosSuper.urdf.overrideAttrs ({
postPatch ? "", ...
}: {
postPatch = postPatch + patchBoostPython;
});
urdf = patchBoostPython rosSuper.urdf;
yaml-cpp-vendor = patchVendorUrl rosSuper.yaml-cpp-vendor {
url = "https://github.com/jbeder/yaml-cpp/archive/0f9a586ca1dc29c2ecb8dd715a315b93e3f40f79.zip";

View file

@ -16,14 +16,21 @@ with lib;
'' + postPatch;
});
patchBoostPython = let
pythonVersion = rosSelf.python.sourceVersion;
pythonLib = "python${pythonVersion.major}${pythonVersion.minor}";
in ''
sed -Ei CMakeLists.txt \
-e 's/(Boost [^)]*)python[^ )]*([ )])/\1${pythonLib}\2/'
'';
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.
patchBoostSignals = pkg: pkg.overrideAttrs ({
postPatch ? "", ...
}: {