all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Liliana Marie Prikler <liliana.prikler@gmail.com>
Cc: rg@raghavgururajan.name, vivien@planete-kraus.eu, 68716@debbugs.gnu.org
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	[thread overview]
Message-ID: <87mss0ry78.fsf@gmail.com> (raw)
In-Reply-To: <5e0b95c296a3abfe2da6c1828dfbbc1a47886083.1708087345.git.liliana.prikler@gmail.com> (Liliana Marie Prikler's message of "Fri, 16 Feb 2024 11:53:43 +0100")

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




  parent reply	other threads:[~2024-02-16 19:47 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-25 16:12 [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Liliana Marie Prikler
2024-01-25 15:35 ` [bug#68716] [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
2024-01-25 17:12   ` Vivien Kraus via Guix-patches via
2024-01-25 17:38     ` Liliana Marie Prikler
2024-01-25 15:55 ` [bug#68716] [PATCH gnome-team RFC 2/3] gnu: Deprecate gnome meta-package Liliana Marie Prikler
2024-01-25 16:06 ` [bug#68716] [PATCH gnome-team RFC 3/3] services: gnome-desktop: Add core packages for GNOME 44 Liliana Marie Prikler
2024-01-26 21:13 ` [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Maxim Cournoyer
2024-02-05 20:00 ` [bug#68716] [PATCH gnome-team v2 0/5] Modularization of the gnome desktop service with udev blocklist Vivien Kraus via Guix-patches via
2024-01-25 15:35   ` [bug#68716] [PATCH gnome-team v2 1/5] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
2024-01-25 15:55   ` [bug#68716] [PATCH gnome-team v2 3/5] gnu: Deprecate gnome meta-package Liliana Marie Prikler
2024-01-25 16:06   ` [bug#68716] [PATCH gnome-team v2 2/5] services: gnome-desktop: Add core packages for GNOME 44 Liliana Marie Prikler
2024-02-05 17:05   ` [bug#68716] [PATCH gnome-team v2 4/5] services: Rename gnome-udev-rules Vivien Kraus via Guix-patches via
2024-02-05 18:30   ` [bug#68716] [PATCH gnome-team v2 5/5] services: gnome: Use a blocklist for udev configurations Vivien Kraus via Guix-patches via
2024-02-05 20:52     ` Liliana Marie Prikler
2024-02-05 23:27 ` [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of " Vivien Kraus via Guix-patches via
2024-01-25 15:35   ` [bug#68716] [PATCH gnome-team v3 1/5] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
2024-01-25 15:55   ` [bug#68716] [PATCH gnome-team v3 3/5] gnu: Deprecate gnome meta-package Liliana Marie Prikler
2024-01-25 16:06   ` [bug#68716] [PATCH gnome-team v3 2/5] services: gnome-desktop: Add core packages for GNOME 44 Liliana Marie Prikler
2024-02-05 17:05   ` [bug#68716] [PATCH gnome-team v3 4/5] services: Rename gnome-udev-rules Vivien Kraus via Guix-patches via
2024-02-05 18:30   ` [bug#68716] [PATCH gnome-team v3 5/5] services: gnome: Use a blocklist for udev configurations Vivien Kraus via Guix-patches via
2024-02-06  5:13   ` [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of " Liliana Marie Prikler
2024-02-07 21:38     ` Vivien Kraus via Guix-patches via
2024-02-16 10:53 ` [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
2024-01-25 15:35   ` [bug#68716] [PATCH v5 3/8] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
2024-01-25 15:55   ` [bug#68716] [PATCH v5 7/8] gnu: Deprecate gnome meta-package Liliana Marie Prikler
2024-02-05 17:05   ` [bug#68716] [PATCH v5 4/8] services: Extend udev capabilities of gnome-desktop-service Vivien Kraus
2024-02-16 11:02   ` [bug#68716] [PATCH v5 2/8] gnu: gnome: Add core packages for GNOME 44 Liliana Marie Prikler
2024-02-16 12:08   ` [bug#68716] [PATCH v5 5/8] services: Extend polkit capabilities of gnome-desktop-service Liliana Marie Prikler
2024-02-16 12:35   ` [bug#68716] [PATCH v5 6/8] services: desktop: Remove unused imports Liliana Marie Prikler
2024-02-17  8:19   ` [bug#68716] [PATCH v5 8/8] gnu: gnome: Update synopsis and description Liliana Marie Prikler
2024-02-24  6:40   ` bug#68716: [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
2024-02-16 10:53 ` [bug#68716] [PATCH gnome-team v4 1/7] " Liliana Marie Prikler
2024-01-25 15:35   ` [bug#68716] [PATCH gnome-team v4 3/7] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
2024-01-25 15:55   ` [bug#68716] [PATCH gnome-team v4 7/7] gnu: Deprecate gnome meta-package Liliana Marie Prikler
2024-02-16 17:44     ` Vivien Kraus via Guix-patches via
2024-02-05 17:05   ` [bug#68716] [PATCH gnome-team v4 4/7] services: Extend udev capabilities of gnome-desktop-service Vivien Kraus
2024-02-16 11:02   ` [bug#68716] [PATCH gnome-team v4 2/7] gnu: gnome: Add core packages for GNOME 44 Liliana Marie Prikler
2024-02-16 12:08   ` [bug#68716] [PATCH gnome-team v4 5/7] services: Extend polkit capabilities of gnome-desktop-service Liliana Marie Prikler
2024-02-16 12:35   ` [bug#68716] [PATCH gnome-team v4 6/7] services: desktop: Remove unused imports Liliana Marie Prikler
2024-02-16 19:44   ` Maxim Cournoyer [this message]
2024-02-16 20:08     ` [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages Liliana Marie Prikler
2024-02-17  7:50       ` Vivien Kraus via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mss0ry78.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=68716@debbugs.gnu.org \
    --cc=liliana.prikler@gmail.com \
    --cc=rg@raghavgururajan.name \
    --cc=vivien@planete-kraus.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.