diff options
Diffstat (limited to 'pkgs/tools/filesystems')
-rw-r--r-- | pkgs/tools/filesystems/bcachefs-tools/default.nix | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index e6263ca62c6..f6e1cb2e0b1 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -18,20 +18,19 @@ , rustc , rustPlatform , makeWrapper +, writeScript , fuseSupport ? false }: -let - version = "1.3.3"; -in -stdenv.mkDerivation { + +stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - inherit version; + version = "1.3.3"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-73vgwgBqyRLQ/Tts7bl6DhZMOs8ndIOiCke5tN89Wps="; }; @@ -71,7 +70,7 @@ stdenv.mkDerivation { makeFlags = [ "PREFIX=${placeholder "out"}" - "VERSION=${version}" + "VERSION=${finalAttrs.version}" "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" ]; @@ -79,9 +78,30 @@ stdenv.mkDerivation { rm tests/test_fuse.py ''; - passthru.tests = { - smoke-test = nixosTests.bcachefs; - inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti; + passthru = { + tests = { + smoke-test = nixosTests.bcachefs; + + 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; @@ -93,4 +113,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ davidak Madouura ]; platforms = platforms.linux; }; -} +}) |