From: Dariqq <dariqq@posteo.net>
To: 70282@debbugs.gnu.org
Cc: Dariqq <dariqq@posteo.net>,
Liliana Marie Prikler <liliana.prikler@gmail.com>,
Maxim Cournoyer <maxim.cournoyer@gmail.com>,
Vivien Kraus <vivien@planete-kraus.eu>
Subject: [bug#70282] [PATCH v4] gnu: gnome-shell: Wrap screencast service.
Date: Wed, 8 May 2024 18:33:30 +0000 [thread overview]
Message-ID: <213d475bd6ad3781baf3876e89bd84c18029dc5e.1715193210.git.dariqq@posteo.net> (raw)
In-Reply-To: <cover.1712590252.git.dariqq@posteo.net>
Adjust screencast such that GI_TYPELIB_PATH and GST_PLUGIN_SYSTEM_PATH are set
before starting.
Add all required gstreamer plugins to inputs.
To be able to use it a running pipewire service is needed.
* gnu/packages/gnome.scm (gnome-shell):
[inputs]: Add gst-plugins-good and pipewire.
[#:phases]<'wrap-programs>: Wrap org.gnome.Shell.Screencast.
Change-Id: I2c31bf1bd92e281b86c57b06988c6a3793a58d40
---
Here is v4 which appends the gstreamer plugins to GST_PLUGIN_SYSTEM_PATH, handling the case when getenv returns null. I think the difference between appendending or prepending in this case is not too important as the user GST_PLUGIN_PATH should take precedent. The more important thing is that the plugins are in any plugin path at all.
gnu/packages/gnome.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 92e35e3c5a..4bbff2a89b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9408,6 +9408,7 @@ (define-public gnome-shell
(add-after 'install 'wrap-programs
(lambda* (#:key inputs #:allow-other-keys)
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+ (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
(python-path
(string-join
(filter (lambda (item)
@@ -9427,6 +9428,19 @@ (define-public gnome-shell
"path => imports.gi.GIRepository.Repository."
"prepend_search_path(path));\n"
all)))
+ ;; Screencast requires a pipewire service running
+ ;; (i.e. as provided by home-pipewire-service-type)
+ (substitute* (string-append #$output "/share/gnome-shell/"
+ "org.gnome.Shell.Screencast")
+ (("imports\\.package\\.start" all)
+ (string-append "'" gi-typelib-path "'.split(':').forEach("
+ "path => imports.gi.GIRepository.Repository."
+ "prepend_search_path(path));\n"
+ "imports.gi.GLib.setenv('GST_PLUGIN_SYSTEM_PATH',"
+ "[imports.gi.GLib.getenv('GST_PLUGIN_SYSTEM_PATH'),"
+ "'" gst-plugin-path "'].filter(v => v).join(':'),"
+ "true);\n"
+ all)))
(for-each
(lambda (prog)
(wrap-program (string-append #$output "/bin/" prog)
@@ -9492,6 +9506,7 @@ (define-public gnome-shell
gnome-settings-daemon
graphene
gst-plugins-base
+ gst-plugins-good
ibus
libcanberra
libcroco
@@ -9502,6 +9517,7 @@ (define-public gnome-shell
mesa-headers
mutter
network-manager-applet
+ pipewire
polkit
pulseaudio
python-pygobject
base-commit: 7b7f299bb493e485c5534b8c554e51d4f3a8c026
--
2.41.0
next prev parent reply other threads:[~2024-05-08 18:41 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-08 15:39 [bug#70282] [PATCH 0/2] Fix gnome-shell screenrecorder Dariqq
2024-04-08 15:53 ` [bug#70282] [PATCH 1/2] gnu: gnome-shell: Wrap d-bus services Dariqq
2024-04-08 16:54 ` Liliana Marie Prikler
2024-04-09 15:35 ` Dariqq
2024-04-09 17:04 ` Liliana Marie Prikler
2024-04-10 8:07 ` Dariqq
2024-04-10 18:20 ` Liliana Marie Prikler
2024-04-11 9:04 ` Dariqq
2024-04-08 15:53 ` [bug#70282] [PATCH 2/2] gnu: gnome-essential-extras: Propagate pipewire Dariqq
2024-04-08 16:49 ` Liliana Marie Prikler
2024-04-09 14:05 ` Dariqq
2024-04-12 17:26 ` [bug#70282] [PATCH v2] gnu: gnome-shell: Wrap screencast service Dariqq
2024-04-19 18:51 ` Liliana Marie Prikler
2024-04-20 10:11 ` Dariqq
2024-04-20 10:46 ` Liliana Marie Prikler
2024-04-21 12:37 ` Dariqq
2024-04-21 12:43 ` Liliana Marie Prikler
2024-05-08 12:57 ` [bug#70282] [PATCH v3] " Dariqq
2024-04-21 17:02 ` Dariqq
2024-05-08 17:24 ` Liliana Marie Prikler
2024-05-08 18:33 ` Dariqq [this message]
2024-05-08 19:51 ` [bug#70282] [PATCH v4] " Maxim Cournoyer
2024-05-08 21:18 ` Dariqq
2024-05-08 22:11 ` Liliana Marie Prikler
2024-05-09 8:27 ` Dariqq
2024-05-10 14:59 ` Dariqq
2024-05-10 16:04 ` Liliana Marie Prikler
2024-05-11 8:03 ` Dariqq
2024-05-09 15:30 ` Maxim Cournoyer
2024-05-14 5:34 ` bug#70282: " Liliana Marie Prikler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=213d475bd6ad3781baf3876e89bd84c18029dc5e.1715193210.git.dariqq@posteo.net \
--to=dariqq@posteo.net \
--cc=70282@debbugs.gnu.org \
--cc=liliana.prikler@gmail.com \
--cc=maxim.cournoyer@gmail.com \
--cc=vivien@planete-kraus.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).