nix: bundle a rust nightly channel manifest for Hydra restrict-eval being always-on
This commit is contained in:
parent
3af1f72e7d
commit
b385e96bc8
19
default.nix
19
default.nix
@ -1,10 +1,19 @@
|
|||||||
let
|
{ # Use master branch of the overlay by default
|
||||||
mozillaOverlay = import <mozillaOverlay>;
|
mozillaOverlay ? import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz),
|
||||||
pkgs = import <nixpkgs> { overlays = [ mozillaOverlay ]; };
|
# This is needed when nix-build is run with option
|
||||||
in
|
# `restrict-eval`. Setting this flag to `true` causes the
|
||||||
|
# rustPlatform to be generated from the bundled
|
||||||
|
# `channel-rust-nightly.toml`. By default (`false`) the
|
||||||
|
# mozillaOverlay fetches the latest manifest.
|
||||||
|
rustRestrictedManifest ? false,
|
||||||
|
pkgs ? import <nixpkgs> { overlays = [ mozillaOverlay ]; },
|
||||||
|
}:
|
||||||
|
|
||||||
with pkgs;
|
with pkgs;
|
||||||
let
|
let
|
||||||
rustPlatform = recurseIntoAttrs (callPackage (import ./nix/rustPlatform.nix) {});
|
rustPlatform = recurseIntoAttrs (callPackage (import ./nix/rustPlatform.nix) {
|
||||||
|
restrictedManifest = rustRestrictedManifest;
|
||||||
|
});
|
||||||
adc2tcp = callPackage (import ./nix/adc2tcp.nix) { inherit rustPlatform; };
|
adc2tcp = callPackage (import ./nix/adc2tcp.nix) { inherit rustPlatform; };
|
||||||
openocd = callPackage (import ./nix/openocd.nix) {};
|
openocd = callPackage (import ./nix/openocd.nix) {};
|
||||||
in
|
in
|
||||||
|
11141
nix/channel-rust-nightly.toml
Normal file
11141
nix/channel-rust-nightly.toml
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,14 +1,27 @@
|
|||||||
{ recurseIntoAttrs, makeRustPlatform, rustChannelOfTargets, rustChannel ? "nightly" }:
|
{ recurseIntoAttrs, stdenv, lib,
|
||||||
|
makeRustPlatform, rustChannelOfTargets,
|
||||||
|
fetchurl, patchelf,
|
||||||
|
restrictedManifest ? false
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
targets = [
|
targets = [
|
||||||
# "x86_64-unknown-linux-gnu"
|
# "x86_64-unknown-linux-gnu"
|
||||||
# "thumbv6m-none-eabi"
|
# "thumbv6m-none-eabi"
|
||||||
|
# "thumbv7m-none-eabi"
|
||||||
# "thumbv7em-none-eabi"
|
# "thumbv7em-none-eabi"
|
||||||
"thumbv7em-none-eabihf"
|
"thumbv7em-none-eabihf"
|
||||||
];
|
];
|
||||||
rust = builtins.trace "rustChannel: selected channel ${rustChannel}"
|
rustChannel =
|
||||||
rustChannelOfTargets rustChannel null targets;
|
lib.rustLib.fromManifestFile ./channel-rust-nightly.toml {
|
||||||
|
inherit stdenv fetchurl patchelf;
|
||||||
|
};
|
||||||
|
rust =
|
||||||
|
if restrictedManifest
|
||||||
|
then
|
||||||
|
rustChannel.rust.override { inherit targets; }
|
||||||
|
else
|
||||||
|
rustChannelOfTargets "nightly" null targets;
|
||||||
in
|
in
|
||||||
makeRustPlatform {
|
makeRustPlatform {
|
||||||
rustc = rust;
|
rustc = rust;
|
||||||
|
6
release.nix
Normal file
6
release.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# For running on Hydra
|
||||||
|
|
||||||
|
import ./default.nix {
|
||||||
|
mozillaOverlay = import <mozillaOverlay>;
|
||||||
|
rustRestrictedManifest = true;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user