summaryrefslogtreecommitdiff
path: root/sigils/packages/hyprland.scm
diff options
context:
space:
mode:
authorSisiutl <sisiutl@egregore.fun>2024-11-06 21:20:26 +0100
committerSisiutl <sisiutl@egregore.fun>2024-11-06 21:20:26 +0100
commitf71cc5d8460aa5ccb882af8051a0b999bd9d09f0 (patch)
treef94508b3e4351c5c928a253347348cefe21d86e3 /sigils/packages/hyprland.scm
parentc61e75be7da2abacd75aaf511efb52fe3ccdc11c (diff)
add hyprland
Diffstat (limited to 'sigils/packages/hyprland.scm')
-rw-r--r--sigils/packages/hyprland.scm301
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)))