5cb6e6ee21
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>
77 lines
1.8 KiB
Nix
77 lines
1.8 KiB
Nix
{ pkgs ? (import ../.. {}).third_party
|
|
, buildType ? "release", ... }:
|
|
|
|
let
|
|
aws-s3-cpp = pkgs.aws-sdk-cpp.override {
|
|
apis = ["s3" "transfer"];
|
|
customMemoryManagement = false;
|
|
};
|
|
|
|
# TODO(tazjin): this is copied from the original derivation, but what
|
|
# is it for?
|
|
largeBoehm = pkgs.boehmgc.override {
|
|
enableLargeConfig = true;
|
|
};
|
|
in pkgs.llvmPackages.libcxxStdenv.mkDerivation {
|
|
pname = "tazjix";
|
|
version = "2.3.4";
|
|
src = ./.;
|
|
|
|
# Abseil's sources need to be symlinked into Nix' sources.
|
|
postUnpack = ''
|
|
ln -fs ${pkgs.glog.drvAttrs.src} nix/glog
|
|
'';
|
|
|
|
nativeBuildInputs = with pkgs; [
|
|
bison
|
|
clang-tools
|
|
cmake
|
|
pkgconfig
|
|
libxml2
|
|
libxslt
|
|
(import ./clangd.nix pkgs)
|
|
];
|
|
|
|
# TODO(tazjin): Some of these might only be required for native inputs
|
|
buildInputs = with pkgs; [
|
|
abseil_cpp
|
|
aws-s3-cpp
|
|
brotli
|
|
bzip2
|
|
curl
|
|
editline
|
|
flex
|
|
libseccomp
|
|
libsodium
|
|
openssl
|
|
sqlite
|
|
xz
|
|
];
|
|
|
|
propagatedBuildInputs = with pkgs; [
|
|
boost
|
|
largeBoehm
|
|
];
|
|
|
|
# Install the various symlinks to the Nix binary which users expect
|
|
# to exist.
|
|
postInstall = ''
|
|
ln -s $out/bin/nix $out/bin/nix-build
|
|
ln -s $out/bin/nix $out/bin/nix-channel
|
|
ln -s $out/bin/nix $out/bin/nix-collect-garbage
|
|
ln -s $out/bin/nix $out/bin/nix-copy-closure
|
|
ln -s $out/bin/nix $out/bin/nix-daemon
|
|
ln -s $out/bin/nix $out/bin/nix-env
|
|
ln -s $out/bin/nix $out/bin/nix-hash
|
|
ln -s $out/bin/nix $out/bin/nix-instantiate
|
|
ln -s $out/bin/nix $out/bin/nix-prefetch-url
|
|
ln -s $out/bin/nix $out/bin/nix-shell
|
|
ln -s $out/bin/nix $out/bin/nix-store
|
|
|
|
mkdir -p $out/libexec/nix
|
|
ln -s $out/bin/nix $out/libexec/nix/build-remote
|
|
'';
|
|
|
|
# TODO(tazjin): integration test setup?
|
|
# TODO(tazjin): docs generation?
|
|
}
|