diff options
Diffstat (limited to 'pkgs/os-specific')
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; }; } - +) |