Add an option of using nix-shell instead of nix flake

This commit is contained in:
Maybe Lapkin 2024-09-21 11:44:38 +02:00
parent a31ef1059f
commit 002a6b134f
4 changed files with 34 additions and 3 deletions

3
.envrc
View File

@ -1,3 +0,0 @@
if nix flake show path:./src/tools/nix-dev-shell &> /dev/null; then
use flake path:./src/tools/nix-dev-shell
fi

View File

@ -0,0 +1,8 @@
# If you want to use this as an .envrc file to create a shell with necessery components
# to develop rustc, use the following command in the root of the rusr checkout:
#
# ln -s ./src/tools/nix-dev-shell/envrc-flake ./.envrc && echo .envrc >> .git/info/exclude
if nix flake show path:./src/tools/nix-dev-shell &> /dev/null; then
use flake path:./src/tools/nix-dev-shell
fi

View File

@ -0,0 +1,7 @@
# If you want to use this as an .envrc file to create a shell with necessery components
# to develop rustc, use the following command in the root of the rusr checkout:
#
# ln -s ./src/tools/nix-dev-shell/envrc-shell ./.envrc && echo .envrc >> .git/info/exclude
use nix ./src/tools/nix-dev-shell/shell.nix

View File

@ -0,0 +1,19 @@
{ pkgs ? import <nixpkgs> {} }:
let
x = import ./x { inherit pkgs; };
in
pkgs.mkShell {
name = "rustc";
nativeBuildInputs = with pkgs; [
binutils cmake ninja pkg-config python3 git curl cacert patchelf nix
];
buildInputs = with pkgs; [
openssl glibc.out glibc.static x
];
# Avoid creating text files for ICEs.
RUSTC_ICE = "0";
# Provide `libstdc++.so.6` for the self-contained lld.
LD_LIBRARY_PATH = "${with pkgs; lib.makeLibraryPath [
stdenv.cc.cc.lib
]}";
}