nix-ros-overlay/distros/humble/adaptive-component/default.nix

36 lines
1.4 KiB
Nix

# Copyright 2025 Open Source Robotics Foundation
# Distributed under the terms of the BSD license
{ lib, buildRosPackage, fetchurl, ament-cmake, ament-lint-auto, ament-lint-common, rclcpp, rclcpp-components }:
buildRosPackage {
pname = "ros-humble-adaptive-component";
version = "0.2.1-r2";
src = fetchurl {
url = "https://github.com/ros2-gbp/adaptive_component-release/archive/release/humble/adaptive_component/0.2.1-2.tar.gz";
name = "0.2.1-2.tar.gz";
sha256 = "1f5342ab47d2ce73439426d4848febae2b6e8cbedceee193c9973399e67119c0";
};
buildType = "ament_cmake";
buildInputs = [ ament-cmake ];
checkInputs = [ ament-lint-auto ament-lint-common ];
propagatedBuildInputs = [ rclcpp rclcpp-components ];
nativeBuildInputs = [ ament-cmake ];
meta = {
description = "A composable container for Adaptive ROS 2 Node computations.
Allows building Nodes that can select between FPGA, CPU or
GPU, at run-time. Stateless by default, can be made stateful
to meet use-case specific needs. Refer to examples in README.
Technically, provides A ROS 2 Node subclass programmed as a
"Component" and including its own single threaded executor
to build adaptive computations. Adaptive ROS 2 Nodes are able to
perform computations in the CPU, the FPGA or the GPU, adaptively.
Adaptive behavior is controlled through the "adaptive" ROS 2
parameter.";
license = with lib.licenses; [ asl20 ];
};
}