generated from saji/ecp5-template
Compare commits
No commits in common. "ccdbc98cb0d7bab8bd379ac9bb3ad858cf21b783" and "20054ad03415176ea5353fb957e286a74896cdc6" have entirely different histories.
ccdbc98cb0
...
20054ad034
44
flake.lock
44
flake.lock
|
@ -1,32 +1,29 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-parts": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"systems": "systems"
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726153070,
|
"lastModified": 1726560853,
|
||||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
"owner": "hercules-ci",
|
"owner": "numtide",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-utils",
|
||||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"id": "flake-utils",
|
||||||
"repo": "flake-parts",
|
"type": "indirect"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726937504,
|
"lastModified": 1723637854,
|
||||||
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
|
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9357f4f23713673f310988025d9dc261c20e70c6",
|
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -38,9 +35,24 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
81
flake.nix
81
flake.nix
|
@ -3,68 +3,53 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
flake-parts = {
|
|
||||||
url = "github:hercules-ci/flake-parts";
|
|
||||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = inputs@{ self, nixpkgs, flake-utils, ... }:
|
||||||
inputs@{ flake-parts, ... }:
|
let
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
python-overlay = import ./python.nix;
|
||||||
|
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
|
||||||
systems = [
|
forAllSystems = function:
|
||||||
"x86_64-linux"
|
nixpkgs.lib.genAttrs systems (system: function (
|
||||||
"aarch64-linux"
|
import nixpkgs {
|
||||||
"aarch64-darwin"
|
inherit system;
|
||||||
"x86_64-darwin"
|
config.allowUnfree = true;
|
||||||
|
overlays = [
|
||||||
|
python-overlay
|
||||||
];
|
];
|
||||||
|
}
|
||||||
perSystem =
|
));
|
||||||
{
|
in {
|
||||||
config,
|
packages = forAllSystems (pkgs: {
|
||||||
self',
|
niar = pkgs.python3.buildPythonPackage {
|
||||||
inputs',
|
name = "niar";
|
||||||
pkgs,
|
version = pyproject-toml.project.version;
|
||||||
system,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
formatter = pkgs.nixfmt-rfc-style;
|
|
||||||
packages.default = pkgs.python3.pkgs.buildPythonPackage {
|
|
||||||
name = "groovylight";
|
|
||||||
version = "0.0.1";
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
build-system = [ pkgs.python3.pkgs.pdm-backend ];
|
build-system = [pkgs.python3.pdm-backend];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInpusts = [
|
||||||
pkgs.python3.pkgs.amaranth
|
pkgs.python3.amaranth
|
||||||
pkgs.python3.pkgs.amaranth-boards
|
pkgs.python3.amaranth-boards
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
nativeCheckInputs = with pkgs; [
|
nativeCheckInputs = [python3.pkgs.pytestCheckHook];
|
||||||
python3.pkgs.pytestCheckHook
|
|
||||||
yosys
|
|
||||||
nextpnr
|
|
||||||
trellis
|
|
||||||
openfpgaloader
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
};
|
||||||
devShells.default = pkgs.mkShell {
|
});
|
||||||
|
devShells = forAllSystems (pkgs: {
|
||||||
|
default = pkgs.mkShell {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
(python3.withPackages (
|
(python3.withPackages (pypkgs: with pypkgs; [
|
||||||
pypkgs: with pypkgs; [
|
|
||||||
amaranth
|
amaranth
|
||||||
amaranth-boards
|
amaranth-boards
|
||||||
self'.packages.default
|
]))
|
||||||
]
|
|
||||||
))
|
|
||||||
yosys
|
yosys
|
||||||
nextpnr
|
nextpnr
|
||||||
|
# simulators
|
||||||
|
iverilog
|
||||||
|
verilator
|
||||||
# support package
|
# support package
|
||||||
trellis
|
trellis
|
||||||
# loader
|
# loader
|
||||||
|
@ -72,6 +57,6 @@
|
||||||
ecpdap # easier to poke probes.
|
ecpdap # easier to poke probes.
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,20 @@
|
||||||
# an overlay to
|
# an overlay to
|
||||||
let
|
let
|
||||||
tag = "2023.12";
|
tag = "2023.12";
|
||||||
in
|
in final: prev: {
|
||||||
final: prev: {
|
wishbone-tool = prev.callPackage(import ./wishbone-tool.nix) { };
|
||||||
wishbone-tool = prev.callPackage (import ./wishbone-tool.nix) { };
|
|
||||||
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||||
(python-final: python-prev: {
|
(python-final: python-prev: {
|
||||||
litex = python-final.callPackage (import ./litex.nix tag) { };
|
litex = python-final.callPackage(import ./litex.nix tag) { };
|
||||||
litedram = python-final.callPackage (import ./litedram.nix tag) { };
|
litedram = python-final.callPackage(import ./litedram.nix tag) { };
|
||||||
liteeth = python-final.callPackage (import ./liteeth.nix tag) { };
|
liteeth = python-final.callPackage(import ./liteeth.nix tag) { };
|
||||||
litescope = python-final.callPackage (import ./litescope.nix tag) { };
|
litescope = python-final.callPackage(import ./litescope.nix tag) { };
|
||||||
litespi = python-final.callPackage (import ./litespi.nix tag) { };
|
litespi = python-final.callPackage(import ./litespi.nix tag) { };
|
||||||
liteiclink = python-final.callPackage (import ./liteiclink.nix tag) { };
|
liteiclink = python-final.callPackage(import ./liteiclink.nix tag) { };
|
||||||
pythondata-cpu-vexriscv = python-final.callPackage (import ./pythondata-cpu-vexriscv.nix tag) { };
|
pythondata-cpu-vexriscv = python-final.callPackage(import ./pythondata-cpu-vexriscv.nix tag) { };
|
||||||
pythondata-software-compiler_rt =
|
pythondata-software-compiler_rt = python-final.callPackage(import ./pythondata-software-compiler_rt.nix tag) { };
|
||||||
python-final.callPackage (import ./pythondata-software-compiler_rt.nix tag)
|
pythondata-software-picolibc = python-final.callPackage(import ./pythondata-software-picolibc.nix tag) { };
|
||||||
{ };
|
|
||||||
pythondata-software-picolibc =
|
|
||||||
python-final.callPackage (import ./pythondata-software-picolibc.nix tag)
|
|
||||||
{ };
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
tag:
|
tag: {
|
||||||
{
|
pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, migen
|
||||||
migen,
|
, pyyaml
|
||||||
pyyaml,
|
}: buildPythonPackage {
|
||||||
}:
|
|
||||||
buildPythonPackage {
|
|
||||||
pname = "litedram";
|
pname = "litedram";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
tag:
|
tag: {
|
||||||
{
|
pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, migen
|
||||||
migen,
|
, setuptools
|
||||||
setuptools,
|
, litex
|
||||||
litex,
|
, pyyaml
|
||||||
pyyaml,
|
}: buildPythonPackage {
|
||||||
}:
|
|
||||||
buildPythonPackage {
|
|
||||||
pname = "liteeth";
|
pname = "liteeth";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
@ -19,11 +17,17 @@ buildPythonPackage {
|
||||||
hash = "sha256-DUNwDzcFLVmL5F/ZWmok7T7jO7ixC9IuDr1WUarnAqk=";
|
hash = "sha256-DUNwDzcFLVmL5F/ZWmok7T7jO7ixC9IuDr1WUarnAqk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ litex ];
|
buildInputs = [
|
||||||
|
litex
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ migen ];
|
propagatedBuildInputs = [
|
||||||
|
migen
|
||||||
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [ pyyaml ];
|
nativeCheckInputs = [
|
||||||
|
pyyaml
|
||||||
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
python -m unittest test
|
python -m unittest test
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
tag:
|
tag: {
|
||||||
{
|
pkgs
|
||||||
pkgs,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, litex
|
||||||
litex,
|
}: buildPythonPackage {
|
||||||
}:
|
|
||||||
buildPythonPackage {
|
|
||||||
pname = "liteiclink";
|
pname = "liteiclink";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
@ -15,7 +13,9 @@ buildPythonPackage {
|
||||||
hash = "sha256-5Hp5vFqmfkXo1q60FvOkToTy952svirChIPIvkam04M=";
|
hash = "sha256-5Hp5vFqmfkXo1q60FvOkToTy952svirChIPIvkam04M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ litex ];
|
buildInputs = [
|
||||||
|
litex
|
||||||
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
python -m unittest test
|
python -m unittest test
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
tag:
|
tag: {
|
||||||
{
|
pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, migen
|
||||||
migen,
|
, setuptools
|
||||||
setuptools,
|
, litex
|
||||||
litex,
|
}: buildPythonPackage {
|
||||||
}:
|
|
||||||
buildPythonPackage {
|
|
||||||
pname = "litescope";
|
pname = "litescope";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
@ -18,7 +16,9 @@ buildPythonPackage {
|
||||||
hash = "sha256-OWC+XwB+BzlCQkPKJCbQ0W4T6JbsInldrn9jYYjWypM=";
|
hash = "sha256-OWC+XwB+BzlCQkPKJCbQ0W4T6JbsInldrn9jYYjWypM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ litex ];
|
buildInputs = [
|
||||||
|
litex
|
||||||
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
python -m unittest test
|
python -m unittest test
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
tag:
|
tag: {
|
||||||
{
|
pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, migen
|
||||||
migen,
|
, setuptools
|
||||||
setuptools,
|
, litex
|
||||||
litex,
|
}: buildPythonPackage {
|
||||||
}:
|
|
||||||
buildPythonPackage {
|
|
||||||
pname = "litespi";
|
pname = "litespi";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
@ -18,11 +16,16 @@ buildPythonPackage {
|
||||||
hash = "sha256-XYeWokF1IGtZWRK+6jhRSN91MOV5vyh5aO08sbtFBxw=";
|
hash = "sha256-XYeWokF1IGtZWRK+6jhRSN91MOV5vyh5aO08sbtFBxw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ litex ];
|
buildInputs = [
|
||||||
|
litex
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ migen ];
|
propagatedBuildInputs = [
|
||||||
|
migen
|
||||||
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [ ];
|
nativeCheckInputs = [
|
||||||
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
python -m unittest test
|
python -m unittest test
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
tag:
|
tag: {
|
||||||
{
|
pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, buildPythonPackage
|
||||||
buildPythonPackage,
|
, pyserial
|
||||||
pyserial,
|
, migen
|
||||||
migen,
|
, requests
|
||||||
requests,
|
, packaging
|
||||||
packaging,
|
, pexpect
|
||||||
pexpect,
|
}: buildPythonPackage {
|
||||||
}:
|
|
||||||
buildPythonPackage {
|
|
||||||
pname = "litex";
|
pname = "litex";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
@ -20,7 +18,9 @@ buildPythonPackage {
|
||||||
hash = "sha256-OcwqYLQ7ec2vTewdIJqP/aTCJ4yI43OIOkTMD/hIKO0=";
|
hash = "sha256-OcwqYLQ7ec2vTewdIJqP/aTCJ4yI43OIOkTMD/hIKO0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ migen ];
|
buildInputs = [
|
||||||
|
migen
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
requests
|
requests
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
tag:
|
tag: {
|
||||||
{ pkgs, buildPythonPackage }:
|
pkgs
|
||||||
buildPythonPackage rec {
|
, buildPythonPackage
|
||||||
|
}: buildPythonPackage rec {
|
||||||
pname = "pythondata-cpu-vexriscv";
|
pname = "pythondata-cpu-vexriscv";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
tag:
|
tag: {
|
||||||
{ pkgs, buildPythonPackage }:
|
pkgs
|
||||||
buildPythonPackage rec {
|
, buildPythonPackage
|
||||||
|
}: buildPythonPackage rec {
|
||||||
pname = "pythondata-software-compiler_rt";
|
pname = "pythondata-software-compiler_rt";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
tag:
|
tag: {
|
||||||
{ pkgs, buildPythonPackage }:
|
pkgs
|
||||||
buildPythonPackage rec {
|
, buildPythonPackage
|
||||||
|
}: buildPythonPackage rec {
|
||||||
pname = "pythondata-software-picolibc";
|
pname = "pythondata-software-picolibc";
|
||||||
version = "${tag}";
|
version = "${tag}";
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ lib, fetchFromGitHub, rustPlatform }:
|
||||||
lib,
|
|
||||||
fetchFromGitHub,
|
|
||||||
rustPlatform,
|
|
||||||
}:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "wishbone-tool";
|
pname = "wishbone-tool";
|
||||||
|
@ -16,5 +12,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
};
|
};
|
||||||
sourceRoot = "${src.name}/wishbone-tool";
|
sourceRoot = "${src.name}/wishbone-tool";
|
||||||
|
|
||||||
|
|
||||||
cargoHash = "sha256-kWvtZEXtb5bZ7/hd8jsr41UGSDOuDU4tyKWAL0kDoIg=";
|
cargoHash = "sha256-kWvtZEXtb5bZ7/hd8jsr41UGSDOuDU4tyKWAL0kDoIg=";
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,10 +13,6 @@ requires-python = "==3.12.*"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = {text = "MIT"}
|
license = {text = "MIT"}
|
||||||
|
|
||||||
[build-system]
|
|
||||||
requires = ["pdm-backend"]
|
|
||||||
build-backend = "pdm.backend"
|
|
||||||
|
|
||||||
[tool.pdm.dev-dependencies]
|
[tool.pdm.dev-dependencies]
|
||||||
dev = [
|
dev = [
|
||||||
"basedpyright",
|
"basedpyright",
|
||||||
|
|
|
@ -22,7 +22,7 @@ final: prev: {
|
||||||
rev = "19b97324ecf9111c5d16377af79f82aad761c476";
|
rev = "19b97324ecf9111c5d16377af79f82aad761c476";
|
||||||
hash = "sha256-0uvn91i/yuIY75lL5Oxvozdw7Q2Uw83JWo7srgEYEpI=";
|
hash = "sha256-0uvn91i/yuIY75lL5Oxvozdw7Q2Uw83JWo7srgEYEpI=";
|
||||||
};
|
};
|
||||||
build-system = [ pyprev.pdm-backend ];
|
build-system = [pyprev.pdm-backend];
|
||||||
dontCheckRuntimeDeps = 1;
|
dontCheckRuntimeDeps = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue