From ad461613d97f974e9e1aa30dc27753aa360476de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 7 Nov 2025 17:32:37 +0100 Subject: [PATCH] gnu: Use self-references to inputs for #:disallowed-references. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows ‘package-input-rewriting’ to operate as expected on these packages. Failing that, rewritten packages would still carry references to non-rewritten packages in #:disallowed-references. * gnu/packages/admin.scm (wpa-supplicant-gui): Use ‘this-package-native-input’ for #:disallowed-references. * gnu/packages/fontutils.scm (freetype): Likewise. * gnu/packages/glib.scm (glib-minimal): Likewise. * gnu/packages/gnome.scm (cogl, gnome-shell): Likewise. * gnu/packages/groff.scm (groff-minimal): Likewise. * gnu/packages/gstreamer.scm (gstreamer): Likewise. * gnu/packages/gtk.scm (gtk+): Likewise. * gnu/packages/inkscape.scm (inkscape/pinned): Likewise. * gnu/packages/java.scm (icedtea-8, openjdk9, openjdk10) (openjdk11): Likewise. * gnu/packages/linux.scm (f2fs-tools/static): Likewise. * gnu/packages/man.scm (man-db): Likewise. * gnu/packages/openldap.scm (389-ds-base): Likewise. * gnu/packages/qt.scm (qtbase-5): Likewise. * gnu/packages/rrdtool.scm (rrdtool): Likewise. * gnu/packages/rust.scm (rust-bootstrapped-package): Likewise. * gnu/packages/statistics.scm (r-with-tests): Likewise. (r-minimal): Likewise. * gnu/packages/texinfo.scm (info-reader): Likewise. * gnu/packages/tls.scm (gnutls): Likewise. (openssl-1.1): Likewise. * gnu/packages/version-control.scm (git-minimal): Likewise. (git): Likewise. (gource): Likewise. * gnu/packages/web.scm (mod-wsgi): Likewise. * gnu/packages/xfce.scm (xfdesktop): Likewise. * gnu/packages/perl.scm (perl-libtime-parsedate): Update comment. * gnu/packages/video.scm (v4l-utils-minimal): Add FIXME comment. Change-Id: I118ecd5894c24c53ec52c9208b0025ccfa3dd68a Signed-off-by: Ludovic Courtès --- gnu/packages/admin.scm | 2 +- gnu/packages/fontutils.scm | 2 +- gnu/packages/glib.scm | 4 ++-- gnu/packages/gnome.scm | 10 +++++----- gnu/packages/groff.scm | 4 ++-- gnu/packages/gstreamer.scm | 2 +- gnu/packages/gtk.scm | 2 +- gnu/packages/inkscape.scm | 3 ++- gnu/packages/java.scm | 20 +++++++++++++------- gnu/packages/linux.scm | 2 +- gnu/packages/man.scm | 4 ++-- gnu/packages/openldap.scm | 4 ++-- gnu/packages/perl.scm | 4 ++-- gnu/packages/qt.scm | 4 ++-- gnu/packages/rrdtool.scm | 2 +- gnu/packages/rust.scm | 2 +- gnu/packages/statistics.scm | 4 ++-- gnu/packages/texinfo.scm | 5 ++--- gnu/packages/tls.scm | 14 +++++++++----- gnu/packages/version-control.scm | 7 ++++--- gnu/packages/video.scm | 2 +- gnu/packages/web.scm | 2 +- gnu/packages/xfce.scm | 4 +++- 23 files changed, 61 insertions(+), 48 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 2f489623b9..39f53dde3d 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2718,7 +2718,7 @@ command.") #:tests? #f ; no tests ;; Make sure the (rarely updated) package 'imagemagick/stable' ;; does not end up in the closure. - #:disallowed-references (list imagemagick/stable) + #:disallowed-references (list (this-package-native-input "imagemagick")) #:modules '((guix build qt-build-system) ((guix build gnu-build-system) #:prefix gnu:) (guix build utils)) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index b2cccdebf3..6bb6f28d6e 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -123,7 +123,7 @@ #$@(if (target-arm32?) (list "CFLAGS=-g -O2 -fno-tree-slp-vectorize") '())) - #:disallowed-references (list pkg-config) + #:disallowed-references (list (this-package-native-input "pkg-config")) #:phases #~(modify-phases %standard-phases (add-after 'install 'remove-reference-to-pkg-config diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 407c46d086..aed634df3c 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2013-2016, 2019-2021, 2025 Ludovic Courtès ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver @@ -272,7 +272,7 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) (arguments (list #:disallowed-references - (cons tzdata-for-tests + (cons (this-package-native-input "tzdata") ;; Verify glib-mkenums, gtester, ... use the cross-compiled ;; python. (if (%current-target-system) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b8304d1cb9..8bf1197469 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6285,7 +6285,7 @@ throughout GNOME for API documentation).") pango wayland)) (arguments - `(#:disallowed-references (,xorg-server-for-tests) + `(#:disallowed-references ,(list (this-package-native-input "xorg-server")) #:configure-flags (list ,(string-append "CFLAGS=-g -O2" " -Wno-error=implicit-function-declaration") @@ -9432,10 +9432,10 @@ properties, screen resolution, and other GNOME parameters.") (build-system meson-build-system) (arguments (let ((disallowed-references - (list (gexp-input glib "bin") - (gexp-input libxslt) - (gexp-input meson) - (gexp-input ruby-sass)))) + (list (gexp-input (this-package-native-input "glib") "bin") + (this-package-native-input "libxslt") + meson + (this-package-native-input "ruby-sass")))) (list #:glib-or-gtk? #t #:disallowed-references disallowed-references diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 7ddbabc249..c06381df6a 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016 Ricardo Wurmus -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2025 Ludovic Courtès ;;; Copyright © 2019, 2020 Efraim Flashner ;;; Copyright © 2019 Eric Bavier ;;; Copyright © 2019 Mathieu Othacehe @@ -143,7 +143,7 @@ is usually the formatter of \"man\" documentation pages.") ("groff" ,groff))) (arguments - `(#:disallowed-references (,perl) + `(#:disallowed-references ,(list (this-package-native-input "perl")) #:configure-flags '("--with-doc=no") diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 7f8e6c159a..1e204f9a03 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -446,7 +446,7 @@ the GStreamer multimedia framework.") "1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw")))) (build-system meson-build-system) (arguments - (list #:disallowed-references (list python) + (list #:disallowed-references (list (this-package-native-input "python")) #:phases #~(modify-phases %standard-phases #$@%common-gstreamer-phases diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f4d0359b14..697b083a33 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1083,7 +1083,7 @@ application suites.") #:modules '((guix build utils) (guix build meson-build-system) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)) - #:disallowed-references (list xorg-server-for-tests) + #:disallowed-references (list (this-package-native-input "xorg-server")) #:configure-flags #~(list "-Dcloudproviders=true" ;for cloud-providers support "-Dcolord=yes" ;for color printing support diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index a06e61294f..02c16b02d3 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -162,7 +162,8 @@ endif()~%~%" (build-system cmake-build-system) (arguments (list - #:disallowed-references (list imagemagick/stable) + #:disallowed-references (list (this-package-native-input "imagemagick")) + #:imported-modules `(,@%cmake-build-system-modules (guix build glib-or-gtk-build-system)) #:modules '((guix build cmake-build-system) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4d3cdef452..235e0b0b8a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -738,7 +738,9 @@ IcedTea build harness.") ((guix build ant-build-system) ,@%default-gnu-imported-modules) - #:disallowed-references ,(list (gexp-input icedtea-7 "jdk")) + #:disallowed-references ,(list (gexp-input + (this-package-native-input "jdk") + "jdk")) ,@(substitute-keyword-arguments (package-arguments icedtea-7) ((#:modules modules) @@ -929,8 +931,9 @@ new Date();")) (ice-9 popen)) #:tests? #f ; require jtreg #:make-flags '("all") - #:disallowed-references ,(list (gexp-input icedtea-8) - (gexp-input icedtea-8 "jdk")) + #:disallowed-references + ,(list (this-package-native-input "icedtea") + (gexp-input (this-package-native-input "icedtea") "jdk")) #:phases (modify-phases %standard-phases @@ -1302,8 +1305,8 @@ new Date();")) (substitute* "make/autoconf/generated-configure.sh" (("-Werror") "")))))) ((#:disallowed-references _ '()) - `(,(gexp-input openjdk9) - ,(gexp-input openjdk9 "jdk"))))) + `(,(this-package-native-input "openjdk9") + ,(gexp-input (this-package-native-input "openjdk9") "jdk"))))) (native-inputs `(("openjdk9" ,openjdk9) ("openjdk9:jdk" ,openjdk9 "jdk") @@ -1348,8 +1351,11 @@ new Date();")) (ice-9 popen) (srfi srfi-1) (srfi srfi-26)) - #:disallowed-references (list (gexp-input openjdk10) - (gexp-input openjdk10 "jdk")) + + #:disallowed-references + (list (this-package-native-input "openjdk") + (gexp-input (this-package-native-input "openjdk") + "jdk")) #:tests? #f ; requires jtreg ;; TODO package jtreg diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ba4dc2927d..ed43e2dd19 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -7914,7 +7914,7 @@ disks and SD cards. This package provides the userland utilities.") (string-append "libblkid_CFLAGS=-I" libuuid "/include/uuid " "-I" libuuid "/include/blkid") (string-append "libblkid_LIBS=-L" libuuid-static "/lib -lblkid"))) - #:disallowed-references (,util-linux) + #:disallowed-references (,(this-package-input "libuuid")) #:make-flags '("LDFLAGS=-all-static") #:phases (modify-phases %standard-phases ; TODO: f2fs phases. diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index b287bc92d5..636bea9a04 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2014, 2015, 2017, 2018, 2021 Ludovic Courtès +;;; Copyright © 2012, 2014-2015, 2017-2018, 2021, 2025 Ludovic Courtès ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Alex Kost @@ -174,7 +174,7 @@ a flexible and convenient way.") '("nroff" "eqn" "neqn" "tbl" "refer" "pic"))) ;; At run time we should refer to GROFF-MINIMAL, not GROFF (the latter ;; pulls in Perl.) - #:disallowed-references (list groff))) + #:disallowed-references (list (this-package-native-input "groff")))) (native-inputs (list pkg-config flex ;; Groff is needed at build time for troff, grops, soelim, etc. diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 83b805e089..a282f5f153 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès +;;; Copyright © 2013-2015, 2019-2020, 2025 Ludovic Courtès ;;; Copyright © 2013, 2023 Andreas Enge ;;; Copyright © 2016, 2021 Leo Famulari ;;; Copyright © 2017, 2018, 2019, 2021, 2022, 2023, 2025 Ricardo Wurmus @@ -255,7 +255,7 @@ servers from Python programs.") (guix build utils)) #:imported-modules `((guix build python-build-system) ,@%default-gnu-imported-modules) - #:disallowed-references (list httpd) + #:disallowed-references (list (this-package-native-input "httpd")) #:configure-flags #~(list ;; Relax gcc-14's strictness. diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3ba4175909..90358e9ee0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012-2017, 2025 Ludovic Courtès ;;; Copyright © 2013, 2019, 2020, 2021 Andreas Enge ;;; Copyright © 2015, 2016, 2017, 2019, 2021, 2022, 2023 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier @@ -14277,7 +14277,7 @@ prop, vhea, vmtx and the reading and writing of all other table types.") `(;; XXX: We'd like to use #:disallowed-references 'perl-build-system' ;; doesn't support it yet. ;; - ;; #:disallowed-references (,tzdata-for-tests) + ;; #:disallowed-references (,(this-package-native-input "tzdata")) #:phases (modify-phases %standard-phases diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index bc0cb5e446..84d928a880 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2023 Andreas Enge ;;; Copyright © 2015, 2025 宋文武 -;;; Copyright © 2015, 2018, 2019, 2020, 2021, 2023 Ludovic Courtès +;;; Copyright © 2015, 2018-2021, 2023, 2025 Ludovic Courtès ;;; Copyright © 2015-2019, 2024, 2025 Efraim Flashner ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2016 Thomas Danckaert @@ -582,7 +582,7 @@ system, and the core design of Django is reused in Grantlee.") ;; TODO Move to ruby@3 on the next rebuild cycle. ruby-2.7)) (arguments - `(#:disallowed-references ,(list python) + `(#:disallowed-references ,(list (this-package-native-input "python")) #:configure-flags (let ((out (assoc-ref %outputs "out"))) (list "-verbose" diff --git a/gnu/packages/rrdtool.scm b/gnu/packages/rrdtool.scm index 56908fa814..fc57b9c6c5 100644 --- a/gnu/packages/rrdtool.scm +++ b/gnu/packages/rrdtool.scm @@ -73,7 +73,7 @@ tzdata-for-tests)) (arguments (list - #:disallowed-references (list (gexp-input tzdata-for-tests)) + #:disallowed-references (list (this-package-native-input "tzdata")) #:phases #~(modify-phases %standard-phases (add-before 'check 'prepare-test-environment diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index b7b7c79032..d0304a3af1 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -124,7 +124,7 @@ (arguments (substitute-keyword-arguments (package-arguments base-rust) ((#:disallowed-references _ '()) - (list base-rust)))) + (list (this-package-native-input "rustc-bootstrap"))))) (native-inputs (modify-inputs (package-native-inputs base-rust) (replace "rustc-bootstrap" base-rust) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 55644b5f56..dc1510310a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -386,7 +386,7 @@ comparison and diagnostics.") (build-system gnu-build-system) (arguments (list - #:disallowed-references `(,tzdata-for-tests) + #:disallowed-references `(,(this-package-native-input "tzdata")) #:make-flags #~(list (string-append "CFLAGS=-g -O2" " -Wno-error=implicit-function-declaration") @@ -748,7 +748,7 @@ posteriors and evidences.") (substitute-keyword-arguments (package-arguments r-with-tests) ((#:tests? #f #f) #f) ((#:disallowed-references refs '()) - (cons perl refs)) + (cons (this-package-native-input "perl") refs)) ((#:configure-flags flags) ;; Do not build the recommended packages. The build system creates ;; random temporary directories and embeds their names in some diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index ea7b54b51d..47d6a689e4 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2013, 2015-2017, 2019, 2022-2023 Ludovic Courtès +;;; Copyright © 2012-2013, 2015-2017, 2019, 2022-2023, 2025 Ludovic Courtès ;;; Copyright © 2014, 2016 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017, 2019, 2022 Efraim Flashner @@ -254,8 +254,7 @@ is on expressing the content semantically, avoiding physical markup commands.") (fold delete (files) '("info" "locale")))) #t)))))) - #:disallowed-references ,(assoc-ref (package-inputs texinfo) - "perl") + #:disallowed-references ,(list (this-package-input "perl")) #:modules ((ice-9 ftw) (srfi srfi-1) ,@%default-gnu-modules))) (synopsis "Standalone Info documentation reader") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index dc49429fb6..6bfaff56b0 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2017, 2019-2024 Ludovic Courtès +;;; Copyright © 2012-2017, 2019-2025 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2013, 2015 Andreas Enge @@ -222,9 +222,13 @@ living in the same process.") (list #:tests? (not (or (%current-target-system) (target-hurd?))) ;; Ensure we don't keep a reference to the tools used for testing. - #:disallowed-references (if (target-hurd?) - '() - (list net-tools iproute socat)) + #:disallowed-references + (if (target-hurd?) + '() + (list (this-package-native-input "net-tools") + (this-package-native-input "iproute2") + (this-package-native-input "socat"))) + #:configure-flags #~(cons* ;; GnuTLS doesn't consult any environment variables to specify @@ -478,7 +482,7 @@ OpenSSL for TARGET." #:test-target "test" ;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure, ;; so we explicitly disallow it here. - #:disallowed-references (list (canonical-package perl)) + #:disallowed-references (list (this-package-native-input "perl")) #:phases #~(modify-phases %standard-phases #$@(if (%current-target-system) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index fcb3125b2f..bff2252a38 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -338,7 +338,8 @@ Python 3.3 and later, rather than on Python 2.") ((guix build gnu-build-system) #:prefix gnu:) ,@%default-gnu-modules) ;; Make sure the full bash does not end up in the final closure. - #:disallowed-references (list bash perl) + #:disallowed-references (list (this-package-native-input "bash") + (this-package-native-input "perl")) #:test-target "test" #:configure-flags #~(cons "--with-gitconfig=/etc/gitconfig" @@ -610,7 +611,7 @@ everything from small to very large projects with speed and efficiency.") (arguments (substitute-keyword-arguments (package-arguments git-minimal) ((#:disallowed-references disallowed-refs ''()) - (delete perl disallowed-refs)) + (delq (this-package-native-input "perl") disallowed-refs)) ((#:make-flags flags #~'()) #~(cons "USE_LIBPCRE2=yes" #$flags)) ((#:configure-flags flags #~'()) @@ -3972,7 +3973,7 @@ be served with a HTTP file server of your choice.") (assoc-ref %build-inputs "boost") "/lib") "--with-tinyxml") - #:disallowed-references (,tzdata-for-tests) + #:disallowed-references ,(list (this-package-native-input "tzdata")) #:phases (modify-phases %standard-phases (add-after 'unpack 'unbundle (lambda _ diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 396a9f11f7..5cd93b219b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -4042,7 +4042,7 @@ be used for realtime video capture via Linux-specific APIs.") #~(modify-phases #$phases (delete 'split))) ((#:disallowed-references _ '()) - (list qtbase qtbase-5)))) + (list qtbase qtbase-5)))) ;FIXME: most likely useless (outputs '("out")) (inputs (modify-inputs (package-inputs v4l-utils) (delete "qtbase"))))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 0da4572b61..8f8a26b17c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -467,7 +467,7 @@ one.") "1zf921nd9xxdvvc8awzzfrljr0n29vi28mlam0jdwvsk0xv4gd7a")))) (build-system gnu-build-system) (arguments - `(#:disallowed-references (,httpd) + `(#:disallowed-references ,(list (this-package-native-input "httpd")) #:tests? #f ; TODO: can't figure out if there are tests #:make-flags (list (string-append "DESTDIR=" diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index bc361dbe53..d3a3b88494 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -1137,7 +1137,9 @@ window manager.") "backgrounds/xfce-verticals.svg")) #t))) - #:disallowed-references (,inkscape/pinned ,imagemagick))) + #:disallowed-references + ,(list (this-package-native-input "inkscape") + (this-package-native-input "imagemagick")))) (native-inputs (list xfce4-dev-tools ;; For our own ‘prepare-background-image’ phase.