push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,228 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1780f874..3ac02be6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,7 +140,7 @@ target_link_libraries(
lodepng
qhullstatic_r
tinyobjloader
- tinyxml2
+ tinyxml2::tinyxml2
)
set_target_properties(
diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake
index 5cdc33cb..a4c9f61f 100644
--- a/cmake/MujocoDependencies.cmake
+++ b/cmake/MujocoDependencies.cmake
@@ -93,8 +93,6 @@ set(BUILD_SHARED_LIBS
if(NOT TARGET lodepng)
FetchContent_Declare(
lodepng
- GIT_REPOSITORY https://github.com/lvandeve/lodepng.git
- GIT_TAG ${MUJOCO_DEP_VERSION_lodepng}
)
FetchContent_GetProperties(lodepng)
@@ -113,8 +111,6 @@ endif()
if(NOT TARGET marchingcubecpp)
FetchContent_Declare(
marchingcubecpp
- GIT_REPOSITORY https://github.com/aparis69/MarchingCubeCpp.git
- GIT_TAG ${MUJOCO_DEP_VERSION_MarchingCubeCpp}
)
FetchContent_GetProperties(marchingcubecpp)
@@ -130,13 +126,9 @@ findorfetch(
USE_SYSTEM_PACKAGE
OFF
PACKAGE_NAME
- qhull
+ Qhull
LIBRARY_NAME
qhull
- GIT_REPO
- https://github.com/qhull/qhull.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_qhull}
TARGETS
qhull
EXCLUDE_FROM_ALL
@@ -157,12 +149,8 @@ findorfetch(
tinyxml2
LIBRARY_NAME
tinyxml2
- GIT_REPO
- https://github.com/leethomason/tinyxml2.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_tinyxml2}
TARGETS
- tinyxml2
+ tinyxml2::tinyxml2
EXCLUDE_FROM_ALL
)
target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
@@ -175,10 +163,6 @@ findorfetch(
tinyobjloader
LIBRARY_NAME
tinyobjloader
- GIT_REPO
- https://github.com/tinyobjloader/tinyobjloader.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_tinyobjloader}
TARGETS
tinyobjloader
EXCLUDE_FROM_ALL
@@ -187,8 +171,6 @@ findorfetch(
if(NOT TARGET trianglemeshdistance)
FetchContent_Declare(
trianglemeshdistance
- GIT_REPOSITORY https://github.com/InteractiveComputerGraphics/TriangleMeshDistance.git
- GIT_TAG ${MUJOCO_DEP_VERSION_TriangleMeshDistance}
)
FetchContent_GetProperties(trianglemeshdistance)
@@ -207,10 +189,6 @@ findorfetch(
ccd
LIBRARY_NAME
ccd
- GIT_REPO
- https://github.com/danfis/libccd.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_ccd}
TARGETS
ccd
EXCLUDE_FROM_ALL
@@ -247,10 +225,6 @@ if(MUJOCO_BUILD_TESTS)
absl
LIBRARY_NAME
abseil-cpp
- GIT_REPO
- https://github.com/abseil/abseil-cpp.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_abseil}
TARGETS
absl::core_headers
EXCLUDE_FROM_ALL
@@ -274,14 +248,9 @@ if(MUJOCO_BUILD_TESTS)
GTest
LIBRARY_NAME
googletest
- GIT_REPO
- https://github.com/google/googletest.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_gtest}
TARGETS
- gtest
- gmock
- gtest_main
+ GTest::gmock
+ GTest::gtest_main
EXCLUDE_FROM_ALL
)
@@ -308,10 +277,6 @@ if(MUJOCO_BUILD_TESTS)
benchmark
LIBRARY_NAME
benchmark
- GIT_REPO
- https://github.com/google/benchmark.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_benchmark}
TARGETS
benchmark::benchmark
benchmark::benchmark_main
@@ -322,14 +287,12 @@ endif()
if(MUJOCO_TEST_PYTHON_UTIL)
add_compile_definitions(EIGEN_MPL2_ONLY)
- if(NOT TARGET eigen)
+ if(NOT TARGET Eigen3::Eigen)
# Support new IN_LIST if() operator.
set(CMAKE_POLICY_DEFAULT_CMP0057 NEW)
FetchContent_Declare(
Eigen3
- GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
- GIT_TAG ${MUJOCO_DEP_VERSION_Eigen3}
)
FetchContent_GetProperties(Eigen3)
diff --git a/python/mujoco/util/CMakeLists.txt b/python/mujoco/util/CMakeLists.txt
index 666a3725..d89bb499 100644
--- a/python/mujoco/util/CMakeLists.txt
+++ b/python/mujoco/util/CMakeLists.txt
@@ -63,8 +63,8 @@ if(BUILD_TESTING)
target_link_libraries(
array_traits_test
array_traits
- gmock
- gtest_main
+ GTest::gmock
+ GTest::gtest_main
)
gtest_add_tests(TARGET array_traits_test SOURCES array_traits_test.cc)
@@ -72,8 +72,8 @@ if(BUILD_TESTING)
target_link_libraries(
func_traits_test
func_traits
- gmock
- gtest_main
+ GTest::gmock
+ GTest::gtest_main
)
gtest_add_tests(TARGET func_traits_test SOURCES func_traits_test.cc)
@@ -81,8 +81,8 @@ if(BUILD_TESTING)
target_link_libraries(
func_wrap_test
func_wrap
- gmock
- gtest_main
+ GTest::gmock
+ GTest::gtest_main
)
gtest_add_tests(TARGET func_wrap_test SOURCES func_wrap_test.cc)
@@ -90,8 +90,8 @@ if(BUILD_TESTING)
target_link_libraries(
tuple_tools_test
func_wrap
- gmock
- gtest_main
+ GTest::gmock
+ GTest::gtest_main
)
gtest_add_tests(TARGET tuple_tools_test SOURCES tuple_tools_test.cc)
endif()
diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake
index 5141406c..75ff7884 100644
--- a/simulate/cmake/SimulateDependencies.cmake
+++ b/simulate/cmake/SimulateDependencies.cmake
@@ -81,10 +81,6 @@ findorfetch(
glfw3
LIBRARY_NAME
glfw3
- GIT_REPO
- https://github.com/glfw/glfw.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_glfw3}
TARGETS
glfw
EXCLUDE_FROM_ALL
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index a286a1c6..982f2e68 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -81,8 +81,8 @@ target_link_libraries(
absl::synchronization
absl::flat_hash_map
absl::flat_hash_set
- gtest
- gmock
+ GTest::gtest
+ GTest::gmock
mujoco::mujoco
)
target_include_directories(fixture PRIVATE ${mujoco_SOURCE_DIR}/include gmock)

View File

@@ -0,0 +1,156 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
fetchFromGitLab,
glfw,
glm,
spdlog,
cereal,
python3Packages,
}:
let
pin = {
# TODO: Check the following file and ensure the dependencies are up-to-date
# See https://github.com/google-deepmind/mujoco/blob/<VERSION>/cmake/MujocoDependencies.cmake#L17-L64
abseil-cpp = fetchFromGitHub {
owner = "abseil";
repo = "abseil-cpp";
rev = "987c57f325f7fa8472fa84e1f885f7534d391b0d";
hash = "sha256-6Ro7miql9+wcArsOKTjlyDSyD91rmmPsIfO5auk9kiI=";
};
benchmark = fetchFromGitHub {
owner = "google";
repo = "benchmark";
rev = "049f6e79cc3e8636cec21bbd94ed185b4a5f2653";
hash = "sha256-VmSKKCsBvmvXSnFbw6GJRgiGjlne8rw22+RCLBV/kD4=";
};
ccd = fetchFromGitHub {
owner = "danfis";
repo = "libccd";
rev = "7931e764a19ef6b21b443376c699bbc9c6d4fba8";
hash = "sha256-TIZkmqQXa0+bSWpqffIgaBela0/INNsX9LPM026x1Wk=";
};
eigen3 = fetchFromGitLab {
owner = "libeigen";
repo = "eigen";
rev = "4be7e6b4e0a82853e853c0c7c4ef72f395e1f497";
hash = "sha256-SOTQ9j8YCsEuxNULsulQ0bmtxOZJKF7zc4GZOQlrmdo=";
};
googletest = fetchFromGitHub {
owner = "google";
repo = "googletest";
rev = "52eb8108c5bdec04579160ae17225d66034bd723";
hash = "sha256-HIHMxAUR4bjmFLoltJeIAVSulVQ6kVuIT2Ku+lwAx/4=";
};
lodepng = fetchFromGitHub {
owner = "lvandeve";
repo = "lodepng";
rev = "17d08dd26cac4d63f43af217ebd70318bfb8189c";
hash = "sha256-vnw52G0lY68471dzH7NXc++bTbLRsITSxGYXOTicA5w=";
};
qhull = fetchFromGitHub {
owner = "qhull";
repo = "qhull";
rev = "62ccc56af071eaa478bef6ed41fd7a55d3bb2d80";
hash = "sha256-kIxHtE0L/axV9WKnQzyFN0mxoIFAI33Z+MP0P/MtQPw=";
};
tinyobjloader = fetchFromGitHub {
owner = "tinyobjloader";
repo = "tinyobjloader";
rev = "1421a10d6ed9742f5b2c1766d22faa6cfbc56248";
hash = "sha256-9z2Ne/WPCiXkQpT8Cun/pSGUwgClYH+kQ6Dx1JvW6w0=";
};
tinyxml2 = fetchFromGitHub {
owner = "leethomason";
repo = "tinyxml2";
rev = "e6caeae85799003f4ca74ff26ee16a789bc2af48";
hash = "sha256-GpFFWl7/1XF1vTOxUrEo27T4Kc6oaUMvhGp9xLQfmWg=";
};
marchingcubecpp = fetchFromGitHub {
owner = "aparis69";
repo = "MarchingCubeCpp";
rev = "f03a1b3ec29b1d7d865691ca8aea4f1eb2c2873d";
hash = "sha256-90ei0lpJA8XuVGI0rGb3md0Qtq8/bdkU7dUCHpp88Bw=";
};
trianglemeshdistance = fetchFromGitHub {
owner = "InteractiveComputerGraphics";
repo = "TriangleMeshDistance";
rev = "2cb643de1436e1ba8e2be49b07ec5491ac604457";
hash = "sha256-qG/8QKpOnUpUQJ1nLj+DFoLnUr+9oYkJPqUhwEQD2pc=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "mujoco";
version = "3.3.6";
# Bumping version? Make sure to look though the MuJoCo's commit
# history for bumped dependency pins!
src = fetchFromGitHub {
owner = "google-deepmind";
repo = "mujoco";
tag = finalAttrs.version;
hash = "sha256-6lZ36XFMsjzck/ouSSiX47+dxbEzXgrMhw1Mi3PEnq4=";
};
patches = [ ./mujoco-system-deps-dont-fetch.patch ];
nativeBuildInputs = [ cmake ];
buildInputs = [
glm
# non-numerical
spdlog
cereal
glfw
];
cmakeFlags = [
(lib.cmakeBool "MUJOCO_SIMULATE_USE_SYSTEM_GLFW" true)
(lib.cmakeBool "MUJOCO_SAMPLES_USE_SYSTEM_GLFW" true)
];
# Move things into place so that cmake doesn't try downloading dependencies.
preConfigure = ''
mkdir -p build/_deps
ln -s ${pin.abseil-cpp} build/_deps/abseil-cpp-src
ln -s ${pin.benchmark} build/_deps/benchmark-src
ln -s ${pin.ccd} build/_deps/ccd-src
ln -s ${pin.eigen3} build/_deps/eigen3-src
ln -s ${pin.googletest} build/_deps/googletest-src
ln -s ${pin.lodepng} build/_deps/lodepng-src
ln -s ${pin.qhull} build/_deps/qhull-src
ln -s ${pin.tinyobjloader} build/_deps/tinyobjloader-src
ln -s ${pin.tinyxml2} build/_deps/tinyxml2-src
ln -s ${pin.trianglemeshdistance} build/_deps/trianglemeshdistance-src
ln -s ${pin.marchingcubecpp} build/_deps/marchingcubecpp-src
'';
passthru = {
pin = {
inherit (pin) lodepng eigen3 abseil-cpp;
};
tests = {
pythonMujoco = python3Packages.mujoco;
pythonMujocoMjx = python3Packages.mujoco-mjx;
};
};
meta = {
description = "Multi-Joint dynamics with Contact. A general purpose physics simulator";
homepage = "https://mujoco.org/";
changelog = "https://mujoco.readthedocs.io/en/${finalAttrs.version}/changelog.html";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
GaetanLepage
samuela
tmplt
];
broken = stdenv.hostPlatform.isDarwin;
};
})