python.pkgs.tensorflow-probability: use bazel
Fixes the tensorflow-probability built by first building the wheel with bazel. This actually creates the dist-info folder, allowing the package to be picked up as a pip dependency.
This commit is contained in:
parent
34387bcf5b
commit
43c62fd3c9
@ -1,8 +1,13 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, buildBazelPackage
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, python
|
, python
|
||||||
|
, setuptools
|
||||||
|
, wheel
|
||||||
, tensorflow
|
, tensorflow
|
||||||
|
, six
|
||||||
|
, numpy
|
||||||
, decorator
|
, decorator
|
||||||
, cloudpickle
|
, cloudpickle
|
||||||
, hypothesis
|
, hypothesis
|
||||||
@ -12,19 +17,62 @@
|
|||||||
, pytest
|
, pytest
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
let
|
||||||
pname = "tensorflow-probability";
|
|
||||||
version = "0.7";
|
version = "0.7";
|
||||||
|
pname = "tensorflow_probability";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
# first build all binaries and generate setup.py using bazel
|
||||||
owner = "tensorflow";
|
bazel-wheel = buildBazelPackage {
|
||||||
repo = "probability";
|
name = "${pname}-${version}-py2.py3-none-any.whl";
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0sy9gmjcvmwciamqvd7kd9qw2wd7ksklk80815fsn7sj0wiqxjyd";
|
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 = [
|
propagatedBuildInputs = [
|
||||||
tensorflow
|
tensorflow
|
||||||
|
six
|
||||||
|
numpy
|
||||||
decorator
|
decorator
|
||||||
cloudpickle
|
cloudpickle
|
||||||
];
|
];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user