diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 22 |
1 files changed, 14 insertions, 8 deletions
| @@ -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) |