forked from M-Labs/nix-scripts
85 lines
2.5 KiB
Nix
85 lines
2.5 KiB
Nix
|
{ pkgs, isePath ? "/opt/Xilinx/14.7/ISE_DS", vivadoPath ? "/opt/Xilinx/Vivado/2021.2" }:
|
||
|
rec {
|
||
|
ise = let
|
||
|
makeXilinxEnv = name: pkgs.buildFHSUserEnv {
|
||
|
inherit name;
|
||
|
targetPkgs = pkgs: (
|
||
|
with pkgs; [
|
||
|
ncurses5
|
||
|
zlib
|
||
|
libuuid
|
||
|
xorg.libSM
|
||
|
xorg.libICE
|
||
|
xorg.libXrender
|
||
|
xorg.libX11
|
||
|
xorg.libXext
|
||
|
xorg.libXtst
|
||
|
xorg.libXi
|
||
|
]
|
||
|
);
|
||
|
profile =
|
||
|
''
|
||
|
source ${isePath}/common/.settings64.sh ${isePath}/common
|
||
|
source ${isePath}/ISE/.settings64.sh ${isePath}/ISE
|
||
|
'';
|
||
|
runScript = name;
|
||
|
};
|
||
|
in
|
||
|
pkgs.lib.attrsets.genAttrs ["xst" "ngdbuild" "cpldfit" "taengine" "hprep6"] makeXilinxEnv;
|
||
|
vivado = pkgs.buildFHSUserEnv {
|
||
|
name = "vivado";
|
||
|
targetPkgs = pkgs: (
|
||
|
with pkgs; [
|
||
|
ncurses5
|
||
|
zlib
|
||
|
libuuid
|
||
|
xorg.libSM
|
||
|
xorg.libICE
|
||
|
xorg.libXrender
|
||
|
xorg.libX11
|
||
|
xorg.libXext
|
||
|
xorg.libXtst
|
||
|
xorg.libXi
|
||
|
] ++ ( if pkgs ? libxcrypt-legacy then [ pkgs.libxcrypt-legacy ] else [])
|
||
|
);
|
||
|
profile = "source ${vivadoPath}/settings64.sh";
|
||
|
runScript = "vivado";
|
||
|
};
|
||
|
migen = pkgs.python3Packages.buildPythonPackage {
|
||
|
pname = "migen";
|
||
|
version = "unstable-2021-12-16";
|
||
|
src = pkgs.fetchFromGitHub {
|
||
|
owner = "m-labs";
|
||
|
repo = "migen";
|
||
|
rev = "ac703010eaa06ac9b6e32f97c6fa98b15de22b31";
|
||
|
sha256 = "sha256-qpVj/yJf4hDDc99XXpVPH4EbLC8aCmEtACn5qNc3DGI=";
|
||
|
};
|
||
|
propagatedBuildInputs = with pkgs.python3Packages; [ colorama ];
|
||
|
};
|
||
|
asyncserial = pkgs.python3Packages.buildPythonPackage {
|
||
|
pname = "asyncserial";
|
||
|
version = "0.1";
|
||
|
src = pkgs.fetchFromGitHub {
|
||
|
owner = "m-labs";
|
||
|
repo = "asyncserial";
|
||
|
rev = "d95bc1d6c791b0e9785935d2f62f628eb5cdf98d";
|
||
|
sha256 = "0yzkka9jk3612v8gx748x6ziwykq5lr7zmr9wzkcls0v2yilqx9k";
|
||
|
};
|
||
|
propagatedBuildInputs = with pkgs.python3Packages; [ pyserial ];
|
||
|
};
|
||
|
misoc = pkgs.python3Packages.buildPythonPackage {
|
||
|
pname = "misoc";
|
||
|
version = "unstable-2021-10-10";
|
||
|
src = pkgs.fetchFromGitHub {
|
||
|
owner = "m-labs";
|
||
|
repo = "misoc";
|
||
|
rev = "f5203e406520874e15ab5d070058ef642fc57fd9";
|
||
|
sha256 = "sha256-/2XTejqj0Bo81HaTrlTSWwInnWwsuqnq+CURXbpIrkA=";
|
||
|
fetchSubmodules = true;
|
||
|
};
|
||
|
# TODO: fix misoc bitrot and re-enable tests
|
||
|
doCheck = false;
|
||
|
propagatedBuildInputs = with pkgs.python3Packages; [ pyserial jinja2 numpy asyncserial migen ];
|
||
|
};
|
||
|
}
|