diff --git a/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix b/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix index e2eab3c2b944..b9b4667a4d99 100644 --- a/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix +++ b/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix @@ -38,11 +38,12 @@ stdenv.mkDerivation { inherit (bcachefs-tools.meta) homepage + downloadPage license maintainers platforms ; - broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "6.18"); + broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "6.19"); }; } diff --git a/pkgs/by-name/bc/bcachefs-tools/package.nix b/pkgs/by-name/bc/bcachefs-tools/package.nix index f9a7a663738b..998ccafdf98b 100644 --- a/pkgs/by-name/bc/bcachefs-tools/package.nix +++ b/pkgs/by-name/bc/bcachefs-tools/package.nix @@ -19,7 +19,7 @@ rustPlatform, makeWrapper, nix-update-script, - testers, + versionCheckHook, nixosTests, installShellFiles, fuseSupport ? false, @@ -28,15 +28,25 @@ stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - version = "1.31.7"; + version = "1.31.11"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; tag = "v${finalAttrs.version}"; - hash = "sha256-gKtOyaDN9hQo45Rk9hMabKRefOG+ooaCrtLBCPx0fT8="; + hash = "sha256-CnRB/iS1NZ0Ebsi12wXFvVb0qdv0V9q1oC3nLj13mqs="; }; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) src; + hash = "sha256-50xy1nqDctgz/lXd5JsfaU6yxDoRCQRtiYBwuEuiKFA="; + }; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail "target/release/bcachefs" "target/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/bcachefs" + ''; + nativeBuildInputs = [ pkg-config cargo @@ -45,14 +55,12 @@ stdenv.mkDerivation (finalAttrs: { rustPlatform.bindgenHook makeWrapper installShellFiles - udevCheckHook ]; buildInputs = [ libaio keyutils lz4 - libsodium liburcu libuuid @@ -63,16 +71,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional fuseSupport fuse3; - cargoDeps = rustPlatform.fetchCargoVendor { - src = finalAttrs.src; - hash = "sha256-INnv9kRgM8RRMwBnC6Vwj9S5FfI5gMscU//aNzHF+8w="; - }; - - outputs = [ - "out" - "dkms" - ]; - makeFlags = [ "PREFIX=${placeholder "out"}" "VERSION=${finalAttrs.version}" @@ -84,6 +82,9 @@ stdenv.mkDerivation (finalAttrs: { "PKGCONFIG_UDEVDIR=$(out)/lib/udev" ] ++ lib.optional fuseSupport "BCACHEFS_FUSE=1"; + + enableParallelBuilding = true; + installFlags = [ "install" "install_dkms" @@ -97,18 +98,18 @@ stdenv.mkDerivation (finalAttrs: { # FIXME: Try enabling this once the default linux kernel is at least 6.7 doCheck = false; # needs bcachefs module loaded on builder - doInstallCheck = true; - - postPatch = '' - substituteInPlace Makefile \ - --replace-fail "target/release/bcachefs" "target/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/bcachefs" - ''; - preCheck = lib.optionalString (!fuseSupport) '' rm tests/test_fuse.py ''; checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ]; + doInstallCheck = true; + nativeInstallCheckInputs = [ + udevCheckHook + versionCheckHook + ]; + versionCheckProgramArg = "version"; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd bcachefs \ --bash <($out/sbin/bcachefs completions bash) \ @@ -116,16 +117,16 @@ stdenv.mkDerivation (finalAttrs: { --fish <($out/sbin/bcachefs completions fish) ''; + outputs = [ + "out" + "dkms" + ]; + passthru = { # See NOTE in linux-kernels.nix kernelModule = import ./kernel-module.nix finalAttrs.finalPackage; tests = { - version = testers.testVersion { - package = finalAttrs.finalPackage; - command = "${finalAttrs.meta.mainProgram} version"; - version = "${finalAttrs.version}"; - }; smoke-test = nixosTests.bcachefs; inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti; }; @@ -133,11 +134,10 @@ stdenv.mkDerivation (finalAttrs: { updateScript = nix-update-script { }; }; - enableParallelBuilding = true; - meta = { description = "Tool for managing bcachefs filesystems"; homepage = "https://bcachefs.org/"; + downloadPage = "https://github.com/koverstreet/bcachefs-tools"; license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ davidak