Commit graph

132 commits

Author SHA1 Message Date
Orivej Desh
052db93d8f bazel: fix patches after #53988 2019-01-16 00:54:56 +00:00
Félix Baylac-Jacqué
57004738b1 bazel: fix python stub paths.
Since the 0.21 upgrade, the host `$PATH` is not forwarded anymore by
default to the sandboxes in charge to realize Bazel actions. This
default change broke the `py_binary` rule among other things.

Every python binary is wrapped in a stub in charge to setup the
execution environment. Currently, this stub's shebang points to a
`/usr/bin/env python` which cannot be resolved with the current
`$PATH`.
This results in breaking any build pipeline requiring the use of
python at some point. On top of the incorrect shebang, the stub
template is unable to find the actual python binary using
`SearchPath`.

This PR fixes those two things by re-writing the stub template shebang
to the actual python binary and by substituting the faulty default
python binary lookup to the right one.
2019-01-15 19:25:24 +01:00
Profpatsch
9e9fec640e bazel: 0.20.0 -> 0.21.0
0.21 removed the bundled openjdk-distribution. Instead, tries to fetch
the “right” distribution on-the-fly when building.
So we need to provide our own openjdk.

According to
https://github.com/bazelbuild/bazel/issues/6865#issuecomment-447261288
we should set `--host_javabase="@local_jdk//:jdk` if we want to do
that. This uses the jdk that is currently in the environment, which is
openjdk 8 in our case. 0.21 defaulted to a toolchain for JDK9, which
we don’t package in nixpkgs, so we use the JDK8 toolchain.

This commit also replaces the line-number-based sed invocations with
something more stable.
2019-01-10 18:46:25 +01:00
Will Dietz
7e31406886 bazel: greatly reduce time spent substituting, be smart which files
Files inspected: 2756 -> 40
Total size of inspected files: 20M -> 1016K
2019-01-10 18:46:25 +01:00
Mathieu Boespflug
53e8258a45 bazel: fix sandbox execution
Bazel runs actions in a sandbox by default on Darwin and Linux.
However, the sandboxing was always and *silently* disabled previously,
because a Bazel feature test was always failing. The feature test
involved running `/bin/true` inside a sandbox. But on NixOS,
`/bin/true` does not exist...
2018-12-20 15:18:34 +01:00
Mathieu Boespflug
6f5014e0ae bazel: 0.18.0 -> 0.20.0 2018-12-14 11:02:25 +01:00
Mathieu Boespflug
463498e3fa bazel: Don't perform the checkPhase, since it's redundant with installCheckPhase.
This change is going to be required when upgrading to Bazel 0.20.0,
because in the checkPhase we're not wrapping the Bazel binary yet to
set some necessary default arguments.
2018-12-14 11:02:25 +01:00
Profpatsch
cc6d5b34fa bazel: refactor tests a bit 2018-11-08 11:25:18 +01:00
Andy Scott
e4fbd57165 bazel: add tests for boostrap script behavior 2018-11-08 11:25:18 +01:00
Andy Scott
02b2f62d65 bazel: support tools/bazel workspace bootstrap scripts
Bazel supports per-workspace bootstrap scripts at $WORKSPACE_ROOT/
tools/bazel. This adds support for this behavior, which is needed
by many Bazel projects (OSS and private).
2018-11-08 11:25:18 +01:00
Uri Baghin
71449e70e9 bazel-deps: 2018-08-16 -> 2018-11-01 2018-11-04 20:26:07 +11:00
Uri Baghin
1c7d38bcfb bazel: 0.17.1 -> 0.18.0 2018-10-18 10:21:13 +02:00
catern
0ec21495ed bazel-buildtools: upgrade to 2018-10-11 (#48243) 2018-10-14 17:08:33 +02:00
Uri Baghin
61dbb0c74e bazel: 0.16.1 -> 0.17.1 2018-09-17 17:04:51 +02:00
Wael M. Nasreddine
d24f81b825
bazel: 0.16.0 -> 0.16.1 2018-09-10 21:34:41 -07:00
Uri Baghin
d1818ad6b1 bazel: add bazel_jdk10 variant 2018-09-10 23:33:21 +10:00
Philip Patsch
91a876e06f bazel: add upstream patch of perl replacement 2018-08-28 16:12:53 +02:00
regnat
98edb207cd bazel: 0.15.2 -> 0.16.0 2018-08-27 13:14:55 +02:00
Uri Baghin
487773fb0b bazel-deps: update to 2018-08-16 (#45499) 2018-08-23 15:45:39 +02:00
Profpatsch
ec3c3c824e bazel: substitute the perl path for bash completions 2018-08-21 20:12:23 +02:00
Profpatsch
c53e004257 bazel: distinguish darwin patches from generic patches
The '' + '' somewhere in the middle is easily missed and extremely
inelegant.

Also removes unnecessary `stdenv` qualifiers from calls to `lib`.
2018-08-21 20:12:23 +02:00
Wael M. Nasreddine
9c5b7cc5d1 bazel: patch //tools/bash/runfiles/runfiles.bash to include defaultShellPath in PATH
closes #43955
2018-08-17 10:51:03 +02:00
Uri Baghin
8c802d42ad bazel: fix darwin build on hydra 2018-08-13 08:32:27 +02:00
Uli Baum
33b71398fc bazel_0_4: mark as broken
build has failed since 2018-04-29
2018-08-07 16:53:36 +02:00
Benjamin Staffin
28e11a0b6b
bazel: fix bash completion, halve build time (#44097)
This finally fixes the build to avoid having to completely rebuild
bazel from source a second time just to generate the bash completion
script!

It also makes completion actually _work_ for bash users by
correcting the name of the installed script.
2018-07-27 14:45:43 -04:00
Benjamin Staffin
9cbe75b269
bazel: 0.15.1 -> 0.15.2 (#44094) 2018-07-27 14:43:15 -04:00
Pascal Wittmann
ba893d4e49
bazel-buildtools: add version to name
see issue #43717
2018-07-20 22:50:48 +02:00
Mathieu Boespflug
c27f686a4b bazel: Set a sensible strict action environment.
Bazel either reuses the `PATH` from the client, or sets a hardcoded
one. The former mode in problematic for build hermeticity. But the
latter is crippled on NixOS, because the hardcoded value is
`/bin:/usr/bin`. So we set the hardcoded value to match what
`customBash` provides. This has the effect of aligning the
environments for `ctx.actions.run` and `ctx.actions.run_shell`, which
were previously distinct (bug).
2018-07-19 09:51:09 +02:00
Mathieu Boespflug
5ab07a8041 bazel: make more tools available in customBash. 2018-07-19 09:51:09 +02:00
Profpatsch
75942f96b3 bazel: 0.15 -> 0.15.1 2018-07-17 10:12:39 +02:00
Mathieu Boespflug
62f3bf7509 bazel: make the build --sandbox compatible by building extra deps separately. 2018-07-17 10:12:39 +02:00
Mathieu Boespflug
d23e72ebf7 bazel: 0.13.0 -> 0.15.0
Upgrade to latest Bazel.
2018-07-17 10:12:39 +02:00
Pascal Wittmann
4a35e7ef1d
Merge pull request #43503 from volth/bazel-private-tmp
bazel: use per-user tmp directory to avoid conflict with other builders
2018-07-15 22:22:47 +02:00
volth
2a7aa43c16 bazel: use per-user tmp directory to avoid conflict with other builders 2018-07-13 23:35:28 +00:00
Profpatsch
adbd3ead27 Revert "bazel: fix darwin build on hydra" 2018-07-13 14:15:37 +02:00
Uri Baghin
ed98822350 bazel-deps: init at 2018-05-31 (#43018) 2018-07-09 22:38:45 +00:00
Uri Baghin
cd3723bd04 bazel: fix darwin build on hydra 2018-07-01 11:15:48 +10:00
Uri Baghin
6b6ccebc6f bazel: fix darwin 2018-06-26 17:58:33 +10:00
Mathieu Boespflug
06eeb0d158 bazel: Don't hardcode build tools (#42552)
Bazel is a build tool, much like Make and many others. Like Make, it
should be agnostic to the compiler toolchains the user brings into
scope. Bazel has special rules that encode domain specific knowledge
for how to compile a C++ program, or indeed a Java program and a few
others. But that's not to say that at runtime Bazel should assume
a specific C++ compiler or Java compiler anymore than Make does.

The main impact of this change is that packages that build with Bazel
will have to list the compilers they want in their `buildInputs` or
similar, rather than relying on the `bazel` package pulling them in
transitively.
2018-06-25 12:46:19 +02:00
Mathieu Boespflug
6f03c349ed bazel: Set mboes as maintainer
As per #39585
2018-06-23 10:45:48 +02:00
Mathieu Boespflug
722fcfc4ea bazel: 0.12 -> 0.13 2018-06-23 10:45:43 +02:00
Uri Baghin
8bf1a5c469 bazel: fix darwin build 2018-06-13 15:32:16 +10:00
Uri Baghin
274bb96073 bazel: add darwin support 2018-06-12 23:23:51 -04:00
Uri Baghin
403f9d496f bazel-buildtools: init at 2018-05-24 2018-05-30 08:01:00 +10:00
Ben Barclay
9ef306bb4d bazel: 0.11.1 -> 0.12.0 (#39585) 2018-05-08 13:46:24 +01:00
Benjamin Staffin
09b16a92af bazel: 0.10.1 -> 0.11.1 2018-04-03 12:45:30 +02:00
Daiderd Jordan
37a97fa8e3
bazel_0_4: mark linux only
/cc ZHF #36454
2018-03-08 22:19:39 +01:00
Guillaume Maudoux
f6b6d72d06 bazel: 0.9 -> 0.10.1 2018-02-15 12:31:21 +01:00
Shea Levy
f040f64636
bazel: Bump nix-hacks.patch for 0.9. 2018-01-18 10:25:47 -05:00
Mathieu Boespflug
a325405c93 bazel: 0.8.0 -> 0.9.0 (#33082) 2018-01-03 23:33:15 +00:00
Mateusz Kowalczyk
6f8601288b bazel: 0.7.0 -> 0.8.0 2017-11-29 16:10:53 +00:00
Nikolay Amiantov
c69d90b888 bazel: fix lost dependencies
Fixes #31249
2017-11-10 22:34:42 +03:00
Nikolay Amiantov
6bdee9c730 bazel: add Nix hacks
Those are needed to build Bazel packages in Nix.
2017-11-10 22:34:42 +03:00
Mateusz Kowalczyk
ac2976d829 bazel: 0.6.1 -> 0.7.0 2017-11-01 20:03:58 +00:00
Nikolay Amiantov
0ce09afcfa bazel_0_4: additonal fix for Darwin 2017-10-21 18:21:52 +03:00
Nikolay Amiantov
a86fe917b9 bazel_0_4: try to fix on Darwin
First round of fixes -- let's see how Hydra reacts.
2017-10-21 17:36:54 +03:00
Nikolay Amiantov
0d5ff53a15 bazel_0_4: build on Darwin 2017-10-19 16:38:06 +03:00
Nikolay Amiantov
e3afbd6d26 bazel_0_4: set absolute path to /usr/bin/env
Also cleanup TMPDIR.
2017-10-19 13:19:11 +03:00
Nikolay Amiantov
ba9cde1dd5 bazel_0_4: add optional Nix-specific hacks
* Skip verifying checksums for already fetched packages.
  Needed for two-staged building in Nix:
    1. Build a fixed derivation with `bazel fetch` (filtered out of non-reproducable bits).
    2. Build an actual derivation which uses fetched dependencies (skipping
       checksums needed here because they depend on the build directory).
* Don't clean environment variables for children processes.
  Needed for Nix compiler wrappers.
2017-10-19 13:19:11 +03:00
Yann Hodique
3e37e20fa5 bazel: 0.6.0 -> 0.6.1 2017-10-06 08:33:57 -07:00
Yann Hodique
1fcf8e24a0 bazel: 0.5.4 -> 0.6.0 (#29990) 2017-10-01 18:46:16 -04:00
Charles Strahan
b93ba5dcd7
envoy: fix by reviving bazel 0.4
/cc #28643
2017-09-28 16:51:32 -04:00
Nikolay Amiantov
e5059a8739 bazel: 0.4.5 -> 0.5.4 2017-09-07 17:04:29 +03:00
mimadrid
09e0cc7cc7
Update homepage attributes: http -> https
Homepage link "http://.../" is a permanent redirect to "https://.../" and should be updated
https://repology.org/repository/nix_stable/problems
2017-08-03 11:56:15 +02:00
Benjamin Staffin
965bffdb69 bazel: 0.4.4 -> 0.4.5 (#25821)
Also added zsh and bash completion support
2017-05-18 23:14:50 -04:00
Itai Zukerman
1f709ad136 bazel: add gcc to PATH and simplify patch
Removed patches that are purely for testing.
Removed dependencies that seemed to not be needed.
Expand all instances of #!/bin/bash, not just those at the start of scripts.
2017-03-02 00:09:10 -08:00
Benjamin Staffin
7c17c10bab bazel: Wrap so java is present at runtime
Bazel can't start up without javac in $PATH.
2017-02-28 12:44:44 -05:00
Benjamin Staffin
14ef7c0c59 bazel: consolidate bazel test invocations
This way it can run them in parallel.
2017-02-28 12:21:52 -05:00
Itai Zukerman
17835f14c5 bazel: replace patch with patchShebangs and substituteInPlace 2017-02-28 17:41:52 +01:00
Benjamin Staffin
d348b80f31 bazel: Log test errors to stderr during checkPhase
Otherwise it's difficult or impossible to retrieve them, particularly
from a hydra build.
2017-02-27 19:22:37 -05:00
Itai Zukerman
59bb3d1f3f bazel: remove dependence on buildFHSUserEnv 2017-02-22 20:42:21 -08:00
Itai Zukerman
25121d4350 bazel: 0.3.2 -> 0.4.4 2017-02-13 16:12:26 -08:00
Benjamin Staffin
d42fb35713 bazel: Allow linux i686 builds too 2016-10-09 15:18:29 -04:00
Irene Knapp
81c82bb5d6 Update the packaged Bazel to 0.3.2, and also make it actually work. 2016-10-08 20:54:12 -07:00
Tom Hunger
93c773391d bazel: 20150326.981b7bc1 -> 0.3.1 2016-09-21 18:42:43 +01:00
Tuomas Tynkkynen
fcc3a1b41d bazel: Broken on i686
http://hydra.nixos.org/build/38314298
2016-08-06 17:06:45 +03:00
Tuomas Tynkkynen
21f17d69f6 treewide: Add lots of meta.platforms
Build-tested on x86_64 Linux & Mac.
2016-08-02 21:42:43 +03:00
Philip Potter
76dd430cd8 bazel: fix build, make compatible with openjdk
Bazel 981b7bc1 depends on protobuf-2.5 and won't work with 2.6 (and in
bbe84fe3d upgraded straight to protobuf 3.0.0-alpha3); this commit fixes
the dependency to depend on protobuf2_5 specifically.

The bazel compile.sh needs `which` on the PATH; so this commit adds that
as a dependency.

Setting JAVA_HOME to ${jdk} broke bazel when used with openjdk, with the
message:

    Problem with java installation: couldn't find/access rt.jar in /nix/store/z9vc0vzyzhnpl5l5inmqdnvdnbxmmmg7-openjdk-8u60b24

This is because if you set JAVA_HOME, bazel will look for rt.jar in
$JAVA_HOME/lib and $JAVA_HOME/jre/lib, but the nixpkgs openjdk
distribution puts rt.jar in ${jdk}/lib/openjdk/jre/lib for some reason.

To fix this, this commit uses the ${jdk.home} passthru value to use the
appropriate JAVA_HOME for the given jdk.

As bazel now works with openjdk, and openjdk is free while oraclejdk is
not, this commit changes the default jdk for bazel to openjdk.

Since this package didn't have a listed maintainer, I'm claiming it.
2015-07-28 20:38:44 +01:00
Rob Vermaas
46eedd9de5 Dohh 2015-03-26 09:48:27 +00:00
Rob Vermaas
ac35d15bcc bazel: Upstream pushed patch, removing patch. 2015-03-26 09:46:31 +00:00
Rob Vermaas
7721ff4ccb bazel: add patch suggested by upstream 2015-03-26 06:30:21 +00:00
Rob Vermaas
f5eed7e14e Add initial version for bazel.io build manager. 2015-03-25 15:12:02 +00:00