From 93a594715881e626a61488042a5796d253914f7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Tue, 4 Sep 2018 11:37:54 +0200 Subject: [PATCH] mxnet: 1.1.0 -> 1.2.1 (#46026) Update and fix the build: - Perl is a build-time requirement. - Fix hardcoded /bin/bash invocation. --- .../science/math/mxnet/default.nix | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index ce9c214b3f0..a3043bcf695 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -1,5 +1,5 @@ -{ stdenv, lib, fetchgit, cmake -, opencv, gtest, openblas, liblapack +{ stdenv, lib, fetchurl, bash, cmake +, opencv, gtest, openblas, liblapack, perl , cudaSupport ? false, cudatoolkit, nvidia_x11 , cudnnSupport ? false, cudnn }: @@ -8,16 +8,17 @@ assert cudnnSupport -> cudaSupport; stdenv.mkDerivation rec { name = "mxnet-${version}"; - version = "1.1.0"; + version = "1.2.1"; - # Submodules needed - src = fetchgit { - url = "https://github.com/apache/incubator-mxnet"; - rev = "refs/tags/${version}"; - sha256 = "1qgns0c70a1gfyil96h17ms736nwdkp9kv496gvs9pkzqzvr6cpz"; + # Fetching from git does not work at the time (1.2.1) due to an + # incorrect hash in one of the submodules. The provided tarballs + # contain all necessary sources. + src = fetchurl { + url = "https://github.com/apache/incubator-mxnet/releases/download/${version}/apache-mxnet-src-${version}-incubating.tar.gz"; + sha256 = "053zbdgs4j8l79ipdz461zc7wyfbfcflmi5bw7lj2q08zm1glnb2"; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake perl ]; buildInputs = [ opencv gtest openblas liblapack ] ++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ] @@ -30,6 +31,11 @@ stdenv.mkDerivation rec { ] else [ "-DUSE_CUDA=OFF" ]) ++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF"; + postPatch = '' + substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \ + --replace "/bin/bash" "${bash}/bin/bash" + ''; + installPhase = '' install -Dm755 libmxnet.so $out/lib/libmxnet.so cp -r ../include $out