summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-12-17 15:49:08 +0100
committerAlyssa Ross <hi@alyssa.is>2023-12-17 15:49:08 +0100
commit1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58 (patch)
treee8058ac813998afa9f1c14bffb0f75b41ab1da71
parent33fe5c1194e3e9c8b69bfecce201758227e6dbbf (diff)
downloadspectrum-1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58.tar
spectrum-1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58.tar.gz
spectrum-1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58.tar.bz2
spectrum-1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58.tar.lz
spectrum-1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58.tar.xz
spectrum-1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58.tar.zst
spectrum-1a58ed4c6b9b5fbfb3f8d2aad36cf84dfb77ac58.zip
Filter Spectrum sources for each component
At long last, changing one file somewhere won't cause every Spectrum
component to be rebuilt unnecessarily.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
-rw-r--r--Documentation/default.nix2
-rw-r--r--host/initramfs/default.nix5
-rw-r--r--host/start-vm/default.nix2
-rw-r--r--img/app/default.nix8
-rw-r--r--release/checks/rustfmt.nix4
-rw-r--r--tools/lseek/default.nix2
-rw-r--r--vm/sys/net/default.nix8
7 files changed, 24 insertions, 7 deletions
diff --git a/Documentation/default.nix b/Documentation/default.nix
index 8969a74..1a92c26 100644
--- a/Documentation/default.nix
+++ b/Documentation/default.nix
@@ -11,7 +11,7 @@ stdenvNoCC.mkDerivation {
 
   src = lib.fileset.toSource {
     root = ../.;
-    fileset = src;
+    fileset = lib.fileset.intersection src ./.;
   };
   sourceRoot = "source/Documentation";
 
diff --git a/host/initramfs/default.nix b/host/initramfs/default.nix
index f290595..2ff613e 100644
--- a/host/initramfs/default.nix
+++ b/host/initramfs/default.nix
@@ -80,7 +80,10 @@ stdenvNoCC.mkDerivation {
 
   src = lib.fileset.toSource {
     root = ../..;
-    fileset = src;
+    fileset = lib.fileset.intersection src (lib.fileset.unions [
+      ./.
+      ../../lib/common.mk
+    ]);
   };
   sourceRoot = "source/host/initramfs";
 
diff --git a/host/start-vm/default.nix b/host/start-vm/default.nix
index bd399b1..9a7440e 100644
--- a/host/start-vm/default.nix
+++ b/host/start-vm/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = lib.fileset.toSource {
     root = ../..;
-    fileset = src;
+    fileset = lib.fileset.intersection src ./.;
   };
   sourceRoot = "source/host/start-vm";
 
diff --git a/img/app/default.nix b/img/app/default.nix
index 57dcddb..d76104a 100644
--- a/img/app/default.nix
+++ b/img/app/default.nix
@@ -80,7 +80,13 @@ stdenvNoCC.mkDerivation {
 
   src = lib.fileset.toSource {
     root = ../..;
-    fileset = src;
+    fileset = lib.fileset.intersection src (lib.fileset.unions [
+      ./.
+      ../../lib/common.mk
+      ../../scripts/make-erofs.sh
+      ../../scripts/make-gpt.sh
+      ../../scripts/sfdisk-field.awk
+    ]);
   };
   sourceRoot = "source/img/app";
 
diff --git a/release/checks/rustfmt.nix b/release/checks/rustfmt.nix
index b674bce..3ec3941 100644
--- a/release/checks/rustfmt.nix
+++ b/release/checks/rustfmt.nix
@@ -1,12 +1,14 @@
 # SPDX-License-Identifier: MIT
 # SPDX-FileCopyrightText: 2022 Unikie
+# SPDX-FileCopyrightText: 2023 Alyssa Ross <hi@alyssa.is>
 
 import ../../lib/call-package.nix ({ src, lib, runCommand, rustfmt }:
 
 runCommand "spectrum-rustfmt" {
   src = lib.fileset.toSource {
     root = ../..;
-    fileset = src;
+    fileset = lib.fileset.intersection src
+      (lib.fileset.fileFilter ({ hasExt, ... }: hasExt "rs") ../..);
   };
   nativeBuildInputs = [ rustfmt ];
 } ''
diff --git a/tools/lseek/default.nix b/tools/lseek/default.nix
index 04b2cef..52e0651 100644
--- a/tools/lseek/default.nix
+++ b/tools/lseek/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = lib.fileset.toSource {
     root = ../..;
-    fileset = src;
+    fileset = lib.fileset.intersection src ./.;
   };
   sourceRoot = "source/tools/lseek";
 
diff --git a/vm/sys/net/default.nix b/vm/sys/net/default.nix
index 0e57cd8..ca08ff5 100644
--- a/vm/sys/net/default.nix
+++ b/vm/sys/net/default.nix
@@ -88,7 +88,13 @@ stdenvNoCC.mkDerivation {
 
   src = lib.fileset.toSource {
     root = ../../..;
-    fileset = src;
+    fileset = lib.fileset.intersection src (lib.fileset.unions [
+      ./.
+      ../../../lib/common.mk
+      ../../../scripts/make-erofs.sh
+      ../../../scripts/make-gpt.sh
+      ../../../scripts/sfdisk-field.awk
+    ]);
   };
   sourceRoot = "source/vm/sys/net";