1{ lib, buildGoModule, fetchFromGitHub, gnum4, pam, fscrypt-experimental }:
2
3# Don't use this for anything important yet!
4
5buildGoModule rec {
6 pname = "fscrypt";
7 version = "0.3.0";
8
9 src = fetchFromGitHub {
10 owner = "google";
11 repo = "fscrypt";
12 rev = "v${version}";
13 sha256 = "1zdadi9f7wj6kgmmk9zlkpdm1lb3gfiscg9gkqqdql2si7y6g2nq";
14 };
15
16 postPatch = ''
17 substituteInPlace Makefile \
18 --replace 'TAG_VERSION := $(shell git describe --tags)' "" \
19 --replace "/usr/local" "$out"
20 '';
21
22 vendorSha256 = "0yak221mlyfacvlsaq9g3xiyk94n94vqgkbaji8d21pi8hhr38m6";
23
24 doCheck = false;
25
26 nativeBuildInputs = [ gnum4 ];
27 buildInputs = [ pam ];
28
29 buildPhase = ''
30 make
31 '';
32
33 installPhase = ''
34 make install
35 '';
36
37 meta = with lib; {
38 description =
39 "A high-level tool for the management of Linux filesystem encryption";
40 longDescription = ''
41 This tool manages metadata, key generation, key wrapping, PAM integration,
42 and provides a uniform interface for creating and modifying encrypted
43 directories.
44 '';
45 inherit (src.meta) homepage;
46 changelog = "https://github.com/google/fscrypt/releases/tag/v${version}";
47 license = licenses.asl20;
48 platforms = platforms.linux;
49 maintainers = with maintainers; [ primeos ];
50 };
51}