[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-pa
From: |
Maxim Cournoyer |
Subject: |
[bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages. |
Date: |
Fri, 16 Feb 2024 14:44:27 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> * 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.
> ---
> gnu/packages/gnome.scm | 179 ++++++++++++++++++++++++-----------------
> 1 file changed, 105 insertions(+), 74 deletions(-)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 7397148c2b..4fde75f612 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -10154,52 +10154,76 @@ (define-public gnome-weather
> (home-page "https://wiki.gnome.org/Apps/Weather")
> (license license:gpl2+)))
>
> -(define-public gnome
> +(define-syntax-rule (gnome-meta-package %name propagate)
It'd be nice to allow any kind of extra fields to be appended to the
package definition, as done e.g. for the make-openjdk syntax.
> (package
> - (name "gnome")
> + (name %name)
Nitpick: I'd use name*, as %name is often associated with globals in Guix.
> (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
> - network-manager
> - packagekit
> - upower
> - ;; GNOME-Core-Shell.
> - 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
> - ;; GNOME-Core-Utilities.
> - baobab
> + (arguments
> + (list #:builder
> + #~(begin
> + (format (current-warning-port)
> + "Building ~a is useless. \
> +Refer to its propagated inputs instead.\n"
> + #$name)
> + (mkdir #$output))))
> + (propagated-inputs propagate)
> + (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
I think it's misleading to associate GNOME with GNU at this point in
time. They aren't even a GNU project anymore.
> +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)))))
> +
> +(define-public gnome-meta-core-services
> + (gnome-meta-package
> + "gnome-meta-core-services"
> + (list accountsservice
> + network-manager
> + packagekit
> + upower)))
> +
> +(define-public gnome-meta-core-shell
> + (gnome-meta-package
> + "gnome-meta-core-shell"
> + (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
> + "gnome-meta-core-utilities"
> + (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 +10248,45 @@ (define-public gnome
> 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
> -documents and diagrams, playing media, scanning, and much more.")
> - (license license:gpl2+)))
> + yelp))))
> +
> +(define-public gnome-essential-extras
> + (package
> + (inherit
> + (gnome-meta-package
> + "gnome-essential-extras"
> + (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
> + (package
> + (inherit (gnome-meta-package "gnome"
> + (append-map package-propagated-inputs
> + (list gnome-meta-core-services
> + gnome-meta-core-shell
> + gnome-meta-core-utilities
> + gnome-essential-extras))))
> + (properties (list))))
With the make-openjdk like change I suggested above, this could be
expressed without using inherit as:
--8<---------------cut here---------------start------------->8---
(define-public gnome
(gnome-meta-package
"gnome"
(append-map package-propagated-inputs
(list gnome-meta-core-services
gnome-meta-core-shell
gnome-meta-core-utilities
gnome-essential-extras))
(properties '())))
--8<---------------cut here---------------end--------------->8---
which I find more pleasing to read.
Otherwise,
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
--
Thanks,
Maxim
- [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages., Liliana Marie Prikler, 2024/02/16
- [bug#68716] [PATCH gnome-team v4 2/7] gnu: gnome: Add core packages for GNOME 44., Liliana Marie Prikler, 2024/02/16
- [bug#68716] [PATCH gnome-team v4 4/7] services: Extend udev capabilities of gnome-desktop-service., Vivien Kraus, 2024/02/16
- [bug#68716] [PATCH gnome-team v4 6/7] services: desktop: Remove unused imports., Liliana Marie Prikler, 2024/02/16
- [bug#68716] [PATCH gnome-team v4 3/7] services: Modularise gnome-desktop-configuration., Liliana Marie Prikler, 2024/02/16
- [bug#68716] [PATCH gnome-team v4 5/7] services: Extend polkit capabilities of gnome-desktop-service., Liliana Marie Prikler, 2024/02/16
- [bug#68716] [PATCH gnome-team v4 7/7] gnu: Deprecate gnome meta-package., Liliana Marie Prikler, 2024/02/16
- [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages.,
Maxim Cournoyer <=