python312Packages.vdf: avoid using pname for src.repo
[NixPkgs.git] / pkgs / os-specific / linux / apfs / default.nix
blobdd617562aa66d7cd191f287d8a4cb7396f820f3b
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , kernel
5 , nixosTests
6 }:
8 let
9   tag = "0.3.11";
11 stdenv.mkDerivation {
12   pname = "apfs";
13   version = "${tag}-${kernel.version}";
15   src = fetchFromGitHub {
16     owner = "linux-apfs";
17     repo = "linux-apfs-rw";
18     rev = "v${tag}";
19     hash = "sha256-Vt63JA9VNIuigSmDp8TuCpShebCsssrBFIsI7HUM5q0=";
20   };
22   hardeningDisable = [ "pic" ];
23   nativeBuildInputs = kernel.moduleBuildDependencies;
25   makeFlags = kernel.makeFlags ++ [
26     "KERNELRELEASE=${kernel.modDirVersion}"
27     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
28     "INSTALL_MOD_PATH=$(out)"
29   ];
31   passthru.tests.apfs = nixosTests.apfs;
33   meta = with lib; {
34     description = "APFS module for linux";
35     longDescription = ''
36       The Apple File System (APFS) is the copy-on-write filesystem currently
37       used on all Apple devices. This module provides a degree of experimental
38       support on Linux.
39       If you make use of the write support, expect data corruption.
40       Read-only support is somewhat more complete, with sealed volumes,
41       snapshots, and all the missing compression algorithms recently added.
42       Encryption is still not in the works though.
43     '';
44     homepage = "https://github.com/linux-apfs/linux-apfs-rw";
45     license = licenses.gpl2Only;
46     platforms = platforms.linux;
47     maintainers = with maintainers; [ Luflosi ];
48   };