This commit is contained in:
Daniel Ziltener 2024-03-18 23:45:26 +01:00
parent 4e11610f68
commit 90e2f7ce52
Signed by: zilti
GPG key ID: B38976E82C9DAE42

View file

@ -2,6 +2,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system meson)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@ -11,14 +12,19 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages hardware)
#:use-module (gnu packages image)
@ -26,6 +32,7 @@
#:use-module (gnu packages ninja)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages version-control)
@ -37,6 +44,82 @@
#:use-module (gnu packages wm)
#:use-module (gnu packages xorg))
(define-public cairo ;; SENT to Guix
(package
(name "cairo")
(version "1.18.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
"0r0by563s75xyzz0d0j1nmjqmdrk2x9agk7r57p3v8vqp4v0ffi4"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
#:configure-flags
(list
"-Dgtk_doc=true"
"-Dsymbol-lookup=disabled"
"-Dspectre=disabled"
;; XXX: To be enabled.
;; "--enable-gallium=yes"
;; "--enable-gl=yes"
;; " --enable-glesv2=yes"
;; "--enable-glesv3=yes"
;; "--enable-cogl=yes"
;; "--enable-directfb=yes"
;; "--enable-vg=yes"
)))
(native-inputs
`(,@(if (target-hurd?)
'()
`(("gobject-introspection" ,gobject-introspection)))
("gcc-13" ,gcc-13)
("gtk-doc" ,gtk-doc)
("docbook-xsl" ,docbook-xsl)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(inputs
`(("bash-minimal" ,bash-minimal) ;for glib-or-gtk-wrap
,@(if (target-hurd?)
'()
`(("drm" ,libdrm)))
("ghostscript" ,ghostscript)
("libspectre" ,libspectre)
,@(if (target-hurd?)
'()
`(("poppler" ,poppler)))))
(propagated-inputs
`( ;; ("cogl" ,cogl)
;; ("directfb" ,directfb)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glib" ,glib)
;; ("gtk+" ,gtk+)
("libpng" ,libpng)
;; ("librsvg" ,librsvg)
;; ("opengl" ,mesa)
("pixman" ,pixman)
("x11" ,libx11)
("xcb" ,libxcb)
("xext" ,libxext)
("xrender" ,libxrender)))
(synopsis "Multi-platform 2D graphics library")
(description "Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window System (via
both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
(home-page "https://cairographics.org/")
(license
;; This project is dual-licensed.
(list
license:lgpl2.1+
license:mpl1.1))))
(define-public swayfx
(package
(inherit sway)
@ -72,7 +155,7 @@ adds extra options and effects to the original Sway, such as blur, rounded
corners, shadows, inactive window dimming, etc.")
(license license:expat)))
(define-public tomlplusplus
(define-public tomlplusplus ;; SENT to Guix
(package
(name "tomlplusplus")
(version "3.4.0")
@ -94,10 +177,10 @@ corners, shadows, inactive window dimming, etc.")
(description "Header-only TOML config file parser and serializer for C++17.")
(license license:expat)))
(define-public hwdata
(define-public hwdata ;; SENT to Guix
(package
(name "hwdata")
(version "0.378") ;updated monthly
(version "0.380") ;updated monthly
(source (origin
(method git-fetch)
(uri (git-reference
@ -106,7 +189,7 @@ corners, shadows, inactive window dimming, etc.")
(file-name (git-file-name name version))
(sha256
(base32
"080mzxv2m65kv414yl6kzndsr4j1ax6smw35k0xw10rbhxpp8b30"))))
"1j7lr67ay4nz737cv4y1hiyqdz03zl5c1vdavr7fd05h92sv91i2"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@ -137,7 +220,7 @@ Each database is contained in a specific package output, such as the
(license (list license:gpl2+
license:expat)))) ;XFree86 1.0
(define-public libinput-1.25
(define-public libinput-1.25 ;; SENT to Guix
;; Updating this will rebuild over 700 packages through libinput-minimal.
(package
(name "libinput")
@ -184,7 +267,7 @@ Each database is contained in a specific package output, such as the
other applications that need to directly deal with input devices.")
(license license:x11)))
(define-public libdrm-2.4.120
(define-public libdrm-2.4.120 ;; SENT to Guix
(package
(name "libdrm")
(version "2.4.120")
@ -256,10 +339,41 @@ way. Users create \"virtual planes\" called layers, set KMS properties on them,
and libliftoff will pick hardware planes for these layers if possible.")
(license license:expat)))
(define-public wlroots-0.17.1
(define-public wayland-protocols ;; SENT to Guix
(package
(name "wayland-protocols")
(version "1.33")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/wayland/"
name "/-/releases/" version "/downloads/"
name "-" version ".tar.xz"))
(sha256
(base32
"0flnqfc8npzn6rxsw4afpr8yifwsn5kq81327yh62vhd145wbw4l"))))
(build-system meson-build-system)
(inputs
(list wayland))
(native-inputs (cons* pkg-config python
(if (%current-target-system)
(list pkg-config-for-build
wayland) ; for wayland-scanner
'())))
(synopsis "Wayland protocols")
(description "Wayland-Protocols contains Wayland protocols that add
functionality not available in the Wayland core protocol. Such protocols either
add completely new functionality, or extend the functionality of some other
protocol either in Wayland core, or some other protocol in wayland-protocols.")
(home-page "https://wayland.freedesktop.org")
(properties
'((release-monitoring-url
. "https://wayland.freedesktop.org/releases.html")))
(license license:expat)))
(define-public wlroots-0.17.2
(package
(name "wlroots")
(version "0.17.1")
(version "0.17.2")
(source
(origin
(method git-fetch)
@ -269,7 +383,7 @@ and libliftoff will pick hardware planes for these layers if possible.")
(file-name (git-file-name name version))
(sha256
(base32
"1hj4gq5vx8in65622yvjm8bwqkw2vpc556k9my997a0hn0ricj37"))))
"0y6rrl17as5wb27v66xfgdp0pfwvikqacdlhfc8ib74m9k56mzrr"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@ -331,6 +445,68 @@ and libliftoff will pick hardware planes for these layers if possible.")
(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)))
(define-public wlroots-hyprland
(package
(name "wlroots")
(version "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b")
(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
"0bwpppb86nfjg2lw62y449f9iz2v8djqb8n6g1cn45vqnwj8hxf1"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
'("-Dauto_features=enabled")))
(propagated-inputs
(list ;; As required by wlroots.pc.
eudev
ffmpeg-4
glslang
libxkbcommon
mesa
pixman
libcap
libdisplay-info
libinput-1.25
libliftoff
libpng
libseat
libxkbcommon
mesa
vulkan-loader
wayland
wayland-protocols
xcb-util-errors
xcb-util-renderutil
xcb-util-wm
xorg-server-xwayland))
(inputs
(list libdrm-2.4.120))
(native-inputs
(cons*
`(,hwdata "pnp")
cmake
hwdata
mesa-headers
vulkan-headers
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
@ -404,10 +580,62 @@ Wayland compositor based on wlroots") (description "Hyprland.")
(description "EDID and DisplayID library")
(license license:expat)))
(define-public hyprlang
(package
(name "hyprlang")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprlang")
(commit (string-append "v" version))))
(sha256
(base32
"0f8mahg6d6wylybvh6hgayls57miwwv4w69fbaskd8d7dkg2h7kd"))))
(build-system cmake-build-system)
(native-inputs
(list gcc-13))
(home-page "https://www.hyprland.org")
(synopsis "The official implementation library for the hypr config language.")
(description "The hypr configuration language is an extremely efficient, yet easy to work with, configuration language for linux applications.")
(license license:bsd-3)))
(define-public hyprcursor
(package
(name "hyprcursor")
(version "0.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprcursor")
(commit (string-append "v" version))))
(sha256
(base32
"0bp0y825g9aakh1k2n32n6g7mx40rbn1cay46kqibyvdmvskm4lv"))))
(build-system cmake-build-system)
(native-inputs
(list gcc-13
pkg-config))
(inputs
(list hyprlang
cairo
librsvg
libzip))
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'check))))
(home-page "https://www.hyprland.org")
(synopsis "The hyprland cursor format, library and utilities.")
(description "The hyprland cursor format, library and utilities.")
(license license:bsd-3)))
(define-public hyprland
(package
(name "hyprland")
(version "0.34.0")
(version "0.37.1")
(source
(origin
(method git-fetch)
@ -417,7 +645,7 @@ Wayland compositor based on wlroots") (description "Hyprland.")
(file-name (git-file-name name version))
(sha256
(base32
"0jsqfg8yk2b1z52fmqw1jjn6b8qkfh5x0xk1j0zx7ng4il2f6ajr"))
"1qkiyfcb3y61kwc1gqdsav87299ji7xr5j6zbh8wgam720mgivav"))
(modules '((guix build utils)))
(snippet
#~(begin
@ -454,6 +682,8 @@ Wayland compositor based on wlroots") (description "Hyprland.")
glu
glfw
hyprland-protocols
hyprcursor
hyprlang
libdisplay-info
libglvnd
libinput-1.25
@ -467,7 +697,7 @@ Wayland compositor based on wlroots") (description "Hyprland.")
pciutils
udis86
wayland
wlroots-0.17.1
wlroots-hyprland
xcb-util))
(home-page "https://www.hyprland.org")
(synopsis "Dynamic tiling