[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
138/169: profiles: Add a gdk-pixbuf-loaders-cache-file hook.
From: |
guix-commits |
Subject: |
138/169: profiles: Add a gdk-pixbuf-loaders-cache-file hook. |
Date: |
Thu, 28 Oct 2021 02:08:58 -0400 (EDT) |
apteryx pushed a commit to branch core-updates-frozen-batched-changes
in repository guix.
commit c790d77886806a1ec2660fe1c2e0d66f97db2c76
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Sat Oct 2 21:28:24 2021 -0400
profiles: Add a gdk-pixbuf-loaders-cache-file hook.
This paves the way toward properly fixing https://issues.guix.gnu.org/50957.
* guix/profiles.scm (gdk-pixbuf-loaders-cache-file): Add procedure...
(%default-profile-hooks): ... and register it as a profile hook.
* guix/status.scm (hook-message): Register it here too.
---
guix/profiles.scm | 29 ++++++++++++++++++++++++++++-
guix/status.scm | 2 ++
2 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 9494684..5686b1f 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2016, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
-;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
@@ -1161,6 +1161,32 @@ MANIFEST. Single-file bundles are required by programs
such as Git and Lynx."
`((type . profile-hook)
(hook . emacs-subdirs))))
+(define (gdk-pixbuf-loaders-cache-file manifest)
+ "Return a derivation that produces a loaders cache file for every gdk-pixbuf
+loaders discovered in MANIFEST."
+ (define gdk-pixbuf ;lazy reference
+ (module-ref (resolve-interface '(gnu packages gtk)) 'gdk-pixbuf))
+
+ (mlet %store-monad ((%gdk-pixbuf? (manifest-lookup-package
+ manifest "gdk-pixbuf"))
+ (gdk-pixbuf-bin -> (file-append gdk-pixbuf "/bin")))
+ (define build
+ (with-imported-modules (source-module-closure
+ '((guix build glib-or-gtk-build-system)))
+ #~(begin
+ (use-modules (guix build glib-or-gtk-build-system))
+ (setenv "PATH" (string-append #$gdk-pixbuf-bin ":" (getenv
"PATH")))
+ (generate-gdk-pixbuf-loaders-cache '#$(manifest-inputs manifest)
+ (list #$output)))))
+ (if %gdk-pixbuf?
+ (gexp->derivation "gdk-pixbuf-loaders-cache-file" build
+ #:local-build? #t
+ #:substitutable? #f
+ #:properties
+ '((type . profile-hook)
+ (hook . gdk-pixbuf-loaders-cache-file)))
+ (return #f))))
+
(define (glib-schemas manifest)
"Return a derivation that unions all schemas from manifest entries and
creates the Glib 'gschemas.compiled' file."
@@ -1672,6 +1698,7 @@ the entries in MANIFEST."
ghc-package-cache-file
ca-certificate-bundle
emacs-subdirs
+ gdk-pixbuf-loaders-cache-file
glib-schemas
gtk-icon-themes
gtk-im-modules
diff --git a/guix/status.scm b/guix/status.scm
index f351a56..eefe183 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -381,6 +381,8 @@ the current build phase."
(G_ "building CA certificate bundle..."))
('emacs-subdirs
(G_ "listing Emacs sub-directories..."))
+ ('gdk-pixbuf-loaders-cache-file
+ (G_ "generating GdkPixbuf loaders cache..."))
('glib-schemas
(G_ "generating GLib schema cache..."))
('gtk-icon-themes
- 130/169: gnu: webkitgtk: Update to 2.34.1., (continued)
- 130/169: gnu: webkitgtk: Update to 2.34.1., guix-commits, 2021/10/28
- 131/169: gnu: pulseaudio: Add doxygen to fix build., guix-commits, 2021/10/28
- 134/169: gnu: llvm: Add make-lld-wrapper, lld-wrapper and lld-as-ld-wrapper., guix-commits, 2021/10/28
- 135/169: gnu: ungoogled-chromium: Use the new lld-as-ld-wrapper., guix-commits, 2021/10/28
- 136/169: gnu: gtk: Add the generate-gdk-pixbuf-loaders-cache-file phase., guix-commits, 2021/10/28
- 137/169: build: glib-or-gtk: Generate the gdk-pixbuf-loaders cache file in a phase., guix-commits, 2021/10/28
- 139/169: gnu: gdk-pixbuf: Add a search path for the loaders cache file., guix-commits, 2021/10/28
- 142/169: gnu: gawk: Use regular bash to cope with test suite failures., guix-commits, 2021/10/28
- 113/169: gnu: gusb-minimal: Introduce minimal variant., guix-commits, 2021/10/28
- 146/169: gnu: nspr: Normalize inputs., guix-commits, 2021/10/28
- 138/169: profiles: Add a gdk-pixbuf-loaders-cache-file hook.,
guix-commits <=
- 143/169: gnu: elogind: Update to 246.10., guix-commits, 2021/10/28
- 153/169: gnu: python-dbus: Update to 1.2.18., guix-commits, 2021/10/28
- 158/169: gnu: python-dateutil: Update to 2.8.2., guix-commits, 2021/10/28
- 161/169: gnu: mesa: Replace obsolete vulkan-overlay-layer build option., guix-commits, 2021/10/28
- 159/169: gnu: gdk-pixbuf: Remove obsolete jasper support., guix-commits, 2021/10/28
- 132/169: gnu: webkitgtk: Add a debug output., guix-commits, 2021/10/28
- 145/169: gnu: mariadb: Only run the main test suite to avoid flaky tests., guix-commits, 2021/10/28
- 156/169: gnu: python-pytest: Update to 6.2.5., guix-commits, 2021/10/28
- 163/169: gnu: zxing-cpp: Update to 1.2.0-0.00783db., guix-commits, 2021/10/28
- 151/169: gnu: curl: Update to 7.79.1., guix-commits, 2021/10/28