.
This commit is contained in:
parent
4e11610f68
commit
90e2f7ce52
1 changed files with 317 additions and 87 deletions
|
@ -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,83 +339,176 @@ 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 "wlroots")
|
||||
(version "0.17.1")
|
||||
(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
|
||||
"1hj4gq5vx8in65622yvjm8bwqkw2vpc556k9my997a0hn0ricj37"))))
|
||||
(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)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("-Dauto_features=enabled")
|
||||
#: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
|
||||
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
|
||||
(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.2")
|
||||
(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
|
||||
"0y6rrl17as5wb27v66xfgdp0pfwvikqacdlhfc8ib74m9k56mzrr"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("-Dauto_features=enabled")
|
||||
#: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
|
||||
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
|
||||
(description "wlroots is a set of pluggable, composable, unopinionated
|
||||
modules for building a Wayland compositor.")
|
||||
(license license:expat))) ; MIT license
|
||||
(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
|
||||
|
||||
(define-public hyprland-protocols
|
||||
(package
|
||||
|
@ -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
|
||||
|
@ -434,11 +662,11 @@ Wayland compositor based on wlroots") (description "Hyprland.")
|
|||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure
|
||||
'pre-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(system "patch -p1 -i nix/patches/meson-build.patch")
|
||||
(system "cat src/meson.build"))))))
|
||||
(add-before 'configure
|
||||
'pre-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(system "patch -p1 -i nix/patches/meson-build.patch")
|
||||
(system "cat src/meson.build"))))))
|
||||
(native-inputs
|
||||
(list gcc-13
|
||||
cmake
|
||||
|
@ -454,6 +682,8 @@ Wayland compositor based on wlroots") (description "Hyprland.")
|
|||
glu
|
||||
glfw
|
||||
hyprland-protocols
|
||||
hyprcursor
|
||||
hyprlang
|
||||
libdisplay-info
|
||||
libglvnd
|
||||
libinput-1.25
|
||||
|
@ -467,10 +697,10 @@ 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
|
||||
Wayland compositor based on wlroots")
|
||||
(description "Hyprland.")
|
||||
(license license:bsd-3)))
|
||||
(license license:bsd-3)))
|
||||
|
|
Loading…
Reference in a new issue