diff options
author | Sisiutl <sisiutl@egregore.fun> | 2024-11-06 21:20:26 +0100 |
---|---|---|
committer | Sisiutl <sisiutl@egregore.fun> | 2024-11-06 21:20:26 +0100 |
commit | f71cc5d8460aa5ccb882af8051a0b999bd9d09f0 (patch) | |
tree | f94508b3e4351c5c928a253347348cefe21d86e3 | |
parent | c61e75be7da2abacd75aaf511efb52fe3ccdc11c (diff) |
add hyprland
-rw-r--r-- | sigils/packages/hyprland.scm | 301 |
1 files changed, 301 insertions, 0 deletions
diff --git a/sigils/packages/hyprland.scm b/sigils/packages/hyprland.scm new file mode 100644 index 0000000..30de71f --- /dev/null +++ b/sigils/packages/hyprland.scm @@ -0,0 +1,301 @@ +(define-module (sigils packages hyprland) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix gexp) + #:use-module ((guix licenses) + #:prefix license:) + #:use-module (guix build-system meson) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages autotools) + #:use-module (gnu packages assembly) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages cmake) + #:use-module (gnu packages build-tools) + #:use-module (gnu packages xml) + #:use-module (gnu packages gcc) + #:use-module (gnu packages wm) + #:use-module (gnu packages pciutils) + #:use-module (gnu packages admin) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gtk) + #:use-module (gnu packages compression) + #:use-module (gnu packages gnome) + #:use-module (gnu packages cpp) + ;; #:use-module (gnu packages bash) + ;; #:use-module (gnu packages base) + #:use-module (gnu packages python)) + +;;; To upstream before the heat death of the universe + +(define-public wayland-next + (package + (inherit wayland) + (name "wayland") + (version "1.23.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/wayland/wayland.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jcjx1r25cyzdckm05wb3n1047ifgrwxh49vdwz4dvygfnvjvll8")))))) + +(define-public libinput-next + (package + (inherit libinput) + (name "libinput") + (version "1.26.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/libinput/libinput.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "010bqvic471prhja1j5xqni9dhqc36ikqpxi8ih0fs13wph70p4s")))))) + +(define-public udis86 + (let ((commit "5336633af70f3917760a6d441ff02d93477b0c86") + (revision "1")) + (package + (name "udis86") + (version (git-version "1.7.2" revision commit)) + (home-page "http://udis86.sourceforge.net/") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/canihavesomecoffee/udis86.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0y5z1169wff578jylpafsww4px4y6gickhcs885a9c660d8xs9qy")))) + (build-system gnu-build-system) + (native-inputs (list pkg-config + autoconf + automake + libtool + python)) + (arguments + (list #:configure-flags + #~(list "--enable-shared" + (string-append "--with-python=" + #$(file-append python "/bin/python3"))))) + (synopsis "Disassembler Library for x86 and x86-64") + (description "Udis86 is a disassembler for the x86 and x86-64 class of +instruction set architectures.") + (license license:bsd-2)))) + +;;; Hyprland + +(define-public hyprutils + (package + (name "hyprutils") + (version "0.2.3") + (home-page "https://hyprland.org/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.hyprland.org/hyprwm/hyprutils") + (commit (string-append "v" version)))) + (sha256 + (base32 "01dh24rf62gb6xm32f7mfv6wx0dxprr1q9y73hvv7xanrjyia2zn")))) + (build-system cmake-build-system) + (native-inputs (list gcc-13 ;; TODO: remove this when GCC 13 is the default + pkg-config)) + (inputs (list pixman)) + (synopsis "Hyprland utilities library used across the ecosystem") + (description "Hyprutils is a small C++ library for utilities used across +the Hypr* ecosystem.") + (license license:bsd-3))) + +(define-public hyprwayland-scanner + (package + (name "hyprwayland-scanner") + (version "0.4.2") + (home-page "https://hyprland.org/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.hyprland.org/hyprwm/hyprwayland-scanner") + (commit (string-append "v" version)))) + (sha256 + (base32 "0r7ay4zjkfyr0xd73wz99qhnqjq7nma98gm51wm9lmai4igw90qw")))) + (build-system cmake-build-system) + (native-inputs (list gcc-13 ;; TODO: remove this when GCC 13 is the default + pkg-config)) + (inputs (list pugixml)) + (arguments (list #:tests? #f)) ;; No tests + (synopsis "A Hyprland implementation of wayland-scanner") + (description "Hyprwayland-scanner automatically generates properly +RAII-ready C++ bindings for Wayland protocols, for either servers or +clients.") + (license license:bsd-3))) + +(define-public aquamarine + (package + (name "aquamarine") + (version "0.4.3") + (home-page "https://hyprland.org/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.hyprland.org/hyprwm/aquamarine") + (commit (string-append "v" version)))) + (sha256 + (base32 "0x1zz1ywchs0awkjkvdgskgqnp6pz5lqwmgr8g0zc0i7inhyg1p3")))) + (build-system cmake-build-system) + (native-inputs (list gcc-13 ;; TODO: remove this when GCC 13 is the default + pkg-config + hyprwayland-scanner)) + (inputs (list wayland-next + libglvnd + mesa + wayland-protocols-next + hyprutils + libdisplay-info + libinput-next + libdrm + pixman + hwdata + libseat)) + (arguments (list #:cmake cmake-3.30 + #:tests? #f)) ;; TODO: tests use wayland yada yada + (synopsis "Lightweight rendering library") + (description "Aquamarine is a very light linux rendering backend +library. It provides basic abstractions for an application to render on a +Wayland session (in a window) or a native DRM session.") + (license license:bsd-3))) + +(define-public hyprland-protocols + (package + (name "hyprland-protocols") + (version "0.4.0") + (home-page "https://hyprland.org/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.hyprland.org/hyprwm/hyprland-protocols") + (commit (string-append "v" version)))) + (sha256 + (base32 "0x86w7z3415qvixfhk9a8v5fnbnxdydzx366qz0mpmfg5h86qyha")))) + (build-system meson-build-system) + (native-inputs (list gcc-13 ;; TODO: remove this when GCC 13 is the default + pkg-config)) + (synopsis "Wayland protocol extensions for Hyprland") + (description "This repository exists in an effort to bridge the gap +between Hyprland and KDE/Gnome's functionality. + +Since wayland-protocols is slow to change (on top of Hyprland not being +allowed to contribute), we have to maintain a set of protocols Hyprland uses +to plumb some things / add a few minor features. Most of the protocols here +are small, hyprland-exclusive plumbing protocols anyways.") + (license license:bsd-3))) + +(define-public hyprlang + (package + (name "hyprlang") + (version "0.4.2") + (home-page "https://hyprland.org/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.hyprland.org/hyprwm/hyprlang") + (commit (string-append "v" version)))) + (sha256 + (base32 "0s9lzp6s28j6liskdxf0xjawnjmcgsdsjf07n5yikbd7x61rd332")))) + (build-system cmake-build-system) + (native-inputs (list gcc-13 ;; TODO: remove this when GCC 13 is the default + pkg-config)) + (synopsis "Hyprland configuration language") + (description "The hypr configuration language is a configuration language +for linux applications.") + (license license:bsd-3))) + +(define-public hyprcursor + (package + (name "hyprcursor") + (version "0.1.10") + (home-page "https://hyprland.org/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.hyprland.org/hyprwm/hyprcursor") + (commit (string-append "v" version)))) + (sha256 + (base32 "1rdn03ln7pqcwp8h4nmi7nc489q8y25dd3v4paq8ykvwzhvs3a1n")))) + (build-system cmake-build-system) + (native-inputs (list gcc-13 ;; TODO: remove this when GCC 13 is the default + pkg-config)) + (inputs (list hyprlang + libzip + cairo + librsvg + tomlplusplus)) + (arguments '(#:tests? #f)) ;; Tests need a loaded cursor theme. TODO: fix + (synopsis "The hyprland cursor format, library and utilities") + (description "Hyprcursor is a new cursor theme format made as a +replacement for XCursor.") + (license license:bsd-3))) + +(define-public hyprland + (package + (name "hyprland") + (version "0.44.1") + (home-page "https://hyprland.org/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.hyprland.org/hyprwm/Hyprland") + (commit (string-append "v" version)))) + (sha256 + (base32 "11vw1h9al4jvqprwbrmxvcpxwhvsjj398wbz4flqbnmxa8idvdq1")))) + (build-system meson-build-system) + (arguments (list #:meson meson-1.5 + #:configure-flags '(list "-Dxwayland=enabled" + "-Dsystemd=disabled"))) + (native-inputs (list gcc-14 ;; TODO: remove this when GCC 14 is the default + pkg-config + cmake-minimal + hyprwayland-scanner)) + (inputs (list wayland-next + aquamarine + wayland-protocols-next + hyprland-protocols + hyprcursor + hyprlang + hyprutils + libglvnd + glib + mesa + cairo + pango + libxkbcommon + libinput-next + udis86 + tomlplusplus + ;; X support + libxcb + xcb-util-errors + xcb-util-wm + libxcursor)) + (synopsis "Independent, dynamic tiling Wayland compositor") + (description "Hyprland is a 100% independent, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.") + (license license:bsd-3))) |