3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-05-25 19:36:21 +00:00
yosys/flake.nix
Catherine cad5353a2a Migrate build system to CMake
See #5895 for details.

This commit does not include CI or documentation changes.
2026-05-21 23:50:04 +00:00

74 lines
1.7 KiB
Nix

{
description = "A Nix flake for the Yosys synthesis suite.";
inputs = {
# This requires Nix >= 2.27.0.
self.submodules = true;
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [
(final: prev: {
yosys = final.callPackage ./nix/pkgs/yosys.nix {
src = self;
rev = (self.shortRev or self.dirtyShortRev or "unknown");
};
})
];
};
win32Pkgs = pkgs.callPackage ./nix/cross/win32.nix { };
win64Pkgs = pkgs.callPackage ./nix/cross/win64.nix { };
mkShell =
t:
pkgs.mkShell.override { stdenv = t.stdenv; } {
inputsFrom = [
t
];
packages = with pkgs; [
llvmPackages.clang-tools
];
shellHook = ''
DRIVER_ROOT="${t.stdenv.cc}/bin"
export CLANGD_FLAGS="--query-driver $DRIVER_ROOT/$CC,$DRIVER_ROOT/$CXX"
'';
};
in
{
formatter = pkgs.nixfmt-tree;
devShells = rec {
shell = mkShell pkgs.yosys;
shell-win32 = mkShell win32Pkgs.yosys;
shell-win64 = mkShell win64Pkgs.yosys;
default = shell;
};
packages = rec {
yosys = pkgs.yosys;
yosys-win32 = win32Pkgs.yosys;
yosys-win64 = win64Pkgs.yosys;
default = yosys;
};
}
);
}