python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / fs / fscryptctl / package.nix
blobb4ff999b370213397abda8e3ee37ff6911c263c8
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   pandoc,
6 }:
8 stdenv.mkDerivation (finalAttrs: {
9   pname = "fscryptctl";
10   version = "1.2.0";
12   src = fetchFromGitHub {
13     owner = "google";
14     repo = "fscryptctl";
15     rev = "v${finalAttrs.version}";
16     hash = "sha256-5suEdSpX8alDkSnSnyiIjUmZq98eK0ZPVAtDKhOs65c=";
17   };
19   nativeBuildInputs = [ pandoc ];
21   strictDeps = true;
23   makeFlags = [ "PREFIX=${placeholder "out"}" ];
25   meta = {
26     description = "Small C tool for Linux filesystem encryption";
27     mainProgram = "fscryptctl";
28     longDescription = ''
29       fscryptctl is a low-level tool written in C that handles raw keys and
30       manages policies for Linux filesystem encryption, specifically the
31       "fscrypt" kernel interface which is supported by the ext4, f2fs, and
32       UBIFS filesystems.
33       fscryptctl is mainly intended for embedded systems which can't use the
34       full-featured fscrypt tool, or for testing or experimenting with the
35       kernel interface to Linux filesystem encryption. fscryptctl does not
36       handle key generation, key stretching, key wrapping, or PAM integration.
37       Most users should use the fscrypt tool instead, which supports these
38       features and generally is much easier to use.
39       As fscryptctl is intended for advanced users, you should read the kernel
40       documentation for filesystem encryption before using fscryptctl.
41     '';
42     inherit (finalAttrs.src.meta) homepage;
43     changelog = "https://github.com/google/fscryptctl/blob/master/NEWS.md";
44     license = lib.licenses.asl20;
45     platforms = lib.platforms.linux;
46     maintainers = with lib.maintainers; [ primeos ];
47   };