diff mbox series

[bug#74223,09/11] gnu: Add xdg-desktop-portal-hyprland.

Message ID 3fd8afbd7d61de3707161cefc1e770882ed09b98.1730877074.git.hako@ultrarare.space
State New
Headers show
Series gnu: Add hyprland. | expand

Commit Message

Hilton Chain Nov. 6, 2024, 7:36 a.m. UTC
From: Ryan Schanzenbacher <ryan@rschanz.org>

* gnu/packages/freedesktop.scm (xdg-desktop-portal-hyprland): New variable.

Co-authored-by: Hilton Chain <hako@ultrarare.space>
Change-Id: If8c413319b089ed5d8d75aa0503f886a81697278
---
 gnu/packages/freedesktop.scm | 52 ++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7969603613..43ebecabbb 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -83,6 +83,7 @@  (define-module (gnu packages freedesktop)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages cryptsetup)
   #:use-module (gnu packages cups)
@@ -141,6 +142,7 @@  (define-module (gnu packages freedesktop)
   #:use-module (gnu packages virtualization)
   #:use-module (gnu packages w3m)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages wm)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -3193,6 +3195,56 @@  (define-public xdg-desktop-portal-gtk
 interfaces.")
     (license license:lgpl2.1+)))
 
+(define-public xdg-desktop-portal-hyprland
+  (package
+    (name "xdg-desktop-portal-hyprland")
+    (version "1.3.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "17ba9jkccyp8gv79ds70khgm5wm6x8zs5m9nkilq4n2j7fsa8cfl"))))
+    (build-system qt-build-system)
+    (arguments
+     (list #:tests? #f                  ;No tests
+           #:qtbase qtbase
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'fix-path
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* (find-files "." "\\.cp?*$")
+                     (("/bin/sh") "sh")
+                     (("\\<(sh|grim|hyprctl|slurp)\\>" _ cmd)
+                      (search-input-file inputs (string-append "bin/" cmd))))
+                   (substitute* "src/shared/ScreencopyShared.cpp"
+                     (("\\<(hyprland-share-picker)\\>" _ cmd)
+                      (string-append #$output "/bin/" cmd))))))))
+    (native-inputs
+     (list gcc-13 hyprwayland-scanner pkg-config))
+    (inputs
+     (list bash-minimal
+           grim
+           hyprland
+           hyprland-protocols
+           hyprlang
+           hyprutils
+           mesa
+           pipewire
+           qtwayland
+           sdbus-c++
+           slurp
+           wayland
+           wayland-protocols))
+    (home-page "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
+    (synopsis "Hyprland implementation of @code{xdg-desktop-portal} backend")
+    (description
+     "This package provides an @code{xdg-desktop-portal} backend for Hyprland.")
+    (license license:bsd-3)))
+
 (define-public xdg-desktop-portal-kde
   (package
     (name "xdg-desktop-portal-kde")