diff options
author | Nikolay Amiantov <ab@fmap.me> | 2019-06-02 12:52:10 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2019-06-02 19:40:49 +0300 |
commit | 1260b05279b96b7241ee6f0aa2f7c1e62e457a26 (patch) | |
tree | e66fe2f2edd6ccadae8b1dded4a440341367bfcf /pkgs | |
parent | 19973538842313ce14b91de13f09f578f2e84106 (diff) |
cntk: 2.4 -> 2.7
Restrict platforms to x86_64-linux.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/science/math/cntk/default.nix | 7 | ||||
-rw-r--r-- | pkgs/applications/science/math/cntk/fix_std_bind.patch | 11 | ||||
-rw-r--r-- | pkgs/development/python-modules/cntk/default.nix | 39 |
3 files changed, 30 insertions, 27 deletions
diff --git a/pkgs/applications/science/math/cntk/default.nix b/pkgs/applications/science/math/cntk/default.nix index 4bf922c4e1691..465c7318c0e3f 100644 --- a/pkgs/applications/science/math/cntk/default.nix +++ b/pkgs/applications/science/math/cntk/default.nix @@ -18,17 +18,15 @@ let in stdenv.mkDerivation rec { name = "CNTK-${version}"; - version = "2.4"; + version = "2.7"; # Submodules src = fetchgit { url = "https://github.com/Microsoft/CNTK"; rev = "v${version}"; - sha256 = "0m28wb0ljixcpi14g3gcfiraimh487yxqhd9yrglgyvjb69x597y"; + sha256 = "18l9k7s966a26ywcf7flqyhm61788pcb9fj3wk61jrmgkhy2pcns"; }; - patches = [ ./fix_std_bind.patch ]; - nativeBuildInputs = [ cmake ]; buildInputs = [ openblas opencv3 libzip boost protobuf openmpi ] @@ -87,6 +85,7 @@ in stdenv.mkDerivation rec { homepage = https://github.com/Microsoft/CNTK; description = "An open source deep-learning toolkit"; license = if onebitSGDSupport then licenses.unfreeRedistributable else licenses.mit; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ abbradar ]; }; } diff --git a/pkgs/applications/science/math/cntk/fix_std_bind.patch b/pkgs/applications/science/math/cntk/fix_std_bind.patch deleted file mode 100644 index df97a0c666695..0000000000000 --- a/pkgs/applications/science/math/cntk/fix_std_bind.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ru3 CNTK-old/Source/CNTKv2LibraryDll/EvaluatorWrapper.h CNTK-new/Source/CNTKv2LibraryDll/EvaluatorWrapper.h ---- CNTK-old/Source/CNTKv2LibraryDll/EvaluatorWrapper.h 1970-01-01 03:00:01.000000000 +0300 -+++ CNTK-new/Source/CNTKv2LibraryDll/EvaluatorWrapper.h 2018-02-25 18:16:16.330269647 +0300 -@@ -9,6 +9,7 @@ - #include <boost/noncopyable.hpp> - #include <memory> - #include <vector> -+#include <functional> - - #include "CNTKLibrary.h" - #include "CNTKLibraryC.h" diff --git a/pkgs/development/python-modules/cntk/default.nix b/pkgs/development/python-modules/cntk/default.nix index cfc16063cf73c..564116bc6755d 100644 --- a/pkgs/development/python-modules/cntk/default.nix +++ b/pkgs/development/python-modules/cntk/default.nix @@ -1,32 +1,49 @@ { stdenv +, lib , buildPythonPackage , pkgs , numpy , scipy +, openmpi , enum34 , protobuf , pip , python +, swig }: +let + cntk = pkgs.cntk; +in buildPythonPackage rec { - inherit (pkgs.cntk) name version src; + inherit (cntk) name version src; - nativeBuildInputs = [ pkgs.swig pkgs.openmpi ]; - buildInputs = [ pkgs.cntk pkgs.openmpi ]; + nativeBuildInputs = [ swig openmpi ]; + buildInputs = [ cntk openmpi ]; propagatedBuildInputs = [ numpy scipy enum34 protobuf pip ]; - CNTK_LIB_PATH = "${pkgs.cntk}/lib"; - CNTK_COMPONENT_VERSION = pkgs.cntk.version; + CNTK_LIB_PATH = "${cntk}/lib"; + CNTK_COMPONENT_VERSION = cntk.version; + CNTK_VERSION = cntk.version; + CNTK_VERSION_BANNER = cntk.version; postPatch = '' cd bindings/python - sed -i 's,"libmpi.so.12","${pkgs.openmpi}/lib/libmpi.so",g' cntk/train/distributed.py + sed -i 's,"libmpi.so.12","${openmpi}/lib/libmpi.so",g' cntk/train/distributed.py + + # Remove distro and libs checks; they aren't compatible with NixOS and besides we guarantee + # compatibility by providing a package. + cat <<EOF > cntk/cntk_py_init.py + def cntk_check_distro_info(): + pass + def cntk_check_libs(): + pass + EOF ''; postInstall = '' rm -rf $out/${python.sitePackages}/cntk/libs - ln -s ${pkgs.cntk}/lib $out/${python.sitePackages}/cntk/libs + ln -s ${cntk}/lib $out/${python.sitePackages}/cntk/libs # It's not installed for some reason. cp cntk/cntk_py.py $out/${python.sitePackages}/cntk ''; @@ -38,10 +55,8 @@ buildPythonPackage rec { ''; meta = { - inherit (pkgs.cntk.meta) homepage description license maintainers; - # broken in CNTK 2.4 starting with python-3.7 - # ("ImportError: cannot import name 'GenericMeta' from 'typing'") - broken = stdenv.lib.versionAtLeast python.version "3.7"; - + inherit (cntk.meta) homepage description license maintainers platforms; + # doesn't support Python 3.7 + broken = lib.versionAtLeast python.version "3.7"; }; } |