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