add litex
This commit is contained in:
parent
d6858716a0
commit
8bcb72013b
23
flake.nix
23
flake.nix
|
@ -7,13 +7,24 @@
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, ... }:
|
outputs = inputs@{ nixpkgs, ... }:
|
||||||
let
|
let
|
||||||
|
# litex-overlay = final: prev: {
|
||||||
|
# pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||||
|
# (python-final: python-prev: {
|
||||||
|
# litex = python-final.callPackage (import ./litex.nix) { };
|
||||||
|
# # can add more packages here!
|
||||||
|
# })
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
litex-overlay = import ./litex;
|
||||||
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
|
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
|
||||||
forAllSystems = function:
|
forAllSystems = function:
|
||||||
nixpkgs.lib.genAttrs systems (system: function (
|
nixpkgs.lib.genAttrs systems (system: function (
|
||||||
import nixpkgs {
|
import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
overlays = []; # patches, version pins here.
|
overlays = [
|
||||||
|
litex-overlay
|
||||||
|
]; # patches, version pins, new pkgs here.
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
|
||||||
|
@ -21,9 +32,12 @@
|
||||||
devShells = forAllSystems (pkgs: {
|
devShells = forAllSystems (pkgs: {
|
||||||
default = pkgs.mkShell {
|
default = pkgs.mkShell {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
python3
|
(python3.withPackages (ps: with ps; [
|
||||||
python3Packages.cocotb
|
cocotb
|
||||||
python3Packages.cocotb-bus
|
cocotb-bus
|
||||||
|
litex
|
||||||
|
amaranth
|
||||||
|
]))
|
||||||
yosys
|
yosys
|
||||||
nextpnr
|
nextpnr
|
||||||
# simulators
|
# simulators
|
||||||
|
@ -33,6 +47,7 @@
|
||||||
trellis
|
trellis
|
||||||
# loader
|
# loader
|
||||||
openfpgaloader
|
openfpgaloader
|
||||||
|
ecpdap # easier to poke probes.
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
11
litex/default.nix
Normal file
11
litex/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# an overlay to
|
||||||
|
let
|
||||||
|
tag = "2023.12";
|
||||||
|
in final: prev: {
|
||||||
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||||
|
(python-final: python-prev: {
|
||||||
|
litex = python-final.callPackage(import ./litex.nix tag) { };
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
36
litex/litex.nix
Normal file
36
litex/litex.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
tag: {
|
||||||
|
pkgs
|
||||||
|
, lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, pyserial
|
||||||
|
, migen
|
||||||
|
, requests
|
||||||
|
, colorama
|
||||||
|
, packaging
|
||||||
|
, setuptools
|
||||||
|
}: buildPythonPackage {
|
||||||
|
pname = "litex";
|
||||||
|
version = "${tag}";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "enjoy-digital";
|
||||||
|
repo = "litex";
|
||||||
|
rev = "${tag}";
|
||||||
|
hash = "sha256-OcwqYLQ7ec2vTewdIJqP/aTCJ4yI43OIOkTMD/hIKO0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
migen
|
||||||
|
requests
|
||||||
|
pyserial
|
||||||
|
colorama
|
||||||
|
packaging
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
}
|
Loading…
Reference in a new issue