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