Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / dm-haiku / default.nix
blob7e2a3b3573cd203e01d3271e268dee09ac712202
1 { buildPythonPackage
2 , fetchFromGitHub
3 , fetchpatch
4 , callPackage
5 , lib
6 , jmp
7 , tabulate
8 , jaxlib
9 }:
11 buildPythonPackage rec {
12   pname = "dm-haiku";
13   version = "0.0.10";
15   src = fetchFromGitHub {
16     owner = "deepmind";
17     repo = pname;
18     rev = "refs/tags/v${version}";
19     hash = "sha256-EZx3o6PgTeFjTwI9Ko9H39EqPSE0yLWWpsdqX6ALlo4=";
20   };
22   patches = [
23     # https://github.com/deepmind/dm-haiku/issues/717
24     (fetchpatch {
25       name = "remove-typing-extensions.patch";
26       url = "https://github.com/deepmind/dm-haiku/commit/c22867db1a3314a382bd2ce36511e2b756dc32a8.patch";
27       hash = "sha256-SxJc8FrImwMqTJ5OuJ1f4T+HfHgW/sGqXeIqlxEatlE=";
28     })
29     # https://github.com/deepmind/dm-haiku/pull/672
30     (fetchpatch {
31       name = "fix-find-namespace-packages.patch";
32       url = "https://github.com/deepmind/dm-haiku/commit/728031721f77d9aaa260bba0eddd9200d107ba5d.patch";
33       hash = "sha256-qV94TdJnphlnpbq+B0G3KTx5CFGPno+8FvHyu/aZeQE=";
34     })
35   ];
37   outputs = [
38     "out"
39     "testsout"
40   ];
42   propagatedBuildInputs = [
43     jaxlib
44     jmp
45     tabulate
46   ];
48   pythonImportsCheck = [
49     "haiku"
50   ];
52   postInstall = ''
53     mkdir $testsout
54     cp -R examples $testsout/examples
55   '';
57   # check in passthru.tests.pytest to escape infinite recursion with bsuite
58   doCheck = false;
60   passthru.tests = {
61     pytest = callPackage ./tests.nix { };
62   };
64   meta = with lib; {
65     description = "Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet.";
66     homepage = "https://github.com/deepmind/dm-haiku";
67     license = licenses.asl20;
68     maintainers = with maintainers; [ ndl ];
69   };