227 lines
6.5 KiB
Scheme
227 lines
6.5 KiB
Scheme
(define-module
|
|
(packages 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 admin)
|
|
#:use-module (gnu packages autotools)
|
|
#:use-module (gnu packages base)
|
|
#:use-module (gnu packages build-tools)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages freedesktop)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages gl)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages image)
|
|
#:use-module (gnu packages linux)
|
|
#: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 pixman
|
|
(package
|
|
(name "pixman")
|
|
(version "0.42.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri
|
|
(string-append
|
|
"https://www.cairographics.org/releases/pixman-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a"))
|
|
(patches
|
|
(search-patches
|
|
"pixman-CVE-2016-5296.patch"))))
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
`(#:configure-flags
|
|
(list
|
|
"--disable-static"
|
|
"--enable-timers"
|
|
"--enable-gnuplot")))
|
|
(native-inputs
|
|
(list pkg-config))
|
|
(inputs
|
|
(list libpng zlib))
|
|
(synopsis "Low-level pixel manipulation library")
|
|
(description "Pixman is a low-level software library for pixel
|
|
manipulation, providing features such as image compositing and trapezoid
|
|
rasterisation.")
|
|
(home-page "http://www.pixman.org/")
|
|
(license license:expat)))
|
|
|
|
(define-public wlroots
|
|
(package
|
|
(name "wlroots")
|
|
(version "0.17.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://gitlab.freedesktop.org/wlroots/wlroots")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "11vb6xjvsjz7j2jkx00ygjp5xi63ni8ydd8wf3s0200ldr4ffjjm"))))
|
|
(build-system meson-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'configure 'hardcode-paths
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(substitute* "xwayland/server.c"
|
|
(("Xwayland") (string-append (assoc-ref inputs
|
|
"xorg-server-xwayland")
|
|
"/bin/Xwayland")))
|
|
#t))
|
|
(add-before 'configure 'fix-meson-file
|
|
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
|
(substitute* "backend/drm/meson.build"
|
|
(("/usr/share/hwdata/pnp.ids")
|
|
(string-append (assoc-ref (or native-inputs inputs) "hwdata")
|
|
"/share/hwdata/pnp.ids"))))))))
|
|
(propagated-inputs
|
|
(list ;; As required by wlroots.pc.
|
|
eudev
|
|
libinput-minimal
|
|
libxkbcommon
|
|
mesa
|
|
pixman
|
|
libseat
|
|
wayland
|
|
wayland-protocols
|
|
xcb-util-errors
|
|
xcb-util-wm
|
|
xorg-server-xwayland))
|
|
(native-inputs
|
|
(cons*
|
|
`(,hwdata "pnp")
|
|
pkg-config
|
|
wayland
|
|
(if (%current-target-system)
|
|
(list pkg-config-for-build)
|
|
'())))
|
|
(home-page "https://gitlab.freedesktop.org/wlroots/wlroots/")
|
|
(synopsis "Pluggable, composable, unopinionated modules for building a
|
|
Wayland compositor")
|
|
(description "wlroots is a set of pluggable, composable, unopinionated
|
|
modules for building a Wayland compositor.")
|
|
(license license:expat))) ; MIT license
|
|
|
|
(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)))
|
|
(snippet
|
|
#~(begin
|
|
(substitute* "src/render/OpenGL.cpp"
|
|
(("/usr") "$out"))))))
|
|
(build-system meson-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'configure
|
|
'pre-configure
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(system "pkg-config --list-all")
|
|
(system "patch -p1 -i nix/patches/meson-build.patch"))))))
|
|
(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)))
|