diff options
author | Hilton Chain <hako@ultrarare.space> | 2024-11-06 08:44:51 +0800 |
---|---|---|
committer | Hilton Chain <hako@ultrarare.space> | 2024-12-08 15:28:43 +0800 |
commit | e629e727a0a0333c9727d2591e97b7dae89b60f4 (patch) | |
tree | 6a32501477f7feb7c99bbc9b6abd67d75852949e | |
parent | 1425466bf6478e5d3f8600f60331e99c1e6ffab3 (diff) | |
download | guix-e629e727a0a0333c9727d2591e97b7dae89b60f4.tar.gz guix-e629e727a0a0333c9727d2591e97b7dae89b60f4.zip |
gnu: Add hyprland.
* gnu/packages/wm.scm (hyprland): New variable.
Change-Id: Idffb9309f61f30c5523e69bb6313162cff87b275
-rw-r--r-- | gnu/packages/wm.scm | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 35685877e8..0e8186e674 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -119,17 +119,21 @@ #:use-module (gnu packages build-tools) #:use-module (gnu packages calendar) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages datastructures) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages engineering) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages fribidi) #:use-module (gnu packages gawk) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -315,6 +319,81 @@ or musca). (home-page "https://herbstluftwm.org") (license license:bsd-2))) +(define-public hyprland + (package + (name "hyprland") + (version "0.44.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/hyprwm/Hyprland" + "/releases/download/v" version + "/source-v" version ".tar.gz")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled sources and hyprpm utility. + (substitute* "CMakeLists.txt" + (("^add_subdirectory\\(hyprpm\\).*") "")) + (for-each delete-file-recursively + '("hyprpm" + "subprojects")))) + (sha256 + (base32 + "0qzwdlj0bwj267285l3gjklhafn3bln90z985yws4j5cbp7bj0d9")))) + (build-system cmake-build-system) + (arguments + (list #:cmake cmake-3.30 + #:tests? #f ;No tests. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/xwayland/Server.cpp" + (("Xwayland( \\{\\})" _ suffix) + (string-append + (search-input-file inputs "bin/Xwayland") + suffix))) + (substitute* (find-files "src" "\\.cpp$") + (("/usr/local(/bin/Hyprland)" _ path) + (string-append #$output path)) + (("/usr") #$output) + (("\\<(addr2line|cat|lspci|nm)\\>" cmd) + (search-input-file + inputs (string-append "bin/" cmd))))))))) + (native-inputs + (list gcc-14 + hyprwayland-scanner + (module-ref (resolve-interface + '(gnu packages commencement)) + 'ld-wrapper) + pkg-config)) + (inputs + (list aquamarine + binutils + cairo + hyprcursor + hyprland-protocols + hyprlang + hyprutils + libinput-minimal + libxcursor + libxkbcommon + mesa + pango + pciutils + udis86 + wayland + wayland-protocols + xcb-util-errors + xcb-util-wm + xorg-server-xwayland)) + (home-page "https://hyprland.org/") + (synopsis "Dynamic tiling Wayland compositor") + (description + "Hyprland is a dynamic tiling Wayland compositor that doesn't sacrifice on +its looks.") + (license license:bsd-3))) + (define-public i3status (package (name "i3status") |