aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix28
1 files changed, 23 insertions, 5 deletions
diff --git a/flake.nix b/flake.nix
index 230bb6031..0722d4a5b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -25,7 +25,10 @@
darwinSystems = [ "x86_64-darwin" "aarch64-darwin" ];
systems = linuxSystems ++ darwinSystems;
- crossSystems = [ "armv6l-linux" "armv7l-linux" ];
+ crossSystems = [
+ "armv6l-linux" "armv7l-linux"
+ "x86_64-freebsd13" "x86_64-netbsd"
+ ];
stdenvs = [ "gccStdenv" "clangStdenv" "clang11Stdenv" "stdenv" "libcxxStdenv" "ccacheStdenv" ];
@@ -86,7 +89,14 @@
nixpkgsFor = forAllSystems
(system: let
make-pkgs = crossSystem: stdenv: import nixpkgs {
- inherit system crossSystem;
+ localSystem = {
+ inherit system;
+ };
+ crossSystem = if crossSystem == null then null else {
+ system = crossSystem;
+ } // lib.optionalAttrs (crossSystem == "x86_64-freebsd13") {
+ useLLVM = true;
+ };
overlays = [
(overlayFor (p: p.${stdenv}))
];
@@ -172,9 +182,9 @@
libarchive
boost
lowdown-nix
+ libsodium
]
++ lib.optionals stdenv.isLinux [libseccomp]
- ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid;
checkDeps = [
@@ -725,6 +735,9 @@
devShells = let
makeShell = pkgs: stdenv:
+ let
+ canRunInstalled = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+ in
with commonDeps { inherit pkgs; };
stdenv.mkDerivation {
name = "nix";
@@ -732,13 +745,18 @@
outputs = [ "out" "dev" "doc" ];
nativeBuildInputs = nativeBuildDeps
- ++ (lib.optionals stdenv.cc.isClang [ pkgs.bear pkgs.clang-tools ]);
+ ++ lib.optional stdenv.cc.isClang pkgs.buildPackages.bear
+ ++ lib.optional
+ (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform)
+ pkgs.buildPackages.clang-tools
+ ;
buildInputs = buildDeps ++ propagatedDeps
++ awsDeps ++ checkDeps ++ internalApiDocsDeps;
configureFlags = configureFlags
- ++ testConfigureFlags ++ internalApiDocsConfigureFlags;
+ ++ testConfigureFlags ++ internalApiDocsConfigureFlags
+ ++ lib.optional (!canRunInstalled) "--disable-doc-gen";
enableParallelBuilding = true;