diff options
Diffstat (limited to 'pkgs/development/python-modules/roboschool/default.nix')
-rw-r--r-- | pkgs/development/python-modules/roboschool/default.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/roboschool/default.nix b/pkgs/development/python-modules/roboschool/default.nix new file mode 100644 index 00000000000..8aa45966bd2 --- /dev/null +++ b/pkgs/development/python-modules/roboschool/default.nix @@ -0,0 +1,73 @@ +{ lib +, buildPythonPackage +, python +, fetchFromGitHub +, fetchpatch +, qt5 +, boost +, assimp +, gym +, bullet-roboschool +, pkgconfig +, which +}: + +buildPythonPackage rec { + pname = "roboschool"; + version = "1.0.39"; + + src = fetchFromGitHub { + owner = "openai"; + repo = "roboschool"; + rev = version; + sha256 = "1s7rp5bbiglnrfm33wf7x7kqj0ks3b21bqyz18c5g6vx39rxbrmh"; + }; + + propagatedBuildInputs = [ + gym + ]; + + nativeBuildInputs = [ + pkgconfig + qt5.qtbase # needs the `moc` tool + which + ]; + + buildInputs = [ + bullet-roboschool + assimp + qt5.qtbase + boost + ]; + + NIX_CFLAGS_COMPILE="-I ${python}/include/${python.libPrefix}"; + + patches = [ + # Remove kwarg that was removed in upstream gym + # https://github.com/openai/roboschool/pull/180 + (fetchpatch { + name = "remove-close-kwarg.patch"; + url = "https://github.com/openai/roboschool/pull/180/commits/334f489c8ce7af4887e376139ec676f89da5b16f.patch"; + sha256 = "0bbz8b63m40a9lrwmh7c8d8gj9kpa8a7svdh08qhrddjkykvip6r"; + }) + ]; + + preBuild = '' + # First build the cpp dependencies + cd roboschool/cpp-household + make \ + MOC=moc \ + -j$NIX_BUILD_CORES + cd ../.. + ''; + + # Does a QT sanity check, but QT is not expected to work in isolation + doCheck = false; + + meta = with lib; { + description = "Open-source software for robot simulation, integrated with OpenAI Gym"; + homepage = https://github.com/openai/roboschool; + license = licenses.mit; + maintainers = with maintainers; [ timokau ]; + }; +} |