# Copyright 2025 Open Source Robotics Foundation # Distributed under the terms of the BSD license { lib, buildRosPackage, fetchurl, ament-cmake, ament-cmake-copyright, ament-cmake-cppcheck, ament-cmake-cpplint, ament-cmake-google-benchmark, ament-cmake-gtest, ament-cmake-lint-cmake, ament-cmake-uncrustify, ament-cmake-xmllint, builtin-interfaces, console-bridge, console-bridge-vendor, geometry-msgs, rcutils, rosidl-runtime-cpp }: buildRosPackage { pname = "ros-humble-tf2"; version = "0.25.12-r1"; src = fetchurl { url = "https://github.com/ros2-gbp/geometry2-release/archive/release/humble/tf2/0.25.12-1.tar.gz"; name = "0.25.12-1.tar.gz"; sha256 = "21b21443f1a5b952837b3efa6cdbf5316b41034699d21c7efab8b932900876ee"; }; buildType = "ament_cmake"; buildInputs = [ ament-cmake ]; checkInputs = [ ament-cmake-copyright ament-cmake-cppcheck ament-cmake-cpplint ament-cmake-google-benchmark ament-cmake-gtest ament-cmake-lint-cmake ament-cmake-uncrustify ament-cmake-xmllint ]; propagatedBuildInputs = [ builtin-interfaces console-bridge console-bridge-vendor geometry-msgs rcutils rosidl-runtime-cpp ]; nativeBuildInputs = [ ament-cmake ]; meta = { description = "tf2 is the second generation of the transform library, which lets the user keep track of multiple coordinate frames over time. tf2 maintains the relationship between coordinate frames in a tree structure buffered in time, and lets the user transform points, vectors, etc between any two coordinate frames at any desired point in time."; license = with lib.licenses; [ bsdOriginal ]; }; }