Added basic flake.nix
This commit is contained in:
parent
53133debec
commit
4905ab54f0
73
flake.nix
Normal file
73
flake.nix
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
description = "Sparse C2 framework";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
|
fenix = {
|
||||||
|
url = "github:nix-community/fenix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
crane = {
|
||||||
|
url = "github:ipetkov/crane";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils, crane, fenix }:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
|
||||||
|
toolchain = with fenix.packages.${system};
|
||||||
|
combine [
|
||||||
|
stable.rustc
|
||||||
|
stable.cargo
|
||||||
|
targets.x86_64-pc-windows-gnu.stable.rust-std
|
||||||
|
targets.x86_64-unknown-linux-musl.stable.rust-std
|
||||||
|
stable.rust-analyzer
|
||||||
|
];
|
||||||
|
|
||||||
|
craneLib = (crane.mkLib pkgs).overrideToolchain toolchain;
|
||||||
|
|
||||||
|
src = craneLib.cleanCargoSource (craneLib.path ./.);
|
||||||
|
|
||||||
|
commonArgs = {
|
||||||
|
inherit src;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
CARGO_BUILD_TARGET = "x86_64-unknown-linux-musl";
|
||||||
|
};
|
||||||
|
|
||||||
|
artifacts = craneLib.buildDepsOnly commonArgs;
|
||||||
|
|
||||||
|
crate = craneLib.buildPackage (commonArgs // {
|
||||||
|
inherit artifacts;
|
||||||
|
buildInputs = with pkgs; [ cmake make ];
|
||||||
|
});
|
||||||
|
in with pkgs; {
|
||||||
|
devShells.default = craneLib.devShell rec {
|
||||||
|
name = "sparse";
|
||||||
|
|
||||||
|
buildInputs = [ cmake make ];
|
||||||
|
};
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
default = crate;
|
||||||
|
|
||||||
|
windows = craneLib.buildPackage (commonArgs // {
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
CARGO_BUILD_TARGET = "x86_64-pc-windows-gnu";
|
||||||
|
|
||||||
|
depsBuildBUild = [
|
||||||
|
pkgsCross.mingwW64.stdenv.cc
|
||||||
|
pkgsCross.mingwW64.windows.pthreads
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
checks = { inherit crate; };
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user