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
parent
622df12ef3
commit
b51b2191a9
|
@ -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
|
||||
|
|
Reference in New Issue