generated from saji/ecp5-template
flake now works with pyproject and flake-parts
This commit is contained in:
parent
20054ad034
commit
79927f0cbd
44
flake.lock
44
flake.lock
|
@ -1,29 +1,32 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-utils": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"nixpkgs-lib": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726560853,
|
"lastModified": 1726153070,
|
||||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
||||||
"owner": "numtide",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-parts",
|
||||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "flake-utils",
|
"owner": "hercules-ci",
|
||||||
"type": "indirect"
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1723637854,
|
"lastModified": 1726937504,
|
||||||
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
|
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
|
"rev": "9357f4f23713673f310988025d9dc261c20e70c6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -35,24 +38,9 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-parts": "flake-parts",
|
||||||
"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",
|
||||||
|
|
78
flake.nix
78
flake.nix
|
@ -3,48 +3,70 @@
|
||||||
|
|
||||||
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 = inputs@{ self, nixpkgs, flake-utils, ... }:
|
outputs = inputs@{flake-parts, ... }:
|
||||||
let
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
python-overlay = import ./python.nix;
|
# flake = let
|
||||||
|
# in {
|
||||||
|
# };
|
||||||
|
# devShells."x86_64-linux".default = pkgs.mkShell {
|
||||||
|
# packages = with pkgs; [
|
||||||
|
# (python3.withPackages (pypkgs: with pypkgs; [
|
||||||
|
# amaranth
|
||||||
|
# amaranth-boards
|
||||||
|
# ]))
|
||||||
|
# yosys
|
||||||
|
# nextpnr
|
||||||
|
# # simulators
|
||||||
|
# iverilog
|
||||||
|
# verilator
|
||||||
|
# # support package
|
||||||
|
# trellis
|
||||||
|
# # loader
|
||||||
|
# openfpgaloader
|
||||||
|
# ecpdap # easier to poke probes.
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
|
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
|
||||||
forAllSystems = function:
|
|
||||||
nixpkgs.lib.genAttrs systems (system: function (
|
perSystem = {config, self', inputs', pkgs, system, ...}: {
|
||||||
import nixpkgs {
|
packages.default = pkgs.python3.pkgs.buildPythonPackage {
|
||||||
inherit system;
|
name = "groovylight";
|
||||||
config.allowUnfree = true;
|
version = "0.0.1";
|
||||||
overlays = [
|
|
||||||
python-overlay
|
|
||||||
];
|
|
||||||
}
|
|
||||||
));
|
|
||||||
in {
|
|
||||||
packages = forAllSystems (pkgs: {
|
|
||||||
niar = pkgs.python3.buildPythonPackage {
|
|
||||||
name = "niar";
|
|
||||||
version = pyproject-toml.project.version;
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
pyproject = true;
|
format = "pyproject";
|
||||||
|
|
||||||
build-system = [pkgs.python3.pdm-backend];
|
build-system = [pkgs.python3.pkgs.pdm-backend];
|
||||||
|
|
||||||
propagatedBuildInpusts = [
|
propagatedBuildInputs = [
|
||||||
pkgs.python3.amaranth
|
pkgs.python3.pkgs.amaranth
|
||||||
pkgs.python3.amaranth-boards
|
pkgs.python3.pkgs.amaranth-boards
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
nativeCheckInputs = [python3.pkgs.pytestCheckHook];
|
nativeCheckInputs = with pkgs; [
|
||||||
|
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 (pypkgs: with pypkgs; [
|
(python3.withPackages (pypkgs: with pypkgs; [
|
||||||
amaranth
|
amaranth
|
||||||
amaranth-boards
|
amaranth-boards
|
||||||
]))
|
]))
|
||||||
|
self'.packages.default
|
||||||
yosys
|
yosys
|
||||||
nextpnr
|
nextpnr
|
||||||
# simulators
|
# simulators
|
||||||
|
@ -57,6 +79,6 @@
|
||||||
ecpdap # easier to poke probes.
|
ecpdap # easier to poke probes.
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
});
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,10 @@ 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",
|
||||||
|
|
Loading…
Reference in a new issue