linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / python-modules / cntk / default.nix
blobb1bba8cf1e0f31ae78f92513aaca3259c29c4435
1 { lib
2 , buildPythonPackage
3 , pkgs
4 , numpy
5 , scipy
6 , mpi
7 , enum34
8 , protobuf
9 , pip
10 , python
11 , swig
14 let
15   cntk = pkgs.cntk;
17 buildPythonPackage {
18   inherit (cntk) name version src;
20   nativeBuildInputs = [ swig mpi ];
21   buildInputs = [ cntk mpi ];
22   propagatedBuildInputs = [ numpy scipy enum34 protobuf pip ];
24   CNTK_LIB_PATH = "${cntk}/lib";
25   CNTK_COMPONENT_VERSION = cntk.version;
26   CNTK_VERSION = cntk.version;
27   CNTK_VERSION_BANNER = cntk.version;
29   postPatch = ''
30     cd bindings/python
31     sed -i 's,"libmpi.so.12","${mpi}/lib/libmpi.so",g' cntk/train/distributed.py
33     # Remove distro and libs checks; they aren't compatible with NixOS and besides we guarantee
34     # compatibility by providing a package.
35     cat <<EOF > cntk/cntk_py_init.py
36     def cntk_check_distro_info():
37       pass
38     def cntk_check_libs():
39       pass
40     EOF
41   '';
43   postInstall = ''
44     rm -rf $out/${python.sitePackages}/cntk/libs
45     ln -s ${cntk}/lib $out/${python.sitePackages}/cntk/libs
46     # It's not installed for some reason.
47     cp cntk/cntk_py.py $out/${python.sitePackages}/cntk
48   '';
50   # Actual tests are broken.
51   checkPhase = ''
52     cd $NIX_BUILD_TOP
53     ${python.interpreter} -c "import cntk"
54   '';
56   meta = {
57     inherit (cntk.meta) homepage description license maintainers platforms;
58     # doesn't support Python 3.7
59     broken = lib.versionAtLeast python.version "3.7";
60   };