{
description = "A modern SAT solver in Rust";
inputs = {
crane = {
url = "github:ipetkov/crane";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = github:NixOS/nixpkgs;
};
outputs = { self, nixpkgs, crane }:
{
packages = builtins.listToAttrs
(map
(system:
with import nixpkgs { system = "${system}"; };
let
craneLib = crane.lib.${system};
in
{
name = system;
value = {
default = craneLib.buildPackage {
# name = "splr-${version}";
# pname = "splr";
# version = "0.17.2-20240204";
src = craneLib.cleanCargoSource (craneLib.path ./.);
buildInputs = [cargo rustc binutils ]
++ lib.optional stdenv.isDarwin [ libiconv ];
doCheck = false;
};
devShells.default = craneLib.devShell {
inputsFrom = buildins.attrValues self.packages.${system};
nativeBuildInputs = [ clippy rust-analyzer rustfmt ];
};
};
}
)
[ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]
);
};
}