diff --git a/add_repos.sh b/add_repos.sh new file mode 100755 index 0000000..a7b1134 --- /dev/null +++ b/add_repos.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# Check if a YAML file is provided +if [ $# -eq 0 ]; then + echo "Usage: $0 " + exit 1 +fi + +YAML_FILE=$1 + +# Ensure the YAML file exists +if [ ! -f "$YAML_FILE" ]; then + echo "File not found: $YAML_FILE" + exit 1 +fi + +# Function to extract values from YAML using yq (https://github.com/mikefarah/yq) +extract_yaml_value() { + local key=$1 + local repo_name=$2 + # Use brackets to handle keys with special characters + yq ".repositories[\"$repo_name\"].$key" "$YAML_FILE" | tr -d '"' +} + +# Check if yq is installed +if ! command -v yq &> /dev/null; then + echo "yq could not be found. Please install yq from https://github.com/mikefarah/yq" + exit 1 +fi + +# Debugging: Print the entire YAML content for verification +echo "Content of $YAML_FILE:" +cat "$YAML_FILE" + +# Parse the YAML file and process each repository +REPOSITORIES=$(yq '.repositories | keys_unsorted' "$YAML_FILE") + +# Debugging: Print the list of repositories in raw form +echo "Raw repositories list:" +echo "$REPOSITORIES" + +# Extract and clean up the list of repository names +REPOSITORIES=$(echo "$REPOSITORIES" | grep -v '^-\s*$' | tr -d '[]"' | tr ',' '\n' | sed '/^$/d') + +# Debugging: Print the cleaned list of repositories +echo "Cleaned repositories list:" +echo "$REPOSITORIES" + +for REPO_NAME in $REPOSITORIES; do + TYPE=$(extract_yaml_value "type" "$REPO_NAME") + URL=$(extract_yaml_value "url" "$REPO_NAME") + VERSION=$(extract_yaml_value "version" "$REPO_NAME") + + # Only process repositories of type 'git' + if [ "$TYPE" == "git" ]; then + PREFIX="src/$REPO_NAME" + + # Run the git subtree add command + echo "Adding repository '$REPO_NAME' with URL '$URL' and version '$VERSION' to prefix '$PREFIX'" + git subtree add --prefix="$PREFIX" "$URL" "$VERSION" --squash + + # Check if the command was successful + if [ $? -ne 0 ]; then + echo "Failed to add repository '$REPO_NAME'." + exit 1 + fi + else + echo "Skipping non-git repository '$REPO_NAME'." + fi +done + +echo "All repositories have been added successfully." \ No newline at end of file diff --git a/env_manager/env_manager/package.nix b/env_manager/env_manager/package.nix index 49bca32..aaeeaab 100644 --- a/env_manager/env_manager/package.nix +++ b/env_manager/env_manager/package.nix @@ -10,10 +10,8 @@ gym-gz-ros-python, pythonPackages, scenario, + rbs-assets-library }: -let - rbs-assets-library = pythonPackages.callPackage ../../../../rbs_assets_library/default.nix {}; -in buildRosPackage rec { pname = "ros-jazzy-env-manager"; version = "0.0.0"; diff --git a/overlay.nix b/overlay.nix index 9e9957f..f641c7c 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,21 +1,10 @@ self: super: { - behaviortree-ros2 = super.callPackage ../BehaviorTree.ROS2/behaviortree_ros2/package.nix {}; - btcpp-ros2-interfaces = super.callPackage ../BehaviorTree.ROS2/btcpp_ros2_interfaces/package.nix {}; - btcpp-ros2-samples = super.callPackage ../BehaviorTree.ROS2/btcpp_ros2_samples/package.nix {}; - cartesian-compliance-controller = super.callPackage ../cartesian_controllers/cartesian_compliance_controller/package.nix {}; - cartesian-controller-base = super.callPackage ../cartesian_controllers/cartesian_controller_base/package.nix {}; - cartesian-controller-handles = super.callPackage ../cartesian_controllers/cartesian_controller_handles/package.nix {}; - cartesian-controller-utilities = super.callPackage ../cartesian_controllers/cartesian_controller_utilities/package.nix {}; - cartesian-force-controller = super.callPackage ../cartesian_controllers/cartesian_force_controller/package.nix {}; - cartesian-motion-controller = super.callPackage ../cartesian_controllers/cartesian_motion_controller/package.nix {}; - cartesian-twist-controller = super.callPackage ../cartesian_controllers/cartesian_twist_controller/package.nix {}; - env-manager = super.callPackage ./env_manager/env_manager/package.nix {}; + + # generated from this repo + env-manager = super.callPackage ./env_manager/env_manager/package.nix { rbs-assets-library = super.python3Packages.rbs-assets-library; }; env-manager-interfaces = super.callPackage ./env_manager/env_manager_interfaces/package.nix {}; - gym-gz-ros-python = super.callPackage ../gym-gz/package.nix {}; - rbs-arm = super.callPackage ../rbs_arm/package.nix {}; rbs-bringup = super.callPackage ./rbs_bringup/package.nix {}; rbs-bt-executor = super.callPackage ./rbs_bt_executor/package.nix {}; - rbs-gripper = super.callPackage ../rbs_gripper/package.nix {}; rbs-gym = super.callPackage ./env_manager/rbs_gym/package.nix {}; rbs-perception = super.callPackage ./rbs_perception/package.nix {}; rbs-runtime = super.callPackage ./env_manager/rbs_runtime/package.nix {}; @@ -28,6 +17,49 @@ self: super: { rbss-objectdetection = super.callPackage ./rbss_objectdetection/package.nix {}; rbss-poseestimation = super.callPackage ./rbss_poseestimation/package.nix {}; robonomics = super.callPackage ./robonomics/package.nix {}; - robot-builder = super.callPackage ../robot_builder/package.nix {}; - scenario = super.callPackage ../scenario/package.nix {}; + + # generated from external repos + behaviortree-ros2 = super.callPackage ./repos/nix/behaviortree-ros2.nix {}; + btcpp-ros2-interfaces = super.callPackage ./repos/nix/btcpp-ros2-interfaces.nix {}; + btcpp-ros2-samples = super.callPackage ./repos/nix/btcpp-ros2-samples.nix {}; + cartesian-compliance-controller = super.callPackage ./repos/nix/cartesian-compliance-controller.nix {}; + cartesian-controller-base = super.callPackage ./repos/nix/cartesian-controller-base.nix {}; + cartesian-controller-handles = super.callPackage ./repos/nix/cartesian-controller-handles.nix {}; + cartesian-controller-utilities = super.callPackage ./repos/nix/cartesian-controller-utilities.nix {}; + cartesian-force-controller = super.callPackage ./repos/nix/cartesian-force-controller.nix {}; + cartesian-motion-controller = super.callPackage ./repos/nix/cartesian-motion-controller.nix {}; + cartesian-twist-controller = super.callPackage ./repos/nix/cartesian-twist-controller.nix {}; + controller-interface = super.callPackage ./repos/nix/controller-interface.nix {}; + controller-manager = super.callPackage ./repos/nix/controller-manager.nix {}; + controller-manager-msgs = super.callPackage ./repos/nix/controller-manager-msgs.nix {}; + dynmsg = super.callPackage ./repos/nix/dynmsg.nix {}; + dynmsg-demo = super.callPackage ./repos/nix/dynmsg-demo.nix {}; + dynmsg-msgs = super.callPackage ./repos/nix/dynmsg-msgs.nix {}; + gym-gz-ros-python = super.callPackage ./repos/nix/gym-gz.nix {}; + gz-ros2-control-tests = super.callPackage ./repos/nix/gz-ros2-control-tests.nix {}; + hardware-interface = super.callPackage ./repos/nix/hardware-interface.nix {}; + hardware-interface-testing = super.callPackage ./repos/nix/hardware-interface-testing.nix {}; + ign-ros2-control = super.callPackage ./repos/nix/ign-ros2-control.nix {}; + ign-ros2-control-demos = super.callPackage ./repos/nix/ign-ros2-control-demos.nix {}; + joint-limits = super.callPackage ./repos/nix/joint-limits.nix {}; + joint-limits-interface = super.callPackage ./repos/nix/joint-limits-interface.nix {}; + rbs-arm = super.callPackage ./repos/nix/rbs-arm.nix {}; + rbs-gripper = super.callPackage ./repos/nix/rbs-gripper.nix {}; + robot-builder = super.callPackage ./repos/nix/robot-builder.nix {}; + ros2-control = super.callPackage ./repos/nix/ros2-control.nix {}; + ros2-control-test-assets = super.callPackage ./repos/nix/ros2-control-test-assets.nix {}; + ros2controlcli = super.callPackage ./repos/nix/ros2controlcli.nix {}; + rqt-controller-manager = super.callPackage ./repos/nix/rqt-controller-manager.nix {}; + scenario = super.callPackage ./repos/nix/scenario.nix {}; + test-dynmsg = super.callPackage ./repos/nix/test-dynmsg.nix {}; + transmission-interface = super.callPackage ./repos/nix/transmission-interface.nix {}; + + # python + pythonPackagesExtensions = super.pythonPackagesExtensions ++ [ + ( + python-final: python-prev: { + rbs-assets-library = self.python3Packages.callPackage ./repos/nix/rbs-assets-library { }; + } + ) + ]; } diff --git a/repos/nix.repos b/repos/nix.repos new file mode 100644 index 0000000..329e71a --- /dev/null +++ b/repos/nix.repos @@ -0,0 +1,30 @@ +repositories: + rbs_arm: + type: git + url: https://github.com/solid-sinusoid/rbs-arm.git + version: main + robot_builder: + type: git + url: https://github.com/solid-sinusoid/robot-builder.git + version: main + behavior_tree: + type: git + url: https://github.com/BehaviorTree/BehaviorTree.ROS2.git + version: humble + robot_builder: + type: git + url: https://github.com/solid-sinusoid/robot-builder.git + version: main + cartesian_controllers: + type: git + url: https://github.com/solid-sinusoid/cartesian_controllers.git + version: gazebo-simulation +# temporal debug repositories with nix + scenario: + type: git + url: rad://z3RBwHLb4j66Q12dwkK1RGQj3ufhi + version: patches/740e5c2c969c54c0779f9511b1b1d6257fff547f + gym-gz: + type: git + url: rad://z33HXHSaU12N1tEgJCWJpB58w4KR + version: patches/82421599d3f30768e20f24d24eff270643956584 diff --git a/repos/nix/behaviortree-ros2.nix b/repos/nix/behaviortree-ros2.nix new file mode 100644 index 0000000..fe8166f --- /dev/null +++ b/repos/nix/behaviortree-ros2.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, behaviortree-cpp, boost, btcpp-ros2-interfaces, fmt, generate-parameter-library, rclcpp, rclcpp-action }: +buildRosPackage rec { + pname = "ros-jazzy-behaviortree-ros2"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "BehaviorTree"; + repo = "BehaviorTree.ROS2"; + rev = "cc31ea7b97947f1aac6e8c37df6cec379c84a7d9"; + sha256 = "0m0n85jab14rfssyjf9sf05rq1rdzs6kqwb467953f26bvcnckkh"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/behaviortree_ros2/"; + buildInputs = [ ament-cmake ]; + propagatedBuildInputs = [ behaviortree-cpp boost btcpp-ros2-interfaces fmt generate-parameter-library rclcpp rclcpp-action ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "This package provides a ROS2 wrapper, on top of BehaviorTree.CPP."; + license = with lib.licenses; [ mit ]; + }; +} diff --git a/repos/nix/btcpp-ros2-interfaces.nix b/repos/nix/btcpp-ros2-interfaces.nix new file mode 100644 index 0000000..7c1f5a2 --- /dev/null +++ b/repos/nix/btcpp-ros2-interfaces.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, action-msgs, ament-cmake, rosidl-default-generators, rosidl-default-runtime }: +buildRosPackage rec { + pname = "ros-jazzy-btcpp-ros2-interfaces"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "BehaviorTree"; + repo = "BehaviorTree.ROS2"; + rev = "cc31ea7b97947f1aac6e8c37df6cec379c84a7d9"; + sha256 = "0m0n85jab14rfssyjf9sf05rq1rdzs6kqwb467953f26bvcnckkh"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/btcpp_ros2_interfaces/"; + buildInputs = [ ament-cmake rosidl-default-generators ]; + propagatedBuildInputs = [ action-msgs rosidl-default-runtime ]; + nativeBuildInputs = [ ament-cmake rosidl-default-generators ]; + + meta = { + description = "ROS2 interfaces, mostly used to demonstrate behaviortree_ros2"; + license = with lib.licenses; [ mit ]; + }; +} diff --git a/repos/nix/btcpp-ros2-samples.nix b/repos/nix/btcpp-ros2-samples.nix new file mode 100644 index 0000000..18bf27f --- /dev/null +++ b/repos/nix/btcpp-ros2-samples.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, behaviortree-ros2, btcpp-ros2-interfaces, std-msgs, std-srvs }: +buildRosPackage rec { + pname = "ros-jazzy-btcpp-ros2-samples"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "BehaviorTree"; + repo = "BehaviorTree.ROS2"; + rev = "cc31ea7b97947f1aac6e8c37df6cec379c84a7d9"; + sha256 = "0m0n85jab14rfssyjf9sf05rq1rdzs6kqwb467953f26bvcnckkh"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/btcpp_ros2_samples/"; + buildInputs = [ ament-cmake ]; + propagatedBuildInputs = [ behaviortree-ros2 btcpp-ros2-interfaces std-msgs std-srvs ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Examples related to behaviortree_ros2"; + license = with lib.licenses; [ mit ]; + }; +} diff --git a/repos/nix/cartesian-compliance-controller.nix b/repos/nix/cartesian-compliance-controller.nix new file mode 100644 index 0000000..07a49ca --- /dev/null +++ b/repos/nix/cartesian-compliance-controller.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-lint-common, cartesian-controller-base, cartesian-force-controller, cartesian-motion-controller, controller-interface, hardware-interface, pluginlib, rclcpp }: +buildRosPackage rec { + pname = "ros-jazzy-cartesian-compliance-controller"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "cartesian_controllers"; + rev = "9ade57d3ef7f1bf6d514551e710110b014b4a664"; + sha256 = "0sgh7r30ga5lkx5kbdb6ms5arc4rhpbwky6k85xrgpjy1gs5nx1v"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/cartesian_compliance_controller/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-lint-common ]; + propagatedBuildInputs = [ cartesian-controller-base cartesian-force-controller cartesian-motion-controller controller-interface hardware-interface pluginlib rclcpp ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Control your robot through Cartesian target poses and target wrenches"; + license = with lib.licenses; [ bsd3 ]; + }; +} diff --git a/repos/nix/cartesian-controller-base.nix b/repos/nix/cartesian-controller-base.nix new file mode 100644 index 0000000..9fa074e --- /dev/null +++ b/repos/nix/cartesian-controller-base.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, controller-interface, kdl-parser, pluginlib, rclcpp, realtime-tools, ros-environment, trajectory-msgs }: +buildRosPackage rec { + pname = "ros-jazzy-cartesian-controller-base"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "cartesian_controllers"; + rev = "9ade57d3ef7f1bf6d514551e710110b014b4a664"; + sha256 = "0sgh7r30ga5lkx5kbdb6ms5arc4rhpbwky6k85xrgpjy1gs5nx1v"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/cartesian_controller_base/"; + buildInputs = [ ament-cmake ros-environment ]; + propagatedBuildInputs = [ controller-interface kdl-parser pluginlib rclcpp realtime-tools trajectory-msgs ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "The cartesian_controller_base package"; + license = with lib.licenses; [ bsd3 ]; + }; +} diff --git a/repos/nix/cartesian-controller-handles.nix b/repos/nix/cartesian-controller-handles.nix new file mode 100644 index 0000000..8c78942 --- /dev/null +++ b/repos/nix/cartesian-controller-handles.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, cartesian-controller-base, controller-interface, geometry-msgs, interactive-markers, kdl-parser, pluginlib, rclcpp, urdf }: +buildRosPackage rec { + pname = "ros-jazzy-cartesian-controller-handles"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "cartesian_controllers"; + rev = "9ade57d3ef7f1bf6d514551e710110b014b4a664"; + sha256 = "0sgh7r30ga5lkx5kbdb6ms5arc4rhpbwky6k85xrgpjy1gs5nx1v"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/cartesian_controller_handles/"; + buildInputs = [ ament-cmake ]; + propagatedBuildInputs = [ cartesian-controller-base controller-interface geometry-msgs interactive-markers kdl-parser pluginlib rclcpp urdf ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "The cartesian_controller_handles package"; + license = with lib.licenses; [ bsd3 ]; + }; +} diff --git a/repos/nix/cartesian-controller-utilities.nix b/repos/nix/cartesian-controller-utilities.nix new file mode 100644 index 0000000..a2ab32a --- /dev/null +++ b/repos/nix/cartesian-controller-utilities.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, geometry-msgs, launch, launch-ros, rclcpp, sensor-msgs }: +buildRosPackage rec { + pname = "ros-jazzy-cartesian-controller-utilities"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "cartesian_controllers"; + rev = "9ade57d3ef7f1bf6d514551e710110b014b4a664"; + sha256 = "0sgh7r30ga5lkx5kbdb6ms5arc4rhpbwky6k85xrgpjy1gs5nx1v"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/cartesian_controller_utilities/"; + buildInputs = [ ament-cmake ]; + propagatedBuildInputs = [ geometry-msgs launch launch-ros rclcpp sensor-msgs ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Make the spacemouse a teach device for contact-based teleoperation"; + license = with lib.licenses; [ bsd3 ]; + }; +} diff --git a/repos/nix/cartesian-force-controller.nix b/repos/nix/cartesian-force-controller.nix new file mode 100644 index 0000000..11363eb --- /dev/null +++ b/repos/nix/cartesian-force-controller.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, cartesian-controller-base, controller-interface, rclcpp }: +buildRosPackage rec { + pname = "ros-jazzy-cartesian-force-controller"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "cartesian_controllers"; + rev = "9ade57d3ef7f1bf6d514551e710110b014b4a664"; + sha256 = "0sgh7r30ga5lkx5kbdb6ms5arc4rhpbwky6k85xrgpjy1gs5nx1v"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/cartesian_force_controller/"; + buildInputs = [ ament-cmake ]; + propagatedBuildInputs = [ cartesian-controller-base controller-interface rclcpp ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "The cartesian_force_controller package"; + license = with lib.licenses; [ bsd3 ]; + }; +} diff --git a/repos/nix/cartesian-motion-controller.nix b/repos/nix/cartesian-motion-controller.nix new file mode 100644 index 0000000..7942508 --- /dev/null +++ b/repos/nix/cartesian-motion-controller.nix @@ -0,0 +1,22 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, cartesian-controller-base, controller-interface, rclcpp }: +buildRosPackage rec { + pname = "ros-jazzy-cartesian-motion-controller"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "cartesian_controllers"; + rev = "9ade57d3ef7f1bf6d514551e710110b014b4a664"; + sha256 = "0sgh7r30ga5lkx5kbdb6ms5arc4rhpbwky6k85xrgpjy1gs5nx1v"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/cartesian_motion_controller/"; + propagatedBuildInputs = [ cartesian-controller-base controller-interface rclcpp ]; + + meta = { + description = "The cartesian_motion_controller package"; + license = with lib.licenses; [ bsd3 ]; + }; +} diff --git a/repos/nix/cartesian-twist-controller.nix b/repos/nix/cartesian-twist-controller.nix new file mode 100644 index 0000000..712cd8c --- /dev/null +++ b/repos/nix/cartesian-twist-controller.nix @@ -0,0 +1,22 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, cartesian-controller-base, controller-interface, rclcpp }: +buildRosPackage rec { + pname = "ros-jazzy-cartesian-twist-controller"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "cartesian_controllers"; + rev = "9ade57d3ef7f1bf6d514551e710110b014b4a664"; + sha256 = "0sgh7r30ga5lkx5kbdb6ms5arc4rhpbwky6k85xrgpjy1gs5nx1v"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/cartesian_twist_controller/"; + propagatedBuildInputs = [ cartesian-controller-base controller-interface rclcpp ]; + + meta = { + description = "The cartesian_twist_controller package"; + license = with lib.licenses; [ bsd3 ]; + }; +} diff --git a/repos/nix/controller-interface.nix b/repos/nix/controller-interface.nix new file mode 100644 index 0000000..5638a23 --- /dev/null +++ b/repos/nix/controller-interface.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gmock, hardware-interface, rclcpp-lifecycle, sensor-msgs }: +buildRosPackage rec { + pname = "ros-jazzy-controller-interface"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/controller_interface/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gmock ]; + propagatedBuildInputs = [ hardware-interface rclcpp-lifecycle sensor-msgs ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Description of controller_interface"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/controller-manager-msgs.nix b/repos/nix/controller-manager-msgs.nix new file mode 100644 index 0000000..8b210e5 --- /dev/null +++ b/repos/nix/controller-manager-msgs.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-lint-common, builtin-interfaces, lifecycle-msgs, rosidl-default-generators, rosidl-default-runtime }: +buildRosPackage rec { + pname = "ros-jazzy-controller-manager-msgs"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/controller_manager_msgs/"; + buildInputs = [ ament-cmake rosidl-default-generators ]; + checkInputs = [ ament-lint-common ]; + propagatedBuildInputs = [ builtin-interfaces lifecycle-msgs rosidl-default-runtime ]; + nativeBuildInputs = [ ament-cmake rosidl-default-generators ]; + + meta = { + description = "Messages and services for the controller manager."; + license = with lib.licenses; [ bsdOriginal ]; + }; +} diff --git a/repos/nix/controller-manager.nix b/repos/nix/controller-manager.nix new file mode 100644 index 0000000..41d2bff --- /dev/null +++ b/repos/nix/controller-manager.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gmock, ament-cmake-python, ament-index-cpp, backward-ros, controller-interface, controller-manager-msgs, hardware-interface, hardware-interface-testing, launch, launch-ros, pluginlib, rclcpp, rcpputils, realtime-tools, ros2-control-test-assets, ros2param, ros2run, std-msgs }: +buildRosPackage rec { + pname = "ros-jazzy-controller-manager"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/controller_manager/"; + buildInputs = [ ament-cmake ament-cmake-python ]; + checkInputs = [ ament-cmake-gmock hardware-interface-testing ros2-control-test-assets ]; + propagatedBuildInputs = [ ament-index-cpp backward-ros controller-interface controller-manager-msgs hardware-interface launch launch-ros pluginlib rclcpp rcpputils realtime-tools ros2-control-test-assets ros2param ros2run std-msgs ]; + nativeBuildInputs = [ ament-cmake ament-cmake-python ]; + + meta = { + description = "Description of controller_manager"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/dynmsg-demo.nix b/repos/nix/dynmsg-demo.nix new file mode 100644 index 0000000..9e92aae --- /dev/null +++ b/repos/nix/dynmsg-demo.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-lint-auto, ament-lint-common, dynmsg, dynmsg-msgs, example-interfaces, geometry-msgs, rcl, rcl-action, std-msgs, test-msgs, yaml-cpp-vendor }: +buildRosPackage rec { + pname = "ros-jazzy-dynmsg-demo"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "osrf"; + repo = "dynamic_message_introspection"; + rev = "50277e341f61455c42a6015b5718804a4f8588f6"; + sha256 = "1kayqlmgpzz6lg4sfv6hlm1ak0jhmgqlarbj9wk3206as5iwhbhd"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/dynmsg_demo/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-lint-auto ament-lint-common dynmsg-msgs example-interfaces geometry-msgs std-msgs test-msgs ]; + propagatedBuildInputs = [ dynmsg rcl rcl-action yaml-cpp-vendor ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Demo of dynamic message type loading"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/dynmsg-msgs.nix b/repos/nix/dynmsg-msgs.nix new file mode 100644 index 0000000..0824271 --- /dev/null +++ b/repos/nix/dynmsg-msgs.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-lint-auto, ament-lint-common, rosidl-default-generators, rosidl-default-runtime }: +buildRosPackage rec { + pname = "ros-jazzy-dynmsg-msgs"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "osrf"; + repo = "dynamic_message_introspection"; + rev = "50277e341f61455c42a6015b5718804a4f8588f6"; + sha256 = "1kayqlmgpzz6lg4sfv6hlm1ak0jhmgqlarbj9wk3206as5iwhbhd"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/dynmsg_msgs/"; + buildInputs = [ ament-cmake rosidl-default-generators ]; + checkInputs = [ ament-lint-auto ament-lint-common ]; + propagatedBuildInputs = [ rosidl-default-runtime ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Test messages for dynamic message type loading"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/dynmsg.nix b/repos/nix/dynmsg.nix new file mode 100644 index 0000000..50db20a --- /dev/null +++ b/repos/nix/dynmsg.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gtest, ament-lint-auto, ament-lint-common, rcutils, rosidl-runtime-c, rosidl-runtime-cpp, rosidl-typesupport-introspection-c, rosidl-typesupport-introspection-cpp, std-msgs, yaml-cpp-vendor }: +buildRosPackage rec { + pname = "ros-jazzy-dynmsg"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "osrf"; + repo = "dynamic_message_introspection"; + rev = "50277e341f61455c42a6015b5718804a4f8588f6"; + sha256 = "1kayqlmgpzz6lg4sfv6hlm1ak0jhmgqlarbj9wk3206as5iwhbhd"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/dynmsg/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gtest ament-lint-auto ament-lint-common std-msgs ]; + propagatedBuildInputs = [ rcutils rosidl-runtime-c rosidl-runtime-cpp rosidl-typesupport-introspection-c rosidl-typesupport-introspection-cpp yaml-cpp-vendor ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Introspection tools for message to/from YAML conversions"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/gym-gz.nix b/repos/nix/gym-gz.nix new file mode 100644 index 0000000..6468f36 --- /dev/null +++ b/repos/nix/gym-gz.nix @@ -0,0 +1,20 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchgit, ament-copyright, ament-flake8, ament-pep257, python3Packages }: +buildRosPackage rec { + pname = "ros-jazzy-gym-gz"; + version = "1.5.0"; + + src = fetchgit { + url = "https://seed.solid-sinusoid.com/z33HXHSaU12N1tEgJCWJpB58w4KR.git"; + rev = "48a8a56d5f2441627cabdf0f85b3adab3eea33af"; + sha256 = "0hs3rmszdizbkxpvvkihrki61l4whnhsf1a6dwjw9ahgh98yc0qf"; + }; + + buildType = "ament_python"; + checkInputs = [ ament-copyright ament-flake8 ament-pep257 python3Packages.pytest ]; + + meta = { + description = "TODO: Package description"; + license = with lib.licenses; [ "TODO-License-declaration" ]; + }; +} diff --git a/repos/nix/gz-ros2-control-tests.nix b/repos/nix/gz-ros2-control-tests.nix new file mode 100644 index 0000000..e6ce726 --- /dev/null +++ b/repos/nix/gz-ros2-control-tests.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gtest, ament-index-python, ament-lint-auto, ament-lint-common, control-msgs, geometry-msgs, hardware-interface, ign-ros2-control, joint-state-broadcaster, joint-trajectory-controller, launch, launch-ros, launch-testing-ament-cmake, python3Packages, rclcpp, rclcpp-action, robot-state-publisher, ros-ign-gazebo, ros2controlcli, ros2launch, xacro }: +buildRosPackage rec { + pname = "ros-jazzy-gz-ros2-control-tests"; + version = "0.7.9"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "gz_ros2_control"; + rev = "71ace39ee6f01fd8d6a7699cdedf315913ec8d70"; + sha256 = "1wvdrlig6mz4hc8av7i4rlj7n0la1xj34r62nx8hlxa5p1mg9pb7"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/gz_ros2_control_tests/"; + buildInputs = [ ament-cmake rclcpp-action ]; + checkInputs = [ ament-cmake-gtest ament-lint-auto ament-lint-common ]; + propagatedBuildInputs = [ ament-index-python control-msgs geometry-msgs hardware-interface ign-ros2-control joint-state-broadcaster joint-trajectory-controller launch launch-ros launch-testing-ament-cmake python3Packages.psutil python3Packages.pytest rclcpp robot-state-publisher ros-ign-gazebo ros2controlcli ros2launch xacro ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Gazebo ros2 control tests"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/hardware-interface-testing.nix b/repos/nix/hardware-interface-testing.nix new file mode 100644 index 0000000..e45baa0 --- /dev/null +++ b/repos/nix/hardware-interface-testing.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gmock, control-msgs, hardware-interface, lifecycle-msgs, pluginlib, rclcpp-lifecycle, ros2-control-test-assets }: +buildRosPackage rec { + pname = "ros-jazzy-hardware-interface-testing"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/hardware_interface_testing/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gmock ]; + propagatedBuildInputs = [ control-msgs hardware-interface lifecycle-msgs pluginlib rclcpp-lifecycle ros2-control-test-assets ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "ros2_control hardware interface testing"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/hardware-interface.nix b/repos/nix/hardware-interface.nix new file mode 100644 index 0000000..3d6deae --- /dev/null +++ b/repos/nix/hardware-interface.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gmock, control-msgs, lifecycle-msgs, pluginlib, rclcpp-lifecycle, rcpputils, rcutils, ros2-control-test-assets, tinyxml2-vendor }: +buildRosPackage rec { + pname = "ros-jazzy-hardware-interface"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/hardware_interface/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gmock ros2-control-test-assets ]; + propagatedBuildInputs = [ control-msgs lifecycle-msgs pluginlib rclcpp-lifecycle rcpputils rcutils tinyxml2-vendor ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "ros2_control hardware interface"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/ign-ros2-control-demos.nix b/repos/nix/ign-ros2-control-demos.nix new file mode 100644 index 0000000..73bf33f --- /dev/null +++ b/repos/nix/ign-ros2-control-demos.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ackermann-steering-controller, ament-cmake, ament-cmake-gtest, ament-index-python, ament-lint-auto, ament-lint-common, control-msgs, diff-drive-controller, effort-controllers, geometry-msgs, hardware-interface, ign-ros2-control, imu-sensor-broadcaster, joint-state-broadcaster, joint-trajectory-controller, launch, launch-ros, rclcpp, rclcpp-action, robot-state-publisher, ros-gz-bridge, ros-ign-gazebo, ros2controlcli, ros2launch, std-msgs, tricycle-controller, velocity-controllers, xacro }: +buildRosPackage rec { + pname = "ros-jazzy-ign-ros2-control-demos"; + version = "0.7.9"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "gz_ros2_control"; + rev = "71ace39ee6f01fd8d6a7699cdedf315913ec8d70"; + sha256 = "1wvdrlig6mz4hc8av7i4rlj7n0la1xj34r62nx8hlxa5p1mg9pb7"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/ign_ros2_control_demos/"; + buildInputs = [ ament-cmake rclcpp-action ]; + checkInputs = [ ament-cmake-gtest ament-lint-auto ament-lint-common ]; + propagatedBuildInputs = [ ackermann-steering-controller ament-index-python control-msgs diff-drive-controller effort-controllers geometry-msgs hardware-interface ign-ros2-control imu-sensor-broadcaster joint-state-broadcaster joint-trajectory-controller launch launch-ros rclcpp robot-state-publisher ros-gz-bridge ros-ign-gazebo ros2controlcli ros2launch std-msgs tricycle-controller velocity-controllers xacro ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "ign_ros2_control_demos"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/ign-ros2-control.nix b/repos/nix/ign-ros2-control.nix new file mode 100644 index 0000000..f6cbf89 --- /dev/null +++ b/repos/nix/ign-ros2-control.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-index-cpp, ament-lint-auto, ament-lint-common, controller-manager, hardware-interface, ignition-gazebo6, ignition-plugin, pluginlib, rclcpp, rclcpp-lifecycle, yaml-cpp-vendor }: +buildRosPackage rec { + pname = "ros-jazzy-ign-ros2-control"; + version = "0.7.9"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "gz_ros2_control"; + rev = "71ace39ee6f01fd8d6a7699cdedf315913ec8d70"; + sha256 = "1wvdrlig6mz4hc8av7i4rlj7n0la1xj34r62nx8hlxa5p1mg9pb7"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/ign_ros2_control/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-lint-auto ament-lint-common ]; + propagatedBuildInputs = [ ament-index-cpp controller-manager hardware-interface ignition-gazebo6 ignition-plugin pluginlib rclcpp rclcpp-lifecycle yaml-cpp-vendor ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Ignition ros2_control package allows to control simulated robots using ros2_control framework."; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/joint-limits-interface.nix b/repos/nix/joint-limits-interface.nix new file mode 100644 index 0000000..3d719c4 --- /dev/null +++ b/repos/nix/joint-limits-interface.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gtest, hardware-interface, launch, launch-ros, launch-testing, launch-testing-ament-cmake, rclcpp, urdf }: +buildRosPackage rec { + pname = "ros-jazzy-joint-limits-interface"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/joint_limits_interface/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gtest hardware-interface launch launch-ros launch-testing launch-testing-ament-cmake ]; + propagatedBuildInputs = [ hardware-interface rclcpp urdf ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Interface for enforcing joint limits."; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/joint-limits.nix b/repos/nix/joint-limits.nix new file mode 100644 index 0000000..e7e0a04 --- /dev/null +++ b/repos/nix/joint-limits.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gtest, launch-testing-ament-cmake, rclcpp, rclcpp-lifecycle }: +buildRosPackage rec { + pname = "ros-jazzy-joint-limits"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/joint_limits/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gtest launch-testing-ament-cmake ]; + propagatedBuildInputs = [ rclcpp rclcpp-lifecycle ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Interfaces for handling of joint limits for controllers or hardware."; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/rbs-arm.nix b/repos/nix/rbs-arm.nix new file mode 100644 index 0000000..3abbf83 --- /dev/null +++ b/repos/nix/rbs-arm.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-lint-auto, ament-lint-common, joint-trajectory-controller, ros-gz, ros2-control, ros2-controllers }: +buildRosPackage rec { + pname = "ros-jazzy-rbs-arm"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "rbs-arm"; + rev = "c7c02247fdb4a65cd9bc0a6e6b01e429c3523558"; + sha256 = "0ja9y52g3g172pcr9jr7ww68yh4qcj65j679hdv39cca53h4ljzx"; + }; + + buildType = "ament_cmake"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-lint-auto ament-lint-common ]; + propagatedBuildInputs = [ joint-trajectory-controller ros-gz ros2-control ros2-controllers ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "TODO: Package description"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/rbs-assets-library.nix b/repos/nix/rbs-assets-library.nix new file mode 100644 index 0000000..4cd50fe --- /dev/null +++ b/repos/nix/rbs-assets-library.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + fetchgit, + poetry-core, + trimesh, +}: + +buildPythonPackage rec { + pname = "rbs-assets-library"; + version = "unstable-2024-12-01"; + pyproject = true; + + src = fetchgit { + url = "https://gitlab.com/solid-sinusoid/rbs-assets-library"; + rev = "16d3f6d750a8c903532f4bde22bbe41ebd35ec5c"; + hash = "sha256-p0f3hRVxVilFPUoqGAzjcffoUw1KWz1L5JaEydmfPHo="; + fetchLFS = true; + }; + + build-system = [ + poetry-core + trimesh + ]; + + pythonImportsCheck = [ + "rbs_assets_library" + ]; + + meta = { + description = ""; + homepage = "https://github.com/solid-sinusoid/rbs_assets_library"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ]; + }; +} diff --git a/repos/nix/rbs-gripper.nix b/repos/nix/rbs-gripper.nix new file mode 100644 index 0000000..bbf8340 --- /dev/null +++ b/repos/nix/rbs-gripper.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-lint-auto, ament-lint-common, gripper-controllers }: +buildRosPackage rec { + pname = "ros-jazzy-rbs-gripper"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "rbs-gripper"; + rev = "123316cffdcbfd39d955d173da8111b7cd57644d"; + sha256 = "05hcn7lhb312aplh4a4lh3y55bibnvwbp0jqmf0hbpz1ygk4rq6z"; + }; + + buildType = "ament_cmake"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-lint-auto ament-lint-common ]; + propagatedBuildInputs = [ gripper-controllers ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "TODO: Package description"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/robot-builder.nix b/repos/nix/robot-builder.nix new file mode 100644 index 0000000..d0593ac --- /dev/null +++ b/repos/nix/robot-builder.nix @@ -0,0 +1,21 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-copyright, ament-flake8, ament-pep257, python3Packages }: +buildRosPackage rec { + pname = "ros-jazzy-robot-builder"; + version = "0.0.0"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "robot-builder"; + rev = "abad78494eea370d825c0e60805639f5f3b8af02"; + sha256 = "1sl3gghi3fgp946ddj5dhzx7p500yaqgklnyc15nchym0xh144lf"; + }; + + buildType = "ament_python"; + checkInputs = [ ament-copyright ament-flake8 ament-pep257 python3Packages.pytest ]; + + meta = { + description = "TODO: Package description"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/ros2-control-test-assets.nix b/repos/nix/ros2-control-test-assets.nix new file mode 100644 index 0000000..12d4396 --- /dev/null +++ b/repos/nix/ros2-control-test-assets.nix @@ -0,0 +1,23 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake }: +buildRosPackage rec { + pname = "ros-jazzy-ros2-control-test-assets"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/ros2_control_test_assets/"; + buildInputs = [ ament-cmake ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "The package provides shared test resources for ros2_control stack"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/ros2-control.nix b/repos/nix/ros2-control.nix new file mode 100644 index 0000000..e714288 --- /dev/null +++ b/repos/nix/ros2-control.nix @@ -0,0 +1,24 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, controller-interface, controller-manager, controller-manager-msgs, hardware-interface, joint-limits, ros2-control-test-assets, ros2controlcli, transmission-interface }: +buildRosPackage rec { + pname = "ros-jazzy-ros2-control"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/ros2_control/"; + buildInputs = [ ament-cmake ]; + propagatedBuildInputs = [ controller-interface controller-manager controller-manager-msgs hardware-interface joint-limits ros2-control-test-assets ros2controlcli transmission-interface ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Metapackage for ROS2 control related packages"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/ros2controlcli.nix b/repos/nix/ros2controlcli.nix new file mode 100644 index 0000000..698a4e8 --- /dev/null +++ b/repos/nix/ros2controlcli.nix @@ -0,0 +1,23 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-copyright, ament-flake8, ament-pep257, ament-xmllint, controller-manager, controller-manager-msgs, python3Packages, rcl-interfaces, rclpy, ros2cli, ros2node, ros2param, rosidl-runtime-py }: +buildRosPackage rec { + pname = "ros-jazzy-ros2controlcli"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_python"; + sourceRoot = "${src.name}/ros2controlcli/"; + checkInputs = [ ament-copyright ament-flake8 ament-pep257 ament-xmllint ]; + propagatedBuildInputs = [ controller-manager controller-manager-msgs python3Packages.pygraphviz rcl-interfaces rclpy ros2cli ros2node ros2param rosidl-runtime-py ]; + + meta = { + description = "The ROS 2 command line tools for ROS2 Control."; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/rqt-controller-manager.nix b/repos/nix/rqt-controller-manager.nix new file mode 100644 index 0000000..a4a427b --- /dev/null +++ b/repos/nix/rqt-controller-manager.nix @@ -0,0 +1,22 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, controller-manager-msgs, rclpy, rqt-gui, rqt-gui-py }: +buildRosPackage rec { + pname = "ros-jazzy-rqt-controller-manager"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_python"; + sourceRoot = "${src.name}/rqt_controller_manager/"; + propagatedBuildInputs = [ controller-manager-msgs rclpy rqt-gui rqt-gui-py ]; + + meta = { + description = "Graphical frontend for interacting with the controller manager."; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/scenario.nix b/repos/nix/scenario.nix new file mode 100644 index 0000000..4ec2c1f --- /dev/null +++ b/repos/nix/scenario.nix @@ -0,0 +1,22 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchgit, ament-cmake, gz-math-vendor, gz-msgs-vendor, gz-sim-vendor, gz-transport-vendor }: +buildRosPackage rec { + pname = "ros-jazzy-scenario"; + version = "1.5.0"; + + src = fetchgit { + url = "https://seed.solid-sinusoid.com/z3RBwHLb4j66Q12dwkK1RGQj3ufhi.git"; + rev = "cb8227d85455d32fd6df4f931b4ce031c3063007"; + sha256 = "05110l7l533crkk632mvsz5li5ws3pvh8s2l5j11qsi6qfsx291d"; + }; + + buildType = "ament_cmake"; + buildInputs = [ ament-cmake ]; + propagatedBuildInputs = [ gz-math-vendor gz-msgs-vendor gz-sim-vendor gz-transport-vendor ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "TODO: Package description"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/test-dynmsg.nix b/repos/nix/test-dynmsg.nix new file mode 100644 index 0000000..a42ef6a --- /dev/null +++ b/repos/nix/test-dynmsg.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gtest, ament-lint-auto, ament-lint-common, builtin-interfaces, dynmsg, rcl-interfaces, std-msgs, test-msgs }: +buildRosPackage rec { + pname = "ros-jazzy-test-dynmsg"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "osrf"; + repo = "dynamic_message_introspection"; + rev = "50277e341f61455c42a6015b5718804a4f8588f6"; + sha256 = "1kayqlmgpzz6lg4sfv6hlm1ak0jhmgqlarbj9wk3206as5iwhbhd"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/test_dynmsg/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gtest ament-lint-auto ament-lint-common builtin-interfaces rcl-interfaces test-msgs ]; + propagatedBuildInputs = [ dynmsg std-msgs ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "Tests for the dynmsg package"; + license = with lib.licenses; [ asl20 ]; + }; +} diff --git a/repos/nix/transmission-interface.nix b/repos/nix/transmission-interface.nix new file mode 100644 index 0000000..d732ddc --- /dev/null +++ b/repos/nix/transmission-interface.nix @@ -0,0 +1,25 @@ +# Automatically generated by: ros2nix --distro jazzy --output-dir generated --output-as-nix-pkg-name --fetch +{ lib, buildRosPackage, fetchFromGitHub, ament-cmake, ament-cmake-gmock, hardware-interface, pluginlib }: +buildRosPackage rec { + pname = "ros-jazzy-transmission-interface"; + version = "2.39.1"; + + src = fetchFromGitHub { + owner = "solid-sinusoid"; + repo = "ros2_control"; + rev = "e4a4aade5aa844f2bfb693d389e048ca509ce7db"; + sha256 = "06jl0b3cwqdja8k901gjxnp5dgpnis61m10qwk4ghv17h197y02b"; + }; + + buildType = "ament_cmake"; + sourceRoot = "${src.name}/transmission_interface/"; + buildInputs = [ ament-cmake ]; + checkInputs = [ ament-cmake-gmock ]; + propagatedBuildInputs = [ hardware-interface pluginlib ]; + nativeBuildInputs = [ ament-cmake ]; + + meta = { + description = "transmission_interface contains data structures for representing mechanical transmissions, methods for propagating values between actuator and joint spaces and tooling to support this."; + license = with lib.licenses; [ asl20 ]; + }; +}