summary refs log tree commit diff
path: root/pkgs/os-specific/linux/zfs
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2022-10-02 18:03:41 -0700
committerAdam Joseph <adam@westernsemico.com>2023-05-15 01:07:09 -0700
commit53c8cd6af820e96057065f33d37edf630e1dd4a3 (patch)
tree7d6deedb95491c9623030520ef7563050732a9e9 /pkgs/os-specific/linux/zfs
parent3d94a1214828757a28a46c0deac5a9c042b31756 (diff)
downloadnixpkgs-53c8cd6af820e96057065f33d37edf630e1dd4a3.tar
nixpkgs-53c8cd6af820e96057065f33d37edf630e1dd4a3.tar.gz
nixpkgs-53c8cd6af820e96057065f33d37edf630e1dd4a3.tar.bz2
nixpkgs-53c8cd6af820e96057065f33d37edf630e1dd4a3.tar.lz
nixpkgs-53c8cd6af820e96057065f33d37edf630e1dd4a3.tar.xz
nixpkgs-53c8cd6af820e96057065f33d37edf630e1dd4a3.tar.zst
nixpkgs-53c8cd6af820e96057065f33d37edf630e1dd4a3.zip
zfs.meta.platforms: restrict to upstream-supported $TARGET_CPUs
Diffstat (limited to 'pkgs/os-specific/linux/zfs')
-rw-r--r--pkgs/os-specific/linux/zfs/generic.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix
index 88838e8caba..50010a55a90 100644
--- a/pkgs/os-specific/linux/zfs/generic.nix
+++ b/pkgs/os-specific/linux/zfs/generic.nix
@@ -212,7 +212,17 @@ stdenv'.mkDerivation {
     homepage = "https://github.com/openzfs/zfs";
     changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}";
     license = lib.licenses.cddl;
-    platforms = lib.platforms.linux;
+
+    # The case-block for TARGET_CPU has branches for only five CPU families,
+    # which prevents ZFS from building on any other platform.  Since the NixOS
+    # `boot.zfs.enabled` property is `readOnly`, excluding platforms where ZFS
+    # does not build is the only way to produce a NixOS installer on such
+    # platforms.
+    # https://github.com/openzfs/zfs/blob/6a6bd493988c75331deab06e5352a9bed035a87d/config/always-arch.m4#L16
+    platforms =
+      with lib.systems.inspect.patterns;
+      map (p: p // isLinux) [ isx86_32 isx86_64 isPower isAarch64 isSparc ];
+
     maintainers = with lib.maintainers; [ jcumming jonringer globin raitobezarius ];
     mainProgram = "zfs";
     # If your Linux kernel version is not yet supported by zfs, try zfsUnstable.