(define-module (ruther packages wayland)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages wm)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module ((guix build-system gnu) #:prefix gnu:)
#:use-module ((guix build-system meson) #:prefix meson:)
#:use-module ((guix build-system python) #:prefix python:)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download))
(define-public dmenu-wl
(package
(name "dmenu-wl")
(version "2023.05.18")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/nyyManni/dmenu-wayland")
(commit "a380201dff5bfac2dace553d7eaedb6cea6855f9")))
(sha256
(base32 "1d920lzgchqgp9j72hg61qnwr5cbf3knwrn1kwxlqq4id59nz8bn"))))
(build-system meson:meson-build-system)
(native-inputs
(list pkg-config wayland))
(inputs
(list cairo pango glib libxkbcommon
wayland wayland-protocols))
(synopsis "Dmenu for wayland")
(description "Dmenu for Wayland")
(home-page "https://github.com/nyyManni/dmenu-wayland")
(license #f)))
(define-public wayland-1.23
(package
(inherit wayland)
(name "wayland")
(version "1.23.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/" name
"/" name "/-/releases/" version "/downloads/"
name "-" version ".tar.xz"))
(sha256
(base32
"1cjswi1d7hp6lhvcnrdrxry7qhjvdgrn5y3lb5mn4rry9mby3cq5"))))))
(define-public wayland-protocols-1.35
(package/inherit wayland-protocols
(name "wayland-protocols")
(version "1.35")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/wayland/"
name "/-/releases/" version "/downloads/"
name "-" version ".tar.xz"))
(sha256
(base32
"1awm7p1457zwzjhjdhg560hvg30ys8lqlmhw6hcwhg8k51m738ip"))))
(inputs (modify-inputs (package-inputs wayland-protocols)
(replace "wayland" wayland-1.23)))))
(define meson-1.5
(package/inherit meson
(name "meson-next")
(version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
"releases/download/" version "/meson-"
version ".tar.gz"))
(sha256
(base32
"1vab706pw1q17vh9rbsmlirgiji3k6wljl735lxffp95vwx56zjn"))))
(build-system python:python-build-system)))
(define-public wlroots-0.19-dev
(package/inherit wlroots
(name "wlroots-dev")
(version "0.19.0-dev")
(source
(origin
(inherit (package-source wlroots))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/wlroots/wlroots")
(commit "2c64f36e8886d1f26daeb2a4ee79f3f9dd3d4c85")))
(file-name (git-file-name name version))
(sha256
(base32 "0671bgkl66gdw4bsbdi8ddcb5qzm98ykxillza0k2j9nvzfywlbs"))))
(arguments
(substitute-keyword-arguments (package-arguments wlroots-0.18)
((#:meson meson #f) meson-1.5)))))
(define-public (make-dwl-xwayland dwl)
(package/inherit dwl
(inputs
(modify-inputs (package-inputs dwl)
(append xcb-util-wm libx11 xorg-server-xwayland)))
(arguments (substitute-keyword-arguments (package-arguments dwl)
((#:make-flags original-flags)
#~(append '("XWAYLAND = -DXWAYLAND"
"XLIBS = xcb xcb-icccm")
#$original-flags))))))
(define-public dwl-0.7
(package/inherit dwl
(name "dwl")
(version "0.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/dwl/dwl.git")
(commit (string-append "v" version))))
(sha256
(base32 "0404awsx8v9fyk7p2bg3p937sc56ixf8ay465xgvjcnv78hh4apd"))))
;; (native-inputs
;; (modify-inputs (package-native-inputs dwl)
;; (append wayland-1.23)))
(inputs (list wlroots))))
(define-public dwl-0.6
(package/inherit dwl
(version "0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/dwl/dwl.git")
(commit (string-append "v" version))))
(sha256
(base32 "1j7lmp6k80g54hrsmwixh8ahpnbax4khgiybg8lhlvmq93618a3z"))))
(inputs (list wlroots))))
(define-public dwl-0.8-dev
(package/inherit dwl-0.7
(name "dwl-dev")
(version "0.8-dev")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/dwl/dwl.git")
(commit "334bbe6f0f5e4f77789b42ac9e5607d5076aef1b")))
(sha256
(base32 "1wsql3zs0mjndxzhbx84nkimls66l6zql79rb74lghlkwaajzaq9"))))
(inputs (list wlroots-0.19-dev))))
(define-public dwlmsg
(package
(name "dwlmsg")
(version "0.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/notchoc/dwlmsg.git")
(commit "7c9479b05b1ef4c351ddb646308321036bb1db33")))
(sha256
(base32 "1j1x51i698fs1iw7brd7mabpvh8y8i4a3g4vyd7hl024q75jwc9n"))))
(build-system gnu:gnu-build-system)
(inputs
(list wayland wayland-protocols))
(native-inputs
(list pkg-config))
(arguments
(list
#:tests? #f
#:make-flags
`(list
(string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(mkdir-p (string-append #$output "/bin"))
(apply invoke "make" "install" make-flags))))))
(synopsis "Send commands to dwl with ipc patch")
(description "After patching with ipc, this tools allows
for messaging with dwl. There are control commands and build commands")
(license #f)
(home-page "https://codeberg.org/notchoc/dwlmsg")))
(define-public wlopm
(package
(name "wlopm")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~leon_plickat/wlopm")
(commit (string-append "v" version))))
(sha256
(base32 "1qriynl80d5r7arhkiai121l0znadi00q2c8sncnlgv33ra0kici"))))
(build-system gnu:gnu-build-system)
(native-inputs
(list wayland-protocols wayland))
(arguments
`(#:tests? #f
#:make-flags
(list
(string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(synopsis "wlopm - Wayland output power management cli")
(description "wlopm - Wayland output power management
Simple client implementing zwlr-output-power-management-v1.
wlopm is licensed under the GPLv3.")
(license license:gpl3)
(home-page "https://git.sr.ht/~leon_plickat/wlopm")))