27 lines
928 B
Nix
27 lines
928 B
Nix
let
|
|
flake = (import ./default.nix);
|
|
flakePkgs = flake.packages.${builtins.currentSystem};
|
|
in { pkgs ? flakePkgs.nixpkgs, pkgsDist ? pkgs }:
|
|
# use `shell` as default
|
|
(attribs: attribs.shell // attribs) rec {
|
|
shell = pkgs.mkShell.override {
|
|
stdenv = pkgs.overrideCC pkgs.stdenv flakePkgs.llvmPackages.clang;
|
|
} (rec {
|
|
buildInputs = with pkgs; [
|
|
cmake gmp ccache
|
|
llvmPackages.llvm # llvm-symbolizer for asan/lsan
|
|
];
|
|
# https://github.com/NixOS/nixpkgs/issues/60919
|
|
hardeningDisable = [ "all" ];
|
|
# more convenient `ctest` output
|
|
CTEST_OUTPUT_ON_FAILURE = 1;
|
|
} // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
|
|
GMP = pkgsDist.gmp.override { withStatic = true; };
|
|
GLIBC = pkgsDist.glibc;
|
|
ZLIB = pkgsDist.zlib;
|
|
});
|
|
with-temci = shell.overrideAttrs (old: {
|
|
buildInputs = old.buildInputs ++ [ flakePkgs.temci ];
|
|
});
|
|
nix = flake.devShell.${builtins.currentSystem};
|
|
}
|