summaryrefslogtreecommitdiffstats
path: root/flake.nix
diff options
context:
space:
mode:
authorRutger Broekhoff2026-08-28 22:10:06 +0200
committerRutger Broekhoff2026-08-28 22:10:06 +0200
commit173cd34bdd0717d3f4beeac76b3296ecd46ada0d (patch)
tree6b130fa286fc6c03568db45a622a46b07df31ece /flake.nix
parentfc669b37ed9396cc55efd1e858b3697c2d143e71 (diff)
downloadroutemon-173cd34bdd0717d3f4beeac76b3296ecd46ada0d.tar.gz
routemon-173cd34bdd0717d3f4beeac76b3296ecd46ada0d.zip
Fix build on Nix
I am using too many recent C++ features!
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix22
1 files changed, 14 insertions, 8 deletions
diff --git a/flake.nix b/flake.nix
index 6756eed..2320882 100644
--- a/flake.nix
+++ b/flake.nix
@@ -9,21 +9,27 @@
9 (system: 9 (system:
10 let 10 let
11 pkgs = import nixpkgs { inherit system; }; 11 pkgs = import nixpkgs { inherit system; };
12 boost = pkgs.boost191; 12
13 llvmVersion = "22"; 13 llvmVersion = 22;
14 llvmPackages = pkgs."llvmPackages_${llvmVersion}"; 14 gccVersion = 16;
15 libstdcxxGcc = pkgs.gcc16.cc; 15 boostVersion = 191;
16 clang = llvmPackages.clang.override { 16
17 llvmPackages = pkgs."llvmPackages_${toString llvmVersion}";
18 libstdcxxGcc = pkgs."gcc${toString gccVersion}".cc; # the unwrapped version!
19 stdenv = pkgs.stdenvAdapters.overrideCC llvmPackages.stdenv (llvmPackages.clang.override {
17 gccForLibs = libstdcxxGcc; 20 gccForLibs = libstdcxxGcc;
18 }; 21 });
19 inherit (clang) stdenv; 22 boost = pkgs."boost${toString boostVersion}";
20 23
21 routemon = stdenv.mkDerivation { 24 routemon = stdenv.mkDerivation {
22 name = "routemon"; 25 name = "routemon";
23 src = ./server; 26 src = ./server;
24 27
25 buildInputs = with pkgs; [ boost pugixml expat icu openssl sqlite ]; 28 buildInputs = with pkgs; [ boost pugixml expat icu openssl sqlite ];
26 nativeBuildInputs = with pkgs; [ pkgs."llvmPackages_${llvmVersion}".clang-tools pkgs."clang_${llvmVersion}" boost cmake ninja gettext ]; 29 nativeBuildInputs = with pkgs; [
30 llvmPackages.clang-tools boost # not from pkgs
31 cmake ninja gettext
32 ];
27 33
28 hardeningDisable = [ 34 hardeningDisable = [
29 # Disable here because this breaks C++ modules (I suspect because it sets -D_FORTIFY_SOURCE=3) 35 # Disable here because this breaks C++ modules (I suspect because it sets -D_FORTIFY_SOURCE=3)