diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2024-01-19 23:36:05 +0100 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2024-02-04 21:29:13 +0100 |
commit | 5243985aa2509b7dc3236d88b5c22626e2a76be9 (patch) | |
tree | 8ddc7f58b5fc10a5ea4c039aa50600e9c1e05d48 /gnu/packages/gnome.scm | |
parent | f26235a50cc93abf3b65b188e2c19d996aed646f (diff) | |
download | 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.scm | 28 |
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.") |