Subject: Re: [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages.

From: Liliana Marie Prikler <[email-masked]>
Date: Fri, 16 Feb 2024 21:08:34 +0100

Am Freitag, dem 16.02.2024 um 14:44 -0500 schrieb Maxim Cournoyer:
> Hi,
> 
> Liliana Marie Prikler <[email-masked]> 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.
Thanks for the hint.

> >    (package
> > -    (name "gnome")
> > +    (name %name)
> 
> Nitpick: I'd use name*, as %name is often associated with globals in
> Guix.
I think I'll be using a dummy name instead so that we can use regular
field syntax.

> >      (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.
I took the synopsis and description of the existing GNOME package. 
Feel free to suggest an alternative.

Cheers