-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
gz-sim: init Gazebo robotics simulator ecosystem #505237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
taylorhoward92
wants to merge
16
commits into
NixOS:master
Choose a base branch
from
taylorhoward92:add-gz-sim
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+2,090
−19
Open
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
26097fb
gz-cmake: 5.0.0 -> 5.1.1
taylorhoward92 fc2dc55
gz-utils: propagate dependencies, add passthru tests
taylorhoward92 251e8d5
gz-math: init at 9.1.0
taylorhoward92 39b3034
sdformat: init at 16.0.1
taylorhoward92 9c84fd1
gz-plugin: init at 4.0.0
taylorhoward92 02f75af
gz-tools: init at 2.0.3
taylorhoward92 3801711
gz-common: init at 7.1.1
taylorhoward92 1b718e5
gz-msgs: init at 12.0.1
taylorhoward92 0192c46
gz-transport: init at 15.0.2
taylorhoward92 3c9b41a
gz-fuel-tools: init at 11.0.0
taylorhoward92 a373cc4
gz-rendering: init at 10.0.1
taylorhoward92 2b0d197
gz-physics: init at 9.3.0
taylorhoward92 9f2b8b7
gz-sensors: init at 10.0.1
taylorhoward92 818201b
gz-gui: init at 10.0.0
taylorhoward92 e15c005
gz-sim: init at 10.3.0
taylorhoward92 ea2f722
ogre-next-2: init at 2.3.3
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,122 @@ | ||
| { | ||
| lib, | ||
| stdenv, | ||
| fetchFromGitHub, | ||
| fetchpatch2, | ||
| cmake, | ||
| pkg-config, | ||
| gz-cmake, | ||
| gz-math, | ||
| gz-utils, | ||
| tinyxml-2, | ||
| spdlog, | ||
| libuuid, | ||
| assimp, | ||
| gdal, | ||
| ffmpeg, | ||
| zlib, | ||
| ctestCheckHook, | ||
| python3, | ||
| gtest, | ||
| nix-update-script, | ||
| testers, | ||
| }: | ||
| let | ||
| version = "7.1.1"; | ||
| versionPrefix = "gz-common${lib.versions.major version}"; | ||
| in | ||
| stdenv.mkDerivation (finalAttrs: { | ||
| pname = "gz-common"; | ||
| inherit version; | ||
|
|
||
| strictDeps = true; | ||
| __structuredAttrs = true; | ||
|
|
||
| src = fetchFromGitHub { | ||
| owner = "gazebosim"; | ||
| repo = "gz-common"; | ||
| tag = "${versionPrefix}_${finalAttrs.version}"; | ||
| hash = "sha256-0+C2gvX7vF/8DbRfX0rftbrYydO6zHYXAhWDe3YXWcs="; | ||
| }; | ||
|
|
||
| patches = [ | ||
| # Replace FreeImage with STB image headers (vendored). | ||
| # TODO: Remove after update to > 7.1.1 | ||
| (fetchpatch2 { | ||
| url = "https://github.com/gazebosim/gz-common/commit/a2d36c050b8e93e23b3d8d5ec1abb7b87c61cfdc.patch?full_index=1"; | ||
| hash = "sha256-Zk6kFfWWSwNon/HcLDMmmO1XZrMUoPbc6bk0zAXXN9Y="; | ||
| }) | ||
|
|
||
| # Replace hardcoded /home with /tmp in SystemPaths_TEST.cc FindFile test. | ||
| # TODO: Remove after update to > 7.1.1 | ||
| (fetchpatch2 { | ||
| url = "https://github.com/gazebosim/gz-common/commit/2d63d3f5b3f4b29418955a7c266a199f803e6d5c.patch?full_index=1"; | ||
| hash = "sha256-Gws0KVhfGd61uPNC1gJXlCaY81tVZeU6PlqcJA40LeA="; | ||
| }) | ||
| ]; | ||
|
|
||
| nativeBuildInputs = [ | ||
| cmake | ||
| pkg-config | ||
| ]; | ||
|
|
||
| buildInputs = [ | ||
| gz-cmake | ||
| # direct DT_NEEDED of libgz-common-graphics.so (linked via assimp/gdal) | ||
| zlib | ||
| ]; | ||
|
|
||
| propagatedBuildInputs = [ | ||
| assimp | ||
| ffmpeg | ||
| gdal | ||
| gz-math | ||
| gz-utils | ||
| spdlog | ||
| tinyxml-2 | ||
| ] | ||
| ++ lib.optionals stdenv.hostPlatform.isLinux [ | ||
| libuuid | ||
| ]; | ||
|
|
||
| nativeCheckInputs = [ | ||
| ctestCheckHook | ||
| python3 | ||
| ]; | ||
|
|
||
| checkInputs = [ gtest ]; | ||
|
|
||
| disabledTests = [ | ||
| # Timing-sensitive under Nix build load | ||
| "INTEGRATION_encoder_timing" | ||
| "UNIT_WorkerPool_TEST" | ||
| # Signal handling is unreliable in the Nix sandbox | ||
| "UNIT_SignalHandler_TEST" | ||
| ]; | ||
|
|
||
| doCheck = true; | ||
|
|
||
| preCheck = '' | ||
| # Some test cases use $HOME | ||
| export HOME=$(mktemp -d) | ||
| ''; | ||
|
|
||
| passthru = { | ||
| tests.pkg-config = testers.hasPkgConfigModules { | ||
| package = finalAttrs.finalPackage; | ||
| }; | ||
| updateScript = nix-update-script { | ||
| extraArgs = [ "--version-regex=${versionPrefix}_([\\d\\.]+)" ]; | ||
| }; | ||
| }; | ||
|
Comment on lines
+104
to
+111
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry I'm not really sure what you mean? I have added a similar |
||
|
|
||
| meta = { | ||
| description = "Common libraries for the Gazebo projects (audio, graphics, geospatial, AV)"; | ||
| homepage = "https://github.com/gazebosim/gz-common"; | ||
| changelog = "https://github.com/gazebosim/gz-common/blob/${finalAttrs.src.tag}/Changelog.md"; | ||
| license = lib.licenses.asl20; | ||
| platforms = lib.platforms.linux ++ lib.platforms.darwin; | ||
| pkgConfigModules = [ "gz-common" ]; | ||
| maintainers = with lib.maintainers; [ taylorhoward92 ]; | ||
| }; | ||
| }) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,111 @@ | ||
| { | ||
| lib, | ||
| stdenv, | ||
| fetchFromGitHub, | ||
| cmake, | ||
| ctestCheckHook, | ||
| pkg-config, | ||
| gz-cmake, | ||
| gz-common, | ||
| gz-msgs, | ||
| gz-tools, | ||
| curl, | ||
| jsoncpp, | ||
| libyaml, | ||
| libzip, | ||
| tinyxml-2, | ||
| python3, | ||
| gtest, | ||
| nix-update-script, | ||
| testers, | ||
| }: | ||
| let | ||
| version = "11.0.0"; | ||
| versionPrefix = "gz-fuel-tools${lib.versions.major version}"; | ||
| in | ||
| stdenv.mkDerivation (finalAttrs: { | ||
| pname = "gz-fuel-tools"; | ||
| inherit version; | ||
|
|
||
| strictDeps = true; | ||
| __structuredAttrs = true; | ||
|
|
||
| src = fetchFromGitHub { | ||
| owner = "gazebosim"; | ||
| repo = "gz-fuel-tools"; | ||
| tag = "${versionPrefix}_${finalAttrs.version}"; | ||
| hash = "sha256-IFnaXBURpN5xTCxFjlcZk9n0sCsUnPBr3NUZrf7Xde0="; | ||
| }; | ||
|
|
||
| patches = [ | ||
| # Upstream bug: the test YAML config points library_path at src/cmd/cmdfuel11 | ||
| # instead of the generated Ruby script in test/lib/ruby/gz/cmdfuel11. | ||
| # Also switch to configure_file + file(GENERATE) so $<CONFIG> is resolved. | ||
| # https://github.com/gazebosim/gz-fuel-tools/pull/501 | ||
| ./patches/pr-501.patch | ||
| ]; | ||
|
|
||
| nativeBuildInputs = [ | ||
| cmake | ||
| pkg-config | ||
| ]; | ||
|
|
||
| buildInputs = [ | ||
| gz-cmake | ||
| ]; | ||
|
|
||
| propagatedBuildInputs = [ | ||
| libzip | ||
| curl | ||
| gz-common | ||
| gz-msgs | ||
| gz-tools | ||
| jsoncpp | ||
| libyaml | ||
| tinyxml-2 | ||
| ]; | ||
|
|
||
| nativeCheckInputs = [ | ||
| ctestCheckHook | ||
| python3 | ||
| ]; | ||
|
|
||
| checkInputs = [ gtest ]; | ||
|
|
||
| disabledTests = [ | ||
| # Requires network access (unavailable in Nix sandbox). | ||
| "UNIT_FuelClient_TEST" | ||
| "UNIT_Interface_TEST" | ||
| "UNIT_gz_TEST" | ||
| "UNIT_gz_src_TEST" | ||
| ]; | ||
|
|
||
| preCheck = '' | ||
| # Some test cases use $HOME. | ||
| export HOME=$(mktemp -d) | ||
|
|
||
| # Point tests at the generated config files in the build tree. | ||
| export GZ_CONFIG_PATH=$PWD/test/conf | ||
| ''; | ||
|
|
||
| doCheck = true; | ||
|
|
||
| passthru = { | ||
| tests.pkg-config = testers.hasPkgConfigModules { | ||
| package = finalAttrs.finalPackage; | ||
| }; | ||
| updateScript = nix-update-script { | ||
| extraArgs = [ "--version-regex=${versionPrefix}_([\\d\\.]+)" ]; | ||
| }; | ||
| }; | ||
|
|
||
| meta = { | ||
| description = "Client library and command line tools for interacting with Gazebo Fuel servers"; | ||
| homepage = "https://github.com/gazebosim/gz-fuel-tools"; | ||
| changelog = "https://github.com/gazebosim/gz-fuel-tools/blob/${finalAttrs.src.tag}/Changelog.md"; | ||
| license = lib.licenses.asl20; | ||
| platforms = lib.platforms.linux ++ lib.platforms.darwin; | ||
| pkgConfigModules = [ "gz-fuel-tools" ]; | ||
| maintainers = with lib.maintainers; [ taylorhoward92 ]; | ||
| }; | ||
| }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| diff --git a/conf/CMakeLists.txt b/conf/CMakeLists.txt | ||
| index 2cffca0e..972fba99 100644 | ||
| --- a/conf/CMakeLists.txt | ||
| +++ b/conf/CMakeLists.txt | ||
| @@ -1,11 +1,15 @@ | ||
| -set(gz_library_path "${CMAKE_BINARY_DIR}/src/cmd/cmdfuel${PROJECT_VERSION_MAJOR}") | ||
| +set(gz_library_path "${CMAKE_BINARY_DIR}/test/lib/$<CONFIG>/ruby/gz/cmdfuel${PROJECT_VERSION_MAJOR}") | ||
|
|
||
| # Generate a configuration file for internal testing. | ||
| # Note that the major version of the library is included in the name. | ||
| # Ex: fuel0.yaml | ||
| configure_file( | ||
| "fuel.yaml.in" | ||
| - "${CMAKE_BINARY_DIR}/test/conf/fuel${PROJECT_VERSION_MAJOR}.yaml" @ONLY) | ||
| + "${CMAKE_CURRENT_BINARY_DIR}/fuel${PROJECT_VERSION_MAJOR}.yaml.configured" @ONLY) | ||
| + | ||
| +file(GENERATE | ||
| + OUTPUT "${CMAKE_BINARY_DIR}/test/conf/$<CONFIG>/fuel${PROJECT_VERSION_MAJOR}.yaml" | ||
| + INPUT "${CMAKE_CURRENT_BINARY_DIR}/fuel${PROJECT_VERSION_MAJOR}.yaml.configured") | ||
|
|
||
| set(gz_library_path "${CMAKE_INSTALL_PREFIX}/lib/ruby/gz/cmdfuel${PROJECT_VERSION_MAJOR}") | ||
|
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposed regex should allow the bulk updater to properly select just the semantic version from the repo tags.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok.