This isn't actually used yet, but forces the protos to be included in
the build which is useful for iteration.
Change-Id: I2abcaf297f34ae741f00ad0c929b226d5603c9d7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/928
Tested-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Adds dependencies on the gRPC & protobuf libraries, and implements Nix
code to generate the C++ sources from the included proto definitions.
This is theoretically supported via CMake, but practically doesn't
work and I don't care to debug why.
Doing it like this lets us instead add a CMake library target for our
proto definitions based on the sources generated by Nix.
Pros:
* no need to deal with the gRPC CMake mess
* it works!
Cons: * iteration requires nix-shell restart
Change-Id: Ie1fe9807fc96c49cb8f7161ba59d093456062b15
Reviewed-on: https://cl.tvl.fyi/c/depot/+/927
Tested-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Adds initial gRPC definitions for the Nix worker protocol, which is
currently defined messily across the following files:
src/libstore/worker-protocol.hh
src/libstore/remote-store.cc
src/nix-daemon/nix-daemon.cc
The protocol definition is basically a big enum with the signatures of
the calls being implicit in the various client/server implementation
functions.
The definitions in this file are slowly reversed from these implicit
signatures, and are likely to contain an error or two which will be
weeded out when this is taken into use.
Only a handful of the calls are included in this commit, it is
intended to get us up and running first.
Change-Id: Ibc9b2ab4b91a064c8935f09f7ac72bb8150fb476
Reviewed-on: https://cl.tvl.fyi/c/depot/+/926
Reviewed-by: isomer <isomer@tvl.fyi>
Tested-by: BuildkiteCI
gRPC 1.29.0 can not be built with our precompiled libs because it
accidentally overrides the C++ standard specified by the users.
This was fixed in 1.30.0.
Change-Id: I9a0390b3f5ec8dae6c295562f3a94b3dfa681dd1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/925
Tested-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Same as cl/921, it seems that the trick to making this work is indeed
overriding the C++ standard used in the dependency.
Change-Id: I3c5984d71014d774c161ecc283844f504fd44719
Reviewed-on: https://cl.tvl.fyi/c/depot/+/922
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
This didn't work previously ... but now it does. I think setting the
standard explicitly is what did the trick, but it's slightly unclear
to me why.
Either way this means that Abseil is no longer constantly getting
recompiled when building Nix, which is nice.
Change-Id: I377f7b68bf1ef9045df6a2eee8fdd0c92f243547
Reviewed-on: https://cl.tvl.fyi/c/depot/+/921
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
These are generally rather nicer to work due to some typeclass instances,
and integrate better with other ecosystems for things like linear
algebra etc.
Change-Id: I546c8da7b17234648f3d612b28741c1fded25447
Reviewed-on: https://cl.tvl.fyi/c/depot/+/910
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
These bits are no longer required with the hashmap-backed
implementation of attribute sets.
Change-Id: I8b936d8d438a00bad4ccf8e0b4dd719c559ce8c2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/912
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Xanthous specifically breaks pretty majestically if it's built from
anything but a source dir, due to the TH splices we're doing to embed
messages.yaml files - this does some extra shuffling to make sure we
always cd to the project directory when running haskell-language-server
Change-Id: I6daee712f04b96d5755dcbc3dbad4c7b78a46f61
Reviewed-on: https://cl.tvl.fyi/c/depot/+/905
Reviewed-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
Add expression for building haskell-language-server, based on a vendored
version of https://github.com/korayal/hls-nix with hashes updated to
work with our nixpkgs version and ghc 8.8.3. Also add that to CI
builds, so whitby will build it for me (thanks whitby).
Change-Id: I373f8a7cb67974b8aa043b116436c074591b8d57
Reviewed-on: https://cl.tvl.fyi/c/depot/+/897
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: BuildkiteCI
We now use the actual 'Verified' label instead of Code-Review from
Buildkite, this workaround is no longer required.
This reverts commit d3f9cb0ec3.
Change-Id: Ib8c1680eae844cb7b45bf8837acf2af03d4ed344
Reviewed-on: https://cl.tvl.fyi/c/depot/+/909
Reviewed-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
At present, we don't return HTML titles if there's a trailing slash,
or a patchset. Instead, just consume the / and anything after it.
This also fixes /123, because this is HTTP redirected to the full path
*with a trailing slash* which otherwise wouldn't get the title
injected.
Change-Id: Idfd0e67752880a37dce0b400a3c1cfc53fac2912
Reviewed-on: https://cl.tvl.fyi/c/depot/+/859
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
Extract the conditional we're using to decide whether or not to render a
given entity at a position, and use that when getting the list of
entities to describe as a result of the "Look" command.
Change-Id: I1ec86211c2fcbd984dd52338fb5631667c22c723
Reviewed-on: https://cl.tvl.fyi/c/depot/+/903
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
for cabal 3 commands that are runnable without new- or old-
Change-Id: Ib00c8654c40c47482e06aec9dd1454dacce42971
Reviewed-on: https://cl.tvl.fyi/c/depot/+/901
Reviewed-by: glittershark <grfn@gws.fyi>
This is needed as well to use it as a substituter it seems
Change-Id: I6cefbccef2a61d665209131084bc58d7b56645f9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/899
Reviewed-by: glittershark <grfn@gws.fyi>
Right now it looks like the time to copy data between local and whitby
essentially eliminates any benefit to using it as a remote builder.
Which is a shame, but ah well.
Change-Id: I71dc4782992a28b196e262d40acc1bbc0b883529
Reviewed-on: https://cl.tvl.fyi/c/depot/+/898
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
Update the invocation of the hie.sh script as part of
+grfn/haskell-mode-setup to be compatible with the new depot-integrated
xanthous.
Change-Id: Ia3ef50fb08464a533efdfed4da66e2be00446ea6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/891
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
This reverts commit 2249be39ed4d869ca602b353372f8d9066f0be28.
Build should pass now that it's all been properly integrated into the
nix tree.
Change-Id: If2bfa642302368ac24d06ff7d853c0eda76811a7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/742
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: Kane York <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
Simplify the build infrastructure for creating shells etc. for xanthous,
including relying more heavily on stuff exposed in Depot anyway, using
shellFor in the shell.nix, and using the haskell.nix branch of all-hies
for a significantly simpler build. At some point the all-hies stuff will
likely want to be promoted up to //third_party, but for now it's
experimental enough that I don't want to bother other people with it.
Change-Id: I43830de73830fdc07d48af9b87d7930f59599532
Reviewed-on: https://cl.tvl.fyi/c/depot/+/890
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
GHC 8.8 is better at detecting unused imports, it seems - all of these
are new warnings that fail under -Werror
Change-Id: I1357094d715483612deb0db4a75b3e4f8f27d2e3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/889
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
A couple of changes necessary to get things working with both ghc 8.8.3
and the new base:
- Explicitly import fail from Control.Monad.Fail in the prelude, since
it's there instead of the base prelude now
- GHC no longer allows type family equality constraints in quantified
constraints - which is a bummer - but is avoidable in the one case
where it was happening
- Explicitly import a constructor from Data.List.NonEmpty
Change-Id: Ia06fc724ddc2d6a3f9024c047ed55eea40bcf408
Reviewed-on: https://cl.tvl.fyi/c/depot/+/744
Tested-by: BuildkiteCI
Reviewed-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
I'm using this dir to store save files that are particularly
interesting, eg bug reproductions etc.
Change-Id: Id6a805d85b3ea2e1171ea3af96303f05c2468070
Reviewed-on: https://cl.tvl.fyi/c/depot/+/893
Reviewed-by: glittershark <grfn@gws.fyi>
Only want to map in normal mode
Change-Id: I5034af2a4828c61cd46f68451485a8a90cba7085
Reviewed-on: https://cl.tvl.fyi/c/depot/+/892
Reviewed-by: glittershark <grfn@gws.fyi>
This appears to be working! which is nice.
Change-Id: I06f8d2ff4e9b313073cb76c77a8a9bed0cb52516
Reviewed-on: https://cl.tvl.fyi/c/depot/+/887
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
gonna use this instead of nixos-rebuild switch, in part to get away from
global nixpkgs pins.
Change-Id: I46e2951660465790adfdf75e6e3413b5c2dfd7c7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/886
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
My laptop, so I can recompile linux-ck not on my machine
Change-Id: Ib42e0440628be6a4d03999220ab2c69b19d6e391
Reviewed-on: https://cl.tvl.fyi/c/depot/+/884
Reviewed-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
If I want to build this on TVL's CI I can't reference ~/code/urb/urbos,
obviously, so I'll just vendor it here which is fine
Change-Id: I40feb4b29fafae1d3bb0119b7cca1613a4582fdc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/885
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
As tazjin pointed out, this is little enough code that pulling it from a
global channel is a little silly, so I've just inlined everything.
Change-Id: I8750f139a3124135a72737c381215a6e812ce0c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/882
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
I previously had some stuff jammed into a hardware-configuration.nix not
committed anywhere, which is silly but also prevented building this
config as a top-level derivation, so this vendors them all in there
Change-Id: Ia76f1d75dcd44aa3e9d86a66c45176afc0946d12
Reviewed-on: https://cl.tvl.fyi/c/depot/+/881
Reviewed-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
This *should* translate to the required invocation to make sudo allow
nopasswd for users in the wheel group.
Change-Id: I3713862b8df9087cfbaa72d7e824bc43469f7c1c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/857
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI