1{ lib, fetchFromGitHub, buildPythonPackage
2, lxml, pycryptodomex, construct
3, argon2_cffi, python-dateutil, future
4, python
5}:
6
7buildPythonPackage rec {
8 pname = "pykeepass";
9 version = "4.0.1";
10
11 src = fetchFromGitHub {
12 owner = "libkeepass";
13 repo = "pykeepass";
14 rev = version;
15 sha256 = "sha256-D+loaPBpKdXyiqpdth3ANDjH6IewuKYhj/DzRE2hDn4=";
16 };
17
18 postPatch = ''
19 substituteInPlace setup.py --replace "==" ">="
20 '';
21
22 propagatedBuildInputs = [
23 lxml pycryptodomex construct
24 argon2_cffi python-dateutil future
25 ];
26
27 propagatedNativeBuildInputs = [ argon2_cffi ];
28
29 checkPhase = ''
30 ${python.interpreter} -m unittest tests.tests
31 '';
32
33 meta = with lib; {
34 homepage = "https://github.com/libkeepass/pykeepass";
35 changelog = "https://github.com/libkeepass/pykeepass/blob/${version}/CHANGELOG.rst";
36 description = "Python library to interact with keepass databases (supports KDBX3 and KDBX4)";
37 license = licenses.gpl3Only;
38 maintainers = with maintainers; [ dotlambda ];
39 };
40}