git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #87314 from matthewbauer/bazel-flat

build-bazel-package: switch hash mode to “flat”

commit43545032af4472d6b4f53b7df97915d08597a58a authorMatthew Bauer <mjbauer95@gmail.com> dateMon 11 May 2020, 15:27 (7 years ago) parent82ca249fe48f63
9 files changed+27−16
nixos/doc/manual/release-notes/rl-2009.xml+9 pkgs/applications/virtualization/gvisor/default.nix+1−1 pkgs/build-support/build-bazel-package/default.nix+9−7 pkgs/development/python-modules/dm-sonnet/default.nix+1−1 pkgs/development/python-modules/tensorflow-probability/default.nix+1−1 pkgs/development/python-modules/tensorflow/1/default.nix+2−2 pkgs/development/python-modules/tensorflow/2/default.nix+2−2 pkgs/development/tools/bazel-watcher/default.nix+1−1 pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix+1−1
nixos/doc/manual/release-notes/rl-2009.xml+9
@@ -335,6 +335,15 @@ php.override {
335335 your configuration simply remove the quotes around the numbers.
336336 </para>
337337 </listitem>
338+ <listitem>
339+ <para>
340+ When using <literal>buildBazelPackage</literal> from Nixpkgs,
341+ <literal>flat</literal> hash mode is now used for dependencies
342+ instead of <literal>recursive</literal>. This is to better allow
343+ using hashed mirrors where needed. As a result, these hashes
344+ will have changed.
345+ </para>
346+ </listitem>
338347 </itemizedlist>
339348 </section>
340349
pkgs/applications/virtualization/gvisor/default.nix+1−1
@@ -76,7 +76,7 @@ in buildBazelPackage rec {
7676 rm -f "$bazelOut"/java.log "$bazelOut"/java.log.*
7777 '';
7878
79− sha256 = "1bn7nhv5pag8fdm8l8nvgg3fzvhpy2yv9yl2slrb16lckxzha3v6";
79+ sha256 = "0r11kbyp1ambgcj35gvjjmxrsrdg7b9jb9sq3kih4lik7zyljp25";
8080 };
8181
8282 buildAttrs = {
pkgs/build-support/build-bazel-package/default.nix+9−7
@@ -42,9 +42,11 @@ in stdenv.mkDerivation (fBuildAttrs // {
4242 inherit name bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget;
4343
4444 deps = stdenv.mkDerivation (fFetchAttrs // {
45− name = "${name}-deps";
45+ name = "${name}-deps.tar.gz";
4646 inherit bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget;
4747
48+ impureEnvVars = lib.fetchers.proxyImpureEnvVars;
49+
4850 nativeBuildInputs = fFetchAttrs.nativeBuildInputs or [] ++ [ bazel ];
4951
5052 preHook = fFetchAttrs.preHook or "" + ''
@@ -120,9 +122,9 @@ in stdenv.mkDerivation (fBuildAttrs // {
120122 ln -sf "$new_target" "$symlink"
121123 done
122124
123− cp -r $bazelOut/external $out
125+ echo '${bazel.name}' > $bazelOut/external/.nix-bazel-version
124126
125− echo '${bazel.name}' > $out/.nix-bazel-version
127+ (cd $bazelOut/ && tar czf $out --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner external/)
126128
127129 runHook postInstall
128130 '';
@@ -130,7 +132,6 @@ in stdenv.mkDerivation (fBuildAttrs // {
130132 dontFixup = true;
131133 allowedRequisites = [];
132134
133− outputHashMode = "recursive";
134135 outputHashAlgo = "sha256";
135136 outputHash = fetchAttrs.sha256;
136137 });
@@ -146,14 +147,15 @@ in stdenv.mkDerivation (fBuildAttrs // {
146147 preConfigure = ''
147148 mkdir -p "$bazelOut"
148149
149− test "${bazel.name}" = "$(<$deps/.nix-bazel-version)" || {
150+ (cd $bazelOut && tar xfz $deps)
151+
152+ test "${bazel.name}" = "$(<$bazelOut/external/.nix-bazel-version)" || {
150153 echo "fixed output derivation was built for a different bazel version" >&2
151− echo " got: $(<$deps/.nix-bazel-version)" >&2
154+ echo " got: $(<$bazelOut/external/.nix-bazel-version)" >&2
152155 echo "expected: ${bazel.name}" >&2
153156 exit 1
154157 }
155158
156− cp -r $deps $bazelOut/external
157159 chmod -R +w $bazelOut
158160 find $bazelOut -type l | while read symlink; do
159161 ln -sf $(readlink "$symlink" | sed "s,NIX_BUILD_TOP,$NIX_BUILD_TOP,") "$symlink"
pkgs/development/python-modules/dm-sonnet/default.nix+1−1
@@ -36,7 +36,7 @@ let
3636 bazelTarget = ":install";
3737
3838 fetchAttrs = {
39− sha256 = "0wb2gh9ji8bgq4s9ci9x017dybxqzjhncpw33b1wjksm2yhbkvlz";
39+ sha256 = "0jlgmwcanfkhkwvh4vxibpi0zyyl6xkjzcz2xqn7raympqscq81a";
4040 };
4141
4242 bazelFlags = [
pkgs/development/python-modules/tensorflow-probability/default.nix+1−1
@@ -61,7 +61,7 @@ let
6161 bazelTarget = ":pip_pkg";
6262
6363 fetchAttrs = {
64− sha256 = "0135nxxvkmjzpd80r1g9fdkk9h62g0xlvp32g5zgk0hkma5kq0bx";
64+ sha256 = "0nmk7sbgl1ag20333v9r7l5cka6wapbskikfhi3y5a8l9f6hxkl3";
6565 };
6666
6767 buildAttrs = {
pkgs/development/python-modules/tensorflow/1/default.nix+2−2
@@ -300,9 +300,9 @@ let
300300
301301 # cudaSupport causes fetch of ncclArchive, resulting in different hashes
302302 sha256 = if cudaSupport then
303− "1qygfcvvn9vysap9nk6xccxi9mgmzyxiywz6k456f811l1v70p2c"
303+ "09j57w6kc0vkfcdwr0qggy3qgrgq82kfa2jrwvvcnij4bl3wj40j"
304304 else
305− "0kfjanw0mfbh30vi1ms2xlg8yp429cbyfriik6yxd5cla2pncg2j";
305+ "14g8z49qz7d8n1c2mcsfhr7yqpcy7mhmpm6hgmqvpgb8vm7yvwrc";
306306 };
307307
308308 buildAttrs = {
pkgs/development/python-modules/tensorflow/2/default.nix+2−2
@@ -294,9 +294,9 @@ let
294294
295295 # cudaSupport causes fetch of ncclArchive, resulting in different hashes
296296 sha256 = if cudaSupport then
297− "0hg3ysy644950a34j28hrb317cz8gcbb9n84d36wdailvnlshghb"
297+ "1kqk1gx5g63kb2zdj392x6mnpbrmgqghrdv597aipn7s23xzj8pd"
298298 else
299− "1gy4pz9kn30wb9c4a9584fibb88c3h38y3dqa99yw1lbsbyyi28c";
299+ "1plpcm2ydpajsrxdvmmpfy7l0gfdir78hap72w4k7ddm6d3rm2fv";
300300 };
301301
302302 buildAttrs = {
pkgs/development/tools/bazel-watcher/default.nix+1−1
@@ -60,7 +60,7 @@ buildBazelPackage rec {
6060 sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
6161 '';
6262
63− sha256 = "0wj573dcirssr2cmq90b4yl57mv3gsxaj1s26afvkz1dvyxmq7sz";
63+ sha256 = "0ili0123xcl0mjcrn4r1r1q9d7a8a3bbh9r3zhlshl39awfm4r2d";
6464 };
6565
6666 buildAttrs = {
pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix+1−1
@@ -64,7 +64,7 @@ buildBazelPackage rec {
6464 sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
6565 '';
6666
67− sha256 = "141kw2zpr612xdcrg6x9kslg4d5b3fbpzx0vgp3lqwdihfj3sc1l";
67+ sha256 = "1hzb84zxav68ysdwkimaaz0b9rq95k3bgifw01m644v7idabrz50";
6868 };
6969
7070 buildAttrs = {