aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cups.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 1a071a161e..959caa70f6 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -275,6 +275,18 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
#:tests? #f
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'never-cupsAdminGetServerSettings
+ ;; Instead of querying the daemon directly, this part of CUPS assumes
+ ;; that (1) it has access to a cupsd.conf under CUPS_SERVERROOT, and
+ ;; (2) the file's contents apply to the running daemon. (1) is false
+ ;; at least on Guix Systems resulting in extremely long delays when
+ ;; loading the Web interface's /admin page. (2) isn't valid anywhere
+ ;; because it ignores, e.g., -c FILE.
+ ;; Upstream considers this code on ‘life support’ so just neuter it.
+ (lambda _
+ (substitute* "cgi-bin/admin.c"
+ (("!cupsAdminGetServerSettings" match)
+ (string-append "0 && " match)))))
(add-before 'configure 'patch-makedefs
(lambda _
(substitute* "Makedefs.in"