util/nixshell: Add Nix shell for toolchain compilation

Add a Nix shell file which provides an environment for compilation of
the coreboot toolchain. The Nix shell can be used by running the
following command:

  $ nix-shell --pure util/nixshell/toolchain.nix

The `--pure` parameter is optional, but it makes sure that the
environment is as minimal as possible and does not contain any unrelated
or unneeded software or configuration.

Once compiled, the coreboot toolchain can be used without loading the
shell environment.

If `--pure` is used, SSL connections won't work since the
`SSL_CERT_FILE` environment variable is not configured, which makes the
build tool unable to download the source files. Thus, let it point to
the system certificate store.

Change-Id: I341ee28c5451d2c6cb4ff22de67161d99f4ca77a
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57646
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
This commit is contained in:
Felix Singer 2021-09-14 20:42:34 +02:00
parent 40d2c04937
commit 821311e23e
1 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,20 @@
with import <nixpkgs> {};
stdenvNoCC.mkDerivation {
name = "coreboot-toolchain";
buildInputs = [
bison
curl
flex
git
gnat11
gnumake
patch
zlib
];
shellHook = ''
export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
'';
}