about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch100
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch84
-rw-r--r--pkgs/os-specific/darwin/moltenvk/default.nix232
-rw-r--r--pkgs/os-specific/darwin/yabai/default.nix6
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipp-usb/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json60
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json32
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.4.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-6.6.nix6
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix4
-rw-r--r--pkgs/os-specific/linux/mmc-utils/default.nix6
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix6
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/rasdaemon/default.nix9
-rw-r--r--pkgs/os-specific/linux/xone/default.nix25
19 files changed, 234 insertions, 369 deletions
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
deleted file mode 100644
index 83e020a1b848..000000000000
--- a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
-index c23afce4..12ac12f4 100644
---- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
-+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
-@@ -365,13 +365,6 @@
- /* End PBXBuildFile section */
- 
- /* Begin PBXContainerItemProxy section */
--		2F21D82E24983488009BEA5F /* PBXContainerItemProxy */ = {
--			isa = PBXContainerItemProxy;
--			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
--			proxyType = 1;
--			remoteGlobalIDString = 2FEA0CFF2490381A00EEF3AD;
--			remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
--		};
- 		2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */ = {
- 			isa = PBXContainerItemProxy;
- 			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
-@@ -400,27 +393,6 @@
- 			remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
- 			remoteInfo = "MVKSPIRVToMSLConverter-macOS";
- 		};
--		A981499A1FB6B9CF005F00B4 /* PBXContainerItemProxy */ = {
--			isa = PBXContainerItemProxy;
--			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
--			proxyType = 1;
--			remoteGlobalIDString = A93903B81C57E9D700FE90DC;
--			remoteInfo = "MVKSPIRVToMSLConverter-iOS";
--		};
--		A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */ = {
--			isa = PBXContainerItemProxy;
--			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
--			proxyType = 1;
--			remoteGlobalIDString = A9092A8C1A81717B00051823;
--			remoteInfo = MoltenVKShaderConverter;
--		};
--		DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */ = {
--			isa = PBXContainerItemProxy;
--			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
--			proxyType = 1;
--			remoteGlobalIDString = DCFD7F6F2A45BDA0007BBBF7;
--			remoteInfo = "MoltenVKShaderConverter-xrOS";
--		};
-		DCBC41212A45DB1000F49BD1 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
-@@ -1019,7 +998,6 @@
- 			buildRules = (
- 			);
- 			dependencies = (
--				2F21D82F24983488009BEA5F /* PBXTargetDependency */,
- 			);
- 			name = "MoltenVK-tvOS";
- 			productName = MoltenVK;
-@@ -1039,7 +1017,6 @@
- 			buildRules = (
- 			);
- 			dependencies = (
--				A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */,
- 			);
- 			name = "MoltenVK-iOS";
- 			productName = MoltenVK;
-@@ -1059,7 +1036,6 @@
- 			buildRules = (
- 			);
- 			dependencies = (
--				A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */,
- 			);
- 			name = "MoltenVK-macOS";
- 			productName = MoltenVK;
-@@ -1476,29 +1452,6 @@
- 		};
- /* End PBXSourcesBuildPhase section */
- 
--/* Begin PBXTargetDependency section */
--		2F21D82F24983488009BEA5F /* PBXTargetDependency */ = {
--			isa = PBXTargetDependency;
--			name = "MoltenVKSPIRVToMSLConverter-tvOS";
--			targetProxy = 2F21D82E24983488009BEA5F /* PBXContainerItemProxy */;
--		};
--		A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */ = {
--			isa = PBXTargetDependency;
--			name = "MVKSPIRVToMSLConverter-iOS";
--			targetProxy = A981499A1FB6B9CF005F00B4 /* PBXContainerItemProxy */;
--		};
--		A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */ = {
--			isa = PBXTargetDependency;
--			name = MoltenVKShaderConverter;
--			targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */;
--		};
--		DCA2CEAF2A45DFD400FB75B6 /* PBXTargetDependency */ = {
--			isa = PBXTargetDependency;
--			name = "MoltenVKShaderConverter-xrOS";
--			targetProxy = DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */;
--		};
--/* End PBXTargetDependency section */
--
- /* Begin XCBuildConfiguration section */
- 		2FEA0AB824902F9F00EEF3AD /* Debug */ = {
- 			isa = XCBuildConfiguration;
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
deleted file mode 100644
index 3e48b2b5ba67..000000000000
--- a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
-index c7842b63..d55f73ed 100644
---- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
-+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
-@@ -3,7 +3,7 @@
- 	archiveVersion = 1;
- 	classes = {
- 	};
--	objectVersion = 54;
-+	objectVersion = 48;
- 	objects = {
-
- /* Begin PBXBuildFile section */
-@@ -33,9 +33,6 @@
- 		A920A8AC251B75B70076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
- 		A920A8AD251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
- 		A920A8AE251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
--		A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
--		A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
--		A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
- 		A925B71B1C78DEB2006E7ECD /* libMoltenVKShaderConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */; };
- 		A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
- 		A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
-@@ -55,12 +52,6 @@
- 		A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
- 		A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
- 		A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
--		A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
--		A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
--		A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
--		A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
--		A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
--		A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
- 		A9A14E332244388700C080F3 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A14E322244388700C080F3 /* Metal.framework */; };
- 		A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */; };
- 		A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
-@@ -115,9 +106,6 @@
- 			isa = PBXFrameworksBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
--				A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
--				A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */,
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-@@ -134,9 +122,6 @@
- 			isa = PBXFrameworksBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
--				A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
--				A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */,
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-@@ -144,9 +129,6 @@
- 			isa = PBXFrameworksBuildPhase;
- 			buildActionMask = 2147483647;
- 			files = (
--				A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
--				A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
--				A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */,
- 			);
- 			runOnlyForDeploymentPostprocessing = 0;
- 		};
-@@ -313,7 +295,7 @@
- 				A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */,
- 			);
- 			name = MoltenVKShaderConverter;
--			productName = MetalGLShaderConverterTool;
-+			productName = MoltenVKShaderConverter;
- 			productReference = A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */;
- 			productType = "com.apple.product-type.tool";
- 		};
-@@ -349,7 +331,7 @@
- 			dependencies = (
- 			);
- 			name = "MoltenVKShaderConverter-macOS";
--			productName = "MetalGLShaderConverter-macOS";
-+			productName = MoltenVKShaderConverter;
- 			productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */;
- 			productType = "com.apple.product-type.library.static";
- 		};
diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix
index c6ada1f55d5f..4e332e6fe557 100644
--- a/pkgs/os-specific/darwin/moltenvk/default.nix
+++ b/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -1,26 +1,31 @@
-{ lib
-, overrideCC
-, stdenv
-, fetchFromGitHub
-, gitUpdater
-, cctools
-, sigtool
-, cereal
-, libcxx
-, glslang
-, spirv-cross
-, spirv-headers
-, spirv-tools
-, vulkan-headers
-, xcbuild
-, AppKit
-, Foundation
-, Libsystem
-, MacOSX-SDK
-, Metal
-, QuartzCore
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  gitUpdater,
+  cereal,
+  libcxx,
+  glslang,
+  simd,
+  spirv-cross,
+  spirv-headers,
+  spirv-tools,
+  vulkan-headers,
+  xcbuild,
+  AppKit,
+  Foundation,
+  Metal,
+  QuartzCore,
+  # MoltenVK supports using private APIs to implement some Vulkan functionality.
+  # Applications that use private APIs can’t be distributed on the App Store,
+  # but that’s not really a concern for nixpkgs, so use them by default.
+  # See: https://github.com/KhronosGroup/MoltenVK/blob/main/README.md#metal_private_api
+  enablePrivateAPIUsage ? true,
 }:
 
+let
+  inherit (stdenv.hostPlatform) isStatic;
+in
 stdenv.mkDerivation (finalAttrs: {
   pname = "MoltenVK";
   version = "1.2.7";
@@ -32,15 +37,20 @@ stdenv.mkDerivation (finalAttrs: {
     QuartzCore
     cereal
     glslang
+    simd
     spirv-cross
     spirv-headers
     spirv-tools
     vulkan-headers
   ];
 
-  nativeBuildInputs = [ cctools sigtool xcbuild ];
+  nativeBuildInputs = [ xcbuild ];
 
-  outputs = [ "out" "bin" "dev" ];
+  outputs = [
+    "out"
+    "bin"
+    "dev"
+  ];
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
@@ -49,106 +59,142 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-0+S/kueV+AEVt+oFnh4cgcDRVtEbUH1QiHFPhGhimCA=";
   };
 
-  patches = [
-    # Fix the Xcode projects to play nicely with `xcbuild`.
-    ./MoltenVKShaderConverter.xcodeproj.patch
-    ./MoltenVK.xcodeproj.patch
-  ];
-
   postPatch = ''
     # Move `mvkGitRevDerived.h` to a stable location
     substituteInPlace Scripts/gen_moltenvk_rev_hdr.sh \
       --replace-fail '$'''{BUILT_PRODUCTS_DIR}' "$NIX_BUILD_TOP/$sourceRoot/build/include" \
       --replace-fail '$(git rev-parse HEAD)' ${finalAttrs.src.rev}
-    # Use the SPIRV-Cross packaged in nixpkgs instead of one built specifically for MoltenVK.
-    substituteInPlace MoltenVK/MoltenVK.xcodeproj/project.pbxproj \
-      --replace-fail SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
+
+    # Modify MoltenVK Xcode projects to build with xcbuild and dependencies from nixpkgs.
+    for proj in MoltenVK MoltenVKShaderConverter; do
+      # Remove xcframework dependencies from the Xcode projects. The basic format is:
+      #     (children|files) = (
+      #         DCFD7F822A45BDA0007BBBF7 /* SPIRVCross.xcframework in Frameworks */,
+      #         etc
+      #     )
+      # This regex will only remove lines matching `xcframework` that are in these blocks
+      # to avoid accidentally corrupting the project.
+      sed -E -e '/(children|files) = /,/;/{/xcframework/d}' \
+        -i "$proj/$proj.xcodeproj/project.pbxproj"
+      # Ensure the namespace used is consistent with the spirv-cross package in nixpkgs.
+      substituteInPlace "$proj/$proj.xcodeproj/project.pbxproj" \
+        --replace-fail SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
+    done
     substituteInPlace MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj \
-      --replace-fail SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
-    # Adding all of `usr/include` from the SDK results in header conflicts with `libcxx.dev`.
-    # Work around it by symlinking just the SIMD stuff needed by MoltenVK.
+      --replace-fail MetalGLShaderConverterTool MoltenVKShaderConverter \
+      --replace-fail MetalGLShaderConverter-macOS MoltenVKShaderConverter
+
+    # Don’t try to build `xcframework`s because `xcbuild` can’t build them.
+    sed -e '/xcframework/d' -i Scripts/package_all.sh
+
+    # Remove vendored dependency links.
+    find . -lname '*/External/*' -delete
+
+    # The library will be linked in the install phase regardless of version,
+    # so truncate it if it exists to avoid link failures.
+    test -f Scripts/create_dylib.sh && truncate --size 0 Scripts/create_dylib.sh
+
+    # Link glslang source because MoltenVK needs non-public headers to build.
     mkdir -p build/include
-    ln -s "${MacOSX-SDK}/usr/include/simd" "build/include"
     ln -s "${glslang.src}" "build/include/glslang"
   '';
 
-  dontConfigure = true;
-
-  env.NIX_CFLAGS_COMPILE = toString [
-    "-isystem ${lib.getDev libcxx}/include/c++/v1"
-    "-I${lib.getDev spirv-cross}/include/spirv_cross"
-    "-I${lib.getDev spirv-headers}/include/spirv/unified1/"
+  env.NIX_CFLAGS_COMPILE = toString (
+    [
+      "-isystem ${lib.getDev libcxx}/include/c++/v1"
+      "-I${lib.getDev spirv-cross}/include/spirv_cross"
+      "-I${lib.getDev spirv-headers}/include/spirv/unified1"
+    ]
+    ++ lib.optional enablePrivateAPIUsage "-DMVK_USE_METAL_PRIVATE_API=1"
+  );
+
+  env.NIX_LDFLAGS = toString [
+    "-lMachineIndependent"
+    "-lGenericCodeGen"
+    "-lglslang"
+    "-lOSDependent"
+    "-lSPIRV"
+    "-lSPIRV-Tools"
+    "-lSPIRV-Tools-opt"
+    "-lspirv-cross-msl"
+    "-lspirv-cross-core"
+    "-lspirv-cross-glsl"
+    "-lspirv-cross-reflect"
   ];
 
   buildPhase = ''
+    runHook preBuild
+
     NIX_CFLAGS_COMPILE+=" \
       -I$NIX_BUILD_TOP/$sourceRoot/build/include \
       -I$NIX_BUILD_TOP/$sourceRoot/Common"
-    NIX_LDFLAGS+=" -L$NIX_BUILD_TOP/$sourceRoot/build/lib"
-
-    # Build each project on its own because `xcbuild` fails to build `MoltenVKPackaging.xcodeproj`.
-    build=$NIX_BUILD_TOP/$sourceRoot/build
-    mkdir -p "$build/bin" "$build/lib"
-
-    NIX_LDFLAGS+=" \
-      -lMachineIndependent \
-      -lGenericCodeGen \
-      -lglslang \
-      -lOSDependent \
-      -lSPIRV \
-      -lSPIRV-Tools \
-      -lSPIRV-Tools-opt \
-      -lspirv-cross-msl \
-      -lspirv-cross-core \
-      -lspirv-cross-glsl"
-
-    pushd MoltenVKShaderConverter
-    xcodebuild build \
-      -jobs $NIX_BUILD_CORES \
-      -configuration Release \
-      -project MoltenVKShaderConverter.xcodeproj \
-      -scheme MoltenVKShaderConverter \
-      -arch ${stdenv.hostPlatform.darwinArch}
-    declare -A products=( [MoltenVKShaderConverter]=bin [libMoltenVKShaderConverter.a]=lib )
-    for product in "''${!products[@]}"; do
-      cp MoltenVKShaderConverter-*/Build/Products/Release/$product "$build/''${products[$product]}/$product"
-    done
-    popd
-
-    NIX_LDFLAGS+=" \
-      -lobjc \
-      -lMoltenVKShaderConverter \
-      -lspirv-cross-reflect"
 
-    pushd MoltenVK
     xcodebuild build \
+      SYMROOT=$PWD/Products OBJROOT=$PWD/Intermedates \
       -jobs $NIX_BUILD_CORES \
       -configuration Release \
-      -project MoltenVK.xcodeproj \
-      -scheme MoltenVK-macOS \
+      -project MoltenVKPackaging.xcodeproj \
+      -scheme 'MoltenVK Package (macOS only)' \
+      -destination generic/platform=macOS \
       -arch ${stdenv.hostPlatform.darwinArch}
-    cp MoltenVK-*/Build/Products/Release/dynamic/libMoltenVK.dylib "$build/lib/libMoltenVK.dylib"
-    popd
+
+    runHook postBuild
   '';
 
+  postBuild =
+    if isStatic then
+      ''
+        mkdir -p Package/Release/MoltenVK/static
+        cp Products/Release/libMoltenVK.a Package/Release/MoltenVK/static
+      ''
+    else
+      ''
+        # MoltenVK’s Xcode project builds the dylib, but it doesn’t seem to work with
+        # xcbuild. This is based on the script versions prior to 1.2.8 used.
+        mkdir -p Package/Release/MoltenVK/dynamic/dylib
+        clang++ -Wl,-all_load -Wl,-w \
+          -dynamiclib \
+          -compatibility_version 1.0.0 -current_version 1.0.0 \
+          -LProducts/Release \
+          -framework AppKit \
+          -framework CoreGraphics \
+          -framework Foundation \
+          -framework IOKit \
+          -framework IOSurface \
+          -framework Metal \
+          -framework QuartzCore \
+          -lobjc \
+          -lMoltenVKShaderConverter \
+          -lspirv-cross-reflect \
+          -install_name "$out/lib/libMoltenVK.dylib" \
+          -o Package/Release/MoltenVK/dynamic/dylib/libMoltenVK.dylib \
+          -force_load Products/Release/libMoltenVK.a
+      '';
+
   installPhase = ''
-    mkdir -p "$out/lib" "$out/share/vulkan/icd.d" "$bin/bin" "$dev/include/MoltenVK"
-    cp build/bin/MoltenVKShaderConverter "$bin/bin/"
-    cp build/lib/libMoltenVK.dylib "$out/lib/"
-    cp MoltenVK/MoltenVK/API/* "$dev/include/MoltenVK"
-    install -m644 MoltenVK/icd/MoltenVK_icd.json "$out/share/vulkan/icd.d/MoltenVK_icd.json"
-    substituteInPlace $out/share/vulkan/icd.d/MoltenVK_icd.json \
+    runHook preInstall
+
+    libraryExtension=${if isStatic then ".a" else ".dylib"}
+    packagePath=${if isStatic then "static" else "dynamic/dylib"}
+
+    mkdir -p "$out/lib" "$out/share/vulkan/icd.d" "$bin/bin" "$dev"
+
+    cp Package/Release/MoltenVKShaderConverter/Tools/MoltenVKShaderConverter "$bin/bin"
+    cp -r Package/Release/MoltenVK/include "$dev"
+    cp Package/Release/MoltenVK/$packagePath/libMoltenVK$libraryExtension "$out/lib"
+
+    # Install ICD definition for use with vulkan-loader.
+    install -m644 MoltenVK/icd/MoltenVK_icd.json \
+      "$out/share/vulkan/icd.d/MoltenVK_icd.json"
+    substituteInPlace "$out/share/vulkan/icd.d/MoltenVK_icd.json" \
       --replace-fail ./libMoltenVK.dylib "$out/lib/libMoltenVK.dylib"
-  '';
 
-  postFixup = ''
-    install_name_tool -id "$out/lib/libMoltenVK.dylib" "$out/lib/libMoltenVK.dylib"
-    codesign -s - -f "$out/lib/libMoltenVK.dylib"
-    codesign -s - -f "$bin/bin/MoltenVKShaderConverter"
+    runHook postInstall
   '';
 
   passthru.updateScript = gitUpdater {
     rev-prefix = "v";
+    ignoredVersions = ".*-(beta|rc).*";
   };
 
   meta = {
diff --git a/pkgs/os-specific/darwin/yabai/default.nix b/pkgs/os-specific/darwin/yabai/default.nix
index cdae949ba982..fa8067d8d478 100644
--- a/pkgs/os-specific/darwin/yabai/default.nix
+++ b/pkgs/os-specific/darwin/yabai/default.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "yabai";
-  version = "6.0.15";
+  version = "7.0.2";
 
   test-version = testers.testVersion {
     package = yabai;
@@ -53,7 +53,7 @@ in
 
     src = fetchzip {
       url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
-      hash = "sha256-L82N0IaC2OAZVhmu9NALencK78FeCZI2cWJyNkGH2vQ=";
+      hash = "sha256-FeNiJJM5vdzFT9s7N9cTjLYxKEfzZnKE9br13lkQhJo=";
     };
 
     nativeBuildInputs = [
@@ -89,7 +89,7 @@ in
       owner = "koekeishiya";
       repo = "yabai";
       rev = "v${version}";
-      hash = "sha256-buX6FRIXdM5VmYpA80eESDMPf+xeMfJJj0ulyx2g94M=";
+      hash = "sha256-/MOAKsY7MlRWdvUQwHeITTeGJbCUdX7blZZAl2zXuic=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index c92f40e3935f..5c20e45ec354 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -2,7 +2,7 @@
 , kernel
 , fetchurl
 , pkg-config, meson, ninja, makeWrapper
-, libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap, rdma-core
+, libbsd, numactl, libbpf, zlib, elfutils, jansson, openssl, libpcap, rdma-core
 , doxygen, python3, pciutils
 , withExamples ? []
 , shared ? false
@@ -38,7 +38,7 @@ in stdenv.mkDerivation {
   buildInputs = [
     jansson
     libbpf
-    libelf
+    elfutils
     libpcap
     numactl
     openssl.dev
diff --git a/pkgs/os-specific/linux/ipp-usb/default.nix b/pkgs/os-specific/linux/ipp-usb/default.nix
index 38d9afddaca6..decdea12ee3d 100644
--- a/pkgs/os-specific/linux/ipp-usb/default.nix
+++ b/pkgs/os-specific/linux/ipp-usb/default.nix
@@ -1,13 +1,13 @@
 { buildGoModule, avahi, libusb1, pkg-config, lib, fetchFromGitHub, ronn }:
 buildGoModule rec {
   pname = "ipp-usb";
-  version = "0.9.24";
+  version = "0.9.25";
 
   src = fetchFromGitHub {
     owner = "openprinting";
     repo = "ipp-usb";
     rev = version;
-    sha256 = "sha256-06Kb4s9oN53llz/Yya45ig5rd86VvlcK+vRh3bL/MAw=";
+    sha256 = "sha256-ryKQDzb31JA192lbCYkwJrXgwErViqIzP4mD2NmWdgA=";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 14c863b459b1..9c1f5a86f37e 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -12,8 +12,10 @@
 , rustc
 , rustPlatform
 , rust-bindgen
+, nixosTests
+}:
 
-, # The kernel source tarball.
+{ # The kernel source tarball.
   src
 
 , # The kernel version.
@@ -66,7 +68,6 @@
 , preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false
 , kernelArch ? stdenv.hostPlatform.linuxArch
 , kernelTests ? []
-, nixosTests
 , ...
 }@args:
 
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index cb825a1adbac..21772b2e03eb 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,52 +2,52 @@
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.307-hardened1.patch",
-            "sha256": "01i15w3qzwag2v4r5r5bqyk337pidhmcfif228f286cnjnqz5d7h",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.307-hardened1/linux-hardened-4.19.307-hardened1.patch"
+            "name": "linux-hardened-4.19.309-hardened1.patch",
+            "sha256": "1hww72w5anmfr9czqbl31glzl70s34492k9qz9zax141zg1sf6sp",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.309-hardened1/linux-hardened-4.19.309-hardened1.patch"
         },
-        "sha256": "0lp3fc7sqy48vpcl2g0n1bz7i1hp9k0nlz3i1xfh9l056ihzzvl3",
-        "version": "4.19.307"
+        "sha256": "1yc45kfiwdqsqa11sxafs82b0day6qvgjcll8rx9vipidsmagbcm",
+        "version": "4.19.309"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.210-hardened1.patch",
-            "sha256": "1fdkkl303kvw9sg9lpzg83157xrl9jcl4jjli1gi2a4j0yz2479n",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.210-hardened1/linux-hardened-5.10.210-hardened1.patch"
+            "name": "linux-hardened-5.10.212-hardened1.patch",
+            "sha256": "0h04i94vshhcli5m4qpnqg4vsi5v1ifvdhhklk7c0bvkfk35cbml",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.212-hardened1/linux-hardened-5.10.212-hardened1.patch"
         },
-        "sha256": "0vggj3a71awc1w803cdzrnkn88rxr7l1xh9mmdcw9hzxj1d3r9jf",
-        "version": "5.10.210"
+        "sha256": "14vll2bghd52wngjxy78hgglydcxka59yziji0w56dcdpmky9wqc",
+        "version": "5.10.212"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.149-hardened1.patch",
-            "sha256": "1y56l5l50h673a4n2pb3i3wh494lpnlw9vvdfr6m0jr0vymldb57",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.149-hardened1/linux-hardened-5.15.149-hardened1.patch"
+            "name": "linux-hardened-5.15.151-hardened1.patch",
+            "sha256": "040jc5n9qsdz2wv5ksfvc28vd72nmya2i2f0ps0jiras6l2wlhjz",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.151-hardened1/linux-hardened-5.15.151-hardened1.patch"
         },
-        "sha256": "1c01fnaghj55mkgsgddznq1zq4mswsa05rz00kmh1d3y6sd8115x",
-        "version": "5.15.149"
+        "sha256": "0jby224ncdardjwmf8c59s5j71inpvdlzah984ilf2b6y85pc7la",
+        "version": "5.15.151"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.269-hardened1.patch",
-            "sha256": "06vf0mlp822i4bkpsxbyk1xjlbzabqpncy8qw9zajpjajwv87d7x",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.269-hardened1/linux-hardened-5.4.269-hardened1.patch"
+            "name": "linux-hardened-5.4.271-hardened1.patch",
+            "sha256": "0rw5il7885d0d3k2hmh46541svib6rp32g00fcl5bw37ydmq3z8b",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.271-hardened1/linux-hardened-5.4.271-hardened1.patch"
         },
-        "sha256": "1kqqm4hpif3jy2ycnb0dfjgzyn18vqhm1i5q7d7rkisks33bwm7z",
-        "version": "5.4.269"
+        "sha256": "0l2qv4xlhnry9crs90rkihsxyny6jz8kxw08bfad7nys9hrn3g6d",
+        "version": "5.4.271"
     },
     "6.1": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.1.79-hardened1.patch",
-            "sha256": "0inip6pmlwrj75vwjimkjgvh4jn6ldrq5312r02xh1i95qb0sg3a",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.79-hardened1/linux-hardened-6.1.79-hardened1.patch"
+            "name": "linux-hardened-6.1.81-hardened1.patch",
+            "sha256": "0af9dxdsa858zyqc0vsrzg098afhg5vpb2wpr6gj2ykwc13iaf07",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.81-hardened1/linux-hardened-6.1.81-hardened1.patch"
         },
-        "sha256": "16xkd0hcslqlcf55d4ivzhf1fkhfs5yy0m9arbax8pmm5yi9r97s",
-        "version": "6.1.79"
+        "sha256": "0arl96yrqplbmp2gjyqcfma1lgc30kbn95m0sflv0yyldwf8dg8f",
+        "version": "6.1.81"
     },
     "6.5": {
         "patch": {
@@ -62,12 +62,12 @@
     "6.6": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.6.18-hardened1.patch",
-            "sha256": "0svlck53b7bd38b9b0hzgppmhm59d35r2vqv30ga85ghkvc61byn",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.18-hardened1/linux-hardened-6.6.18-hardened1.patch"
+            "name": "linux-hardened-6.6.21-hardened1.patch",
+            "sha256": "0k35s5pj92lvfp6kw3isg78zc3gijsg0xbzcyvxdkmhzaq8j6i1i",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.21-hardened1/linux-hardened-6.6.21-hardened1.patch"
         },
-        "sha256": "07cv97l5jiakmmv35n0ganvqfr0590b02f3qb617qkx1zg2xhhsf",
-        "version": "6.6.18"
+        "sha256": "0mz420w99agr7jv1jgqfr4fjhzbv005xif086sqx556s900l62zf",
+        "version": "6.6.21"
     },
     "6.7": {
         "patch": {
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index c838d6371b6a..b9207f0ac2f5 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -4,35 +4,35 @@
         "hash": "sha256:0q9isgv6lxzrmb4idl0spxv2l7fsk3nn4cdq0vdw9c8lyzrh5yy0"
     },
     "6.1": {
-        "version": "6.1.81",
-        "hash": "sha256:0arl96yrqplbmp2gjyqcfma1lgc30kbn95m0sflv0yyldwf8dg8f"
+        "version": "6.1.82",
+        "hash": "sha256:01pcrcjp5mifjjmfz7j1jb8nhq8nkxspavxmv1l7d1qnskcx4l6i"
     },
     "5.15": {
-        "version": "5.15.151",
-        "hash": "sha256:0jby224ncdardjwmf8c59s5j71inpvdlzah984ilf2b6y85pc7la"
+        "version": "5.15.152",
+        "hash": "sha256:0zm4wkryj4mim4fr7pf5g9rlzh31yb1c40lkp85lvcm5yhjm507h"
     },
     "5.10": {
-        "version": "5.10.212",
-        "hash": "sha256:14vll2bghd52wngjxy78hgglydcxka59yziji0w56dcdpmky9wqc"
+        "version": "5.10.213",
+        "hash": "sha256:105df7w6m5a3fngi6ajqs5qblaq4lbxsgcppllrk7v1r68i31kw4"
     },
     "5.4": {
-        "version": "5.4.271",
-        "hash": "sha256:0l2qv4xlhnry9crs90rkihsxyny6jz8kxw08bfad7nys9hrn3g6d"
+        "version": "5.4.272",
+        "hash": "sha256:0rp3waqrm489crcrms2ls7fxcw5jdkjhazvx82z68gj0kaaxb69m"
     },
     "4.19": {
-        "version": "4.19.309",
-        "hash": "sha256:1yc45kfiwdqsqa11sxafs82b0day6qvgjcll8rx9vipidsmagbcm"
+        "version": "4.19.310",
+        "hash": "sha256:0sfy2g9jzxd8ia0idll72l7npi2kssdkz29h8jjxhilgmg299v4m"
     },
     "6.6": {
-        "version": "6.6.21",
-        "hash": "sha256:0mz420w99agr7jv1jgqfr4fjhzbv005xif086sqx556s900l62zf"
+        "version": "6.6.22",
+        "hash": "sha256:1x52c6ywmspp3naishzsknhy7i0b7mv9baxx25a0y987cjsygqr3"
     },
     "6.7": {
-        "version": "6.7.9",
-        "hash": "sha256:0inkvyrvq60j9lxgivkivq3qh94lsfc1dpv6vwgxmy3q0zy37mqg"
+        "version": "6.7.10",
+        "hash": "sha256:00vw90mypcliq0d72jdh1ql2dfmm7gpswln2qycxdz7rfsrrzfd9"
     },
     "6.8": {
-        "version": "6.8",
-        "hash": "sha256:1wv5x7qhcd05m8m0myyqm2il6mha1sx11h7ppf8yjsxvx2jdwsf9"
+        "version": "6.8.1",
+        "hash": "sha256:0s7zgk9m545v8y7qjhv7cprrh58j46gpmb8iynyhy2hlwcv8j34d"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index afdc6bb5fd01..01daee4015f0 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "19500";
-    sha256 = "1xlicxwb1j5m4yjyw9ybyffmilzg7xh847jxfl4jy318vjpkmffr";
+    rev = "19509";
+    sha256 = "0dkjvpb075jdasvic8sfpy0dj48fsxgj2yl0zrply7gkaahgns8q";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 747d5aec7790..188ca24100b1 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.210-rt102"; # updated by ./update-rt.sh
+  version = "5.10.211-rt103"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -17,14 +17,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "0vggj3a71awc1w803cdzrnkn88rxr7l1xh9mmdcw9hzxj1d3r9jf";
+    sha256 = "1cir36s369fl6s46x16xnjg0wdlnkipsp2zhz11m9d3z205hly1s";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1q4365ix990iw33a63cpn61qvgf8rkzf658xyi0hnr6292hlvajj";
+      sha256 = "07br63p90gwmijxq8ad7iyi4d3fkm6jwwl2s2k1549bbaldchbk6";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index cd2f60d3921d..463385036292 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.264-rt88"; # updated by ./update-rt.sh
+  version = "5.4.271-rt89"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -14,14 +14,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1c5n47dq9khb15hz24a000k3hj913vv1dda6famnm8wpjbfr176k";
+    sha256 = "0l2qv4xlhnry9crs90rkihsxyny6jz8kxw08bfad7nys9hrn3g6d";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1yzdiip1fm9szx2hhvq9ph7jq00qglb1skis6gv0184g0ls2qddg";
+      sha256 = "15k9jja5yd9zf5yhd7hhydwh4hksg2mybk66jhdjsryh4w9jav7z";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
index 514baa0ca598..4ff7e1c54b04 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "6.6.20-rt25"; # updated by ./update-rt.sh
+  version = "6.6.21-rt26"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
-    sha256 = "08nxv2240d2ak6p2vsbjasnp7askamswby3h6cclhhihkgrwgxp2";
+    sha256 = "0mz420w99agr7jv1jgqfr4fjhzbv005xif086sqx556s900l62zf";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1sfalbcfzzjmskxpix1850cypg4zixwzbd9rmpg37n8lclivn2gv";
+      sha256 = "1sh2jkm3h52a5dkc72xgrw1kz1faw1kzhpbqg64gsxbivmxfvf21";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index de51beb2cc18..6953bbca8963 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20231114";
+  version = "20240312";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    hash = "sha256-cZ7APDjwjarPCzk1HWxqIXdGwNOl6HG0KSCtffmEhx0=";
+    hash = "sha256-4ZSA+LVczfjZINXhImmFOCc/6kKNrrUQvrXPdOvMM8g=";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
diff --git a/pkgs/os-specific/linux/mmc-utils/default.nix b/pkgs/os-specific/linux/mmc-utils/default.nix
index 0fea46da56d2..5817a4b6a2d5 100644
--- a/pkgs/os-specific/linux/mmc-utils/default.nix
+++ b/pkgs/os-specific/linux/mmc-utils/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation {
   pname = "mmc-utils";
-  version = "unstable-2023-10-10";
+  version = "unstable-2024-03-07";
 
   src = fetchzip rec {
     url = "https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git/snapshot/mmc-utils-${passthru.rev}.tar.gz";
-    passthru.rev = "b5ca140312d279ad2f22068fd72a6230eea13436";
-    sha256 = "QU4r8eajrrhT6u6WHEf1xtB1iyecBeHxu4vS+QcwAgM=";
+    passthru.rev = "e1281d4de9166b7254ba30bb58f9191fc2c9e7fb";
+    sha256 = "/lkcZ/ArdBAStV9usavrbfjULXenqb+h2rbDJzxZjJk=";
   };
 
   makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "prefix=$(out)" ];
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 7ac560824db8..bc8bf488def9 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -10,8 +10,9 @@
 , numactl
 , openssl
 , zlib
+, zstd
 , libbsd
-, libelf
+, elfutils
 , jansson
 , libnl
 }:
@@ -37,8 +38,9 @@ stdenv.mkDerivation rec {
     numactl
     openssl
     zlib
+    zstd
     libbsd
-    libelf
+    elfutils
     jansson
     libbpf
     libnl
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index f8196dba6157..6acb8eba3863 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -36,13 +36,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "prl-tools";
-  version = "19.2.1-54832";
+  version = "19.3.0-54924";
 
   # We download the full distribution to extract prl-tools-lin.iso from
   # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
   src = fetchurl {
     url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg";
-    hash = "sha256-PmQSGoJbB0+Q7t56FOFxOVQ86CJLqAa6PTnWLx5CzpA=";
+    hash = "sha256-Hj1manQSZHiht6mmWes44RVk2Bdqp6QdNCdK322bzWc=";
   };
 
   hardeningDisable = [ "pic" "format" ];
diff --git a/pkgs/os-specific/linux/rasdaemon/default.nix b/pkgs/os-specific/linux/rasdaemon/default.nix
index c65a11fe8525..35478732fb8c 100644
--- a/pkgs/os-specific/linux/rasdaemon/default.nix
+++ b/pkgs/os-specific/linux/rasdaemon/default.nix
@@ -2,6 +2,7 @@
 , autoreconfHook, pkg-config
 , glibcLocales, kmod, coreutils, perl
 , dmidecode, hwdata, sqlite, libtraceevent
+, fetchpatch
 , nixosTests
 }:
 
@@ -16,6 +17,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-BX3kc629FOh5cnD6Sa/69wKdhmhT3Rpz5ZvhnD4MclQ=";
   };
 
+  patches = [
+    (fetchpatch { # fix #295002 (segfault on AMD), will be in the release after 0.8.0
+      name = "fix crash on AMD";
+      url = "https://github.com/mchehab/rasdaemon/commit/f1ea76375281001cdf4a048c1a4a24d86c6fbe48.patch";
+      hash = "sha256-1VPDTrAsvZGiGbh52EUdG6tYV/n6wUS0mphOSXzran0=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/xone/default.nix b/pkgs/os-specific/linux/xone/default.nix
index 104b7952f2be..b1e2ce570a2d 100644
--- a/pkgs/os-specific/linux/xone/default.nix
+++ b/pkgs/os-specific/linux/xone/default.nix
@@ -1,27 +1,18 @@
 { stdenv, lib, fetchFromGitHub, kernel, fetchurl, fetchpatch }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "xone";
-  version = "0.3";
+  version = "0.3-unstable-2024-03-16";
 
   src = fetchFromGitHub {
     owner = "medusalix";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    sha256 = "sha256-h+j4xCV9R6hp9trsv1NByh9m0UBafOz42ZuYUjclILE=";
+    repo = "xone";
+    rev = "948d2302acdd6333295eaba4da06d96677290ad3";
+    hash = "sha256-srAEw1ai5KT0rmVUL3Dut9R2mNb00AAZVCcINikh2sM=";
   };
 
-  patches = [
-    # Fix build on kernel 6.3
-    (fetchpatch {
-      name = "kernel-6.3.patch";
-      url = "https://github.com/medusalix/xone/commit/bbf0dcc484c3f5611f4e375da43e0e0ef08f3d18.patch";
-      hash = "sha256-A2OzRRk4XT++rS6k6EIyiPy/LJptvVRUxoP7CIGrPWU=";
-    })
-  ];
-
   setSourceRoot = ''
-    export sourceRoot=$(pwd)/${src.name}
+    export sourceRoot=$(pwd)/${finalAttrs.src.name}
   '';
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
@@ -30,7 +21,7 @@ stdenv.mkDerivation rec {
     "-C"
     "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "M=$(sourceRoot)"
-    "VERSION=${version}"
+    "VERSION=${finalAttrs.version}"
   ];
 
   buildFlags = [ "modules" ];
@@ -45,4 +36,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-
+)