diff options
Diffstat (limited to 'pkgs/tools/filesystems/bcachefs-tools/default.nix')
-rw-r--r-- | pkgs/tools/filesystems/bcachefs-tools/default.nix | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index 81152d144aa..f6e1cb2e0b1 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -12,32 +12,28 @@ , lz4 , attr , udev -, valgrind , nixosTests , fuse3 , cargo , rustc -, coreutils , rustPlatform , makeWrapper +, writeScript , fuseSupport ? false }: -let - rev = "cfa816bf3f823a3bedfedd8e214ea929c5c755fe"; -in stdenv.mkDerivation { + +stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - version = "unstable-2023-06-28"; + version = "1.3.3"; + src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; - inherit rev; - hash = "sha256-XgXUwyZV5N8buYTuiu1Y1ZU3uHXjZ/OZ1kbZ9d6Rt5I="; + rev = "v${finalAttrs.version}"; + hash = "sha256-73vgwgBqyRLQ/Tts7bl6DhZMOs8ndIOiCke5tN89Wps="; }; - # errors on fsck_err function. Maybe miss-detection? - NIX_CFLAGS_COMPILE = "-Wno-error=format-security"; - nativeBuildInputs = [ pkg-config cargo @@ -71,27 +67,42 @@ in stdenv.mkDerivation { doCheck = false; # needs bcachefs module loaded on builder checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ]; - nativeCheckInputs = [ valgrind ]; makeFlags = [ "PREFIX=${placeholder "out"}" - "VERSION=${lib.strings.substring 0 7 rev}" + "VERSION=${finalAttrs.version}" "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" ]; - preCheck = lib.optionalString fuseSupport '' + preCheck = lib.optionalString (!fuseSupport) '' rm tests/test_fuse.py ''; - passthru.tests = { - smoke-test = nixosTests.bcachefs; - inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti; - }; + passthru = { + tests = { + smoke-test = nixosTests.bcachefs; - postFixup = '' - wrapProgram $out/bin/mount.bcachefs \ - --prefix PATH : ${lib.makeBinPath [ coreutils ]} - ''; + inherit (nixosTests.installer) + bcachefsSimple + bcachefsEncrypted + bcachefsMulti + bcachefsLinuxTesting + bcachefsUpgradeToLinuxTesting; + }; + + updateScript = writeScript "update-bcachefs-tools-and-cargo-lock.sh" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl jq common-updater-scripts + res="$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ + -sL "https://api.github.com/repos/${finalAttrs.src.owner}/${finalAttrs.src.repo}/tags?per_page=1")" + + version="$(echo $res | jq '.[0].name | split("v") | .[1]' --raw-output)" + update-source-version ${finalAttrs.pname} "$version" --ignore-same-hash + + curl "https://raw.githubusercontent.com/${finalAttrs.src.owner}/${finalAttrs.src.repo}/v$version/rust-src/Cargo.lock" > \ + "$(git rev-parse --show-toplevel)/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock" + ''; + }; enableParallelBuilding = true; @@ -102,4 +113,4 @@ in stdenv.mkDerivation { maintainers = with maintainers; [ davidak Madouura ]; platforms = platforms.linux; }; -} +}) |