diff options
Diffstat (limited to 'pkgs/development/python-modules/django-import-export/default.nix')
-rw-r--r-- | pkgs/development/python-modules/django-import-export/default.nix | 59 |
1 files changed, 38 insertions, 21 deletions
diff --git a/pkgs/development/python-modules/django-import-export/default.nix b/pkgs/development/python-modules/django-import-export/default.nix index 50e60202dc975..b95ff428d39f7 100644 --- a/pkgs/development/python-modules/django-import-export/default.nix +++ b/pkgs/development/python-modules/django-import-export/default.nix @@ -1,41 +1,60 @@ -{ lib -, buildPythonPackage -, chardet -, diff-match-patch -, django -, fetchFromGitHub -, psycopg2 -, python -, pythonOlder -, pytz -, tablib +{ + lib, + buildPythonPackage, + chardet, + diff-match-patch, + django, + fetchFromGitHub, + psycopg2, + python, + pythonOlder, + pythonRelaxDepsHook, + pytz, + setuptools-scm, + tablib, }: buildPythonPackage rec { pname = "django-import-export"; - version = "3.3.8"; - format = "setuptools"; + version = "4.0.7"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "django-import-export"; - repo = pname; + repo = "django-import-export"; rev = "refs/tags/${version}"; - hash = "sha256-9BsaYLAkd6UvQxMtwk+pI7HyOWNU4rUmingkyemRCz4="; + hash = "sha256-yN47HwIHGciE4w0xN+l/dOsbHNf5DZrYjrmJgZeWlE0="; }; - propagatedBuildInputs = [ + pythonRelaxDeps = [ "tablib" ]; + + build-system = [ setuptools-scm ]; + + nativeBuildInputs = [ pythonRelaxDepsHook ]; + + dependencies = [ diff-match-patch django tablib - ] ++ (with tablib.optional-dependencies; html ++ ods ++ xls ++ xlsx ++ yaml); + ]; + + passthru.optional-dependencies = { + all = [ tablib ] ++ tablib.optional-dependencies.all; + cli = [ tablib ] ++ tablib.optional-dependencies.cli; + ods = [ tablib ] ++ tablib.optional-dependencies.ods; + pandas = [ tablib ] ++ tablib.optional-dependencies.pandas; + xls = [ tablib ] ++ tablib.optional-dependencies.xls; + xlsx = [ tablib ] ++ tablib.optional-dependencies.xlsx; + yaml = [ tablib ] ++ tablib.optional-dependencies.yaml; + }; nativeCheckInputs = [ chardet psycopg2 pytz - ]; + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); checkPhase = '' runHook preCheck @@ -43,9 +62,7 @@ buildPythonPackage rec { runHook postCheck ''; - pythonImportsCheck = [ - "import_export" - ]; + pythonImportsCheck = [ "import_export" ]; meta = with lib; { description = "Django application and library for importing and exporting data with admin integration"; |