diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/python-modules/ale-py | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/ale-py')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/ale-py/cmake-pybind11.patch | 18 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/ale-py/default.nix | 83 |
2 files changed, 101 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/ale-py/cmake-pybind11.patch b/nixpkgs/pkgs/development/python-modules/ale-py/cmake-pybind11.patch new file mode 100644 index 000000000000..5bcf5b1d9b2f --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/ale-py/cmake-pybind11.patch @@ -0,0 +1,18 @@ +diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt +index 911e280..d484943 100644 +--- a/src/python/CMakeLists.txt ++++ b/src/python/CMakeLists.txt +@@ -1,12 +1,6 @@ + find_package(Python3 COMPONENTS Interpreter Development.Module REQUIRED) + +-include(FetchContent) +-FetchContent_Declare( +- pybind11 +- GIT_REPOSITORY https://github.com/pybind/pybind11 +- GIT_TAG v2.10.0) +-FetchContent_MakeAvailable(pybind11) +- ++find_package(pybind11 REQUIRED) + add_library(ale-py MODULE ale_python_interface.cpp) + # Depend on the ALE and pybind11 module + target_link_libraries(ale-py PUBLIC ale ale-lib) diff --git a/nixpkgs/pkgs/development/python-modules/ale-py/default.nix b/nixpkgs/pkgs/development/python-modules/ale-py/default.nix new file mode 100644 index 000000000000..0b5d9649f476 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/ale-py/default.nix @@ -0,0 +1,83 @@ +{ buildPythonPackage +, SDL2 +, cmake +, fetchFromGitHub +, git +, gym +, importlib-metadata +, importlib-resources +, lib +, ninja +, numpy +, pybind11 +, pytestCheckHook +, python +, pythonOlder +, setuptools +, stdenv +, typing-extensions +, wheel +, zlib +}: + +buildPythonPackage rec { + pname = "ale-py"; + version = "0.8.1"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "mgbellemare"; + repo = "Arcade-Learning-Environment"; + rev = "refs/tags/v${version}"; + hash = "sha256-B2AxhlzvBy1lJ3JttJjImgTjMtEUyZBv+xHU2IC7BVE="; + }; + + patches = [ + # don't download pybind11, use local pybind11 + ./cmake-pybind11.patch + ]; + + nativeBuildInputs = [ + cmake + setuptools + wheel + pybind11 + ]; + + buildInputs = [ + zlib + SDL2 + ]; + + propagatedBuildInputs = [ + typing-extensions + importlib-resources + numpy + ] ++ lib.optionals (pythonOlder "3.10") [ + importlib-metadata + ]; + + nativeCheckInputs = [ + pytestCheckHook + gym + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'dynamic = ["version"]' 'version = "${version}"' + substituteInPlace setup.py \ + --replace 'subprocess.check_output(["git", "rev-parse", "--short", "HEAD"], cwd=here)' 'b"${src.rev}"' + ''; + + dontUseCmakeConfigure = true; + + pythonImportsCheck = [ "ale_py" ]; + + meta = with lib; { + description = "a simple framework that allows researchers and hobbyists to develop AI agents for Atari 2600 games"; + homepage = "https://github.com/mgbellemare/Arcade-Learning-Environment"; + license = licenses.gpl2; + maintainers = with maintainers; [ billhuang ]; + broken = stdenv.isDarwin; # fails to link with missing library + }; +} |