aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2024-01-19 23:36:05 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-02-04 21:29:13 +0100
commit5243985aa2509b7dc3236d88b5c22626e2a76be9 (patch)
tree8ddc7f58b5fc10a5ea4c039aa50600e9c1e05d48 /gnu/packages/gnome.scm
parentf26235a50cc93abf3b65b188e2c19d996aed646f (diff)
downloadguix-5243985aa2509b7dc3236d88b5c22626e2a76be9.tar
guix-5243985aa2509b7dc3236d88b5c22626e2a76be9.tar.gz
gnu: gnome-shell-extensions: Wrap the extensions.
The top-level modules that are wrapped are the /extension.js and /prefs.js of every extension sub-directory. The GI_TYPELIB_PATH used contains glib for every extension, and gnome-menus for Applications Menu. * gnu/packages/gnome.scm (gnome-shell-extensions) [#:phases]: Add 'wrap-extensions. [native-inputs]: Add gobject-introspection. [inputs]: Add gnome-menus and glib. [propagated-imputs]: Remove glib. Change-Id: I58b79ca92fbceebb9bbb150102fa428022e3eb63
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm28
1 files changed, 25 insertions, 3 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6919576eae..e98f4ac15f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10726,13 +10726,35 @@ GNOME Shell appearance and extension, etc.")
"1aq1n75m1svsv0ppg66n9qch26rhjxcv3q33a3skf7hsydr5wd4c"))))
(build-system meson-build-system)
(arguments
- '(#:configure-flags '("-Dextension_set=all")))
+ (list
+ #:configure-flags #~'("-Dextension_set=all")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'wrap-extensions
+ (lambda _
+ (use-modules (ice-9 textual-ports)
+ (guix build utils))
+ (for-each
+ (lambda (file-to-wrap)
+ (with-atomic-file-replacement file-to-wrap
+ (lambda (source wrapped)
+ (format wrapped "'~a'.split(':').forEach("
+ (getenv "GI_TYPELIB_PATH"))
+ (display
+ (string-append
+ "path => imports.gi.GIRepository.Repository"
+ ".prepend_search_path(path));\n")
+ wrapped)
+ (dump-port source wrapped))))
+ (find-files "extensions" "(extension|prefs)\\.js")))))))
(native-inputs
(list `(,glib "bin")
gettext-minimal
+ gobject-introspection ; to set GI_TYPELIB_PATH
pkg-config))
- (propagated-inputs
- (list glib))
+ (inputs
+ (list glib
+ gnome-menus)) ; for Applications Menu
(synopsis "Extensions for GNOME Shell")
(description "GNOME Shell extensions modify and extend GNOME Shell
functionality and behavior.")