about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/office/paperless-ng/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/office/paperless-ng/default.nix44
1 files changed, 29 insertions, 15 deletions
diff --git a/nixpkgs/pkgs/applications/office/paperless-ng/default.nix b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
index 2fcb2388b8c8..e3ca9af422c2 100644
--- a/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
+++ b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchurl
+, fetchpatch
 , nixosTests
 , python3
 , ghostscript
@@ -54,6 +55,15 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     sha256 = "oVSq0AWksuWC81MF5xiZ6ZbdKKtqqphmL+xIzJLaDMw=";
   };
 
+  patches = [
+    # Fix the `slow_write_pdf` test:
+    # https://github.com/NixOS/nixpkgs/issues/136626
+    (fetchpatch {
+      url = "https://github.com/paperless-ngx/paperless-ngx/commit/4fbabe43ea12811864e9676b04d82a82b38e799d.patch";
+      sha256 = "sha256-8ULep5aeW3wJAQGy2OEAjFYybELNq1DzCC1uBrZx36I=";
+    })
+  ];
+
   format = "other";
 
   # Make bind address configurable
@@ -155,34 +165,38 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     zope_interface
   ];
 
-  doCheck = true;
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -r . $out/lib/paperless-ng
+    chmod +x $out/lib/paperless-ng/src/manage.py
+    makeWrapper $out/lib/paperless-ng/src/manage.py $out/bin/paperless-ng \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PATH : "${path}"
+  '';
+
   checkInputs = with py.pkgs.pythonPackages; [
-    pytest
-    pytest-cov
     pytest-django
     pytest-env
     pytest-sugar
     pytest-xdist
     factory_boy
+    pytestCheckHook
   ];
 
+  pytestFlagsArray = [ "src" ];
+
   # The tests require:
   # - PATH with runtime binaries
   # - A temporary HOME directory for gnupg
   # - XDG_DATA_DIRS with test-specific fonts
-  checkPhase = ''
-    pushd src
-    PATH="${path}:$PATH" HOME=$(mktemp -d) XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS" pytest
-    popd
-  '';
+  preCheck = ''
+    export PATH="${path}:$PATH"
+    export HOME=$(mktemp -d)
+    export XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS"
 
-  installPhase = ''
-    mkdir -p $out/lib
-    cp -r . $out/lib/paperless-ng
-    chmod +x $out/lib/paperless-ng/src/manage.py
-    makeWrapper $out/lib/paperless-ng/src/manage.py $out/bin/paperless-ng \
-      --prefix PYTHONPATH : "$PYTHONPATH" \
-      --prefix PATH : "${path}"
+    # Disable unneeded code coverage test
+    substituteInPlace src/setup.cfg \
+      --replace "--cov --cov-report=html" ""
   '';
 
   passthru = {