runtime/repos/nix/scenario.nix

73 lines
2 KiB
Nix

# Automatically generated by: ros2nix --distro jazzy --flake --license Apache-2.0
# Copyright 2025 None
# Distributed under the terms of the Apache-2.0 license
{
stdenv,
git,
swig,
cmake,
lib,
buildRosPackage,
ament-cmake,
ament-lint-auto,
ament-lint-common,
gz-ros2-control,
ros-gz-bridge,
ros-gz-sim,
gym-gz,
fetchFromGitLab,
fetchgit
}: let
tiny-process-library = stdenv.mkDerivation rec {
pname = "tiny-process-library";
version = "2.0.4";
src = fetchFromGitLab {
owner = "eidheim";
repo = "tiny-process-library";
rev = "v${version}";
sha256 = "sha256-ntg0e3Ox5swCoimZG6gwpD2eKKFQx5+vXq77cK+wT1Y=";
};
nativeBuildInputs = [cmake git];
meta = with lib; {
description = "A small platform-independent library making it simple to create and stop new processes in C++, as well as writing to stdin and reading from stdout and stderr of a new process";
homepage = "https://gitlab.com/eidheim/tiny-process-library";
license = licenses.mit;
maintainers = [];
mainProgram = "tiny-process-library";
platforms = platforms.all;
};
};
in
buildRosPackage rec {
pname = "ros-jazzy-scenario";
version = "1.4.0";
src = /home/movefasta/Documents/robossembler/scenario;
buildType = "ament_cmake";
checkInputs = [ament-lint-auto ament-lint-common];
propagatedBuildInputs = [ament-cmake swig cmake tiny-process-library gz-ros2-control ros-gz-bridge ros-gz-sim];
nativeBuildInputs = [ament-cmake];
cmakeFlags = [
"-DSCENARIO_USE_GAZEBO=ON"
"-DSCENARIO_BUILD_SHARED_LIBRARY=OFF"
"-DSCENARIO_USE_SYSTEM_TPL=ON"
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
"-DSCENARIO_ENABLE_BINDINGS=ON"
"-DSCENARIO_BINDINGS_USE_ROS=ON"
];
shellHook = ''
export GZ_SIM_SYSTEM_PLUGIN_PATH=${gz-ros2-control}/lib:$out/lib:$LD_LIBRARY_PATH
'';
meta = with lib; {
description = "ROS 2 Jazzy Scenario package";
homepage = "https://gym-gz.pages.dev/";
license = licenses.lgpl21Plus;
};
}