[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
10/13: gnu: Add hyprland.
From: |
guix-commits |
Subject: |
10/13: gnu: Add hyprland. |
Date: |
Sun, 8 Dec 2024 02:48:07 -0500 (EST) |
hako pushed a commit to branch master
in repository guix.
commit e629e727a0a0333c9727d2591e97b7dae89b60f4
Author: Hilton Chain <hako@ultrarare.space>
AuthorDate: Wed Nov 6 08:44:51 2024 +0800
gnu: Add hyprland.
* gnu/packages/wm.scm (hyprland): New variable.
Change-Id: Idffb9309f61f30c5523e69bb6313162cff87b275
---
gnu/packages/wm.scm | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
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")
- branch master updated (c09cd73f5c -> f1263f41ed), guix-commits, 2024/12/08
- 13/13: gnu: Add grimblast., guix-commits, 2024/12/08
- 10/13: gnu: Add hyprland.,
guix-commits <=
- 12/13: gnu: Add hyprpicker., guix-commits, 2024/12/08
- 11/13: gnu: Add xdg-desktop-portal-hyprland., guix-commits, 2024/12/08
- 08/13: gnu: Add hyprcursor., guix-commits, 2024/12/08
- 04/13: gnu: Add hyprutils., guix-commits, 2024/12/08
- 05/13: gnu: Add hyprwayland-scanner., guix-commits, 2024/12/08
- 07/13: gnu: Add hyprlang., guix-commits, 2024/12/08
- 09/13: gnu: Add aquamarine., guix-commits, 2024/12/08
- 06/13: gnu: Add hyprland-protocols., guix-commits, 2024/12/08
- 01/13: gnu: make-gitolite: Fix inputs references., guix-commits, 2024/12/08
- 03/13: gnu: Add udis86., guix-commits, 2024/12/08