about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/build-support/build-bazel-package/default.nix10
-rw-r--r--pkgs/development/python-modules/dm-sonnet/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow-probability/default.nix62
3 files changed, 63 insertions, 13 deletions
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
index 1004a7ce3f92..7c9fc83e0f1b 100644
--- a/pkgs/build-support/build-bazel-package/default.nix
+++ b/pkgs/build-support/build-bazel-package/default.nix
@@ -51,8 +51,10 @@ in stdenv.mkDerivation (fBuildAttrs // {
       rm -rf $bazelOut/external/{local_*,\@local_*}
 
       # Patching markers to make them deterministic
-      sed -i 's, -\?[0-9][0-9]*$, 1,' $bazelOut/external/\@*.marker
-      sed -i '/^ENV:TMP.*/d' $bazelOut/external/\@*.marker
+      find $bazelOut/external -name '@*\.marker' -exec sed -i \
+        -e 's, -\?[0-9][0-9]*$, 1,' \
+        -e '/^ENV:TMP.*/d' \
+        '{}' \;
 
       # Remove all vcs files
       rm -rf $(find $bazelOut/external -type d -name .git)
@@ -86,8 +88,8 @@ in stdenv.mkDerivation (fBuildAttrs // {
   '';
 
   preConfigure = ''
-    mkdir -p $bazelOut/external
-    cp -r $deps/* $bazelOut/external
+    mkdir -p "$bazelOut"
+    cp -r $deps $bazelOut/external
     chmod -R +w $bazelOut
     find $bazelOut -type l | while read symlink; do
       ln -sf $(readlink "$symlink" | sed "s,NIX_BUILD_TOP,$NIX_BUILD_TOP,") "$symlink"
diff --git a/pkgs/development/python-modules/dm-sonnet/default.nix b/pkgs/development/python-modules/dm-sonnet/default.nix
index 41dc30e47190..c10dafdabc6e 100644
--- a/pkgs/development/python-modules/dm-sonnet/default.nix
+++ b/pkgs/development/python-modules/dm-sonnet/default.nix
@@ -15,7 +15,7 @@
 }:
 
 let
-  version = "1.30";
+  version = "1.33";
 
   # first build all binaries and generate setup.py using bazel
   bazel-build = buildBazelPackage rec {
@@ -25,7 +25,7 @@ let
       owner = "deepmind";
       repo = "sonnet";
       rev = "v${version}";
-      sha256 = "1dli4a4arx2gmb4p676pfibvnpag9f13znisrk9381g7xpqqmaw6";
+      sha256 = "1nqsja1s8jrkq6v1whgh7smk17313mjr9vs3k5c1m8px4yblzhqc";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tensorflow-probability/default.nix b/pkgs/development/python-modules/tensorflow-probability/default.nix
index 4b0e6e7722fe..0f03adfccf5c 100644
--- a/pkgs/development/python-modules/tensorflow-probability/default.nix
+++ b/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -1,8 +1,13 @@
 { lib
 , fetchFromGitHub
+, buildBazelPackage
 , buildPythonPackage
 , python
+, setuptools
+, wheel
 , tensorflow
+, six
+, numpy
 , decorator
 , cloudpickle
 , hypothesis
@@ -12,19 +17,62 @@
 , pytest
 }:
 
-buildPythonPackage rec {
-  pname = "tensorflow-probability";
+let
   version = "0.7";
+  pname = "tensorflow_probability";
 
-  src = fetchFromGitHub {
-    owner = "tensorflow";
-    repo = "probability";
-    rev = "v${version}";
-    sha256 = "0sy9gmjcvmwciamqvd7kd9qw2wd7ksklk80815fsn7sj0wiqxjyd";
+  # first build all binaries and generate setup.py using bazel
+  bazel-wheel = buildBazelPackage {
+    name = "${pname}-${version}-py2.py3-none-any.whl";
+
+    src = fetchFromGitHub {
+      owner = "tensorflow";
+      repo = "probability";
+      rev = "v${version}";
+      sha256 = "0sy9gmjcvmwciamqvd7kd9qw2wd7ksklk80815fsn7sj0wiqxjyd";
+    };
+
+    nativeBuildInputs = [
+      # needed to create the output wheel in installPhase
+      python
+      setuptools
+      wheel
+    ];
+
+    bazelTarget = ":pip_pkg";
+
+    fetchAttrs = {
+      sha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+    };
+
+    buildAttrs = {
+      preBuild = ''
+        patchShebangs .
+      '';
+
+      installPhase = ''
+        # work around timestamp issues
+        # https://github.com/NixOS/nixpkgs/issues/270#issuecomment-467583872
+        export SOURCE_DATE_EPOCH=315532800
+
+        # First build, then move. Otherwise pip_pkg would create the dir $out
+        # and then put the wheel in that directory. However we want $out to
+        # point directly to the wheel file.
+        ./bazel-bin/pip_pkg . --release
+        mv *.whl "$out"
+      '';
+    };
   };
+in buildPythonPackage rec {
+  inherit version pname;
+  format = "wheel";
+
+  src = bazel-wheel;
 
   propagatedBuildInputs = [
     tensorflow
+    six
+    numpy
     decorator
     cloudpickle
   ];