From 684496cfb64cd17faf676ea5f6b021a9938f5be7 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Sun, 6 Sep 2020 12:53:49 +0200 Subject: [PATCH] paperless: fix build Paperless was dependent on older older versions of recently updated Python packages. --- .../applications/office/paperless/default.nix | 26 ++++++++-------- .../paperless/python-modules/default.nix | 30 +++++++++++++++++++ 2 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 pkgs/applications/office/paperless/python-modules/default.nix diff --git a/pkgs/applications/office/paperless/default.nix b/pkgs/applications/office/paperless/default.nix index c549b107c54..ebd057da5ce 100644 --- a/pkgs/applications/office/paperless/default.nix +++ b/pkgs/applications/office/paperless/default.nix @@ -106,26 +106,26 @@ let }; python = python3.override { - packageOverrides = self: super: { - # Paperless only supports Django 2.0 - django = django_2_0 super; + packageOverrides = self: super: let + customPkgs = import ./python-modules super fetchFromGitHub; in + { pyocr = pyocrWithUserTesseract super; + + # Paperless only supports Django 2.0 + django = customPkgs.django_2_0; + + # Paperless is incompatible with factory_boy >= 3 + factory_boy = customPkgs.factory_boy_2_12_0; + + # The current version of django_extensions is incompatible with django 2.0 + django_extensions = customPkgs.django_extensions_2_2_8; + # These are pre-release versions, hence they are private to this pkg django-filter = self.callPackage ./python-modules/django-filter.nix {}; django-crispy-forms = self.callPackage ./python-modules/django-crispy-forms.nix {}; }; }; - django_2_0 = pyPkgs: pyPkgs.django_2_2.overrideDerivation (_: rec { - pname = "Django"; - version = "2.0.12"; - name = "${pname}-${version}"; - src = pyPkgs.fetchPypi { - inherit pname version; - sha256 = "15s8z54k0gf9brnz06521bikm60ddw5pn6v3nbvnl47j1jjsvwz2"; - }; - }); - runtimePackages = with python.pkgs; [ dateparser dateutil diff --git a/pkgs/applications/office/paperless/python-modules/default.nix b/pkgs/applications/office/paperless/python-modules/default.nix new file mode 100644 index 00000000000..40a496312fa --- /dev/null +++ b/pkgs/applications/office/paperless/python-modules/default.nix @@ -0,0 +1,30 @@ +pyPkgs: fetchFromGitHub: +{ + django_2_0 = pyPkgs.django_2_2.overridePythonAttrs (old: rec { + version = "2.0.12"; + src = pyPkgs.fetchPypi { + inherit (old) pname; + inherit version; + sha256 = "15s8z54k0gf9brnz06521bikm60ddw5pn6v3nbvnl47j1jjsvwz2"; + }; + }); + + django_extensions_2_2_8 = pyPkgs.django_extensions.overridePythonAttrs (old: rec { + version = "2.2.8"; + src = fetchFromGitHub { + owner = old.pname; + repo = old.pname; + rev = version; + sha256 = "1gd3nykwzh3azq1p9cvgkc3l5dwrv7y86sfjxd9llbyj8ky71iaj"; + }; + }); + + factory_boy_2_12_0 = pyPkgs.factory_boy.overridePythonAttrs (old: rec { + version = "2.12.0"; + src = pyPkgs.fetchPypi { + inherit (old) pname; + inherit version; + sha256 = "0w53hjgag6ad5i2vmrys8ysk54agsqvgbjy9lg8g0d8pi9h8vx7s"; + }; + }); +}