Merge pull request #208723 from gador/paperless-ngx-add-poppler

paperless-ngx: fix build

authored by Luke Granger-Brown and committed by GitHub 5a236902 d77928b9

+17 -10
+11 -10
nixos/modules/services/misc/paperless.nix
··· 212 213 systemd.services.paperless-scheduler = { 214 description = "Paperless Celery Beat"; 215 serviceConfig = defaultServiceConfig // { 216 User = cfg.user; 217 ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO"; 218 Restart = "on-failure"; 219 }; 220 environment = env; 221 - wantedBy = [ "multi-user.target" ]; 222 - wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ]; 223 224 preStart = '' 225 ln -sf ${manage} ${cfg.dataDir}/paperless-manage ··· 248 249 systemd.services.paperless-task-queue = { 250 description = "Paperless Celery Workers"; 251 serviceConfig = defaultServiceConfig // { 252 User = cfg.user; 253 ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO"; ··· 275 276 systemd.services.paperless-consumer = { 277 description = "Paperless document consumer"; 278 serviceConfig = defaultServiceConfig // { 279 User = cfg.user; 280 ExecStart = "${pkg}/bin/paperless-ngx document_consumer"; 281 Restart = "on-failure"; 282 }; 283 environment = env; 284 - # Bind to `paperless-scheduler` so that the consumer never runs 285 - # during migrations 286 - bindsTo = [ "paperless-scheduler.service" ]; 287 - after = [ "paperless-scheduler.service" ]; 288 }; 289 290 systemd.services.paperless-web = { 291 description = "Paperless web server"; 292 serviceConfig = defaultServiceConfig // { 293 User = cfg.user; 294 ExecStart = '' ··· 312 # Allow the web interface to access the private /tmp directory of the server. 313 # This is required to support uploading files via the web interface. 314 unitConfig.JoinsNamespaceOf = "paperless-task-queue.service"; 315 - # Bind to `paperless-scheduler` so that the web server never runs 316 - # during migrations 317 - bindsTo = [ "paperless-scheduler.service" ]; 318 - after = [ "paperless-scheduler.service" ]; 319 }; 320 321 users = optionalAttrs (cfg.user == defaultUser) {
··· 212 213 systemd.services.paperless-scheduler = { 214 description = "Paperless Celery Beat"; 215 + wantedBy = [ "multi-user.target" ]; 216 + wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ]; 217 serviceConfig = defaultServiceConfig // { 218 User = cfg.user; 219 ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO"; 220 Restart = "on-failure"; 221 }; 222 environment = env; 223 224 preStart = '' 225 ln -sf ${manage} ${cfg.dataDir}/paperless-manage ··· 248 249 systemd.services.paperless-task-queue = { 250 description = "Paperless Celery Workers"; 251 + after = [ "paperless-scheduler.service" ]; 252 serviceConfig = defaultServiceConfig // { 253 User = cfg.user; 254 ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO"; ··· 276 277 systemd.services.paperless-consumer = { 278 description = "Paperless document consumer"; 279 + # Bind to `paperless-scheduler` so that the consumer never runs 280 + # during migrations 281 + bindsTo = [ "paperless-scheduler.service" ]; 282 + after = [ "paperless-scheduler.service" ]; 283 serviceConfig = defaultServiceConfig // { 284 User = cfg.user; 285 ExecStart = "${pkg}/bin/paperless-ngx document_consumer"; 286 Restart = "on-failure"; 287 }; 288 environment = env; 289 }; 290 291 systemd.services.paperless-web = { 292 description = "Paperless web server"; 293 + # Bind to `paperless-scheduler` so that the web server never runs 294 + # during migrations 295 + bindsTo = [ "paperless-scheduler.service" ]; 296 + after = [ "paperless-scheduler.service" ]; 297 serviceConfig = defaultServiceConfig // { 298 User = cfg.user; 299 ExecStart = '' ··· 317 # Allow the web interface to access the private /tmp directory of the server. 318 # This is required to support uploading files via the web interface. 319 unitConfig.JoinsNamespaceOf = "paperless-task-queue.service"; 320 }; 321 322 users = optionalAttrs (cfg.user == defaultUser) {
+4
nixos/tests/paperless.nix
··· 26 # Wait until server accepts connections 27 machine.wait_until_succeeds("curl -fs localhost:28981") 28 29 with subtest("Add a document via the web interface"): 30 machine.succeed( 31 "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
··· 26 # Wait until server accepts connections 27 machine.wait_until_succeeds("curl -fs localhost:28981") 28 29 + # Required for consuming documents via the web interface 30 + with subtest("Task-queue gets ready"): 31 + machine.wait_for_unit("paperless-task-queue.service") 32 + 33 with subtest("Add a document via the web interface"): 34 machine.succeed( 35 "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
+2
pkgs/applications/office/paperless-ngx/default.nix
··· 10 , qpdf 11 , tesseract5 12 , unpaper 13 , liberation_ttf 14 , fetchFromGitHub 15 }: ··· 75 qpdf 76 tesseract5 77 unpaper 78 ]; 79 in 80 python.pkgs.pythonPackages.buildPythonApplication rec {
··· 10 , qpdf 11 , tesseract5 12 , unpaper 13 + , poppler_utils 14 , liberation_ttf 15 , fetchFromGitHub 16 }: ··· 76 qpdf 77 tesseract5 78 unpaper 79 + poppler_utils 80 ]; 81 in 82 python.pkgs.pythonPackages.buildPythonApplication rec {