diff --git a/pkgs/development/python-modules/django-storages/default.nix b/pkgs/development/python-modules/django-storages/default.nix index 1014efc09e65d..161012236047f 100644 --- a/pkgs/development/python-modules/django-storages/default.nix +++ b/pkgs/development/python-modules/django-storages/default.nix @@ -15,6 +15,8 @@ pythonOlder, rsa, setuptools, + pynacl, + fetchpatch, }: buildPythonPackage rec { @@ -31,9 +33,19 @@ buildPythonPackage rec { hash = "sha256-nlM/XPot3auLzNsnHCVtog2WmiaibDRgbPOw9A5F9QI="; }; - nativeBuildInputs = [ setuptools ]; + patches = [ + # Add Moto 5 support + # https://github.com/jschneier/django-storages/pull/1464 + (fetchpatch { + url = "https://github.com/jschneier/django-storages/commit/e1aedcf2d137f164101d31f2f430f1594eedd78c.patch"; + hash = "sha256-jSb/uJ0RXvPsXl+WUAzAgDvJl9Y3ad2F30X1SbsCc04="; + name = "add_moto_5_support.patch"; + }) + ]; + + build-system = [ setuptools ]; - propagatedBuildInputs = [ django ]; + dependencies = [ django ]; optional-dependencies = { azure = [ azure-storage-blob ]; @@ -52,26 +64,24 @@ buildPythonPackage rec { rsa ] ++ lib.flatten (builtins.attrValues optional-dependencies); + checkInputs = [ pynacl ]; + pythonImportsCheck = [ "storages" ]; env.DJANGO_SETTINGS_MODULE = "tests.settings"; disabledTests = [ # AttributeError: 'str' object has no attribute 'universe_domain' + # https://github.com/jschneier/django-storages/issues/1463 "test_storage_save_gzip" ]; - disabledTestPaths = [ - # ImportError: cannot import name 'mock_s3' from 'moto' - "tests/test_s3.py" - ]; - - meta = with lib; { + meta = { description = "Collection of custom storage backends for Django"; changelog = "https://github.com/jschneier/django-storages/blob/${version}/CHANGELOG.rst"; downloadPage = "https://github.com/jschneier/django-storages/"; homepage = "https://django-storages.readthedocs.io"; - license = licenses.bsd3; - maintainers = with maintainers; [ mmai ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ mmai ]; }; }