diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2021-12-15 20:40:09 +0100 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2021-12-31 15:04:18 +0100 |
commit | cefcddf9ef86643c54f4f157ceefaa957569f572 (patch) | |
tree | e2431d86762fc8ec20ad7f50f6fb91b4fb0b8795 | |
parent | 3d85f711f12d410f19bcfb621aa03fb848b7e3d1 (diff) |
gnu: Make GNOME Shell Extensions configurable again.
* gnu/packages/gnome.scm (gnome-shell)[#:phases]: Adjust ‘wrap’ phase, so
that “gnome-extensions-app” gets GI_TYPELIB_PATH set.
Add ‘rewire’ phase to replace the blurb that deprecated commands print in
favour of one that doesn't point towards external packages.
-rw-r--r-- | gnu/packages/gnome.scm | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ffa1a9bbc2..f7f00100b3 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8707,14 +8707,38 @@ properties, screen resolution, and other GNOME parameters.") (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH")) (python-path (getenv "GUIX_PYTHONPATH"))) - (wrap-program (string-append out "/bin/gnome-shell") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))) + (for-each + (lambda (prog) + (wrap-program (string-append out "/bin/" prog) + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) + '("gnome-shell" "gnome-extensions-app")) + (substitute* (string-append out "/share/gnome-shell/" + "org.gnome.Shell.Extensions") + (("imports\\.package\\.start" all) + (string-append "'" gi-typelib-path "'.split(':').forEach(" + "path => imports.gi.GIRepository.Repository." + "prepend_search_path(path));\n" + all))) (for-each (lambda (prog) (wrap-program (string-append out "/bin/" prog) `("GUIX_PYTHONPATH" ":" prefix (,python-path)) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) - '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))))) + '("gnome-shell-perf-tool"))))) + (add-after 'install 'rewire + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each + (lambda (tool) + (call-with-output-file (string-append + (assoc-ref outputs "out") + "/bin/" tool) + (lambda (port) + (format port "#!~a +printf '~a is deprecated. Use the \"gnome-extensions\" CLI or \ +\"gnome-extensions-app\" instead.\\n'" + (search-input-file inputs "bin/bash") + tool)))) + '("gnome-shell-extension-tool" "gnome-shell-extension-prefs")))) (replace 'glib-or-gtk-wrap (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap))) (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest) |