File tree 4 files changed +61
-49
lines changed
4 files changed +61
-49
lines changed Original file line number Diff line number Diff line change
1
+ /nix/store/in1pq3wd1sm6ylnxy2q6aw19gb3h650r-x-none
Original file line number Diff line number Diff line change 1
1
{
2
2
description = "rustc dev shell" ;
3
3
4
- inputs = {
5
- nixpkgs . url = "github:NixOS/nixpkgs/nixos-unstable" ;
6
- flake-utils . url = "github:numtide/flake-utils" ;
7
- } ;
4
+ inputs . nixpkgs . url = "github:NixOS/nixpkgs/nixos-unstable" ;
8
5
9
- outputs = { self , nixpkgs , flake-utils , ... } :
10
- flake-utils . lib . eachDefaultSystem ( system :
11
- let
12
- pkgs = import nixpkgs { inherit system ; } ;
13
- x = import ./x { inherit pkgs ; } ;
14
- in
15
- {
16
- devShells . default = with pkgs ; mkShell {
17
- name = "rustc-dev-shell" ;
18
- nativeBuildInputs = with pkgs ; [
19
- binutils cmake ninja pkg-config python3 git curl cacert patchelf nix
20
- ] ;
21
- buildInputs = with pkgs ; [
22
- openssl glibc . out glibc . static x
23
- ] ;
24
- # Avoid creating text files for ICEs.
25
- RUSTC_ICE = "0" ;
26
- # Provide `libstdc++.so.6` for the self-contained lld.
27
- # Provide `libz.so.1`.
28
- LD_LIBRARY_PATH = "${ with pkgs ; lib . makeLibraryPath [ stdenv . cc . cc . lib zlib ] } " ;
29
- } ;
6
+ outputs = {
7
+ self ,
8
+ nixpkgs ,
9
+ } : let
10
+ inherit ( nixpkgs ) lib ;
11
+ forEachSystem = lib . genAttrs lib . systems . flakeExposed ;
12
+ in {
13
+ devShells = forEachSystem (
14
+ system : {
15
+ default = nixpkgs . legacyPackages . ${ system } . callPackage ./shell.nix { } ;
30
16
}
31
17
) ;
18
+ } ;
32
19
}
Original file line number Diff line number Diff line change 1
- { pkgs ? import <nixpkgs> { } } :
2
- let
3
- x = import ./x { inherit pkgs ; } ;
1
+ { pkgs ? import <nixpkgs> { } } : let
2
+ x = pkgs . callPackage ./x { } ;
4
3
in
5
- pkgs . mkShell {
6
- name = "rustc" ;
7
- nativeBuildInputs = with pkgs ; [
8
- binutils cmake ninja pkg-config python3 git curl cacert patchelf nix
9
- ] ;
10
- buildInputs = with pkgs ; [
11
- openssl glibc . out glibc . static x
12
- ] ;
13
- # Avoid creating text files for ICEs.
14
- RUSTC_ICE = "0" ;
15
- # Provide `libstdc++.so.6` for the self-contained lld.
16
- # Provide `libz.so.1`
17
- LD_LIBRARY_PATH = "${ with pkgs ; lib . makeLibraryPath [ stdenv . cc . cc . lib zlib ] } " ;
18
- }
4
+ pkgs . mkShell {
5
+ strictDeps = true ;
6
+ pname = "rustc-shell" ;
7
+ version = "none" ;
8
+
9
+ packages = let
10
+ p = pkgs ;
11
+ in [
12
+ p . binutils
13
+ p . cmake
14
+ p . ninja
15
+ p . pkg-config
16
+ p . python3
17
+ p . git
18
+ p . curl
19
+ p . cacert
20
+ p . patchelf
21
+ p . nix
22
+ p . openssl . dev
23
+ p . glibc . out
24
+ p . glibc . static
25
+ x
26
+ ] ;
27
+
28
+ env = {
29
+ # Avoid creating text files for ICEs.
30
+ RUSTC_ICE = 0 ;
31
+ # Provide `libstdc++.so.6` for the self-contained lld.
32
+ # Provide `libz.so.1`
33
+ LD_LIBRARY_PATH = let p = pkgs ; in p . lib . makeLibraryPath [ p . stdenv . cc . cc . lib p . zlib ] ;
34
+ } ;
35
+ }
Original file line number Diff line number Diff line change 1
1
{
2
- pkgs ? import <nixpkgs> { } ,
2
+ pkgs ,
3
+ lib ,
4
+ stdenv ,
5
+ rustc ,
6
+ python3 ,
3
7
} :
4
- pkgs . stdenv . mkDerivation {
5
- name = "x" ;
8
+ stdenv . mkDerivation {
9
+ strictDeps = true ;
10
+ pname = "x" ;
11
+ version = "none" ;
6
12
7
13
src = ./x.rs ;
8
14
dontUnpack = true ;
9
15
10
- nativeBuildInputs = with pkgs ; [ rustc ] ;
16
+ nativeBuildInputs = [ rustc ] ;
11
17
18
+ env . PYTHON = lib . getExe python3 ;
12
19
buildPhase = ''
13
- PYTHON= ${ pkgs . lib . getExe pkgs . python3 } rustc -Copt-level=3 --crate-name x $src --out-dir $out/bin
20
+ rustc -Copt-level=3 --crate-name x $src --out-dir $out/bin
14
21
'' ;
15
22
16
- meta = with pkgs . lib ; {
23
+ meta = {
17
24
description = "Helper for rust-lang/rust x.py" ;
18
25
homepage = "https://github.com/rust-lang/rust/blob/master/src/tools/x" ;
19
- license = licenses . mit ;
26
+ license = lib . licenses . mit ;
20
27
mainProgram = "x" ;
21
28
} ;
22
29
}
You can’t perform that action at this time.
0 commit comments