1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 setuptools-scm,
7 django,
8 python-dateutil,
9 freezegun,
10 psycopg2,
11 postgresql,
12 postgresqlTestHook,
13 python,
14}:
15
16buildPythonPackage rec {
17 pname = "django-auditlog";
18 version = "3.0.0";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = "jazzband";
23 repo = "django-auditlog";
24 rev = "v${version}";
25 hash = "sha256-SJ4GJp/gVIxiLbdAj3ZS+weevqIDZCMQnW/pqc5liJU=";
26 };
27
28 nativeBuildInputs = [
29 setuptools
30 setuptools-scm
31 ];
32
33 propagatedBuildInputs = [
34 django
35 python-dateutil
36 ];
37
38 nativeCheckInputs = [
39 freezegun
40 psycopg2
41 postgresql
42 postgresqlTestHook
43 ];
44
45 postgresqlTestUserOptions = "LOGIN SUPERUSER";
46
47 checkPhase = ''
48 runHook preCheck
49
50 # strip escape codes otherwise tests fail
51 # see https://github.com/jazzband/django-auditlog/issues/644
52 TEST_DB_USER=$PGUSER \
53 TEST_DB_HOST=$PGHOST \
54 ${python.interpreter} runtests.py | cat
55
56 runHook postCheck
57 '';
58
59 pythonImportsCheck = [ "auditlog" ];
60
61 meta = with lib; {
62 changelog = "https://github.com/jazzband/django-auditlog/blob/v${version}/CHANGELOG.md";
63 description = "A Django app that keeps a log of changes made to an object";
64 downloadPage = "https://github.com/jazzband/django-auditlog";
65 license = licenses.mit;
66 maintainers = with maintainers; [ leona ];
67 };
68}