diff --git a/pkgs/by-name/mu/mujoco/package.nix b/pkgs/by-name/mu/mujoco/package.nix index 709d6ee9dd74..4dcc0fb0c2a1 100644 --- a/pkgs/by-name/mu/mujoco/package.nix +++ b/pkgs/by-name/mu/mujoco/package.nix @@ -3,6 +3,7 @@ stdenv, fetchFromGitHub, cmake, + gitMinimal, fetchFromGitLab, glfw, glm, @@ -36,8 +37,8 @@ let eigen3 = fetchFromGitLab { owner = "libeigen"; repo = "eigen"; - rev = "4033cfcc1dd45b3cdf7285afd93556f2cfbe9425"; - hash = "sha256-E1jfbHldIQOwonHvMn0feQiLI9zq3zB8Q9a0ufw1HuY="; + rev = "49623d0c4e1af3c680845191948d10f6d3e92f8a"; + hash = "sha256-jmPPyOHNP8Lrk5BKMhWW6KzizLF4dJB3txqOi2zBW40="; }; googletest = fetchFromGitHub { owner = "google"; @@ -86,7 +87,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "mujoco"; - version = "3.3.7"; + version = "3.4.0"; # Bumping version? Make sure to look though the MuJoCo's commit # history for bumped dependency pins! @@ -94,12 +95,16 @@ stdenv.mkDerivation (finalAttrs: { owner = "google-deepmind"; repo = "mujoco"; tag = finalAttrs.version; - hash = "sha256-qetgQDgXtaDAuAo/PakZJEsevnvZFJB5EYXPMWeaEqo="; + hash = "sha256-mW1AZKRo5rC3q7VARNI3HNKYGXxnAX6R1AfmY8J1D/Q="; }; patches = [ ./mujoco-system-deps-dont-fetch.patch ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + # git is needed to apply patches to ccd-src and qhull-src (see below) + gitMinimal + ]; buildInputs = [ glm @@ -120,11 +125,25 @@ stdenv.mkDerivation (finalAttrs: { 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 + '' + # cccd is patched by mujoco's cmake and thus needs to be writable + # https://github.com/google-deepmind/mujoco/blob/3.4.0/cmake/MujocoDependencies.cmake#L232-L235 + + '' + cp -r ${pin.ccd} build/_deps/ccd-src + chmod -R +w 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 + '' + # qhull is patched by mujoco's cmake and thus needs to be writable + # https://github.com/google-deepmind/mujoco/blob/3.4.0/cmake/MujocoDependencies.cmake#L132-L135 + + '' + cp -r ${pin.qhull} build/_deps/qhull-src + chmod -R +w build/_deps/qhull-src + '' + + '' ln -s ${pin.tinyobjloader} build/_deps/tinyobjloader-src ln -s ${pin.tinyxml2} build/_deps/tinyxml2-src '' diff --git a/pkgs/development/python-modules/mujoco/default.nix b/pkgs/development/python-modules/mujoco/default.nix index 69ccd0ec6a77..980bcafa9b2a 100644 --- a/pkgs/development/python-modules/mujoco/default.nix +++ b/pkgs/development/python-modules/mujoco/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { # in the project's CI. src = fetchPypi { inherit pname version; - hash = "sha256-lw28RAEzccLeZF+cN6m0Hxi0/DaK3IxfgFeYgSG+YQs="; + hash = "sha256-Wm3Gt9tB6wq4ckzUd70DFrpLU96/wtgKLW9EShFvuNI="; }; nativeBuildInputs = [ cmake ];