1{ mkDerivation
2, lib
3, fetchFromGitHub
4, fetchpatch
5, cmake
6, extra-cmake-modules
7, kauth
8, krunner
9, pass
10}:
11
12mkDerivation rec {
13 pname = "krunner-pass";
14 # when upgrading the version, check if cmakeFlags is still needed
15 version = "1.3.0";
16
17 src = fetchFromGitHub {
18 owner = "akermu";
19 repo = "krunner-pass";
20 rev = "v${version}";
21 sha256 = "032fs2174ls545kjixbhzyd65wgxkw4s5vg8b20irc5c9ak3pxm0";
22 };
23
24 buildInputs = [
25 kauth
26 krunner
27 (pass.withExtensions (p: with p; [ pass-otp ]))
28 ];
29
30 nativeBuildInputs = [ cmake extra-cmake-modules ];
31
32 patches = [
33 (fetchpatch {
34 url = "https://github.com/peterhoeg/krunner-pass/commit/be2695f4ae74b0cccec8294defcc92758583d96b.patch";
35 sha256 = "098dqnal57994p51p2srfzg4lgcd6ybp29h037llr9cdv02hdxvl";
36 name = "fix_build.patch";
37 })
38 ./pass-path.patch
39 ];
40
41 CXXFLAGS = [
42 ''-DNIXPKGS_PASS=\"${lib.getBin pass}/bin/pass\"''
43 ];
44
45 cmakeFlags = [
46 # there are *lots* of pointless warnings in v1.3.0
47 "-Wno-dev"
48 # required for kf5auth to work correctly
49 "-DCMAKE_POLICY_DEFAULT_CMP0012=NEW"
50 ];
51
52 meta = with lib; {
53 description = "Integrates krunner with pass the unix standard password manager (https://www.passwordstore.org/)";
54 homepage = "https://github.com/akermu/krunner-pass";
55 license = licenses.gpl3;
56 maintainers = with maintainers; [ ysndr ];
57 platforms = platforms.unix;
58 };
59}