Rework source filtering.

To actually avoid triggering unnecessary rebuilds when irrelevant files
change.
This commit is contained in:
Shuxian Wang 2023-01-03 23:09:23 -08:00
parent 426d650c42
commit f2e8954923
3 changed files with 28 additions and 9 deletions

2
.gitignore vendored
View file

@ -13,4 +13,4 @@ vendor
vendor.tar
.vscode
*.log
result
/result

16
flake.lock generated
View file

@ -90,6 +90,21 @@
"type": "github"
}
},
"nix-filter": {
"locked": {
"lastModified": 1666547822,
"narHash": "sha256-razwnAybPHyoAyhkKCwXdxihIqJi1G6e1XP4FQOJTEs=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "1a3b735e13e90a8d2fd5629f2f8363bd7ffbbec7",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1672428209,
@ -111,6 +126,7 @@
"crane": "crane",
"fenix": "fenix",
"flake-utils": "flake-utils_2",
"nix-filter": "nix-filter",
"nixpkgs": "nixpkgs"
}
},

View file

@ -4,6 +4,7 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
nix-filter.url = "github:numtide/nix-filter";
crane = {
url = "github:ipetkov/crane";
inputs.nixpkgs.follows = "nixpkgs";
@ -14,20 +15,22 @@
};
};
outputs = { self, nixpkgs, flake-utils, crane, fenix }:
outputs = { self, nixpkgs, flake-utils, nix-filter, crane, fenix }:
flake-utils.lib.eachSystem [ "x86_64-linux" "aarch64-linux" ] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
craneLib = crane.lib.${system}.overrideToolchain fenix.packages.${system}.stable.toolchain;
pkgDef = {
src = pkgs.nix-gitignore.gitignoreSource [
"flake.nix"
"flake.lock"
"data"
"debian"
"LICENSE"
] ./.;
src = nix-filter.lib.filter {
root = ./.;
include = [
./src
./Cargo.toml
./Cargo.lock
./resources
];
};
nativeBuildInputs = with pkgs; [ pkg-config autoPatchelfHook ];
buildInputs = with pkgs; [
wayland