diff options
-rw-r--r-- | pkgs/development/ocaml-modules/torch/default.nix | 56 | ||||
-rw-r--r-- | pkgs/top-level/ocaml-packages.nix | 4 |
2 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/torch/default.nix b/pkgs/development/ocaml-modules/torch/default.nix new file mode 100644 index 000000000000..457259bb1bbd --- /dev/null +++ b/pkgs/development/ocaml-modules/torch/default.nix @@ -0,0 +1,56 @@ +{ stdenv +, buildDunePackage +, fetchFromGitHub +, cmdliner +, ctypes +, npy +, ocaml-compiler-libs +, ppx_custom_printf +, ppx_expect +, ppx_sexp_conv +, sexplib +, stdio +, pytorch +}: + +buildDunePackage rec { + pname = "torch"; + version = "0.8"; + + owner = "LaurentMazare"; + + minimumOCamlVersion = "4.07"; + + src = fetchFromGitHub { + inherit owner; + repo = "ocaml-${pname}"; + rev = version; + sha256 = "19w31paj24pns2ahk9j9rgpkb5hpcd41kfaarxrlddww5dl6pxvi"; + }; + + propagatedBuildInputs = [ + cmdliner + ctypes + npy + ocaml-compiler-libs + pytorch + pytorch.dev + ppx_custom_printf + ppx_expect + ppx_sexp_conv + sexplib + stdio + ]; + + preBuild = ''export LIBTORCH=${pytorch.dev}/''; + + doCheck = true; + checkPhase = "dune runtest"; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Ocaml bindings to Pytorch"; + maintainers = [ maintainers.bcdarwin ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 44b90219606e..d42b50274e8f 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -763,6 +763,10 @@ let tls = callPackage ../development/ocaml-modules/tls { }; + torch = callPackage ../development/ocaml-modules/torch { + inherit (pkgs.python3Packages) pytorch; + }; + type_conv_108_08_00 = callPackage ../development/ocaml-modules/type_conv/108.08.00.nix { }; type_conv_109_60_01 = callPackage ../development/ocaml-modules/type_conv/109.60.01.nix { }; type_conv_112_01_01 = callPackage ../development/ocaml-modules/type_conv/112.01.01.nix { }; |