From e8c405cdd285d2532be7badde5ae7d31df29a39f Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 7 Sep 2024 22:23:32 +0200 Subject: [PATCH 1/5] microcode{Amd,Intel}: Limit platforms to x86 Linux These firmware blobs are only applicable on x86 hardware. It doesn't make sense to package them for other architectures, e.g. aarch64. Thus, limit them to x86 Linux. Signed-off-by: Felix Singer --- pkgs/os-specific/linux/microcode/amd.nix | 5 ++++- pkgs/os-specific/linux/microcode/intel.nix | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/microcode/amd.nix b/pkgs/os-specific/linux/microcode/amd.nix index 3c82cdec29fb..1171da4cdd61 100644 --- a/pkgs/os-specific/linux/microcode/amd.nix +++ b/pkgs/os-specific/linux/microcode/amd.nix @@ -26,6 +26,9 @@ stdenv.mkDerivation { description = "AMD Processor microcode patch"; homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; license = licenses.unfreeRedistributableFirmware; - platforms = platforms.linux; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index 7dc26d481adc..e46ac5225e0e 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -29,7 +29,10 @@ stdenv.mkDerivation rec { changelog = "https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/${src.rev}"; description = "Microcode for Intel processors"; license = licenses.unfreeRedistributableFirmware; - platforms = platforms.linux; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; maintainers = with maintainers; [ felixsinger ]; }; } From e8af0a82be064d162bdf3a3be15ce0ed057da82e Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 7 Sep 2024 22:24:25 +0200 Subject: [PATCH 2/5] microcode{Amd,Intel},iucode-tool: Format package files Signed-off-by: Felix Singer --- pkgs/os-specific/linux/microcode/amd.nix | 7 ++++++- pkgs/os-specific/linux/microcode/intel.nix | 13 ++++++++++-- .../linux/microcode/iucode-tool.nix | 20 ++++++++++++++----- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/microcode/amd.nix b/pkgs/os-specific/linux/microcode/amd.nix index 1171da4cdd61..44399fdb7ca8 100644 --- a/pkgs/os-specific/linux/microcode/amd.nix +++ b/pkgs/os-specific/linux/microcode/amd.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, linux-firmware, libarchive }: +{ + lib, + stdenv, + linux-firmware, + libarchive, +}: stdenv.mkDerivation { pname = "amd-ucode"; diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index e46ac5225e0e..0ba907bbf0de 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libarchive, iucode-tool }: +{ + lib, + stdenv, + fetchFromGitHub, + libarchive, + iucode-tool, +}: stdenv.mkDerivation rec { pname = "microcode-intel"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-O2UWa04MnU9ndzvWy8fruOTm85PexEd+i1McQNz6uFE="; }; - nativeBuildInputs = [ iucode-tool libarchive ]; + nativeBuildInputs = [ + iucode-tool + libarchive + ]; installPhase = '' runHook preInstall diff --git a/pkgs/os-specific/linux/microcode/iucode-tool.nix b/pkgs/os-specific/linux/microcode/iucode-tool.nix index d38fa0a48895..bfb53c2bf147 100644 --- a/pkgs/os-specific/linux/microcode/iucode-tool.nix +++ b/pkgs/os-specific/linux/microcode/iucode-tool.nix @@ -1,13 +1,20 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, fetchpatch, argp-standalone }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + fetchpatch, + argp-standalone, +}: stdenv.mkDerivation rec { pname = "iucode-tool"; version = "2.3.1"; src = fetchFromGitLab { - owner = "iucode-tool"; - repo = "iucode-tool"; - rev = "v${version}"; + owner = "iucode-tool"; + repo = "iucode-tool"; + rev = "v${version}"; sha256 = "04dlisw87dd3q3hhmkqc5dd58cp22fzx3rzah7pvcyij135yjc3a"; }; @@ -31,6 +38,9 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.com/iucode-tool/iucode-tool"; license = licenses.gpl2Plus; maintainers = with maintainers; [ peterhoeg ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } From e9184559d1876f0a7668d13eadea664a26f84bf8 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 7 Sep 2024 22:34:43 +0200 Subject: [PATCH 3/5] microcodeAmd: Move package file into by-name structure Signed-off-by: Felix Singer --- .../microcode/amd.nix => by-name/mi/microcode-amd/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{os-specific/linux/microcode/amd.nix => by-name/mi/microcode-amd/package.nix} (100%) diff --git a/pkgs/os-specific/linux/microcode/amd.nix b/pkgs/by-name/mi/microcode-amd/package.nix similarity index 100% rename from pkgs/os-specific/linux/microcode/amd.nix rename to pkgs/by-name/mi/microcode-amd/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e840bf055948..9026a8771ae9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25995,8 +25995,6 @@ with pkgs; mlxbf-bootimages = callPackage ../misc/mlxbf-bootimages { }; - microcodeAmd = callPackage ../os-specific/linux/microcode/amd.nix { }; - microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { }; iucode-tool = callPackage ../os-specific/linux/microcode/iucode-tool.nix { }; From 4108dbb113bddb3668ef9b57e28feca9b5d32809 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 7 Sep 2024 22:35:04 +0200 Subject: [PATCH 4/5] microcodeIntel: Move package file into by-name structure Signed-off-by: Felix Singer --- .../intel.nix => by-name/mi/microcode-intel/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{os-specific/linux/microcode/intel.nix => by-name/mi/microcode-intel/package.nix} (100%) diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/by-name/mi/microcode-intel/package.nix similarity index 100% rename from pkgs/os-specific/linux/microcode/intel.nix rename to pkgs/by-name/mi/microcode-intel/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9026a8771ae9..da62add58128 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25995,8 +25995,6 @@ with pkgs; mlxbf-bootimages = callPackage ../misc/mlxbf-bootimages { }; - microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { }; - iucode-tool = callPackage ../os-specific/linux/microcode/iucode-tool.nix { }; inherit (callPackages ../os-specific/linux/apparmor { }) From e6a1365caed297c2d497c04345afddf06d2ced5b Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 7 Sep 2024 22:37:02 +0200 Subject: [PATCH 5/5] iucode-tool: Move package file into by-name structure Signed-off-by: Felix Singer --- .../iucode-tool.nix => by-name/iu/iucode-tool/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{os-specific/linux/microcode/iucode-tool.nix => by-name/iu/iucode-tool/package.nix} (100%) diff --git a/pkgs/os-specific/linux/microcode/iucode-tool.nix b/pkgs/by-name/iu/iucode-tool/package.nix similarity index 100% rename from pkgs/os-specific/linux/microcode/iucode-tool.nix rename to pkgs/by-name/iu/iucode-tool/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da62add58128..093a38207b76 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25995,8 +25995,6 @@ with pkgs; mlxbf-bootimages = callPackage ../misc/mlxbf-bootimages { }; - iucode-tool = callPackage ../os-specific/linux/microcode/iucode-tool.nix { }; - inherit (callPackages ../os-specific/linux/apparmor { }) libapparmor apparmor-utils apparmor-bin-utils apparmor-parser apparmor-pam apparmor-profiles apparmor-kernel-patches apparmorRulesFromClosure;