summaryrefslogtreecommitdiff
path: root/gnu/packages/freedesktop.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/freedesktop.scm')
-rw-r--r--gnu/packages/freedesktop.scm23
1 files changed, 21 insertions, 2 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 215e9727e2..dcd1870e41 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2387,18 +2387,37 @@ interfaces.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ipg35gv8ja39ijwbyi96qlyq2y1fjdggl40s38rv68bsya8zry1"))))
+ "1ipg35gv8ja39ijwbyi96qlyq2y1fjdggl40s38rv68bsya8zry1"))
+ (patches (search-patches "xdg-desktop-portal-wlr-harcoded-length.patch"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
'("-Dsystemd=disabled"
- "-Dsd-bus-provider=libelogind")))
+ "-Dsd-bus-provider=libelogind")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'hardcode-binaries
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((sh (search-input-file inputs "/bin/sh"))
+ (grim (search-input-file inputs "/bin/grim"))
+ (slurp (search-input-file inputs "/bin/slurp")))
+ (substitute* "src/screenshot/screenshot.c"
+ (("grim") grim)
+ (("slurp") slurp)
+ (("execl\\(\"/bin/sh\", \"/bin/sh\"")
+ (string-append "execl(\"" sh "\", \"" sh "\"")))
+ (substitute* "src/screencast/screencast.c"
+ (("execvp\\(\"sh")
+ (string-append "execvp(\"" sh)))))))))
(native-inputs
(list cmake pkg-config))
(inputs (list elogind
+ bash-minimal
+ grim
iniparser
libinih
pipewire-0.3
+ slurp
wayland
wayland-protocols))
(home-page "https://github.com/emersion/xdg-desktop-portal-wlr")