[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#68556] [PATCH gnome-team v6 2/7] gnu: gnome-shell-extensions: Wrap
From: |
Vivien Kraus |
Subject: |
[bug#68556] [PATCH gnome-team v6 2/7] gnu: gnome-shell-extensions: Wrap the extensions. |
Date: |
Fri, 19 Jan 2024 23:36:05 +0100 |
User-agent: |
Evolution 3.48.4 |
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
---
gnu/packages/gnome.scm | 32 +++++++++++++++++++++++++++++---
1 file changed, 29 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6919576eae..b92cea6b17 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10726,13 +10726,39 @@ (define-public gnome-shell-extensions
"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)
+ (let ((input-size
+ (begin
+ (seek source 0 SEEK_END)
+ (ftell source))))
+ (seek source 0 SEEK_SET)
+ (sendfile wrapped source input-size)))))
+ (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.")
--
2.41.0
- [bug#68556] [PATCH gnome-team v6 0/7] Wrap the extensions with (guix build utils) tools, Vivien Kraus, 2024/02/03
- [bug#68556] [PATCH gnome-team v6 6/7] gnu: Remove gnome-shell-extension-transparent-window., Vivien Kraus, 2024/02/03
- [bug#68556] [PATCH gnome-team v6 5/7] gnu: Remove gnome-shell-extension-jiggle., Vivien Kraus, 2024/02/03
- [bug#68556] [PATCH gnome-team v6 7/7] gnu: Remove gnome-shell-extension-sound-output-device-chooser., Vivien Kraus, 2024/02/03
- [bug#68556] [PATCH gnome-team v6 1/7] gnu: gnome-menus: Build GObject Introspection data., Vivien Kraus, 2024/02/03
- [bug#68556] [PATCH gnome-team v6 4/7] gnu: gnome-shell-extension-topicons-redux: Deprecate., Vivien Kraus, 2024/02/03
- [bug#68556] [PATCH gnome-team v6 2/7] gnu: gnome-shell-extensions: Wrap the extensions.,
Vivien Kraus <=
- [bug#68556] [PATCH gnome-team v6 3/7] gnu: gnome-shell-extension-noannoyance: Switch to fork., Vivien Kraus, 2024/02/03