add migen-axi to the development enviroment

Enables Zynq gateware development.
This commit is contained in:
Sebastien Bourdeauducq 2019-08-23 17:01:39 +08:00
parent 709c004585
commit a089158a1d
3 changed files with 70 additions and 3 deletions

View File

@ -1,7 +1,7 @@
{ pkgs ? import <nixpkgs> {}}: { pkgs ? import <nixpkgs> {}}:
with pkgs; with pkgs;
let let
pythonDeps = callPackage ./pkgs/python-deps.nix {}; pythonDeps = import ./pkgs/python-deps.nix { inherit (pkgs) stdenv fetchFromGitHub python3Packages; };
boards = [ boards = [
{ target = "kasli"; variant = "tester"; } { target = "kasli"; variant = "tester"; }
@ -18,7 +18,7 @@ let
"artiq-board-${board.target}-${board.variant}" = boardBinaries; "artiq-board-${board.target}-${board.variant}" = boardBinaries;
}) {} boards; }) {} boards;
mainPackages = rec { mainPackages = rec {
inherit (pythonDeps) asyncserial levenshtein pythonparser quamash pyqtgraph-qt5 misoc migen microscope jesd204b lit outputcheck; inherit (pythonDeps) asyncserial levenshtein pythonparser quamash pyqtgraph-qt5 misoc migen microscope jesd204b migen-axi lit outputcheck;
binutils-or1k = callPackage ./pkgs/binutils-or1k.nix {}; binutils-or1k = callPackage ./pkgs/binutils-or1k.nix {};
llvm-or1k = callPackage ./pkgs/llvm-or1k.nix {}; llvm-or1k = callPackage ./pkgs/llvm-or1k.nix {};
rustc = callPackage ./pkgs/rust rustc = callPackage ./pkgs/rust

View File

@ -161,6 +161,73 @@ rec {
}; };
}; };
fastnumbers = python3Packages.buildPythonPackage rec {
pname = "fastnumbers";
version = "2.2.1";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "0j15i54p7nri6hkzn1wal9pxri4pgql01wgjccig6ar0v5jjbvsy";
};
meta = with stdenv.lib; {
description = "Super-fast and clean conversions to numbers";
homepage = "https://github.com/SethMMorton/fastnumbers";
license = licenses.mit;
platforms = platforms.unix;
};
};
ramda = python3Packages.buildPythonPackage {
name = "ramda";
src = fetchFromGitHub {
owner = "peteut";
repo = "ramda.py";
rev = "bd58f8e69d0e9a713d9c1f286a1ac5e5603956b1";
sha256 = "0qzd5yp9lbaham8p1wiymdjapzbqsli7lvngv24c3z4ybd9jlq9g";
};
nativeBuildInputs = [ python3Packages.pbr python3Packages.pytest ];
propagatedBuildInputs = [ fastnumbers ];
preBuild = ''
export PBR_VERSION=0.0.1
'';
meta = with stdenv.lib; {
description = "Ramda, ported to Python";
homepage = "https://github.com/peteut/ramda.py";
license = licenses.mit;
platforms = platforms.unix;
};
};
migen-axi = python3Packages.buildPythonPackage {
name = "migen-axi";
src = fetchFromGitHub {
owner = "peteut";
repo = "migen-axi";
rev = "8526eca769c01e18cc0a6024aacc515ceb8b9bd5";
sha256 = "19gycn7s32j7zzy064qj2yv9g9jk9kn9z3q0fap2dg308g6d1pjs";
};
nativeBuildInputs = [ python3Packages.pbr python3Packages.pytest ];
propagatedBuildInputs = [ python3Packages.click python3Packages.numpy python3Packages.toolz ramda migen misoc ];
preBuild = ''
export PBR_VERSION=0.0.1
'';
meta = with stdenv.lib; {
description = "AXI support for Migen/MiSoC";
homepage = "https://github.com/peteut/migen-axi";
license = licenses.mit;
platforms = platforms.unix;
};
};
# not using the nixpkgs version because it is Python 2 and an "application" # not using the nixpkgs version because it is Python 2 and an "application"
lit = python3Packages.buildPythonPackage rec { lit = python3Packages.buildPythonPackage rec {
pname = "lit"; pname = "lit";

View File

@ -8,7 +8,7 @@ in
buildInputs = [ buildInputs = [
vivado vivado
pkgs.gnumake pkgs.gnumake
(pkgs.python3.withPackages(ps: with ps; [ jinja2 numpy paramiko artiqpkgs.migen artiqpkgs.microscope artiqpkgs.misoc artiqpkgs.jesd204b artiqpkgs.artiq ])) (pkgs.python3.withPackages(ps: (with ps; [ jinja2 numpy paramiko ]) ++ (with artiqpkgs; [ migen microscope misoc jesd204b migen-axi artiq ])))
pkgs.cargo pkgs.cargo
artiqpkgs.rustc artiqpkgs.rustc
artiqpkgs.binutils-or1k artiqpkgs.binutils-or1k