(define-module (packages hyprland) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix build-system meson) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages build-tools) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages gtk) #:use-module (gnu packages ninja) #:use-module (gnu packages pciutils) #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages version-control) #:use-module (gnu packages xdisorg) #:use-module (gnu packages rust) #:use-module (gnu packages web) #:use-module (gnu packages wm) #:use-module (gnu packages xorg)) (define-public hyprland-protocols (package (name "hyprland-protocols") (version "0.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/hyprwm/hyprland-protocols") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1drjznj7fn6m5m6skhzh0p031cb5x0bb4i56jxnxwpwaa71g1z20")))) (build-system meson-build-system) (home-page "https://www.hyprland.org") (synopsis "Dynamic tiling Wayland compositor based on wlroots") (description "Hyprland.") (license license:bsd-3) )) (define-public udis86 (package (name "udis86") (version "unstable-2022-10-13") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/canihavesomecoffee/udis86") (commit "5336633af70f3917760a6d441ff02d93477b0c86"))) (sha256 (base32 "0y5z1169wff578jylpafsww4px4y6gickhcs885a9c660d8xs9qy")))) (build-system gnu-build-system) (native-inputs (list autoconf automake libtool python-wrapper)) (inputs (list python-wrapper)) (home-page "blah") (synopsis "blub") (description "Disassembler") (license license:bsd-2))) (define-public hyprland (package (name "hyprland") (version "0.32.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/hyprwm/Hyprland") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "17h8gy7wvsxg1ypq70b0cldz6h599xi7fibawlm2g6cvxkmzdwzh")) (modules '((guix build utils))) (patches (find-patch "hyprland-meson-build.patch")) (snippet #~(begin ;;(delete-file-recursively "subprojects/wlroots") ;;(delete-file-recursively "subprojects/udis86") (substitute* "CMakeLists.txt" ((".*subprojects/udis86.*") "\n") ;; ((".*subprojects/wlroots.*") "\n") ;; (("include.ExternalProject.*") "\n") ;; (("")) ;; ((".*\"subprojects/wlroots.*\"") "") ;; (("find_program.WaylandScanner.*") ;; (string-append "set(WaylandScanner '" ;; #$wayland ;; "/bin/wayland-scanner')\n")) ;; (("pixman-1)") "pixman-1 wlroots)")) ;; (substitute* "meson.build" ;; (("wlroots = .*") "wlroots = dependency('wlroots')\n") ;; (("have_xwlr = .*") "have_xwlr = true\n") ;; (("udis = .*") "\n") ;; (("udis86 = .*") "udis86 = dependency('udis86')\n") ;; (("xcb_dep = .*") "xcb_dep = dependency('xcb')\n") ;; ((".*subdirs:.*") "") ;; (("") "")) (substitute* "src/render/OpenGL.cpp" (("/usr") "$out"))))))) (build-system meson-build-system) (arguments '(#:configure-flags '("-DNO_SYSTEMD=true"))) (native-inputs (list gcc-13 jq git ninja mesa-headers meson pkg-config)) (inputs (list cairo egl-wayland glu glfw hyprland-protocols libglvnd libinput libxkbcommon libdrm mesa wayland wayland-protocols pango pciutils udis86 wlroots xcb-util)) (home-page "https://www.hyprland.org") (synopsis "Dynamic tiling Wayland compositor based on wlroots") (description "Hyprland.") (license license:bsd-3)))