(define-module (ryan-packages freedesktop) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) #:use-module (guix build-system meson) #:use-module (guix build-system qt) #:use-module (guix build-system cmake) #:use-module (guix build utils) #:use-module (guix build glib-or-gtk-build-system) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages gl) #:use-module (gnu packages linux) #:use-module (gnu packages image) #:use-module (gnu packages qt) #:use-module (gnu packages cmake) #:use-module (gnu packages gcc) #:use-module (gnu packages pkg-config) #:use-module (gnu packages freedesktop) #:use-module (gnu packages xorg) #:use-module (gnu packages glib) #:use-module (gnu packages man) #:use-module (rosenthal packages wm) #:use-module (gnu packages wm)) (define-public xdg-desktop-portal-wlr-new (package (inherit xdg-desktop-portal-wlr) (version "0.7.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emersion/xdg-desktop-portal-wlr") (commit (string-append "v" version)))) (sha256 (base32 "1b3hpp3ybjgnnmnwsyb5bsnvz9q5nr3zz0j1alh02g24f68lf00k")) (patches (search-patches "xdg-desktop-portal-wlr-harcoded-length.patch")))) (native-inputs (modify-inputs (package-native-inputs xdg-desktop-portal-wlr) (append wlroots))))) (define-public xdg-desktop-portal-hyprland-ryan (package (name "xdg-desktop-portal-hyprland") (version "1.2.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 "1m82rrir2fg7h2cpch6wm3h1rkpnbh9pawlw1wdknw75mi6139r0")))) (build-system meson-build-system) (arguments (list #:tests? #f #:configure-flags #~(list "-Dsystemd=disabled") #:phases ;; After building the portal, we need to build the share selector using qt #~(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-files inputs (string-append "/bin/" cmd))) (("\\<(hyprctl-share-picker)\\>" _ cmd) (string-append #$output "/bin/" cmd)))))))) (native-inputs (list gcc-13 pkg-config wayland)) (inputs (list bash-minimal grim hyprland hyprland-protocols mesa pipewire qtbase-5 sdbus-c++ slurp wayland-protocols)) (home-page "") (synopsis "test") (description "test") (license license:bsd-3))) (define-public wl-mirror (package (name "wl-mirror") (version "0.13.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Ferdi265/wl-mirror") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 "0vkd73x5r2585s3w1ckvslc2mq9qbzrm5xkwg8gpy9ydaxhn8hmp")))) (inputs (list wayland egl-wayland mesa)) (native-inputs (list pkg-config scdoc wayland-protocols)) (build-system cmake-build-system) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (add-before 'configure 'touch (lambda _ (invoke "touch" "proto/wayland-protocols/.git") (invoke "touch" "proto/wlr-protocols/.git")))))) (home-page "bleh") (synopsis "mirror displays") (description "mirror displays") (license license:expat))) xdg-desktop-portal-hyprland-ryan