Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / qMasterPassword / default.nix
blob8ac8ae5f4f55e0ca688461c559ae13f0675b50eb
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , libX11
5 , libXtst
6 , qmake
7 , qtbase
8 , qttools
9 , openssl
10 , libscrypt
11 , wrapQtAppsHook
14 stdenv.mkDerivation rec {
15   pname = "qMasterPassword";
16   version = "1.2.4";
18   src = fetchFromGitHub {
19     owner = "bkueng";
20     repo = pname;
21     rev = "v${version}";
22     sha256 = "sha256-VQ1ZkXaZ5sUbtWa/GreTr5uXvnZ2Go6owJ2ZBK25zns=";
23   };
25   buildInputs = [ qtbase libX11 libXtst openssl libscrypt ];
26   nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
28   # Upstream install is mostly defunct. It hardcodes target.path and doesn't
29   # install anything but the binary.
30   installPhase = if stdenv.isDarwin then ''
31     mkdir -p "$out"/{Applications,bin}
32     mv qMasterPassword.app "$out"/Applications/
33     ln -s ../Applications/qMasterPassword.app/Contents/MacOS/qMasterPassword "$out"/bin/qMasterPassword
34   '' else ''
35     mkdir -p $out/bin
36     mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps,qMasterPassword/translations}
37     mv qMasterPassword $out/bin
38     mv data/qMasterPassword.desktop $out/share/applications
39     mv LICENSE README.md $out/share/doc/qMasterPassword
40     mv data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png
41     mv data/icons/* $out/share/icons/qmasterpassword
42     lrelease ./data/translations/translation_de.ts
43     lrelease ./data/translations/translation_pl.ts
44     mv ./data/translations/translation_de.qm $out/share/qMasterPassword/translations/translation_de.qm
45     mv ./data/translations/translation_pl.qm $out/share/qMasterPassword/translations/translation_pl.qm
46   '';
48   meta = with lib; {
49     description = "Stateless Master Password Manager";
50     longDescription = ''
51       Access all your passwords using only a single master password. But in
52       contrast to other managers it does not store any passwords: Unique
53       passwords are generated from the master password and a site name. This
54       means you automatically get different passwords for each account and
55       there is no password file that can be lost or get stolen. There is also
56       no need to trust any online password service.
57     '';
58     homepage = "https://github.com/bkueng/qMasterPassword";
59     license = licenses.gpl3;
60     maintainers = with lib.maintainers; [ tadeokondrak teutat3s ];
61     platforms = platforms.all;
62   };