Compare commits

...

1 Commits

Author SHA1 Message Date
Drew Risinger
47960f539b shells (artiq-fast): change artiqpkgs, vivado to arguments
This allows overriding the artiqpkgs used downstream.
The issue is that previously artiqpkgs required <artiqSrc> to be defined,
and overriding that required setting paths, added complexity, and possible impurities.

This solution allows reuse of the shell[-dev], from a given version of
ARTIQ, without necessarily specifying source or a local source repo.
2022-01-10 09:26:13 -05:00
2 changed files with 25 additions and 27 deletions

View File

@ -1,21 +1,20 @@
{ pkgs ? import <nixpkgs> {}}:
{ pkgs ? import <nixpkgs> {}
, artiqpkgs ? import ./default.nix { inherit pkgs; }
, vivado ? import ./vivado.nix { inherit pkgs; }
}:
let
artiqpkgs = import ./default.nix { inherit pkgs; };
vivado = import ./vivado.nix { inherit pkgs; };
in
assert pkgs.lib.asserts.assertMsg (!pkgs.lib.strings.versionAtLeast artiqpkgs.artiq.version "7.0") "For ARTIQ 7+, use 'nix develop' on the flake instead.";
pkgs.mkShell {
buildInputs = [
vivado
pkgs.gnumake
(pkgs.python3.withPackages(ps: (with ps; [ jinja2 jsonschema numpy paramiko ]) ++ (with artiqpkgs; [ migen microscope misoc jesd204b migen-axi artiq ])))
artiqpkgs.cargo-legacy
artiqpkgs.rustc-legacy
artiqpkgs.binutils-or1k
artiqpkgs.binutils-arm
artiqpkgs.llvm-or1k
artiqpkgs.openocd
];
TARGET_AR="or1k-linux-ar";
}
assert pkgs.lib.asserts.assertMsg (!pkgs.lib.strings.versionAtLeast artiqpkgs.artiq.version "7.0") "For ARTIQ 7+, use 'nix develop' on the flake instead.";
pkgs.mkShell {
buildInputs = [
vivado
pkgs.gnumake
(pkgs.python3.withPackages(ps: (with ps; [ jinja2 jsonschema numpy paramiko ]) ++ (with artiqpkgs; [ migen microscope misoc jesd204b migen-axi artiq ])))
artiqpkgs.cargo-legacy
artiqpkgs.rustc-legacy
artiqpkgs.binutils-or1k
artiqpkgs.binutils-arm
artiqpkgs.llvm-or1k
artiqpkgs.openocd
];
TARGET_AR="or1k-linux-ar";
}

View File

@ -1,8 +1,7 @@
{ pkgs ? import <nixpkgs> {}}:
{ pkgs ? import <nixpkgs> {}
, artiqpkgs ? import ./default.nix { inherit pkgs; }
}:
let
artiqpkgs = import ./default.nix { inherit pkgs; };
in
pkgs.mkShell {
buildInputs = [ (pkgs.python3.withPackages(ps: [artiqpkgs.artiq])) ];
}
pkgs.mkShell {
buildInputs = [ (pkgs.python3.withPackages(ps: [artiqpkgs.artiq])) ];
}