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,108 +10154,144 @@ 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
(package (lambda (x)
(name "gnome") (syntax-case x ()
(version (package-version gnome-shell)) ((_ field ...)
(source #f) (with-syntax ((base (datum->syntax x 'base)))
(build-system trivial-build-system) #'(let ((base
(arguments '(#:builder (begin (mkdir %output) #t))) (package
(propagated-inputs (name #f) ; we're hidden by default, so don't worry
`(,@(if (string-prefix? "x86_64" (%current-system)) (version (package-version gnome-shell))
;; XXX: EoG requires librsvg-next, which depends on Rust, which currently (source #f)
;; only works on x86_64, so exclude it on other architectures. (build-system trivial-build-system)
(list eog) (arguments
'()) (list #:builder
,@(list #~(begin (format (current-warning-port)
;; GNOME-Core-OS-Services. "Building ~a is useless. \
accountsservice Refer to its propagated inputs instead.\n"
network-manager #$(package-name this-package))
packagekit (mkdir #$output))))
upower (home-page "https://www.gnome.org")
;; GNOME-Core-Shell. (synopsis "The GNU desktop environment")
adwaita-icon-theme (description "\
gdm GNOME is the graphical desktop for GNU. It includes a wide variety of
glib-networking
gnome-backgrounds
gnome-bluetooth
gnome-color-manager
gnome-control-center
gnome-desktop
gnome-initial-setup
gnome-keyring
gnome-menus
gnome-session
gnome-settings-daemon
gnome-shell
gnome-shell-extensions
gnome-themes-extra
gnome-user-docs
gnome-user-share
gsettings-desktop-schemas
gvfs
mutter
orca
rygel
sushi
;; GNOME-Core-Utilities.
baobab
cheese
epiphany
evince
file-roller
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-console
gnome-contacts
gnome-disk-utility
gnome-font-viewer
gnome-maps
gnome-music
gnome-photos
gnome-screenshot
gnome-system-monitor
gnome-text-editor
gnome-weather
nautilus
simple-scan
totem
tracker-miners
xdg-desktop-portal-gnome
yelp
;; Others.
gnome-online-accounts
hicolor-icon-theme
;; 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
dbus
dconf
desktop-file-utils
font-abattis-cantarell
font-dejavu
gnome-default-applications
gst-plugins-base
gst-plugins-good
gucharmap
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 applications for browsing the web, editing text and images, creating
documents and diagrams, playing media, scanning, and much more.") documents and diagrams, playing media, scanning, and much more.")
(license license:gpl2+))) (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))))
(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
gnome-bluetooth
gnome-color-manager
gnome-control-center
gnome-desktop
gnome-initial-setup
gnome-keyring
gnome-menus
gnome-session
gnome-settings-daemon
gnome-shell
gnome-shell-extensions
gnome-themes-extra
gnome-user-docs
gnome-user-share
gsettings-desktop-schemas
gvfs
mutter
orca
rygel
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
file-roller
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-console
gnome-contacts
gnome-disk-utility
gnome-font-viewer
gnome-maps
gnome-music
gnome-photos
gnome-screenshot
gnome-system-monitor
gnome-text-editor
gnome-weather
nautilus
simple-scan
totem
tracker-miners
xdg-desktop-portal-gnome
yelp)))))
(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))
(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 (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