(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-public pixman-0.44.2 (package (inherit pixman) (name "pixman-next") (version "0.44.2") (arguments (list #:configure-flags '(list "-Dtimers=true" "-Dgnuplot=true"))) (source (origin (method url-fetch) (uri (string-append "https://www.cairographics.org/releases/pixman-" version ".tar.gz")) (sha256 (base32 "0riljxqzr1pgbgr7zm0888j74x1pn38r88dra9lsnf53w4f0cjb3")) (patches (origin-patches (package-source pixman))))) (build-system meson:meson-build-system))) (define-public wayland-protocols/1.40 (package (inherit wayland-protocols) (name "wayland-protocols") (version "1.40") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.freedesktop.org/wayland/wayland-protocols") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1lkn4gzpxgz4fg58s694m4g4scxwb1f4icxy72s85psfkzh6g5w1")))))) (define-public wlroots-0.19-dev (package/inherit wlroots (name "wlroots-dev") (version "0.19.0-954dba") (source (origin (inherit (package-source wlroots)) (method git-fetch) (uri (git-reference (url "https://gitlab.freedesktop.org/wlroots/wlroots") (commit "954dba3968c2eea3bf2c21defe01bf540fd102f9"))) (file-name (git-file-name name version)) (sha256 (base32 "16ac4cdlllwv9vw04fxp5c6zf9j88z3xc1v3l88p67ldhz8cw22z")))) (propagated-inputs (modify-inputs (package-propagated-inputs wlroots) (replace "pixman" pixman-0.44.2) (replace "wayland-protocols" wayland-protocols/1.40))))) (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 "aa69ed81b558f74e470e69cdcd442f9048ee624c"))) (sha256 (base32 "0h05qdw97fddmfv6c8cvpq7vc0lw43cw11fdmkbnm7gq53cy9vm8")))) (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")))