me
/
guix
Archived
1
0
Fork 0

gnu: Split gnome into more meta-packages.

* gnu/packages/gnome.scm (gnome-meta-package): New syntax rule.
(gnome-meta-core-services, gnome-meta-core-shell, gnome-meta-core-utilities)
(gnome-essential-extras): New variables.
(gnome): Implement in terms of the former.
master
Liliana Marie Prikler 2024-02-16 11:53:43 +01:00
parent 622df12ef3
commit b51b2191a9
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
1 changed files with 136 additions and 100 deletions

View File

@ -10154,27 +10154,47 @@ world.")
(home-page "https://wiki.gnome.org/Apps/Weather")
(license license:gpl2+)))
(define-public gnome
(define-syntax gnome-meta-package
(lambda (x)
(syntax-case x ()
((_ field ...)
(with-syntax ((base (datum->syntax x 'base)))
#'(let ((base
(package
(name "gnome")
(name #f) ; we're hidden by default, so don't worry
(version (package-version gnome-shell))
(source #f)
(build-system trivial-build-system)
(arguments '(#:builder (begin (mkdir %output) #t)))
(propagated-inputs
`(,@(if (string-prefix? "x86_64" (%current-system))
;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
;; only works on x86_64, so exclude it on other architectures.
(list eog)
'())
,@(list
;; GNOME-Core-OS-Services.
accountsservice
(arguments
(list #:builder
#~(begin (format (current-warning-port)
"Building ~a is useless. \
Refer to its propagated inputs instead.\n"
#$(package-name this-package))
(mkdir #$output))))
(home-page "https://www.gnome.org")
(synopsis "The GNU desktop environment")
(description "\
GNOME is the graphical desktop for GNU. It includes a wide variety of
applications for browsing the web, editing text and images, creating
documents and diagrams, playing media, scanning, and much more.")
(license license:gpl2+)
(properties `((hidden? . #t))))))
(package (inherit base)
field ...)))))))
(define-public gnome-meta-core-services
(gnome-meta-package
(name "gnome-meta-core-services")
(propagated-inputs (list accountsservice
network-manager
packagekit
upower
;; GNOME-Core-Shell.
adwaita-icon-theme
upower))))
(define-public gnome-meta-core-shell
(gnome-meta-package
(name "gnome-meta-core-shell")
(propagated-inputs (list adwaita-icon-theme
gdm
glib-networking
gnome-backgrounds
@ -10197,9 +10217,19 @@ world.")
mutter
orca
rygel
sushi
;; GNOME-Core-Utilities.
baobab
sushi))))
(define-public gnome-meta-core-utilities
(gnome-meta-package
(name "gnome-meta-core-utilities")
(propagated-inputs
(append
;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
;; only works on x86_64, so exclude it on other architectures.
(if (string-prefix? "x86_64" (%current-system))
(list eog)
'())
(list baobab
cheese
epiphany
evince
@ -10224,38 +10254,44 @@ world.")
totem
tracker-miners
xdg-desktop-portal-gnome
yelp
;; Others.
gnome-online-accounts
hicolor-icon-theme
yelp)))))
;; Packages not part of GNOME proper but that are needed for a good
;; experience. See <https://bugs.gnu.org/39646>.
;; XXX: Find out exactly which ones are needed and why.
at-spi2-core
(define-public gnome-essential-extras
(gnome-meta-package
(name "gnome-essential-extras")
(propagated-inputs (list at-spi2-core
dbus
dconf
desktop-file-utils
font-abattis-cantarell
font-dejavu
gnome-default-applications
gnome-online-accounts
gst-plugins-base
gst-plugins-good
gucharmap
hicolor-icon-theme
pinentry-gnome3
pulseaudio
shared-mime-info
system-config-printer
xdg-user-dirs
yelp
zenity)))
(synopsis "The GNU desktop environment")
(home-page "https://www.gnome.org/")
(description
"GNOME is the graphical desktop for GNU. It includes a wide variety of
applications for browsing the web, editing text and images, creating
documents and diagrams, playing media, scanning, and much more.")
(license license:gpl2+)))
zenity))
(description "This package provides a list of packages required for
a good GNOME experience, mixed from core dependencies and other implicitly
relied-on packages.")))
(define-public gnome
(gnome-meta-package
(name "gnome")
(propagated-inputs
(append-map package-propagated-inputs
(list gnome-meta-core-services
gnome-meta-core-shell
gnome-meta-core-utilities
gnome-essential-extras)))
(properties (list))))
(define-public byzanz
;; The last stable release of Byzanz was in 2011, but there have been many