From 3b5297d975efd07e7819f671c14856fd0778870e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Jun 2021 19:22:15 +0200 Subject: [PATCH] gnu: cups-minimal: Never cupsAdminGetServerSettings. * gnu/packages/cups.scm (cups-minimal)[arguments]: Add a new 'never-cupsAdminGetServerSettings phase. --- gnu/packages/cups.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 @@ (define-public cups-minimal #: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"