commit 5bc71e03e3286ef05f94460ba912ad74bb11a628 Author: Daniel Ziltener Date: Tue Nov 28 00:00:56 2023 +0100 . diff --git a/packages/hyprland.guix b/packages/hyprland.guix new file mode 100644 index 0000000..71ffc5e --- /dev/null +++ b/packages/hyprland.guix @@ -0,0 +1,47 @@ +(define-module + (gnu packages hyprland) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system meson) + #:use-module (guix licenses)) + +(define-public hyprland + (package + (name "hyprland") + (version "0.32.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprvm/Hyprland") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "asdf")))) + (build-system meson-build-system) + (native-inputs + (list gcc-12 + jq + ninja + meson + pkg-config + wayland-scanner)) + (inputs + (list cairo + git + hyprland-protocols + libGL + libdrm + libinput + libxkbcommon + mesa + udis86 + wayland + wayland-protocols + pango + pciutils + wlroots)) + (home-page "https://www.hyprland.org") + (synopsis "Dynamic tiling Wayland compositor based on wlroots") + (description "Hyprland.") + (license license:bsd-3))) diff --git a/packages/hyprland.scm b/packages/hyprland.scm new file mode 100644 index 0000000..50f266f --- /dev/null +++ b/packages/hyprland.scm @@ -0,0 +1,146 @@ +(define-module + (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 (plain-file "")) + (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)))