rust-binaries/flake.nix
Charlotte 🦝 Delenk 50c7d32dc0
All checks were successful
Hydra rustfilt.x86_64-linux Hydra build #2604 of dark-kirb:rust-binaries:rustfilt.x86_64-linux
Hydra rustfilt.aarch64-linux Hydra build #2605 of dark-kirb:rust-binaries:rustfilt.aarch64-linux
Hydra rustfilt.i686-linux Hydra build #2606 of dark-kirb:rust-binaries:rustfilt.i686-linux
feat: Add rustfilt
2022-03-21 15:47:28 +01:00

58 lines
2 KiB
Nix

{
description = "rust binaries";
inputs = {
nixpkgs.url = github:NixOS/nixpkgs;
flake-ut1ils.url = github:numtide/flake-utils;
rust-overlay.url = github:oxalica/rust-overlay;
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
rust-overlay.inputs.flake-utils.follows = "flake-utils";
cargo2nix.url = github:cargo2nix/cargo2nix/be-friendly-to-users;
cargo2nix.inputs.rust-overlay.follows = "rust-overlay";
cargo2nix.inputs.nixpkgs.follows = "nixpkgs";
cargo2nix.inputs.flake-utils.follows = "flake-utils";
};
outputs = { self, nixpkgs, flake-utils, rust-overlay, cargo2nix, ... } @ args: flake-utils.lib.eachSystem [
"x86_64-linux"
"aarch64-linux"
"i686-linux"
]
(system:
let
overlays = [ cargo2nix.overlay ];
pkgs = import nixpkgs {
inherit system overlays;
};
git-mit = pkgs.rustBuilder.makePackageSet' {
packageFun = import ./git-mit/Cargo.nix;
workspaceSrc = pkgs.fetchFromGitHub {
owner = "PurpleBooth";
repo = "git-mit";
rev = "0aa22b8e2baafc392c9b6d7a01cc1806f09e2194";
sha256 = "059hkl0xm818ahr829g8f2hn8c4x2ilhbbq6v21ycf9r3hyj65ld";
};
packageOverrides = pkgs: pkgs.rustBuilder.overrides.all;
rustChannel = "1.59.0";
};
rustfilt = pkgs.rustBuilder.makePackageSet' {
packageFun = import ./rustfilt/Cargo.nix;
workspaceSrc = pkgs.fetchFromGitHub {
owner = "luser";
repo = "rustfilt";
rev = "3c81f107b73fdcf7bbb98b426c1214f15946ec90";
sha256 = "508827a420b764439c1c8ef15d330d91d3b89876abd54f340590c9b19dd6d212";
};
packageOverrides = pkgs: pkgs.rustBuilder.overrides.all;
rustChannel = "1.59.0";
};
workspace = pkgs.lib.lists.foldr (a: b: a // b) {} [
git-mit.workspace
rustfilt.workspace
];
in
rec {
packages = builtins.mapAttrs (_: f: (f { }).bin) workspace;
hydraJobs = packages;
});
}