From a069c16c2240fecc69545b9b26c0becea8ac559d Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Wed, 15 Feb 2017 12:30:30 +0100 Subject: [PATCH] tensorflowNoGpuSupport -> tensorflowWithoutCuda and move expression --- .../python-modules/tensorflow/default.nix | 48 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 37 +------------- 2 files changed, 50 insertions(+), 35 deletions(-) create mode 100644 pkgs/development/python-modules/tensorflow/default.nix diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix new file mode 100644 index 00000000000..f8bc35eb568 --- /dev/null +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -0,0 +1,48 @@ +{ stdenv +, fetchurl +, buildPythonPackage +, numpy +, six +, protobuf3_0_0b2 +, swig +, mock +, gcc +, zlib +}: + +# tensorflow is built from a downloaded wheel, because the upstream +# project's build system is an arcane beast based on +# bazel. Untangling it and building the wheel from source is an open +# problem. + +buildPythonPackage rec { + pname = "tensorflow"; + version = "0.10.0"; + name = "${pname}-${version}"; + format = "wheel"; + + src = fetchurl { + url = if stdenv.isDarwin then + "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-${version}-py2-none-any.whl" else + "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-${version}-cp27-none-linux_x86_64.whl"; + sha256 = if stdenv.isDarwin then + "1gjybh3j3rn34bzhsxsfdbqgsr4jh50qyx2wqywvcb24fkvy40j9" else + "0g05pa4z6kdy0giz7hjgjgwf4zzr5l8cf1zh247ymixlikn3fnpx"; + }; + + propagatedBuildInputs = [ numpy six protobuf3_0_0b2 swig mock]; + + preFixup = '' + RPATH="${stdenv.lib.makeLibraryPath [ gcc.cc.lib zlib ]}" + find $out -name '*.so' -exec patchelf --set-rpath "$RPATH" {} \; + ''; + + doCheck = false; + + meta = with stdenv.lib; { + description = "TensorFlow helps the tensors flow (no gpu support)"; + homepage = http://tensorflow.org; + license = licenses.asl20; + platforms = with platforms; linux ++ darwin; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2934e19a96b..1fb98a65524 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -31243,43 +31243,10 @@ EOF }; }; - # tensorflow is built from a downloaded wheel, because the upstream - # project's build system is an arcane beast based on - # bazel. Untangling it and building the wheel from source is an open - # problem. + tensorflow = self.tensorflowWithoutCuda; - tensorflow = self.tensorflowNoGpuSupport; + tensorflowWithoutCuda = callPackage ../development/python-modules/tensorflow { }; - tensorflowNoGpuSupport = buildPythonPackage rec { - name = "tensorflow"; - version = "0.10.0"; - format = "wheel"; - - src = pkgs.fetchurl { - url = if stdenv.isDarwin then - "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-${version}-py2-none-any.whl" else - "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-${version}-cp27-none-linux_x86_64.whl"; - sha256 = if stdenv.isDarwin then - "1gjybh3j3rn34bzhsxsfdbqgsr4jh50qyx2wqywvcb24fkvy40j9" else - "0g05pa4z6kdy0giz7hjgjgwf4zzr5l8cf1zh247ymixlikn3fnpx"; - }; - - propagatedBuildInputs = with self; [ numpy six protobuf3_0_0b2 pkgs.swig mock]; - - preFixup = '' - RPATH="${stdenv.lib.makeLibraryPath [ pkgs.gcc.cc.lib pkgs.zlib ]}" - find $out -name '*.so' -exec patchelf --set-rpath "$RPATH" {} \; - ''; - - doCheck = false; - - meta = { - description = "TensorFlow helps the tensors flow (no gpu support)"; - homepage = http://tensorflow.org; - license = licenses.asl20; - platforms = with platforms; linux ++ darwin; - }; - }; tensorflowCuDNN = buildPythonPackage rec { name = "tensorflow";