diff --git a/derivations.nix b/derivations.nix index f8519e6..7f2a3d8 100644 --- a/derivations.nix +++ b/derivations.nix @@ -16,18 +16,5 @@ rec { heavycomps = pkgs.callPackage ./heavycomps.nix { inherit nmigen; }; binutils-riscv = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv32"; }; - llvm_7 = pkgs.llvm_7.overrideAttrs(oa: { - name = oa.name + "-riscv"; - cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV"]; - }); - rustc = (pkgs.rustc.overrideAttrs(oa: { - name = "${oa.pname}-${oa.version}-riscv"; - })).override { - inherit llvm_7; - pkgsBuildBuild = pkgs.pkgsBuildBuild // { inherit llvm_7; }; - pkgsBuildHost = pkgs.pkgsBuildHost // { inherit llvm_7; }; - pkgsBuildTarget = pkgs.pkgsBuildTarget // { inherit llvm_7; }; - }; - rust-riscv32imc-crates = pkgs.callPackage ./compilers/rust-riscv32imc-crates.nix { inherit rustc; }; - cargo = pkgs.cargo.override { inherit rustc; }; + rust-riscv32imc-crates = pkgs.callPackage ./compilers/rust-riscv32imc-crates.nix { }; } diff --git a/overlay.nix b/overlay.nix new file mode 100644 index 0000000..1a0624b --- /dev/null +++ b/overlay.nix @@ -0,0 +1,7 @@ +self: super: +{ + llvm_7 = super.llvm_7.overrideAttrs(oa: { + name = oa.name + "-riscv"; + cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV"]; + }); +} diff --git a/release.nix b/release.nix index 90ee405..0ca1ce7 100644 --- a/release.nix +++ b/release.nix @@ -1,7 +1,12 @@ -{ pkgs ? import {}}: +{ }: let + pkgs = import { overlays = [ import ./overlay.nix ]; }; derivations = import ./derivations.nix { inherit pkgs; }; jobs = derivations // { + rustc = pkgs.rustc; + cargo = pkgs.cargo; + cargo-vendor = pkgs.cargo-vendor; + helloworld_ecp5 = import ./examples/helloworld_ecp5.nix { inherit pkgs; }; helloworld_kintex7 = import ./examples/helloworld_kintex7.nix { inherit pkgs; }; simplesoc_ecp5 = import ./examples/simplesoc_ecp5.nix { inherit pkgs; }; diff --git a/shell-firmware.nix b/shell-firmware.nix index be9a9b5..3743033 100644 --- a/shell-firmware.nix +++ b/shell-firmware.nix @@ -1,5 +1,6 @@ -{ pkgs ? import {}}: +{ }: let + pkgs = import { overlays = [ import ./overlay.nix ]; }; hx = import ./derivations.nix { inherit pkgs; }; in pkgs.mkShell {