1
0
Fork 0
mirror of https://github.com/lopsided98/nix-ros-overlay.git synced 2025-07-14 14:10:37 +03:00
nix-ros-overlay/distros/build-ros-package/default.nix

35 lines
1.3 KiB
Nix
Raw Normal View History

{ stdenv, lib, pythonPackages }:
{ buildType ? "catkin"
# Too difficult to fix all the problems with the tests in each package
, doCheck ? false
# ROS is sloppy with specifying build/runtime dependencies and
# buildPythonPackage turns on strictDeps by default
# FIXME: figure out a way to avoid this to eventually allow cross-compiling
, strictDeps ? false
# nixpkgs requires that either dontWrapQtApps is set or wrapQtAppsHook is added
# to nativeBuildInputs if a package depends on Qt5. This is difficult to achieve
# with auto-generated packages, so we just always disable wrapping except for
# packages that are overridden in distro-overlay.nix. This means some Qt5
# applications are broken, but allows all libraries that depend on Qt5 to build
# correctly.
, dontWrapQtApps ? true
, CXXFLAGS ? ""
2019-04-16 15:02:56 -04:00
, passthru ? {}
2019-03-21 00:23:14 -04:00
, ...
}@args:
(if buildType == "ament_python" then pythonPackages.buildPythonPackage
else stdenv.mkDerivation) (args // {
inherit doCheck strictDeps dontWrapQtApps;
# Disable warnings that cause "Log limit exceeded" errors on Hydra in lots of
# packages that use Eigen
CXXFLAGS = CXXFLAGS + "-Wno-deprecated-declarations -Wno-deprecated-copy";
2019-04-16 15:02:56 -04:00
passthru = passthru // {
rosPackage = true;
};
2020-03-04 17:18:10 -05:00
} // lib.optionalAttrs (buildType == "ament_python") {
dontUseCmakeConfigure = true;
2020-03-04 17:18:10 -05:00
})