|
2 | 2 | description = "A flake for s2n-tls";
|
3 | 3 |
|
4 | 4 | inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11";
|
| 5 | + # TODO: https://github.com/aws/aws-lc/pull/830 |
| 6 | + inputs.awslc.url = "github:dougch/aws-lc?ref=nix"; |
5 | 7 |
|
6 |
| - outputs = { self, nix, nixpkgs, flake-utils }: |
| 8 | + outputs = { self, nix, nixpkgs, awslc, flake-utils }: |
7 | 9 | flake-utils.lib.eachDefaultSystem (system:
|
8 | 10 | let
|
9 | 11 | pkgs = nixpkgs.legacyPackages.${system};
|
| 12 | + aws-lc = awslc.packages.${system}.aws-lc; |
10 | 13 | # TODO: We have parts of our CI that rely on clang-format-15, but that is only available on github:nixos/nixpkgs/nixos-unstable
|
11 | 14 | llvmPkgs = pkgs.llvmPackages_14;
|
12 | 15 | pythonEnv = import ./nix/pyenv.nix { pkgs = pkgs; };
|
|
143 | 146 | '';
|
144 | 147 | });
|
145 | 148 |
|
| 149 | + devShells.awslc = devShells.default.overrideAttrs |
| 150 | + (finalAttrs: previousAttrs: { |
| 151 | + # Re-include cmake to update the environment with a new libcrypto. |
| 152 | + buildInputs = [ pkgs.cmake aws-lc ]; |
| 153 | + S2N_LIBCRYPTO = "awslc"; |
| 154 | + # Integ s_client/server tests expect openssl 1.1.1. |
| 155 | + # GnuTLS-cli and serv utilities needed for some integration tests. |
| 156 | + shellHook = '' |
| 157 | + echo Setting up $S2N_LIBCRYPTO environment from flake.nix... |
| 158 | + export PATH=${openssl_1_1_1}/bin:$PATH |
| 159 | + export PS1="[nix $S2N_LIBCRYPTO] $PS1" |
| 160 | + source ${writeScript ./nix/shell.sh} |
| 161 | + ''; |
| 162 | + }); |
| 163 | + |
146 | 164 | # Used to backup the devShell to s3 for caching.
|
147 | 165 | packages.devShell = devShells.default.inputDerivation;
|
148 | 166 | packages.default = packages.s2n-tls;
|
|
0 commit comments