diff options
Diffstat (limited to 'pkgs/os-specific')
41 files changed, 324 insertions, 507 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/sketchybar/default.nix b/pkgs/os-specific/darwin/sketchybar/default.nix index 4ac6ef9c13c9..3081e40622c5 100644 --- a/pkgs/os-specific/darwin/sketchybar/default.nix +++ b/pkgs/os-specific/darwin/sketchybar/default.nix @@ -22,13 +22,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "sketchybar"; - version = "2.20.1"; + version = "2.21.0"; src = fetchFromGitHub { owner = "FelixKratz"; repo = "SketchyBar"; rev = "v${finalAttrs.version}"; - hash = "sha256-dyo4J3Qszq7SSXdAXmgm7xFhWE5Eqtr7yZpNGmtuphY="; + hash = "sha256-hTfQQjx6ai83zYFfccsz/KaoZUIj5Dfz4ENe59gS02E="; }; buildInputs = [ 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/apfs/default.nix b/pkgs/os-specific/linux/apfs/default.nix index 28505f8c9eee..68265f9f826c 100644 --- a/pkgs/os-specific/linux/apfs/default.nix +++ b/pkgs/os-specific/linux/apfs/default.nix @@ -6,7 +6,7 @@ }: let - tag = "0.3.7"; + tag = "0.3.8"; in stdenv.mkDerivation { pname = "apfs"; @@ -16,7 +16,7 @@ stdenv.mkDerivation { owner = "linux-apfs"; repo = "linux-apfs-rw"; rev = "v${tag}"; - hash = "sha256-LmUaIKZ1Msc4yAXNMzyDhPCPsQYeYnUbRF6pA9WvHYk="; + hash = "sha256-I/wuS4//bUiUW8NGW6aNVPzDtuY2lMUeFiv5y2c7TYY="; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/ch9344/default.nix b/pkgs/os-specific/linux/ch9344/default.nix index e7da864b90c1..42c26503ea15 100644 --- a/pkgs/os-specific/linux/ch9344/default.nix +++ b/pkgs/os-specific/linux/ch9344/default.nix @@ -2,20 +2,16 @@ stdenv.mkDerivation rec { pname = "ch9344"; - version = "1.9"; + version = "2.0"; src = fetchzip { name = "CH9344SER_LINUX.zip"; url = "https://www.wch.cn/downloads/file/386.html#CH9344SER_LINUX.zip"; - hash = "sha256-g55ftAfjKKlUFzGhI1a/O7Eqbz6rkGf1vWuEJjBZxBE="; + hash = "sha256-YKNMYpap7CjhgTIpd/M9+nB11NtpwGYT/P14J6q3XZg="; }; - patches = lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.1") [ - # https://github.com/torvalds/linux/commit/a8c11c1520347be74b02312d10ef686b01b525f1 + patches = [ ./fix-incompatible-pointer-types.patch - ] ++ lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.3") [ - # https://github.com/torvalds/linux/commit/5d420399073770134d2b03e004b2c0201c7fa26f - ./fix-incompatible-pointer-types_6_3.patch ]; sourceRoot = "${src.name}/driver"; diff --git a/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch b/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch index 31088538733e..89c95347ed65 100644 --- a/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch +++ b/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch @@ -1,22 +1,16 @@ diff --git a/ch9344.c b/ch9344.c -index 1e37293..a16af82 100644 +index bfa10bb..76a94a7 100644 --- a/ch9344.c +++ b/ch9344.c -@@ -79,7 +79,7 @@ static DEFINE_IDR(ch9344_minors); - static DEFINE_MUTEX(ch9344_minors_lock); - - static void ch9344_tty_set_termios(struct tty_struct *tty, -- struct ktermios *termios_old); -+ const struct ktermios *termios_old); - - static int ch9344_get_portnum(int index); - -@@ -1597,7 +1597,7 @@ u8 cal_recv_tmt(__le32 bd) +@@ -837,7 +837,11 @@ static void ch9344_tty_close(struct tty_struct *tty, struct file *filp) + } } - static void ch9344_tty_set_termios(struct tty_struct *tty, -- struct ktermios *termios_old) -+ const struct ktermios *termios_old) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 6, 0)) ++static ssize_t ch9344_tty_write(struct tty_struct *tty, const u8 *buf, size_t count) ++#else + static int ch9344_tty_write(struct tty_struct *tty, const unsigned char *buf, int count) ++#endif { - struct ch9344 *ch9344 = tty->driver_data; - struct ktermios *termios = &tty->termios; + struct ch9344 *ch9344 = tty->driver_data; + int stat; diff --git a/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types_6_3.patch b/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types_6_3.patch deleted file mode 100644 index b4cf265daac9..000000000000 --- a/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types_6_3.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ch9344.c b/ch9344.c -index a16af82..8922ed9 100644 ---- a/ch9344.c -+++ b/ch9344.c -@@ -774,7 +774,7 @@ static inline void *tty_get_portdata(struct ch9344_ttyport *port) - return (port->portdata); - } - --static void ch9344_port_dtr_rts(struct tty_port *port, int raise) -+static void ch9344_port_dtr_rts(struct tty_port *port, bool raise) - { - struct ch9344_ttyport *ttyport = container_of(port, struct ch9344_ttyport, port); - struct ch9344 *ch9344 = tty_get_portdata(ttyport); diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index ab55839c3408..32eef7f9e26a 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -16,13 +16,14 @@ , ncursesSupport ? true , ncurses ? null , x11Support ? true , freetype, xorg +, waylandSupport ? true , pango, wayland, wayland-protocols, wayland-scanner , xdamageSupport ? x11Support, libXdamage ? null , doubleBufferSupport ? x11Support , imlib2Support ? x11Support, imlib2 ? null , luaSupport ? true , lua ? null , luaImlib2Support ? luaSupport && imlib2Support -, luaCairoSupport ? luaSupport && x11Support, cairo ? null +, luaCairoSupport ? luaSupport && (x11Support || waylandSupport), cairo ? null , toluapp ? null , wirelessSupport ? true , wirelesstools ? null @@ -76,13 +77,13 @@ stdenv.mkDerivation rec { hash = "sha256-L8YSbdk+qQl17L4IRajFD/AEWRXb2w7xH9sM9qPGrQo="; }; - postPatch = '' - sed -i -e '/include.*CheckIncludeFile)/i include(CheckIncludeFiles)' \ - cmake/ConkyPlatformChecks.cmake - '' + optionalString docsSupport '' + postPatch = optionalString docsSupport '' substituteInPlace cmake/Conky.cmake --replace "# set(RELEASE true)" "set(RELEASE true)" cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp + '' + optionalString waylandSupport '' + substituteInPlace src/CMakeLists.txt \ + --replace 'COMMAND ''${Wayland_SCANNER}' 'COMMAND wayland-scanner' ''; env = { @@ -91,16 +92,21 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-lgcc_s"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ glib libXinerama ] + nativeBuildInputs = [ cmake pkg-config ] ++ optionals docsSupport [ docbook2x docbook_xsl docbook_xml_dtd_44 libxslt man less ] + ++ optional waylandSupport wayland-scanner + ++ optional luaImlib2Support toluapp + ++ optional luaCairoSupport toluapp + ; + buildInputs = [ glib libXinerama ] ++ optional ncursesSupport ncurses ++ optionals x11Support [ freetype xorg.libICE xorg.libX11 xorg.libXext xorg.libXft xorg.libSM ] + ++ optionals waylandSupport [ pango wayland wayland-protocols ] ++ optional xdamageSupport libXdamage ++ optional imlib2Support imlib2 ++ optional luaSupport lua - ++ optionals luaImlib2Support [ toluapp imlib2 ] - ++ optionals luaCairoSupport [ toluapp cairo ] + ++ optional luaImlib2Support imlib2 + ++ optional luaCairoSupport cairo ++ optional wirelessSupport wirelesstools ++ optional curlSupport curl ++ optional rssSupport libxml2 @@ -121,6 +127,7 @@ stdenv.mkDerivation rec { ++ optional (!ncursesSupport) "-DBUILD_NCURSES=OFF" ++ optional rssSupport "-DBUILD_RSS=ON" ++ optional (!x11Support) "-DBUILD_X11=OFF" + ++ optional waylandSupport "-DBUILD_WAYLAND=ON" ++ optional xdamageSupport "-DBUILD_XDAMAGE=ON" ++ optional doubleBufferSupport "-DBUILD_XDBE=ON" ++ optional weatherMetarSupport "-DBUILD_WEATHER_METAR=ON" 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/firmware/ivsc-firmware/default.nix b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix index 1a90380838a9..e2f2fd4f9fee 100644 --- a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix @@ -23,6 +23,13 @@ stdenv.mkDerivation { cp --no-preserve=mode --recursive ./firmware/* $out/lib/firmware/vsc/ install -D ./LICENSE $out/share/doc + mkdir -p $out/lib/firmware/vsc/soc_a1_prod + # According to Intel's documentation for prod platform the a1_prod postfix is need it (https://github.com/intel/ivsc-firmware) + # This fixes ipu6 webcams + for file in $out/lib/firmware/vsc/*.bin; do + ln -sf "$file" "$out/lib/firmware/vsc/soc_a1_prod/$(basename "$file" .bin)_a1_prod.bin" + done + runHook postInstall ''; diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix index 86dbbd11d92e..5088c1dc3320 100644 --- a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix +++ b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix @@ -1,7 +1,7 @@ # This file is autogenerated! Run ./update.sh to regenerate. { - version = "20240220"; - revision = "20240220"; - sourceHash = "sha256-IU2ak8L9kiVt/2hExSfhHJMqtD9QlYEuzW2qz3pP8aU="; - outputHash = "sha256-C5vt+tAQxVIMMht/QNQRMjD/9HQuLtL9bMvAwrLKXuo="; + version = "20240312"; + revision = "20240312"; + sourceHash = "sha256-fDrnI7H87vG4OpcmjMcRTio01oHI0Z2KUfe3NNeY3JY="; + outputHash = "sha256-GYmRaW6wsOR+pqeQDyGYUDh6HfEs+sEi5vQoBHEeX9I="; } 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/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index fb59bfecaa01..cc9e7484c331 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -371,6 +371,8 @@ let DRM_AMD_DC_FP = whenAtLeast "6.4" yes; DRM_AMD_DC_HDCP = whenBetween "5.5" "6.4" yes; DRM_AMD_DC_SI = whenAtLeast "5.10" yes; + # Enable new firmware (and by extension NVK) for compatible hardware on Nouveau + DRM_NOUVEAU_GSP_DEFAULT = whenAtLeast "6.8" yes; } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { # Intel GVT-g graphics virtualization supports 64-bit only DRM_I915_GVT = yes; 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 e16804af99d3..b9207f0ac2f5 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -4,31 +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.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/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 348a4c36adc4..ea0db48c75f3 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -6,14 +6,14 @@ let # NOTE: When updating these, please also take a look at the changes done to # kernel config in the xanmod version commit ltsVariant = { - version = "6.6.19"; - hash = "sha256-DfoClySWV0vlDDRAJsujGj5ypnGr+HsVbszCYfi+2V0="; + version = "6.6.21"; + hash = "sha256-DDkjrtKK7zIffVMuBtHvSWp0GtMA87YuOp8AhUw64+Y="; variant = "lts"; }; mainVariant = { - version = "6.7.7"; - hash = "sha256-Y+SvnvkFOGCxq+hGwpiiymNr1rYbNqppNA0d63TyUmo="; + version = "6.7.9"; + hash = "sha256-/YoZTclMdJBQ8iwpfm/Ne/YLNQneN0hccy95o3fWvGM="; variant = "main"; }; diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index f7f513e21f60..d8261beb1764 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -4,9 +4,9 @@ let # comments with variant added for update script # ./update-zen.py zen zenVariant = { - version = "6.7.9"; #zen + version = "6.8"; #zen suffix = "zen1"; #zen - sha256 = "0g20hx5jhs99gm7bc3b99x6cg3hkx6r91dnxjzbplinzgh2kp0pz"; #zen + sha256 = "19rsi8747xw5lsq4pwizq2va6inmwrywgy8b5f2ppcd6ny0whn1i"; #zen isLqx = false; }; # ./update-zen.py lqx 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/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 132f46bf649d..449ff8042a70 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -66,11 +66,11 @@ rec { # Vulkan developer beta driver # See here for more information: https://developer.nvidia.com/vulkan-driver vulkan_beta = generic rec { - version = "550.40.53"; + version = "550.40.55"; persistencedVersion = "550.54.14"; settingsVersion = "550.54.14"; - sha256_64bit = "sha256-ZA5pb1xjzDyEBrf3UYHta4T9laCOCW7LHJwhcdjw6MA="; - openSha256 = "sha256-p4FL0j9Ev4SJ3YcjfhFLxbMbc77dBblkrTYK50+OYqA="; + sha256_64bit = "sha256-i9FYgSZW0vLMEORg16+LxFBOacXXrAfWKbtCFuD8+IQ="; + openSha256 = "sha256-slb058rNKk/TEltGkdw6Shn/3SF3kjgsXQc8IyFMUB8="; settingsSha256 = "sha256-m2rNASJp0i0Ez2OuqL+JpgEF0Yd8sYVCyrOoo/ln2a4="; persistencedSha256 = "sha256-XaPN8jVTjdag9frLPgBtqvO/goB5zxeGzaTU0CdL6C4="; url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux"; 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/opensnitch-ebpf/default.nix b/pkgs/os-specific/linux/opensnitch-ebpf/default.nix index 70332abbe6ef..e012819254d7 100644 --- a/pkgs/os-specific/linux/opensnitch-ebpf/default.nix +++ b/pkgs/os-specific/linux/opensnitch-ebpf/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { inherit (opensnitch) src; - sourceRoot = "source/ebpf_prog"; + sourceRoot = "${src.name}/ebpf_prog"; nativeBuildInputs = with llvmPackages; [ bc 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/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix index f269c9146df4..0f920eeafb5d 100644 --- a/pkgs/os-specific/linux/psmisc/default.nix +++ b/pkgs/os-specific/linux/psmisc/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "psmisc"; - version = "23.6"; + version = "23.7"; src = fetchFromGitLab { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-TjnOn8a7HAgt11zcM0i5DM5ERmsvLJHvo1e5FOsl6IA="; + hash = "sha256-49YpdIh0DxLHfxos4sw1HUkV0XQBqmm4M9b0T4eN2xI="; }; nativeBuildInputs = [ autoconf automake gettext ]; diff --git a/pkgs/os-specific/linux/r8125/default.nix b/pkgs/os-specific/linux/r8125/default.nix index 4517cb29e75a..1c261355954a 100644 --- a/pkgs/os-specific/linux/r8125/default.nix +++ b/pkgs/os-specific/linux/r8125/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { pname = "r8125"; # On update please verify (using `diff -r`) that the source matches the # realtek version. - version = "9.011.01"; + version = "9.012.03"; # This is a mirror. The original website[1] doesn't allow non-interactive # downloads, instead emailing you a download link. @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { owner = "louistakepillz"; repo = "r8125"; rev = version; - sha256 = "sha256-QV1DKkWVtqcnuqgAdJnPpj6Z6ch+lw61zpouXKlyfqQ="; + sha256 = "sha256-+CrxvKB96QOcOo87McZOt/XUhriTtTV8jTQgpBG3ejs="; }; hardeningDisable = [ "pic" ]; 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/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 0dbfbd29b6c3..302404b38e12 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, cmake, kernel, installShellFiles, pkg-config , luajit, ncurses, perl, jsoncpp, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc -, yaml-cpp, nlohmann_json, re2, zstd, uthash, fetchpatch, fetchurl +, yaml-cpp, nlohmann_json, re2, zstd, uthash }: let @@ -26,13 +26,13 @@ let in stdenv.mkDerivation rec { pname = "sysdig"; - version = "0.35.1"; + version = "0.35.3"; src = fetchFromGitHub { owner = "draios"; repo = "sysdig"; rev = version; - hash = "sha256-nSCkKwhdEduepyvcyWEKMQtQ6TfhF3GnTSreRVoarsw="; + hash = "sha256-wvCnWzQbkkM8qEG93li22P67WX1bGX9orTk+2vsBHZY="; }; nativeBuildInputs = [ cmake perl installShellFiles pkg-config ]; diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index c304cb1dc2f8..135d61fd71d7 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -5,6 +5,7 @@ , nixosTests , pkgsCross , fetchFromGitHub +, fetchpatch , fetchzip , buildPackages , makeBinaryWrapper @@ -224,6 +225,15 @@ stdenv.mkDerivation (finalAttrs: { ./0017-meson.build-do-not-create-systemdstatedir.patch ] ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [ ./0018-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch + ] ++ lib.optional (stdenv.hostPlatform.isPower || stdenv.hostPlatform.isRiscV) [ + # Fixed upstream and included in the main and stable branches. Can be dropped + # when bumping to >= v255.5. + # https://github.com/systemd/systemd/issues/30448 + # https://github.com/NixOS/nixpkgs/pull/282607 + (fetchpatch { + url = "https://github.com/systemd/systemd/commit/8040fa55a1cbc34dede3205a902095ecd26c21e3.patch"; + sha256 = "0c6z7bsndbkb8m130jnjpsl138sfv3q171726n5vkyl2n9ihnavk"; + }) ] ++ lib.optional stdenv.hostPlatform.isMusl ( let oe-core = fetchzip { @@ -856,8 +866,8 @@ stdenv.mkDerivation (finalAttrs: { # needed - and therefore `interfaceVersion` should be incremented. interfaceVersion = 2; - inherit withCryptsetup withHostnamed withImportd withKmod withLocaled - withMachined withPortabled withTimedated withUtmp util-linux kmod kbd; + inherit withBootloader withCryptsetup withHostnamed withImportd withKmod + withLocaled withMachined withPortabled withTimedated withUtmp util-linux kmod kbd; tests = { inherit (nixosTests) diff --git a/pkgs/os-specific/linux/tailor-gui/default.nix b/pkgs/os-specific/linux/tailor-gui/default.nix index d8aace99e4ef..69367ca6c255 100644 --- a/pkgs/os-specific/linux/tailor-gui/default.nix +++ b/pkgs/os-specific/linux/tailor-gui/default.nix @@ -15,7 +15,7 @@ }: let src = tuxedo-rs.src; - sourceRoot = "source/tailor_gui"; + sourceRoot = "${src.name}/tailor_gui"; pname = "tailor_gui"; version = "0.2.3"; in diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix index cfd94bf33c46..4e64f394d82f 100644 --- a/pkgs/os-specific/linux/usbutils/default.nix +++ b/pkgs/os-specific/linux/usbutils/default.nix @@ -27,8 +27,9 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://www.linux-usb.org/"; description = "Tools for working with USB devices, such as lsusb"; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ cafkafk ]; license = licenses.gpl2Plus; platforms = platforms.linux; + mainProgram = "lsusb"; }; } diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix index 3d16748f05a2..1c4a20ae85fe 100644 --- a/pkgs/os-specific/linux/v4l2loopback/default.nix +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "v4l2loopback"; - version = "unstable-2023-11-23-${kernel.version}"; + version = "0.12.7-unstable-2024-02-12-${kernel.version}"; src = fetchFromGitHub { owner = "umlaeute"; repo = "v4l2loopback"; - rev = "850a2e36849f6ad3c9bf74f2ae3f603452bd8a71"; - hash = "sha256-LqP5R3oKbjUQUfDZUWpkrmyopWhOt4wlgSgGywTPJXM="; + rev = "5d72c17f92ee0e38efbb7eb85e34443ecbf1a80c"; + hash = "sha256-ggmYH5MUXhMPvA8UZ2EAG+eGoPTNbw7B8UxmmgP6CsE="; }; hardeningDisable = [ "format" "pic" ]; diff --git a/pkgs/os-specific/linux/v4l2loopback/revert-pr518.patch b/pkgs/os-specific/linux/v4l2loopback/revert-pr518.patch deleted file mode 100644 index d5d2564c32c4..000000000000 --- a/pkgs/os-specific/linux/v4l2loopback/revert-pr518.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/v4l2loopback.c b/v4l2loopback.c -index 2ab1f76..2514f09 100644 ---- a/v4l2loopback.c -+++ b/v4l2loopback.c -@@ -92,17 +92,6 @@ MODULE_LICENSE("GPL"); - } \ - } while (0) - --/* TODO: Make sure that function is never interrupted. */ --static inline int mod_inc(int *number, int mod) --{ -- int result; -- result = (*number + 1) % mod; -- if (unlikely(result < 0)) -- result += mod; -- *number = result; -- return result; --} -- - static inline void v4l2l_get_timestamp(struct v4l2_buffer *b) - { - /* ktime_get_ts is considered deprecated, so use ktime_get_ts64 if possible */ -@@ -1424,8 +1413,9 @@ static int vidioc_reqbufs(struct file *file, void *fh, - i = dev->write_position; - list_for_each_entry(pos, &dev->outbufs_list, - list_head) { -- dev->bufpos2index[mod_inc(&i, b->count)] = -+ dev->bufpos2index[i % b->count] = - pos->buffer.index; -+ ++i; - } - } - -@@ -1489,9 +1479,10 @@ static void buffer_written(struct v4l2_loopback_device *dev, - del_timer_sync(&dev->timeout_timer); - spin_lock_bh(&dev->lock); - -- dev->bufpos2index[mod_inc(&dev->write_position, dev->used_buffers)] = -+ dev->bufpos2index[dev->write_position % dev->used_buffers] = - buf->buffer.index; - list_move_tail(&buf->list_head, &dev->outbufs_list); -+ ++dev->write_position; - dev->reread_count = 0; - - check_timers(dev); -@@ -1586,7 +1577,8 @@ static int get_capture_buffer(struct file *file) - if (dev->write_position > - opener->read_position + dev->used_buffers) - opener->read_position = dev->write_position - 1; -- pos = mod_inc(&opener->read_position, dev->used_buffers); -+ pos = opener->read_position % dev->used_buffers; -+ ++opener->read_position; - } - timeout_happened = dev->timeout_happened; - dev->timeout_happened = 0; 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; }; } - +) diff --git a/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix index 8ae426269a86..18aa86282567 100644 --- a/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix +++ b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix @@ -21,12 +21,12 @@ let in stdenv.mkDerivation rec { pname = "xp-pen-deco-01-v2-driver"; - version = "3.2.3.230215-1"; + version = "3.4.9-231023"; src = fetchzip { - url = "https://download01.xp-pen.com/file/2023/03/XPPen-pentablet-${version}.x86_64.tar.gz"; + url = "https://www.xp-pen.com/download/file/id/1936/pid/440/ext/gz.html#.tar.gz"; name = "xp-pen-deco-01-v2-driver-${version}.tar.gz"; - sha256 = "sha256-CV4ZaGCFFcfy2J0O8leYgcyzFVwJQFQJsShOv9B7jfI="; + sha256 = "sha256-A/dv6DpelH0NHjlGj32tKv37S+9q3F8cYByiYlMuqLg="; }; nativeBuildInputs = [ @@ -56,16 +56,16 @@ stdenv.mkDerivation rec { runHook preInstall mkdir -p $out/{opt,bin} - cp -r App/usr/lib/pentablet/{pentablet,resource.rcc,conf} $out/opt - chmod +x $out/opt/pentablet + cp -r App/usr/lib/pentablet/{PenTablet,resource.rcc,conf} $out/opt + chmod +x $out/opt/PenTablet cp -r App/lib $out/lib - sed -i 's#usr/lib/pentablet#${dataDir}#g' $out/opt/pentablet + sed -i 's#usr/lib/pentablet#${dataDir}#g' $out/opt/PenTablet runHook postInstall ''; postFixup = '' - makeWrapper $out/opt/pentablet $out/bin/xp-pen-deco-01-v2-driver \ + makeWrapper $out/opt/PenTablet $out/bin/xp-pen-deco-01-v2-driver \ "''${qtWrapperArgs[@]}" \ --run 'if [ "$EUID" -ne 0 ]; then echo "Please run as root."; exit 1; fi' \ --run 'if [ ! -d /${dataDir} ]; then mkdir -p /${dataDir}; cp -r '$out'/opt/conf /${dataDir}; chmod u+w -R /${dataDir}; fi' @@ -80,4 +80,3 @@ stdenv.mkDerivation rec { license = licenses.unfree; }; } - |