forked from M-Labs/nix-scripts
build Urukul CPLD gateware
This commit is contained in:
parent
07daeb2572
commit
8de1dbdd53
@ -104,12 +104,13 @@ rec {
|
|||||||
migen = python3Packages.buildPythonPackage rec {
|
migen = python3Packages.buildPythonPackage rec {
|
||||||
name = "migen";
|
name = "migen";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
#src = fetchFromGitHub {
|
||||||
owner = "m-labs";
|
# owner = "m-labs";
|
||||||
repo = "migen";
|
# repo = "migen";
|
||||||
rev = "caab41469f5a0cb4014bc00a03898a0b76b00dd1";
|
# rev = "caab41469f5a0cb4014bc00a03898a0b76b00dd1";
|
||||||
sha256 = "06zbbbjzlbyq2nlp13hyk8diw06zrffc37n4b6cxzk1i2aq8g83m";
|
# sha256 = "06zbbbjzlbyq2nlp13hyk8diw06zrffc37n4b6cxzk1i2aq8g83m";
|
||||||
};
|
#};
|
||||||
|
src = /home/sb/migen;
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [ colorama sphinx sphinx_rtd_theme ];
|
propagatedBuildInputs = with python3Packages; [ colorama sphinx sphinx_rtd_theme ];
|
||||||
|
|
||||||
|
@ -38,6 +38,23 @@
|
|||||||
"sinaraSystemsSrc": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/sinara-systems.git master 1", "emailresponsible": false },
|
"sinaraSystemsSrc": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/sinara-systems.git master 1", "emailresponsible": false },
|
||||||
"m-labs": { "type": "sysbuild", "value": "artiq:main:generated-nix", "emailresponsible": false }
|
"m-labs": { "type": "sysbuild", "value": "artiq:main:generated-nix", "emailresponsible": false }
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"urukul": {
|
||||||
|
"enabled": 1,
|
||||||
|
"hidden": false,
|
||||||
|
"description": "Urukul CPLD gateware",
|
||||||
|
"nixexprinput": "nixScripts",
|
||||||
|
"nixexprpath": "urukul.nix",
|
||||||
|
"checkinterval": 172800,
|
||||||
|
"schedulingshares": 1,
|
||||||
|
"enableemail": false,
|
||||||
|
"emailoverride": "",
|
||||||
|
"keepnr": 10,
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": { "type": "git", "value": "git://github.com/NixOS/nixpkgs-channels nixos-19.03", "emailresponsible": false },
|
||||||
|
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
|
||||||
|
"urukulSrc": { "type": "git", "value": "git://github.com/quartiq/urukul", "emailresponsible": false }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
6
urukul.nix
Normal file
6
urukul.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
|
||||||
|
let
|
||||||
|
jobs = import ./urukul/default.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
|
builtins.mapAttrs (key: value: pkgs.lib.hydraJob value) jobs
|
20
urukul/default.nix
Normal file
20
urukul/default.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
let
|
||||||
|
migen = (pkgs.callPackage ../artiq/pkgs/python-deps.nix {}).migen;
|
||||||
|
ise = import ./ise.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
urukul-cpld = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "urukul-cpld";
|
||||||
|
src = <urukulSrc>;
|
||||||
|
buildInputs = [(pkgs.python3.withPackages(ps: [migen]))] ++ (builtins.attrValues ise);
|
||||||
|
phases = ["buildPhase" "installPhase"];
|
||||||
|
buildPhase = "python $src/urukul_impl.py";
|
||||||
|
installPhase =
|
||||||
|
''
|
||||||
|
mkdir -p $out $out/nix-support
|
||||||
|
cp build/urukul.jed $out
|
||||||
|
echo file binary-dist $out/urukul.jed >> $out/nix-support/hydra-build-products
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
31
urukul/ise.nix
Normal file
31
urukul/ise.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Install ISE in /opt and add to /etc/nixos/configuration.nix:
|
||||||
|
# nix.sandboxPaths = ["/opt"];
|
||||||
|
|
||||||
|
{ pkgs, isePath ? "/opt/Xilinx/14.7/ISE_DS" }:
|
||||||
|
|
||||||
|
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
|
Loading…
Reference in New Issue
Block a user