all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#68716] [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration.
  2024-01-25 16:12 [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Liliana Marie Prikler
@ 2024-01-25 15:35 ` Liliana Marie Prikler
  2024-01-25 17:12   ` Vivien Kraus via Guix-patches via
  2024-01-25 15:55 ` [bug#68716] [PATCH gnome-team RFC 2/3] gnu: Deprecate gnome meta-package Liliana Marie Prikler
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:35 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

* gnu/services/gnome.scm (%gnome-core-services, %gnome-core-shell)
(%gnome-core-utilities, %gnome-essential-extras): New variables.
(gnome-desktop-configuration): Add ‘core-services’, ‘shell’, ‘utilities’,
and ‘extra-packages’.  Deprecate ‘gnome’.
(gnome-desktop-configuration-core-services, gnome-desktop-configuration-shell)
(gnome-desktop-configuration-utilities)
(gnome-desktop-configuration-extra-packages): Export publicly.
(gnome-udev-rules, gnome-polkit-settings): Adjust accordingly.
(gnome-profile): New variable.
(gnome-desktop-service-type): Adjust accordingly.
---
 gnu/services/desktop.scm | 172 +++++++++++++++++++++++++++++++++++----
 1 file changed, 158 insertions(+), 14 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 5b79fbcda1..86be99252d 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -37,6 +37,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services base)
+  #:use-module (gnu services configuration)
   #:use-module (gnu services dbus)
   #:use-module (gnu services avahi)
   #:use-module (gnu services xorg)
@@ -56,10 +57,16 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages fonts)
+  #:use-module (gnu packages geo)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages xfce)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages xdisorg)
@@ -73,6 +80,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
+  #:use-module (guix diagnostics)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -81,6 +89,7 @@ (define-module (gnu services desktop)
   #:use-module (guix gexp)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-35)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (<upower-configuration>
@@ -137,8 +146,16 @@ (define-module (gnu services desktop)
             cups-pk-helper-service-type
             sane-service-type
 
+            %gnome-core-services
+            %gnome-core-shell
+            %gnome-core-utilities
+            %gnome-essential-extras
             gnome-desktop-configuration
             gnome-desktop-configuration?
+            gnome-desktop-configuration-core-services
+            gnome-desktop-configuration-shell
+            gnome-desktop-configuration-utilities
+            gnome-desktop-configuration-extra-packages
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1382,11 +1399,100 @@ (define sane-service-type
 ;;; GNOME desktop service.
 ;;;
 
-(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
-  make-gnome-desktop-configuration
-  gnome-desktop-configuration?
-  (gnome gnome-desktop-configuration-gnome
-         (default gnome)))
+(define %gnome-core-services
+  (list accountsservice network-manager packagekit upower))
+
+(define %gnome-core-shell
+  (list gdm
+        gnome-backgrounds
+        gnome-bluetooth
+        gnome-color-manager
+        gnome-desktop
+        gnome-initial-setup
+        gnome-keyring
+        gnome-menus
+        gnome-session
+        gnome-settings-daemon
+        gnome-shell-extensions
+        gnome-shell
+        gnome-user-docs
+        gnome-user-share
+        gvfs
+        mutter
+        orca
+        rygel
+        sushi
+        adwaita-icon-theme
+        glib-networking
+        gsettings-desktop-schemas))
+
+(define %gnome-core-utilities
+  (list baobab
+        cheese
+        eog
+        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 %gnome-essential-extras
+  (list at-spi2-core
+        dbus
+        dconf
+        desktop-file-utils
+        font-abattis-cantarell
+        font-dejavu
+        gnome-default-applications      ; XXX: Allow customization by records
+        gst-plugins-base
+        gst-plugins-good
+        gucharmap
+        pinentry-gnome3
+        pulseaudio                      ; XXX: Replace with pipewire
+        shared-mime-info
+        system-config-printer
+        xdg-user-dirs
+        zenity))
+
+(define-maybe/no-serialization package)
+
+(define-configuration/no-serialization gnome-desktop-configuration
+  (core-services
+   (list-of-packages %gnome-core-services)
+   "A list of packages that the GNOME Shell and applications may rely on.")
+  (shell
+   (list-of-packages %gnome-core-shell)
+   "A list of packages that constitute the GNOME Shell, without applications.")
+  (utilities
+   (list-of-packages %gnome-core-utilities)
+   "A list of packages that serve as applications to use on top of the \
+GNOME Shell.")
+  (gnome (maybe-package) "Deprecated.  Do not use.")
+  (extra-packages
+   (list-of-packages %gnome-essential-extras)
+   "A list of GNOME-adjacent packages to also include.  This field is intended
+for users to add their own packages to their GNOME experience.  Note, that it
+already includes some packages that are considered essential by some (most?)
+GNOME users."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1400,18 +1506,56 @@ (define (gnome-packages gnome names)
 
 (define (gnome-udev-rules config)
   "Return the list of GNOME dependencies that provide udev rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome '("gnome-settings-daemon"))))
+  (let* ((gnome (gnome-desktop-configuration-gnome config))
+         (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda
+               ((and pkg (= package-name "gnome-settings-daemon"))
+                (list pkg))
+               (_ #f))
+             shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome '("gnome-settings-daemon")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
 rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome
-                    '("gnome-settings-daemon"
-                      "gnome-control-center"
-                      "gnome-system-monitor"
-                      "gvfs"))))
+  (let ((gnome (gnome-desktop-configuration-gnome config))
+        (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda ((and pkg (= package-name "gvfs")) (list pkg))
+                           (_ #f))
+              shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome
+                             '("gnome-settings-daemon"
+                               "gnome-control-center"
+                               "gnome-system-monitor"
+                               "gvfs")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gvfs"))))))))
+
+(define (gnome-profile config)
+  "Return a list of packages propagated through CONFIG."
+  (append
+   (gnome-desktop-configuration-core-services config)
+   (gnome-desktop-configuration-shell config)
+   (gnome-desktop-configuration-utilities config)
+   (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
+     (if (maybe-value-set? gnome-meta)
+         (begin
+           (warning
+            (gnome-desktop-configuration-source-location config)
+            (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
+           (list gnome-meta))
+         (list)))
+   (gnome-desktop-configuration-extra-packages config)))
 
 (define gnome-desktop-service-type
   (service-type
@@ -1422,7 +1566,7 @@ (define gnome-desktop-service-type
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-                             (compose list gnome-desktop-configuration-gnome))))
+                             gnome-profile)))
    (default-value (gnome-desktop-configuration))
    (description "Run the GNOME desktop environment.")))
 
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v2 1/5] services: Modularise gnome-desktop-configuration.
  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   ` Liliana Marie Prikler
  2024-01-25 15:55   ` [bug#68716] [PATCH gnome-team v2 3/5] gnu: Deprecate gnome meta-package Liliana Marie Prikler
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:35 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

* gnu/services/gnome.scm (%gnome-core-services, %gnome-core-shell)
(%gnome-core-utilities, %gnome-essential-extras): New variables.
(gnome-desktop-configuration): Add ‘core-services’, ‘shell’, ‘utilities’,
and ‘extra-packages’.  Deprecate ‘gnome’.
(gnome-desktop-configuration-core-services, gnome-desktop-configuration-shell)
(gnome-desktop-configuration-utilities)
(gnome-desktop-configuration-extra-packages): Export publicly.
(gnome-udev-rules, gnome-polkit-settings): Adjust accordingly.
(gnome-profile): New variable.
(gnome-desktop-service-type): Adjust accordingly.
---
 gnu/services/desktop.scm | 172 +++++++++++++++++++++++++++++++++++----
 1 file changed, 158 insertions(+), 14 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 5b79fbcda1..86be99252d 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -37,6 +37,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services base)
+  #:use-module (gnu services configuration)
   #:use-module (gnu services dbus)
   #:use-module (gnu services avahi)
   #:use-module (gnu services xorg)
@@ -56,10 +57,16 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages fonts)
+  #:use-module (gnu packages geo)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages xfce)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages xdisorg)
@@ -73,6 +80,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
+  #:use-module (guix diagnostics)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -81,6 +89,7 @@ (define-module (gnu services desktop)
   #:use-module (guix gexp)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-35)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (<upower-configuration>
@@ -137,8 +146,16 @@ (define-module (gnu services desktop)
             cups-pk-helper-service-type
             sane-service-type
 
+            %gnome-core-services
+            %gnome-core-shell
+            %gnome-core-utilities
+            %gnome-essential-extras
             gnome-desktop-configuration
             gnome-desktop-configuration?
+            gnome-desktop-configuration-core-services
+            gnome-desktop-configuration-shell
+            gnome-desktop-configuration-utilities
+            gnome-desktop-configuration-extra-packages
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1382,11 +1399,100 @@ (define sane-service-type
 ;;; GNOME desktop service.
 ;;;
 
-(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
-  make-gnome-desktop-configuration
-  gnome-desktop-configuration?
-  (gnome gnome-desktop-configuration-gnome
-         (default gnome)))
+(define %gnome-core-services
+  (list accountsservice network-manager packagekit upower))
+
+(define %gnome-core-shell
+  (list gdm
+        gnome-backgrounds
+        gnome-bluetooth
+        gnome-color-manager
+        gnome-desktop
+        gnome-initial-setup
+        gnome-keyring
+        gnome-menus
+        gnome-session
+        gnome-settings-daemon
+        gnome-shell-extensions
+        gnome-shell
+        gnome-user-docs
+        gnome-user-share
+        gvfs
+        mutter
+        orca
+        rygel
+        sushi
+        adwaita-icon-theme
+        glib-networking
+        gsettings-desktop-schemas))
+
+(define %gnome-core-utilities
+  (list baobab
+        cheese
+        eog
+        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 %gnome-essential-extras
+  (list at-spi2-core
+        dbus
+        dconf
+        desktop-file-utils
+        font-abattis-cantarell
+        font-dejavu
+        gnome-default-applications      ; XXX: Allow customization by records
+        gst-plugins-base
+        gst-plugins-good
+        gucharmap
+        pinentry-gnome3
+        pulseaudio                      ; XXX: Replace with pipewire
+        shared-mime-info
+        system-config-printer
+        xdg-user-dirs
+        zenity))
+
+(define-maybe/no-serialization package)
+
+(define-configuration/no-serialization gnome-desktop-configuration
+  (core-services
+   (list-of-packages %gnome-core-services)
+   "A list of packages that the GNOME Shell and applications may rely on.")
+  (shell
+   (list-of-packages %gnome-core-shell)
+   "A list of packages that constitute the GNOME Shell, without applications.")
+  (utilities
+   (list-of-packages %gnome-core-utilities)
+   "A list of packages that serve as applications to use on top of the \
+GNOME Shell.")
+  (gnome (maybe-package) "Deprecated.  Do not use.")
+  (extra-packages
+   (list-of-packages %gnome-essential-extras)
+   "A list of GNOME-adjacent packages to also include.  This field is intended
+for users to add their own packages to their GNOME experience.  Note, that it
+already includes some packages that are considered essential by some (most?)
+GNOME users."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1400,18 +1506,56 @@ (define (gnome-packages gnome names)
 
 (define (gnome-udev-rules config)
   "Return the list of GNOME dependencies that provide udev rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome '("gnome-settings-daemon"))))
+  (let* ((gnome (gnome-desktop-configuration-gnome config))
+         (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda
+               ((and pkg (= package-name "gnome-settings-daemon"))
+                (list pkg))
+               (_ #f))
+             shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome '("gnome-settings-daemon")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
 rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome
-                    '("gnome-settings-daemon"
-                      "gnome-control-center"
-                      "gnome-system-monitor"
-                      "gvfs"))))
+  (let ((gnome (gnome-desktop-configuration-gnome config))
+        (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda ((and pkg (= package-name "gvfs")) (list pkg))
+                           (_ #f))
+              shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome
+                             '("gnome-settings-daemon"
+                               "gnome-control-center"
+                               "gnome-system-monitor"
+                               "gvfs")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gvfs"))))))))
+
+(define (gnome-profile config)
+  "Return a list of packages propagated through CONFIG."
+  (append
+   (gnome-desktop-configuration-core-services config)
+   (gnome-desktop-configuration-shell config)
+   (gnome-desktop-configuration-utilities config)
+   (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
+     (if (maybe-value-set? gnome-meta)
+         (begin
+           (warning
+            (gnome-desktop-configuration-source-location config)
+            (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
+           (list gnome-meta))
+         (list)))
+   (gnome-desktop-configuration-extra-packages config)))
 
 (define gnome-desktop-service-type
   (service-type
@@ -1422,7 +1566,7 @@ (define gnome-desktop-service-type
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-                             (compose list gnome-desktop-configuration-gnome))))
+                             gnome-profile)))
    (default-value (gnome-desktop-configuration))
    (description "Run the GNOME desktop environment.")))
 
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 1/5] services: Modularise gnome-desktop-configuration.
  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   ` Liliana Marie Prikler
  2024-01-25 15:55   ` [bug#68716] [PATCH gnome-team v3 3/5] gnu: Deprecate gnome meta-package Liliana Marie Prikler
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:35 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

* gnu/services/gnome.scm (%gnome-core-services, %gnome-core-shell)
(%gnome-core-utilities, %gnome-essential-extras): New variables.
(gnome-desktop-configuration): Add ‘core-services’, ‘shell’, ‘utilities’,
and ‘extra-packages’.  Deprecate ‘gnome’.
(gnome-desktop-configuration-core-services, gnome-desktop-configuration-shell)
(gnome-desktop-configuration-utilities)
(gnome-desktop-configuration-extra-packages): Export publicly.
(gnome-udev-rules, gnome-polkit-settings): Adjust accordingly.
(gnome-profile): New variable.
(gnome-desktop-service-type): Adjust accordingly.
---
 gnu/services/desktop.scm | 172 +++++++++++++++++++++++++++++++++++----
 1 file changed, 158 insertions(+), 14 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 5b79fbcda1..86be99252d 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -37,6 +37,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services base)
+  #:use-module (gnu services configuration)
   #:use-module (gnu services dbus)
   #:use-module (gnu services avahi)
   #:use-module (gnu services xorg)
@@ -56,10 +57,16 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages fonts)
+  #:use-module (gnu packages geo)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages xfce)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages xdisorg)
@@ -73,6 +80,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
+  #:use-module (guix diagnostics)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -81,6 +89,7 @@ (define-module (gnu services desktop)
   #:use-module (guix gexp)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-35)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (<upower-configuration>
@@ -137,8 +146,16 @@ (define-module (gnu services desktop)
             cups-pk-helper-service-type
             sane-service-type
 
+            %gnome-core-services
+            %gnome-core-shell
+            %gnome-core-utilities
+            %gnome-essential-extras
             gnome-desktop-configuration
             gnome-desktop-configuration?
+            gnome-desktop-configuration-core-services
+            gnome-desktop-configuration-shell
+            gnome-desktop-configuration-utilities
+            gnome-desktop-configuration-extra-packages
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1382,11 +1399,100 @@ (define sane-service-type
 ;;; GNOME desktop service.
 ;;;
 
-(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
-  make-gnome-desktop-configuration
-  gnome-desktop-configuration?
-  (gnome gnome-desktop-configuration-gnome
-         (default gnome)))
+(define %gnome-core-services
+  (list accountsservice network-manager packagekit upower))
+
+(define %gnome-core-shell
+  (list gdm
+        gnome-backgrounds
+        gnome-bluetooth
+        gnome-color-manager
+        gnome-desktop
+        gnome-initial-setup
+        gnome-keyring
+        gnome-menus
+        gnome-session
+        gnome-settings-daemon
+        gnome-shell-extensions
+        gnome-shell
+        gnome-user-docs
+        gnome-user-share
+        gvfs
+        mutter
+        orca
+        rygel
+        sushi
+        adwaita-icon-theme
+        glib-networking
+        gsettings-desktop-schemas))
+
+(define %gnome-core-utilities
+  (list baobab
+        cheese
+        eog
+        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 %gnome-essential-extras
+  (list at-spi2-core
+        dbus
+        dconf
+        desktop-file-utils
+        font-abattis-cantarell
+        font-dejavu
+        gnome-default-applications      ; XXX: Allow customization by records
+        gst-plugins-base
+        gst-plugins-good
+        gucharmap
+        pinentry-gnome3
+        pulseaudio                      ; XXX: Replace with pipewire
+        shared-mime-info
+        system-config-printer
+        xdg-user-dirs
+        zenity))
+
+(define-maybe/no-serialization package)
+
+(define-configuration/no-serialization gnome-desktop-configuration
+  (core-services
+   (list-of-packages %gnome-core-services)
+   "A list of packages that the GNOME Shell and applications may rely on.")
+  (shell
+   (list-of-packages %gnome-core-shell)
+   "A list of packages that constitute the GNOME Shell, without applications.")
+  (utilities
+   (list-of-packages %gnome-core-utilities)
+   "A list of packages that serve as applications to use on top of the \
+GNOME Shell.")
+  (gnome (maybe-package) "Deprecated.  Do not use.")
+  (extra-packages
+   (list-of-packages %gnome-essential-extras)
+   "A list of GNOME-adjacent packages to also include.  This field is intended
+for users to add their own packages to their GNOME experience.  Note, that it
+already includes some packages that are considered essential by some (most?)
+GNOME users."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1400,18 +1506,56 @@ (define (gnome-packages gnome names)
 
 (define (gnome-udev-rules config)
   "Return the list of GNOME dependencies that provide udev rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome '("gnome-settings-daemon"))))
+  (let* ((gnome (gnome-desktop-configuration-gnome config))
+         (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda
+               ((and pkg (= package-name "gnome-settings-daemon"))
+                (list pkg))
+               (_ #f))
+             shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome '("gnome-settings-daemon")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
 rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome
-                    '("gnome-settings-daemon"
-                      "gnome-control-center"
-                      "gnome-system-monitor"
-                      "gvfs"))))
+  (let ((gnome (gnome-desktop-configuration-gnome config))
+        (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda ((and pkg (= package-name "gvfs")) (list pkg))
+                           (_ #f))
+              shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome
+                             '("gnome-settings-daemon"
+                               "gnome-control-center"
+                               "gnome-system-monitor"
+                               "gvfs")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gvfs"))))))))
+
+(define (gnome-profile config)
+  "Return a list of packages propagated through CONFIG."
+  (append
+   (gnome-desktop-configuration-core-services config)
+   (gnome-desktop-configuration-shell config)
+   (gnome-desktop-configuration-utilities config)
+   (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
+     (if (maybe-value-set? gnome-meta)
+         (begin
+           (warning
+            (gnome-desktop-configuration-source-location config)
+            (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
+           (list gnome-meta))
+         (list)))
+   (gnome-desktop-configuration-extra-packages config)))
 
 (define gnome-desktop-service-type
   (service-type
@@ -1422,7 +1566,7 @@ (define gnome-desktop-service-type
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-                             (compose list gnome-desktop-configuration-gnome))))
+                             gnome-profile)))
    (default-value (gnome-desktop-configuration))
    (description "Run the GNOME desktop environment.")))
 
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 3/7] services: Modularise gnome-desktop-configuration.
  2024-02-16 10:53 ` [bug#68716] [PATCH gnome-team v4 1/7] " Liliana Marie Prikler
@ 2024-01-25 15:35   ` Liliana Marie Prikler
  2024-01-25 15:55   ` [bug#68716] [PATCH gnome-team v4 7/7] gnu: Deprecate gnome meta-package Liliana Marie Prikler
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:35 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

* gnu/services/gnome.scm (extract-propagated-inputs): New variable.
(gnome-desktop-configuration): Add ‘core-services’, ‘shell’, ‘utilities’,
and ‘extra-packages’.  Deprecate ‘gnome’.
(gnome-desktop-configuration-core-services, gnome-desktop-configuration-shell)
(gnome-desktop-configuration-utilities)
(gnome-desktop-configuration-extra-packages): Export publicly.
(gnome-udev-rules, gnome-polkit-settings): Adjust accordingly.
(gnome-profile): New variable.
(gnome-desktop-service-type): Adjust accordingly.
---
 gnu/services/desktop.scm | 97 ++++++++++++++++++++++++++++++++++------
 1 file changed, 83 insertions(+), 14 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 5b79fbcda1..0667acfaba 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -37,6 +37,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services base)
+  #:use-module (gnu services configuration)
   #:use-module (gnu services dbus)
   #:use-module (gnu services avahi)
   #:use-module (gnu services xorg)
@@ -60,6 +61,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages xfce)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages xdisorg)
@@ -73,6 +75,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
+  #:use-module (guix diagnostics)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -81,6 +84,7 @@ (define-module (gnu services desktop)
   #:use-module (guix gexp)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-35)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (<upower-configuration>
@@ -139,6 +143,10 @@ (define-module (gnu services desktop)
 
             gnome-desktop-configuration
             gnome-desktop-configuration?
+            gnome-desktop-configuration-core-services
+            gnome-desktop-configuration-shell
+            gnome-desktop-configuration-utilities
+            gnome-desktop-configuration-extra-packages
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1382,11 +1390,34 @@ (define sane-service-type
 ;;; GNOME desktop service.
 ;;;
 
-(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
-  make-gnome-desktop-configuration
-  gnome-desktop-configuration?
-  (gnome gnome-desktop-configuration-gnome
-         (default gnome)))
+(define-maybe/no-serialization package)
+
+(define (extract-propagated-inputs package)
+  ;; Drop input labels.  Attempt to support outputs.
+  (map
+   (match-lambda
+     ((_ (? package? pkg)) pkg)
+     ((_ (? package? pkg) output) (list pkg output)))
+   (package-propagated-inputs package)))
+
+(define-configuration/no-serialization gnome-desktop-configuration
+  (core-services
+   (list-of-packages (extract-propagated-inputs gnome-meta-core-services))
+   "A list of packages that the GNOME Shell and applications may rely on.")
+  (shell
+   (list-of-packages (extract-propagated-inputs gnome-meta-core-shell))
+   "A list of packages that constitute the GNOME Shell, without applications.")
+  (utilities
+   (list-of-packages (extract-propagated-inputs gnome-meta-core-utilities))
+   "A list of packages that serve as applications to use on top of the \
+GNOME Shell.")
+  (gnome (maybe-package) "Deprecated.  Do not use.")
+  (extra-packages
+   (list-of-packages (extract-propagated-inputs gnome-essential-extras))
+   "A list of GNOME-adjacent packages to also include.  This field is intended
+for users to add their own packages to their GNOME experience.  Note, that it
+already includes some packages that are considered essential by some (most?)
+GNOME users."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1400,18 +1431,56 @@ (define (gnome-packages gnome names)
 
 (define (gnome-udev-rules config)
   "Return the list of GNOME dependencies that provide udev rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome '("gnome-settings-daemon"))))
+  (let* ((gnome (gnome-desktop-configuration-gnome config))
+         (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda
+               ((and pkg (= package-name "gnome-settings-daemon"))
+                (list pkg))
+               (_ #f))
+             shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome '("gnome-settings-daemon")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
 rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome
-                    '("gnome-settings-daemon"
-                      "gnome-control-center"
-                      "gnome-system-monitor"
-                      "gvfs"))))
+  (let ((gnome (gnome-desktop-configuration-gnome config))
+        (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda ((and pkg (= package-name "gvfs")) (list pkg))
+                           (_ #f))
+              shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome
+                             '("gnome-settings-daemon"
+                               "gnome-control-center"
+                               "gnome-system-monitor"
+                               "gvfs")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gvfs"))))))))
+
+(define (gnome-profile config)
+  "Return a list of packages propagated through CONFIG."
+  (append
+   (gnome-desktop-configuration-core-services config)
+   (gnome-desktop-configuration-shell config)
+   (gnome-desktop-configuration-utilities config)
+   (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
+     (if (maybe-value-set? gnome-meta)
+         (begin
+           (warning
+            (gnome-desktop-configuration-source-location config)
+            (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
+           (list gnome-meta))
+         (list)))
+   (gnome-desktop-configuration-extra-packages config)))
 
 (define gnome-desktop-service-type
   (service-type
@@ -1422,7 +1491,7 @@ (define gnome-desktop-service-type
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-                             (compose list gnome-desktop-configuration-gnome))))
+                             gnome-profile)))
    (default-value (gnome-desktop-configuration))
    (description "Run the GNOME desktop environment.")))
 
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 3/8] services: Modularise gnome-desktop-configuration.
  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   ` Liliana Marie Prikler
  2024-01-25 15:55   ` [bug#68716] [PATCH v5 7/8] gnu: Deprecate gnome meta-package Liliana Marie Prikler
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:35 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

* gnu/services/gnome.scm (extract-propagated-inputs): New variable.
(gnome-desktop-configuration): Add ‘core-services’, ‘shell’, ‘utilities’,
and ‘extra-packages’.  Deprecate ‘gnome’.
(gnome-desktop-configuration-core-services, gnome-desktop-configuration-shell)
(gnome-desktop-configuration-utilities)
(gnome-desktop-configuration-extra-packages): Export publicly.
(gnome-udev-rules, gnome-polkit-settings): Adjust accordingly.
(gnome-profile): New variable.
(gnome-desktop-service-type): Adjust accordingly.
---
 gnu/services/desktop.scm | 97 ++++++++++++++++++++++++++++++++++------
 1 file changed, 83 insertions(+), 14 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 5b79fbcda1..0667acfaba 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -37,6 +37,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services base)
+  #:use-module (gnu services configuration)
   #:use-module (gnu services dbus)
   #:use-module (gnu services avahi)
   #:use-module (gnu services xorg)
@@ -60,6 +61,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages xfce)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages xdisorg)
@@ -73,6 +75,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
+  #:use-module (guix diagnostics)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -81,6 +84,7 @@ (define-module (gnu services desktop)
   #:use-module (guix gexp)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-35)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (<upower-configuration>
@@ -139,6 +143,10 @@ (define-module (gnu services desktop)
 
             gnome-desktop-configuration
             gnome-desktop-configuration?
+            gnome-desktop-configuration-core-services
+            gnome-desktop-configuration-shell
+            gnome-desktop-configuration-utilities
+            gnome-desktop-configuration-extra-packages
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1382,11 +1390,34 @@ (define sane-service-type
 ;;; GNOME desktop service.
 ;;;
 
-(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
-  make-gnome-desktop-configuration
-  gnome-desktop-configuration?
-  (gnome gnome-desktop-configuration-gnome
-         (default gnome)))
+(define-maybe/no-serialization package)
+
+(define (extract-propagated-inputs package)
+  ;; Drop input labels.  Attempt to support outputs.
+  (map
+   (match-lambda
+     ((_ (? package? pkg)) pkg)
+     ((_ (? package? pkg) output) (list pkg output)))
+   (package-propagated-inputs package)))
+
+(define-configuration/no-serialization gnome-desktop-configuration
+  (core-services
+   (list-of-packages (extract-propagated-inputs gnome-meta-core-services))
+   "A list of packages that the GNOME Shell and applications may rely on.")
+  (shell
+   (list-of-packages (extract-propagated-inputs gnome-meta-core-shell))
+   "A list of packages that constitute the GNOME Shell, without applications.")
+  (utilities
+   (list-of-packages (extract-propagated-inputs gnome-meta-core-utilities))
+   "A list of packages that serve as applications to use on top of the \
+GNOME Shell.")
+  (gnome (maybe-package) "Deprecated.  Do not use.")
+  (extra-packages
+   (list-of-packages (extract-propagated-inputs gnome-essential-extras))
+   "A list of GNOME-adjacent packages to also include.  This field is intended
+for users to add their own packages to their GNOME experience.  Note, that it
+already includes some packages that are considered essential by some (most?)
+GNOME users."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1400,18 +1431,56 @@ (define (gnome-packages gnome names)
 
 (define (gnome-udev-rules config)
   "Return the list of GNOME dependencies that provide udev rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome '("gnome-settings-daemon"))))
+  (let* ((gnome (gnome-desktop-configuration-gnome config))
+         (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda
+               ((and pkg (= package-name "gnome-settings-daemon"))
+                (list pkg))
+               (_ #f))
+             shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome '("gnome-settings-daemon")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
 rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config)))
-    (gnome-packages gnome
-                    '("gnome-settings-daemon"
-                      "gnome-control-center"
-                      "gnome-system-monitor"
-                      "gvfs"))))
+  (let ((gnome (gnome-desktop-configuration-gnome config))
+        (shell (gnome-desktop-configuration-shell config)))
+    (or (any (match-lambda ((and pkg (= package-name "gvfs")) (list pkg))
+                           (_ #f))
+              shell)
+        (and (maybe-value-set? gnome)
+             (gnome-packages gnome
+                             '("gnome-settings-daemon"
+                               "gnome-control-center"
+                               "gnome-system-monitor"
+                               "gvfs")))
+        (raise
+         (condition
+          (&error-location
+           (location (gnome-desktop-configuration-source-location config)))
+          (&message (message (G_ "Missing gvfs"))))))))
+
+(define (gnome-profile config)
+  "Return a list of packages propagated through CONFIG."
+  (append
+   (gnome-desktop-configuration-core-services config)
+   (gnome-desktop-configuration-shell config)
+   (gnome-desktop-configuration-utilities config)
+   (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
+     (if (maybe-value-set? gnome-meta)
+         (begin
+           (warning
+            (gnome-desktop-configuration-source-location config)
+            (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
+           (list gnome-meta))
+         (list)))
+   (gnome-desktop-configuration-extra-packages config)))
 
 (define gnome-desktop-service-type
   (service-type
@@ -1422,7 +1491,7 @@ (define gnome-desktop-service-type
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-                             (compose list gnome-desktop-configuration-gnome))))
+                             gnome-profile)))
    (default-value (gnome-desktop-configuration))
    (description "Run the GNOME desktop environment.")))
 
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team RFC 2/3] gnu: Deprecate gnome meta-package.
  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 15:55 ` 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
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:55 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

GNOME is not a "one size fits all" environment, but with the introduction of
World, Circle, and to some extent Developer Extras and recent explorations of
mobile form factors much more customizable towards the needs of users.  As
such, it is silly to insist on a single meta-package to make everyone happy.

* gnu/packages/gnome.scm (gnome): Deprecate.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3d89f06d6a..2726c052d4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -236,6 +236,7 @@ (define-module (gnu packages gnome)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -10131,7 +10132,7 @@ (define-public gnome-weather
     (home-page "https://wiki.gnome.org/Apps/Weather")
     (license license:gpl2+)))
 
-(define-public gnome
+(define-deprecated/public gnome #f
   (package
     (name "gnome")
     (version (package-version gnome-shell))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v2 3/5] gnu: Deprecate gnome meta-package.
  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   ` 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
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:55 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

GNOME is not a "one size fits all" environment, but with the introduction of
World, Circle, and to some extent Developer Extras and recent explorations of
mobile form factors much more customizable towards the needs of users.  As
such, it is silly to insist on a single meta-package to make everyone happy.

* gnu/packages/gnome.scm (gnome): Deprecate.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e98f4ac15f..e066da4d77 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -236,6 +236,7 @@ (define-module (gnu packages gnome)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -10143,7 +10144,7 @@ (define-public gnome-weather
     (home-page "https://wiki.gnome.org/Apps/Weather")
     (license license:gpl2+)))
 
-(define-public gnome
+(define-deprecated/public gnome #f
   (package
     (name "gnome")
     (version (package-version gnome-shell))
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 3/5] gnu: Deprecate gnome meta-package.
  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   ` 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
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:55 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

GNOME is not a "one size fits all" environment, but with the introduction of
World, Circle, and to some extent Developer Extras and recent explorations of
mobile form factors much more customizable towards the needs of users.  As
such, it is silly to insist on a single meta-package to make everyone happy.

* gnu/packages/gnome.scm (gnome): Deprecate.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e98f4ac15f..e066da4d77 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -236,6 +236,7 @@ (define-module (gnu packages gnome)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -10143,7 +10144,7 @@ (define-public gnome-weather
     (home-page "https://wiki.gnome.org/Apps/Weather")
     (license license:gpl2+)))
 
-(define-public gnome
+(define-deprecated/public gnome #f
   (package
     (name "gnome")
     (version (package-version gnome-shell))
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 7/7] gnu: Deprecate gnome meta-package.
  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   ` 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
                     ` (4 subsequent siblings)
  6 siblings, 1 reply; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:55 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

GNOME is not a "one size fits all" environment, but with the introduction of
World, Circle, and to some extent Developer Extras and recent explorations of
mobile form factors much more customizable towards the needs of users.  As
such, it is silly to insist on a single meta-package to make everyone happy.

* gnu/packages/gnome.scm (gnome): Deprecate.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f3d1548fe9..e47a4576f5 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -237,6 +237,7 @@ (define-module (gnu packages gnome)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -10280,7 +10281,7 @@ (define-public gnome-essential-extras
 a good GNOME experience, mixed from core dependencies and other implicitly
 relied-on packages.")))
 
-(define-public gnome
+(define-deprecated/public gnome #f
   (package
     (inherit (gnome-meta-package "gnome"
                                  (append-map package-propagated-inputs
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 7/8] gnu: Deprecate gnome meta-package.
  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   ` Liliana Marie Prikler
  2024-02-05 17:05   ` [bug#68716] [PATCH v5 4/8] services: Extend udev capabilities of gnome-desktop-service Vivien Kraus
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 15:55 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

GNOME is not a "one size fits all" environment, but with the introduction of
World, Circle, and to some extent Developer Extras and recent explorations of
mobile form factors much more customizable towards the needs of users.  As
such, it is silly to insist on a single meta-package to make everyone happy.

* gnu/packages/gnome.scm (gnome): Deprecate.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 119f957def..3736b9c351 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -237,6 +237,7 @@ (define-module (gnu packages gnome)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -10283,7 +10284,7 @@ (define-public gnome-essential-extras
 a good GNOME experience, mixed from core dependencies and other implicitly
 relied-on packages.")))
 
-(define-public gnome
+(define-deprecated/public gnome #f
   (gnome-meta-package
    (name "gnome")
    (propagated-inputs
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team RFC 3/3] services: gnome-desktop: Add core packages for GNOME 44.
  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 15:55 ` [bug#68716] [PATCH gnome-team RFC 2/3] gnu: Deprecate gnome meta-package Liliana Marie Prikler
@ 2024-01-25 16:06 ` Liliana Marie Prikler
  2024-01-26 21:13 ` [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Maxim Cournoyer
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 16:06 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

* gnu/services/desktop.scm (%gnome-core-shell): Add gnome-remote-desktop.
(%gnome-core-utilities): Add gnome-connections.
---
 gnu/services/desktop.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 86be99252d..f929a6cf31 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1411,6 +1411,7 @@ (define %gnome-core-shell
         gnome-initial-setup
         gnome-keyring
         gnome-menus
+        gnome-remote-desktop
         gnome-session
         gnome-settings-daemon
         gnome-shell-extensions
@@ -1437,6 +1438,7 @@ (define %gnome-core-utilities
         gnome-calendar
         gnome-characters
         gnome-clocks
+        gnome-connections
         gnome-console
         gnome-contacts
         gnome-disk-utility
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v2 2/5] services: gnome-desktop: Add core packages for GNOME 44.
  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   ` 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
  4 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 16:06 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

* gnu/services/desktop.scm (%gnome-core-shell): Add gnome-remote-desktop.
(%gnome-core-utilities): Add gnome-connections.
---
 gnu/services/desktop.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 86be99252d..f929a6cf31 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1411,6 +1411,7 @@ (define %gnome-core-shell
         gnome-initial-setup
         gnome-keyring
         gnome-menus
+        gnome-remote-desktop
         gnome-session
         gnome-settings-daemon
         gnome-shell-extensions
@@ -1437,6 +1438,7 @@ (define %gnome-core-utilities
         gnome-calendar
         gnome-characters
         gnome-clocks
+        gnome-connections
         gnome-console
         gnome-contacts
         gnome-disk-utility
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 2/5] services: gnome-desktop: Add core packages for GNOME 44.
  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   ` 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
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 16:06 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

* gnu/services/desktop.scm (%gnome-core-shell): Add gnome-remote-desktop.
(%gnome-core-utilities): Add gnome-connections.
---
 gnu/services/desktop.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 86be99252d..f929a6cf31 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1411,6 +1411,7 @@ (define %gnome-core-shell
         gnome-initial-setup
         gnome-keyring
         gnome-menus
+        gnome-remote-desktop
         gnome-session
         gnome-settings-daemon
         gnome-shell-extensions
@@ -1437,6 +1438,7 @@ (define %gnome-core-utilities
         gnome-calendar
         gnome-characters
         gnome-clocks
+        gnome-connections
         gnome-console
         gnome-contacts
         gnome-disk-utility
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE ***
@ 2024-01-25 16:12 Liliana Marie Prikler
  2024-01-25 15:35 ` [bug#68716] [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
                   ` (7 more replies)
  0 siblings, 8 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 16:12 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

*** BLURB HERE ***

Liliana Marie Prikler (3):
  services: Modularise gnome-desktop-configuration.
  gnu: Deprecate gnome meta-package.
  services: gnome-desktop: Add core packages for GNOME 44.

 gnu/packages/gnome.scm   |   3 +-
 gnu/services/desktop.scm | 174 +++++++++++++++++++++++++++++++++++----
 2 files changed, 162 insertions(+), 15 deletions(-)


base-commit: 2e7d78b1f02a8eae82c34e5183134c9d1a0d02b3
-- 
2.41.0





^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration.
  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
  0 siblings, 1 reply; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-01-25 17:12 UTC (permalink / raw)
  To: Liliana Marie Prikler, 68716; +Cc: rg, maxim.cournoyer

Hello!

Thank you for this series.

Le jeudi 25 janvier 2024 à 16:35 +0100, Liliana Marie Prikler a écrit :
>  (define (gnome-udev-rules config)
>    "Return the list of GNOME dependencies that provide udev rules."
> -  (let ((gnome (gnome-desktop-configuration-gnome config)))
> -    (gnome-packages gnome '("gnome-settings-daemon"))))
> +  (let* ((gnome (gnome-desktop-configuration-gnome config))
> +         (shell (gnome-desktop-configuration-shell config)))
> +    (or (any (match-lambda
> +               ((and pkg (= package-name "gnome-settings-daemon"))
> +                (list pkg))
> +               (_ #f))
> +             shell)
> +        (and (maybe-value-set? gnome)
> +             (gnome-packages gnome '("gnome-settings-daemon")))
> +        (raise
> +         (condition
> +          (&error-location
> +           (location (gnome-desktop-configuration-source-location
> config)))
> +          (&message (message (G_ "Missing gnome-settings-
> daemon"))))))))
>  
Is there a reason why we can’t just add everything (like what your new
gnome-profile function does)?

As far as I understand, the user doesn’t have a say over which
individual rules will be used, among the rules that come from the same
package. So if we want the user to have full control over the rules
that are picked, then the current configuration record does not allow
sufficient precision.

Also, we now have udev hardware files. I’m not sure we have any GNOME
packages that install hardware files, but the user might have some. The
gnome-udev-rules function name is misleading now (sorry, my bad, I
should have renamed it when the udev service changed), because every
package listed here will also have its hardware files installed, not
just rules. If you want to pick rules separately from hardware files,
you have to use file->udev-rule, file->udev-hardware (or udev-rule and
udev-hardware) from (gnu services base).

> @@ -1422,7 +1566,7 @@ (define gnome-desktop-service-type
>            (service-extension polkit-service-type
>                               gnome-polkit-settings)
>            (service-extension profile-service-type
> -                             (compose list gnome-desktop-
> configuration-gnome))))
> +                             gnome-profile)))
>     (default-value (gnome-desktop-configuration))
>     (description "Run the GNOME desktop environment.")))
I think the gnome-desktop-service-type could be easily made extensible,
so that e.g a gnome-circle-service-type could add all the circles
applications in their respective sections.

Maybe it could be extended with other instances of gnome-desktop-
configuration? It looks to me that merging multiple instances is quite
easy, as you could just merge the lists for each category, and the
"gnome" field of the extension could simply be ignored. There are still
issues, such as: how can a service extension replace a package with a
conflicting one. Maybe that case is too far out of scope.

That being said, the extensibility of the gnome-desktop-service-type is
not very much needed, because we can also extend the udev, polkit and
profile services directly.

Other than that, the series looks great to me!

Vivien




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration.
  2024-01-25 17:12   ` Vivien Kraus via Guix-patches via
@ 2024-01-25 17:38     ` Liliana Marie Prikler
  0 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-01-25 17:38 UTC (permalink / raw)
  To: Vivien Kraus, 68716; +Cc: rg, maxim.cournoyer

Am Donnerstag, dem 25.01.2024 um 18:12 +0100 schrieb Vivien Kraus:
> Hello!
> 
> Thank you for this series.
> 
> Le jeudi 25 janvier 2024 à 16:35 +0100, Liliana Marie Prikler a
> écrit :
> >  (define (gnome-udev-rules config)
> >    "Return the list of GNOME dependencies that provide udev rules."
> > -  (let ((gnome (gnome-desktop-configuration-gnome config)))
> > -    (gnome-packages gnome '("gnome-settings-daemon"))))
> > +  (let* ((gnome (gnome-desktop-configuration-gnome config))
> > +         (shell (gnome-desktop-configuration-shell config)))
> > +    (or (any (match-lambda
> > +               ((and pkg (= package-name "gnome-settings-daemon"))
> > +                (list pkg))
> > +               (_ #f))
> > +             shell)
> > +        (and (maybe-value-set? gnome)
> > +             (gnome-packages gnome '("gnome-settings-daemon")))
> > +        (raise
> > +         (condition
> > +          (&error-location
> > +           (location (gnome-desktop-configuration-source-location
> > config)))
> > +          (&message (message (G_ "Missing gnome-settings-
> > daemon"))))))))
> >  
> Is there a reason why we can’t just add everything (like what your
> new gnome-profile function does)?
> 
> As far as I understand, the user doesn’t have a say over which
> individual rules will be used, among the rules that come from the
> same package. So if we want the user to have full control over the
> rules that are picked, then the current configuration record does not
> allow sufficient precision.
> 
> Also, we now have udev hardware files. I’m not sure we have any GNOME
> packages that install hardware files, but the user might have some.
> The gnome-udev-rules function name is misleading now (sorry, my bad,
> I should have renamed it when the udev service changed), because
> every package listed here will also have its hardware files
> installed, not just rules. If you want to pick rules separately from
> hardware files, you have to use file->udev-rule, file->udev-hardware
> (or udev-rule and udev-hardware) from (gnu services base).
That is a good point that I've been debating with myself.  For v1, I
simply aimed at service equivalence, but I have yet to decide whether
that's desirable or useful.

I don't want to simply drop all packages into udev-service-type,
though, unless there's some clever filtering going on behind the back.
I'm not sure at which stage we could efficiently check for the presence
of these magic directories and add them.

> > @@ -1422,7 +1566,7 @@ (define gnome-desktop-service-type
> >            (service-extension polkit-service-type
> >                               gnome-polkit-settings)
> >            (service-extension profile-service-type
> > -                             (compose list gnome-desktop-
> > configuration-gnome))))
> > +                             gnome-profile)))
> >     (default-value (gnome-desktop-configuration))
> >     (description "Run the GNOME desktop environment.")))
> I think the gnome-desktop-service-type could be easily made
> extensible, so that e.g a gnome-circle-service-type could add all the
> circles applications in their respective sections.
> 
> Maybe it could be extended with other instances of gnome-desktop-
> configuration? It looks to me that merging multiple instances is
> quite easy, as you could just merge the lists for each category, and
> the "gnome" field of the extension could simply be ignored. There are
> still issues, such as: how can a service extension replace a package
> with a conflicting one. Maybe that case is too far out of scope.
In my humble opinion, instantiating services twice and merging them
doesn't make sense for a number of services, with gnome being one of
them.  We already have an escape hatch for further packages and
configuration records support extension via inheritance (+ public
accessors).

> That being said, the extensibility of the gnome-desktop-service-type
> is not very much needed, because we can also extend the udev, polkit
> and profile services directly.
That too.

Cheers




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE ***
  2024-01-25 16:12 [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Liliana Marie Prikler
                   ` (2 preceding siblings ...)
  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 ` 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
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Maxim Cournoyer @ 2024-01-26 21:13 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: rg, vivien, 68716

Hi Liliana,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> *** BLURB HERE ***
>
> Liliana Marie Prikler (3):
>   services: Modularise gnome-desktop-configuration.
>   gnu: Deprecate gnome meta-package.
>   services: gnome-desktop: Add core packages for GNOME 44.
>
>  gnu/packages/gnome.scm   |   3 +-

Since this is an RFC, you may want to leave it open for the full 2
weeks, but otherwise, I like the directive of making the core set of
GNOME packages configurable.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v2 4/5] services: Rename gnome-udev-rules.
  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
                     ` (2 preceding siblings ...)
  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   ` 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
  4 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-05 17:05 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

This function manages both rules and hardware files.

* gnu/services/desktop.scm (gnome-udev-resources): Rename to
gnome-udev-configuration-files.
(gnome-desktop-service-type): Use the new function name gnome-udev-configuration-files.

Change-Id: I195ea6ba032e1e9b5ee45519de109bbd969b6503
---
 gnu/services/desktop.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index f929a6cf31..263ae61698 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1506,8 +1506,9 @@ (define (gnome-packages gnome names)
   "Return the package NAMES among the GNOME package inputs."
   (map (cut gnome-package gnome <>) names))
 
-(define (gnome-udev-rules config)
-  "Return the list of GNOME dependencies that provide udev rules."
+(define (gnome-udev-configuration-files config)
+  "Return the list of GNOME dependencies that provide udev rules and hardware
+files."
   (let* ((gnome (gnome-desktop-configuration-gnome config))
          (shell (gnome-desktop-configuration-shell config)))
     (or (any (match-lambda
@@ -1564,7 +1565,7 @@ (define gnome-desktop-service-type
    (name 'gnome-desktop)
    (extensions
     (list (service-extension udev-service-type
-                             gnome-udev-rules)
+                             gnome-udev-configuration-files)
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 4/5] services: Rename gnome-udev-rules.
  2024-02-05 23:27 ` [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of " Vivien Kraus via Guix-patches via
                     ` (2 preceding siblings ...)
  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   ` 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
  5 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-05 17:05 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

This function manages both rules and hardware files.

* gnu/services/desktop.scm (gnome-udev-resources): Rename to
gnome-udev-configuration-files.
(gnome-desktop-service-type): Use the new function name gnome-udev-configuration-files.

Change-Id: I195ea6ba032e1e9b5ee45519de109bbd969b6503
---
 gnu/services/desktop.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index f929a6cf31..263ae61698 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1506,8 +1506,9 @@ (define (gnome-packages gnome names)
   "Return the package NAMES among the GNOME package inputs."
   (map (cut gnome-package gnome <>) names))
 
-(define (gnome-udev-rules config)
-  "Return the list of GNOME dependencies that provide udev rules."
+(define (gnome-udev-configuration-files config)
+  "Return the list of GNOME dependencies that provide udev rules and hardware
+files."
   (let* ((gnome (gnome-desktop-configuration-gnome config))
          (shell (gnome-desktop-configuration-shell config)))
     (or (any (match-lambda
@@ -1564,7 +1565,7 @@ (define gnome-desktop-service-type
    (name 'gnome-desktop)
    (extensions
     (list (service-extension udev-service-type
-                             gnome-udev-rules)
+                             gnome-udev-configuration-files)
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 4/7] services: Extend udev capabilities of gnome-desktop-service.
  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-05 17:05   ` 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
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus @ 2024-02-05 17:05 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

Our udev service is capable of handling both rules and hardware databases.
This patch makes it so that gnome can install any such needed rules or
databases, while also allowing users to supply a list of names to ignore
(via regular expressions).

* gnu/services/desktop.scm (gnome-desktop-configuration): Add udev-ignorelist.
(gnome-udev-resources): Rename to…
(gnome-udev-configuration-files): … this.  Account for udev-ignorelist.
(gnome-desktop-service-type): Adjust accordingly.

Change-Id: I6df4b896652581c42a35ea3ba1e4849ad72d12ef
---
 gnu/services/desktop.scm | 54 ++++++++++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 18 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 0667acfaba..0631571c49 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -82,6 +82,7 @@ (define-module (gnu services desktop)
   #:use-module (guix ui)
   #:use-module (guix utils)
   #:use-module (guix gexp)
+  #:use-module (guix modules)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-35)
@@ -147,6 +148,7 @@ (define-module (gnu services desktop)
             gnome-desktop-configuration-shell
             gnome-desktop-configuration-utilities
             gnome-desktop-configuration-extra-packages
+            gnome-desktop-configuration-udev-ignorelist
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1417,7 +1419,13 @@ (define-configuration/no-serialization gnome-desktop-configuration
    "A list of GNOME-adjacent packages to also include.  This field is intended
 for users to add their own packages to their GNOME experience.  Note, that it
 already includes some packages that are considered essential by some (most?)
-GNOME users."))
+GNOME users.")
+  (udev-ignorelist
+   (list-of-strings '())
+   "A list of regular expressions denoting udev rules or hardware file names
+provided by any package that should not be installed.  By default, every udev
+rule and hardware file specified by any package referenced in the other fields
+are installed."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1429,22 +1437,32 @@ (define (gnome-packages gnome names)
   "Return the package NAMES among the GNOME package inputs."
   (map (cut gnome-package gnome <>) names))
 
-(define (gnome-udev-rules config)
-  "Return the list of GNOME dependencies that provide udev rules."
-  (let* ((gnome (gnome-desktop-configuration-gnome config))
-         (shell (gnome-desktop-configuration-shell config)))
-    (or (any (match-lambda
-               ((and pkg (= package-name "gnome-settings-daemon"))
-                (list pkg))
-               (_ #f))
-             shell)
-        (and (maybe-value-set? gnome)
-             (gnome-packages gnome '("gnome-settings-daemon")))
-        (raise
-         (condition
-          (&error-location
-           (location (gnome-desktop-configuration-source-location config)))
-          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
+(define (gnome-udev-configuration-files config)
+  "Return the GNOME udev rules and hardware files as computed from its
+dependencies by filtering out the ignorelist."
+  (list
+   (computed-file
+    "gnome-udev-configurations"
+    (with-imported-modules
+        (source-module-closure '((guix build utils)
+                                 (guix build union)))
+      #~(begin
+          (use-modules (guix build utils)
+                       (guix build union))
+          ;; If rules.d or hwdb.d is not a proper directory but a symlink,
+          ;; then it will not be possible to delete individual files in this
+          ;; directory.
+          (union-build #$output
+                       (search-path-as-list
+                        (list "lib/udev" "libexec/udev")
+                        (list #$@(gnome-profile config)))
+                       #:create-all-directories? #t)
+          (for-each
+           (lambda (pattern)
+             (for-each
+              delete-file-recursively
+              (find-files #$output pattern)))
+           (list #$@(gnome-desktop-configuration-udev-ignorelist config))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
@@ -1487,7 +1505,7 @@ (define gnome-desktop-service-type
    (name 'gnome-desktop)
    (extensions
     (list (service-extension udev-service-type
-                             gnome-udev-rules)
+                             gnome-udev-configuration-files)
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 4/8] services: Extend udev capabilities of gnome-desktop-service.
  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   ` Vivien Kraus
  2024-02-16 11:02   ` [bug#68716] [PATCH v5 2/8] gnu: gnome: Add core packages for GNOME 44 Liliana Marie Prikler
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus @ 2024-02-05 17:05 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

Our udev service is capable of handling both rules and hardware databases.
This patch makes it so that gnome can install any such needed rules or
databases, while also allowing users to supply a list of names to ignore
(via regular expressions).

* gnu/services/desktop.scm (gnome-desktop-configuration): Add udev-ignorelist.
(gnome-udev-resources): Rename to…
(gnome-udev-configuration-files): … this.  Account for udev-ignorelist.
(gnome-desktop-service-type): Adjust accordingly.

Change-Id: I6df4b896652581c42a35ea3ba1e4849ad72d12ef
---
 gnu/services/desktop.scm | 54 ++++++++++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 18 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 0667acfaba..0631571c49 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -82,6 +82,7 @@ (define-module (gnu services desktop)
   #:use-module (guix ui)
   #:use-module (guix utils)
   #:use-module (guix gexp)
+  #:use-module (guix modules)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-35)
@@ -147,6 +148,7 @@ (define-module (gnu services desktop)
             gnome-desktop-configuration-shell
             gnome-desktop-configuration-utilities
             gnome-desktop-configuration-extra-packages
+            gnome-desktop-configuration-udev-ignorelist
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1417,7 +1419,13 @@ (define-configuration/no-serialization gnome-desktop-configuration
    "A list of GNOME-adjacent packages to also include.  This field is intended
 for users to add their own packages to their GNOME experience.  Note, that it
 already includes some packages that are considered essential by some (most?)
-GNOME users."))
+GNOME users.")
+  (udev-ignorelist
+   (list-of-strings '())
+   "A list of regular expressions denoting udev rules or hardware file names
+provided by any package that should not be installed.  By default, every udev
+rule and hardware file specified by any package referenced in the other fields
+are installed."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1429,22 +1437,32 @@ (define (gnome-packages gnome names)
   "Return the package NAMES among the GNOME package inputs."
   (map (cut gnome-package gnome <>) names))
 
-(define (gnome-udev-rules config)
-  "Return the list of GNOME dependencies that provide udev rules."
-  (let* ((gnome (gnome-desktop-configuration-gnome config))
-         (shell (gnome-desktop-configuration-shell config)))
-    (or (any (match-lambda
-               ((and pkg (= package-name "gnome-settings-daemon"))
-                (list pkg))
-               (_ #f))
-             shell)
-        (and (maybe-value-set? gnome)
-             (gnome-packages gnome '("gnome-settings-daemon")))
-        (raise
-         (condition
-          (&error-location
-           (location (gnome-desktop-configuration-source-location config)))
-          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
+(define (gnome-udev-configuration-files config)
+  "Return the GNOME udev rules and hardware files as computed from its
+dependencies by filtering out the ignorelist."
+  (list
+   (computed-file
+    "gnome-udev-configurations"
+    (with-imported-modules
+        (source-module-closure '((guix build utils)
+                                 (guix build union)))
+      #~(begin
+          (use-modules (guix build utils)
+                       (guix build union))
+          ;; If rules.d or hwdb.d is not a proper directory but a symlink,
+          ;; then it will not be possible to delete individual files in this
+          ;; directory.
+          (union-build #$output
+                       (search-path-as-list
+                        (list "lib/udev" "libexec/udev")
+                        (list #$@(gnome-profile config)))
+                       #:create-all-directories? #t)
+          (for-each
+           (lambda (pattern)
+             (for-each
+              delete-file-recursively
+              (find-files #$output pattern)))
+           (list #$@(gnome-desktop-configuration-udev-ignorelist config))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
@@ -1487,7 +1505,7 @@ (define gnome-desktop-service-type
    (name 'gnome-desktop)
    (extensions
     (list (service-extension udev-service-type
-                             gnome-udev-rules)
+                             gnome-udev-configuration-files)
           (service-extension polkit-service-type
                              gnome-polkit-settings)
           (service-extension profile-service-type
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v2 5/5] services: gnome: Use a blocklist for udev configurations.
  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
                     ` (3 preceding siblings ...)
  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   ` Vivien Kraus via Guix-patches via
  2024-02-05 20:52     ` Liliana Marie Prikler
  4 siblings, 1 reply; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-05 18:30 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

The gnome-udev-configuration-files now lists every udev rule and hardware
file, and remove files based on a user-supplied list of regular expressions.

* gnu/services/desktop.scm (gnome-desktop-configuration): Add the
udev-blocklist field.
(gnome-udev-configuration-files): Change behavior.

Change-Id: I6df4b896652581c42a35ea3ba1e4849ad72d12ef
---
 gnu/services/desktop.scm | 63 ++++++++++++++++++++++++++++++----------
 1 file changed, 48 insertions(+), 15 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 263ae61698..8045406c10 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -87,6 +87,7 @@ (define-module (gnu services desktop)
   #:use-module (guix ui)
   #:use-module (guix utils)
   #:use-module (guix gexp)
+  #:use-module (guix modules)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-35)
@@ -156,6 +157,7 @@ (define-module (gnu services desktop)
             gnome-desktop-configuration-shell
             gnome-desktop-configuration-utilities
             gnome-desktop-configuration-extra-packages
+            gnome-desktop-configuration-udev-blocklist
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1494,7 +1496,12 @@ (define-configuration/no-serialization gnome-desktop-configuration
    "A list of GNOME-adjacent packages to also include.  This field is intended
 for users to add their own packages to their GNOME experience.  Note, that it
 already includes some packages that are considered essential by some (most?)
-GNOME users."))
+GNOME users.")
+  (udev-blocklist
+   (list-of-strings '())
+   "A list of regular expressions denoting udev rules or hardware file names
+provided by any package, that should not be installed.  By default, every udev
+rule and hardware file specified by all packages are installed."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1509,20 +1516,46 @@ (define (gnome-packages gnome names)
 (define (gnome-udev-configuration-files config)
   "Return the list of GNOME dependencies that provide udev rules and hardware
 files."
-  (let* ((gnome (gnome-desktop-configuration-gnome config))
-         (shell (gnome-desktop-configuration-shell config)))
-    (or (any (match-lambda
-               ((and pkg (= package-name "gnome-settings-daemon"))
-                (list pkg))
-               (_ #f))
-             shell)
-        (and (maybe-value-set? gnome)
-             (gnome-packages gnome '("gnome-settings-daemon")))
-        (raise
-         (condition
-          (&error-location
-           (location (gnome-desktop-configuration-source-location config)))
-          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
+  (let* ((all-packages
+          (append
+           (gnome-desktop-configuration-core-services config)
+           (gnome-desktop-configuration-shell config)
+           (gnome-desktop-configuration-utilities config)
+           (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
+             (if (maybe-value-set? gnome-meta)
+                 (begin
+                   (warning
+                    (gnome-desktop-configuration-source-location config)
+                    (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
+                   (list gnome-meta))
+                 (list)))
+           (gnome-desktop-configuration-extra-packages config))))
+    (list
+     (computed-file
+      "gnome-udev-configurations"
+      (with-imported-modules
+          (source-module-closure '((guix build utils)))
+        #~(begin
+            (use-modules (guix build utils))
+            (for-each
+             (lambda (package)
+               (with-directory-excursion
+                   package
+                 (for-each
+                  (lambda (filename)
+                    (mkdir-p (dirname (string-append #$output "/" filename)))
+                    (copy-file filename (string-append #$output "/" filename)))
+                  (find-files "."
+                              (lambda (name st)
+                                (or (string-prefix? "./lib/udev/" name)
+                                    (string-prefix? "./libexec/udev/" name)))))))
+             (list #$@all-packages))
+            (for-each
+             (lambda (pattern)
+               (for-each
+                delete-file-recursively
+                (find-files #$output pattern)))
+             (list #$@(gnome-desktop-configuration-udev-blocklist config)))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 5/5] services: gnome: Use a blocklist for udev configurations.
  2024-02-05 23:27 ` [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of " Vivien Kraus via Guix-patches via
                     ` (3 preceding siblings ...)
  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   ` 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
  5 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-05 18:30 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

The gnome-udev-configuration-files now lists every udev rule and hardware
file, and remove files based on a user-supplied list of regular expressions.

* gnu/services/desktop.scm (gnome-desktop-configuration): Add the
udev-blocklist field.
(gnome-udev-configuration-files): Change behavior.

Change-Id: I6df4b896652581c42a35ea3ba1e4849ad72d12ef
---
 gnu/services/desktop.scm | 46 +++++++++++++++++++++++++++-------------
 1 file changed, 31 insertions(+), 15 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 263ae61698..f04e99ba9a 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -87,6 +87,7 @@ (define-module (gnu services desktop)
   #:use-module (guix ui)
   #:use-module (guix utils)
   #:use-module (guix gexp)
+  #:use-module (guix modules)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-35)
@@ -156,6 +157,7 @@ (define-module (gnu services desktop)
             gnome-desktop-configuration-shell
             gnome-desktop-configuration-utilities
             gnome-desktop-configuration-extra-packages
+            gnome-desktop-configuration-udev-blocklist
             gnome-desktop-service
             gnome-desktop-service-type
 
@@ -1494,7 +1496,12 @@ (define-configuration/no-serialization gnome-desktop-configuration
    "A list of GNOME-adjacent packages to also include.  This field is intended
 for users to add their own packages to their GNOME experience.  Note, that it
 already includes some packages that are considered essential by some (most?)
-GNOME users."))
+GNOME users.")
+  (udev-blocklist
+   (list-of-strings '())
+   "A list of regular expressions denoting udev rules or hardware file names
+provided by any package, that should not be installed.  By default, every udev
+rule and hardware file specified by all packages are installed."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1509,20 +1516,29 @@ (define (gnome-packages gnome names)
 (define (gnome-udev-configuration-files config)
   "Return the list of GNOME dependencies that provide udev rules and hardware
 files."
-  (let* ((gnome (gnome-desktop-configuration-gnome config))
-         (shell (gnome-desktop-configuration-shell config)))
-    (or (any (match-lambda
-               ((and pkg (= package-name "gnome-settings-daemon"))
-                (list pkg))
-               (_ #f))
-             shell)
-        (and (maybe-value-set? gnome)
-             (gnome-packages gnome '("gnome-settings-daemon")))
-        (raise
-         (condition
-          (&error-location
-           (location (gnome-desktop-configuration-source-location config)))
-          (&message (message (G_ "Missing gnome-settings-daemon"))))))))
+  (list
+   (computed-file
+    "gnome-udev-configurations"
+    (with-imported-modules
+        (source-module-closure '((guix build utils)
+                                 (guix build union)))
+      #~(begin
+          (use-modules (guix build utils)
+                       (guix build union))
+          ;; If rules.d or hwdb.d is not a proper directory but a symlink,
+          ;; then it will not be possible to delete individual files in this
+          ;; directory.
+          (union-build #$output
+                       (search-path-as-list
+                        (list "lib/udev" "libexec/udev")
+                        (list #$@(gnome-profile config)))
+                       #:create-all-directories? #t)
+          (for-each
+           (lambda (pattern)
+             (for-each
+              delete-file-recursively
+              (find-files #$output pattern)))
+           (list #$@(gnome-desktop-configuration-udev-blocklist config))))))))
 
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
-- 
2.41.0




^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v2 0/5] Modularization of the gnome desktop service with udev blocklist
  2024-01-25 16:12 [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Liliana Marie Prikler
                   ` (3 preceding siblings ...)
  2024-01-26 21:13 ` [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Maxim Cournoyer
@ 2024-02-05 20:00 ` 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
                     ` (4 more replies)
  2024-02-05 23:27 ` [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of " Vivien Kraus via Guix-patches via
                   ` (2 subsequent siblings)
  7 siblings, 5 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-05 20:00 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

Dear guix,

Here is a suggestion for the udev service type extension of the gnome desktop
service: add every rule and hardware, and let the system administrator
configure a blocklist of rules and hardware files.

This way, when newer packages provide different rules and hardware, they are
automatically used unless explicitely disabled.

What do you think?

Best regards,

Vivien

Liliana Marie Prikler (3):
  services: Modularise gnome-desktop-configuration.
  services: gnome-desktop: Add core packages for GNOME 44.
  gnu: Deprecate gnome meta-package.

Vivien Kraus (2):
  services: Rename gnome-udev-rules.
  services: gnome: Use a blocklist for udev configurations.

 gnu/packages/gnome.scm   |   3 +-
 gnu/services/desktop.scm | 214 +++++++++++++++++++++++++++++++++++----
 2 files changed, 199 insertions(+), 18 deletions(-)


base-commit: 6d3c414f11e5ec9eb029fbfd20fb08731c2b9aab
-- 
2.41.0




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v2 5/5] services: gnome: Use a blocklist for udev configurations.
  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
  0 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-05 20:52 UTC (permalink / raw)
  To: Vivien Kraus, 68716; +Cc: rg, maxim.cournoyer

Am Montag, dem 05.02.2024 um 19:30 +0100 schrieb Vivien Kraus:
> The gnome-udev-configuration-files now lists every udev rule and
> hardware
> file, and remove files based on a user-supplied list of regular
> expressions.
> 
> * gnu/services/desktop.scm (gnome-desktop-configuration): Add the
> udev-blocklist field.
> (gnome-udev-configuration-files): Change behavior.
> 
> Change-Id: I6df4b896652581c42a35ea3ba1e4849ad72d12ef
> ---
>  gnu/services/desktop.scm | 63 ++++++++++++++++++++++++++++++--------
> --
>  1 file changed, 48 insertions(+), 15 deletions(-)
> 
> diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
> index 263ae61698..8045406c10 100644
> --- a/gnu/services/desktop.scm
> +++ b/gnu/services/desktop.scm
> @@ -87,6 +87,7 @@ (define-module (gnu services desktop)
>    #:use-module (guix ui)
>    #:use-module (guix utils)
>    #:use-module (guix gexp)
> +  #:use-module (guix modules)
>    #:use-module (srfi srfi-1)
>    #:use-module (srfi srfi-26)
>    #:use-module (srfi srfi-35)
> @@ -156,6 +157,7 @@ (define-module (gnu services desktop)
>              gnome-desktop-configuration-shell
>              gnome-desktop-configuration-utilities
>              gnome-desktop-configuration-extra-packages
> +            gnome-desktop-configuration-udev-blocklist
>              gnome-desktop-service
>              gnome-desktop-service-type
>  
> @@ -1494,7 +1496,12 @@ (define-configuration/no-serialization gnome-
> desktop-configuration
>     "A list of GNOME-adjacent packages to also include.  This field
> is intended
>  for users to add their own packages to their GNOME experience. 
> Note, that it
>  already includes some packages that are considered essential by some
> (most?)
> -GNOME users."))
> +GNOME users.")
> +  (udev-blocklist
> +   (list-of-strings '())
> +   "A list of regular expressions denoting udev rules or hardware
> file names
> +provided by any package, that should not be installed.  By default,
> every udev
> +rule and hardware file specified by all packages are installed."))
>  
>  (define (gnome-package gnome name)
>    "Return the package NAME among the GNOME package inputs.  NAME can
> be a
> @@ -1509,20 +1516,46 @@ (define (gnome-packages gnome names)
>  (define (gnome-udev-configuration-files config)
>    "Return the list of GNOME dependencies that provide udev rules and
> hardware
>  files."
> -  (let* ((gnome (gnome-desktop-configuration-gnome config))
> -         (shell (gnome-desktop-configuration-shell config)))
> -    (or (any (match-lambda
> -               ((and pkg (= package-name "gnome-settings-daemon"))
> -                (list pkg))
> -               (_ #f))
> -             shell)
> -        (and (maybe-value-set? gnome)
> -             (gnome-packages gnome '("gnome-settings-daemon")))
> -        (raise
> -         (condition
> -          (&error-location
> -           (location (gnome-desktop-configuration-source-location
> config)))
> -          (&message (message (G_ "Missing gnome-settings-
> daemon"))))))))
> +  (let* ((all-packages
> +          (append
> +           (gnome-desktop-configuration-core-services config)
> +           (gnome-desktop-configuration-shell config)
> +           (gnome-desktop-configuration-utilities config)
> +           (let ((gnome-meta (gnome-desktop-configuration-gnome
> config)))
> +             (if (maybe-value-set? gnome-meta)
> +                 (begin
> +                   (warning
> +                    (gnome-desktop-configuration-source-location
> config)
> +                    (G_ "Using a meta-package for gnome-desktop is
> discouraged.~%"))
> +                   (list gnome-meta))
> +                 (list)))
> +           (gnome-desktop-configuration-extra-packages config))))
You could reuse the function that we have to implement for the profile
service anyway, no?
> +    (list
> +     (computed-file
> +      "gnome-udev-configurations"
> +      (with-imported-modules
> +          (source-module-closure '((guix build utils)))
> +        #~(begin
> +            (use-modules (guix build utils))
> +            (for-each
> +             (lambda (package)
> +               (with-directory-excursion
> +                   package
> +                 (for-each
> +                  (lambda (filename)
> +                    (mkdir-p (dirname (string-append #$output "/"
> filename)))
> +                    (copy-file filename (string-append #$output "/"
> filename)))
> +                  (find-files "."
> +                              (lambda (name st)
> +                                (or (string-prefix? "./lib/udev/"
> name)
> +                                    (string-prefix?
> "./libexec/udev/" name)))))))
IIRC, string-prefix matching is not a great idea with find-files. 
search-path-as-list from (guix build utils) is probably preferable.
> +             (list #$@all-packages))
> +            (for-each
> +             (lambda (pattern)
> +               (for-each
> +                delete-file-recursively
> +                (find-files #$output pattern)))
> +             (list #$@(gnome-desktop-configuration-udev-blocklist
> config)))))))))
>  
>  (define (gnome-polkit-settings config)
>    "Return the list of GNOME dependencies that provide polkit actions
> and
Cheers

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of udev configurations
  2024-01-25 16:12 [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Liliana Marie Prikler
                   ` (4 preceding siblings ...)
  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-02-05 23:27 ` 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
                     ` (5 more replies)
  2024-02-16 10:53 ` [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
  7 siblings, 6 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-05 23:27 UTC (permalink / raw)
  To: 68716; +Cc: rg, vivien, liliana.prikler, maxim.cournoyer

Dear guix,

Here is a new version, where I use union-build to gather all udev files, and
then I remove the files that belong to the blocklist.

What do you think?

Best regards,

Vivien

Liliana Marie Prikler (3):
  services: Modularise gnome-desktop-configuration.
  services: gnome-desktop: Add core packages for GNOME 44.
  gnu: Deprecate gnome meta-package.

Vivien Kraus (2):
  services: Rename gnome-udev-rules.
  services: gnome: Use a blocklist for udev configurations.

 gnu/packages/gnome.scm   |   3 +-
 gnu/services/desktop.scm | 197 +++++++++++++++++++++++++++++++++++----
 2 files changed, 182 insertions(+), 18 deletions(-)


base-commit: 6d3c414f11e5ec9eb029fbfd20fb08731c2b9aab
-- 
2.41.0




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of udev configurations
  2024-02-05 23:27 ` [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of " Vivien Kraus via Guix-patches via
                     ` (4 preceding siblings ...)
  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   ` Liliana Marie Prikler
  2024-02-07 21:38     ` Vivien Kraus via Guix-patches via
  5 siblings, 1 reply; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-06  5:13 UTC (permalink / raw)
  To: Vivien Kraus, 68716; +Cc: rg, maxim.cournoyer

Am Dienstag, dem 06.02.2024 um 00:27 +0100 schrieb Vivien Kraus:
> Dear guix,
> 
> Here is a new version, where I use union-build to gather all udev
> files, and then I remove the files that belong to the blocklist.
> 
> What do you think?
LGTM, but I need to retouch my own 1-3.  Will send a v4 with everything
once that's done.

Cheers




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of udev configurations
  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
  0 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-07 21:38 UTC (permalink / raw)
  To: Liliana Marie Prikler, 68716; +Cc: rg, maxim.cournoyer

Hello,

Le mardi 06 février 2024 à 06:13 +0100, Liliana Marie Prikler a écrit :
> I need to retouch my own 1-3.  Will send a v4 with everything
> once that's done.

I noticed that gnome-control-center, gnome-online-accounts, gnome-
themes-extra and hicolor-icon-theme got lost in the process. Both
gnome-control-center and gnome-online-accounts seem vital to me, and
the others may be of interest too.

Best regards,

Vivien




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages.
  2024-01-25 16:12 [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Liliana Marie Prikler
                   ` (6 preceding siblings ...)
  2024-02-16 10:53 ` [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
@ 2024-02-16 10:53 ` Liliana Marie Prikler
  2024-01-25 15:35   ` [bug#68716] [PATCH gnome-team v4 3/7] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
                     ` (6 more replies)
  7 siblings, 7 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 10:53 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

* 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)
   (package
-    (name "gnome")
+    (name %name)
     (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
+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))))
 
 (define-public byzanz
   ;; The last stable release of Byzanz was in 2011, but there have been many

base-commit: 622df12ef389c9e91f68ae10c54c043f34828c83
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages.
  2024-01-25 16:12 [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Liliana Marie Prikler
                   ` (5 preceding siblings ...)
  2024-02-05 23:27 ` [bug#68716] [PATCH gnome-team v3 0/5] More elegant filtering of " Vivien Kraus via Guix-patches via
@ 2024-02-16 10:53 ` Liliana Marie Prikler
  2024-01-25 15:35   ` [bug#68716] [PATCH v5 3/8] services: Modularise gnome-desktop-configuration Liliana Marie Prikler
                     ` (7 more replies)
  2024-02-16 10:53 ` [bug#68716] [PATCH gnome-team v4 1/7] " Liliana Marie Prikler
  7 siblings, 8 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 10:53 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

* 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 | 235 +++++++++++++++++++++++------------------
 1 file changed, 135 insertions(+), 100 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7397148c2b..9a27343353 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10154,108 +10154,143 @@ (define-public gnome-weather
     (home-page "https://wiki.gnome.org/Apps/Weather")
     (license license:gpl2+)))
 
-(define-public gnome
-  (package
-    (name "gnome")
-    (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
-          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
+(define-syntax gnome-meta-package
+  (lambda (x)
+    (syntax-case x ()
+      ((_ field ...)
+       (with-syntax ((base (datum->syntax x 'base)))
+         #'(let ((base
+                  (package
+                    (name #f)      ; we're hidden by default, so don't worry
+                    (version (package-version gnome-shell))
+                    (source #f)
+                    (build-system trivial-build-system)
+                    (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+)))
+                    (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
   ;; The last stable release of Byzanz was in 2011, but there have been many

base-commit: 622df12ef389c9e91f68ae10c54c043f34828c83
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 2/7] gnu: gnome: Add core packages for GNOME 44.
  2024-02-16 10:53 ` [bug#68716] [PATCH gnome-team v4 1/7] " Liliana Marie Prikler
                     ` (2 preceding siblings ...)
  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   ` 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
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 11:02 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

* gnu/packages/gnome.scm (gnome-meta-core-shell): Add gnome-remote-desktop.
(gnome-meta-core-utilities): Add gnome-connections.
---
 gnu/packages/gnome.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4fde75f612..f3d1548fe9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10200,6 +10200,7 @@ (define-public gnome-meta-core-shell
          gnome-initial-setup
          gnome-keyring
          gnome-menus
+         gnome-remote-desktop
          gnome-session
          gnome-settings-daemon
          gnome-shell
@@ -10232,6 +10233,7 @@ (define-public gnome-meta-core-utilities
           gnome-calendar
           gnome-characters
           gnome-clocks
+          gnome-connections
           gnome-console
           gnome-contacts
           gnome-disk-utility
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 2/8] gnu: gnome: Add core packages for GNOME 44.
  2024-02-16 10:53 ` [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
                     ` (2 preceding siblings ...)
  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   ` 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
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 11:02 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

* gnu/packages/gnome.scm (gnome-meta-core-shell): Add gnome-remote-desktop.
(gnome-meta-core-utilities): Add gnome-connections.
---
 gnu/packages/gnome.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9a27343353..119f957def 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10205,6 +10205,7 @@ (define-public gnome-meta-core-shell
                             gnome-initial-setup
                             gnome-keyring
                             gnome-menus
+                            gnome-remote-desktop
                             gnome-session
                             gnome-settings-daemon
                             gnome-shell
@@ -10237,6 +10238,7 @@ (define-public gnome-meta-core-utilities
                              gnome-calendar
                              gnome-characters
                              gnome-clocks
+                             gnome-connections
                              gnome-console
                              gnome-contacts
                              gnome-disk-utility
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 5/7] services: Extend polkit capabilities of gnome-desktop-service.
  2024-02-16 10:53 ` [bug#68716] [PATCH gnome-team v4 1/7] " Liliana Marie Prikler
                     ` (3 preceding siblings ...)
  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   ` 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   ` [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages Maxim Cournoyer
  6 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 12:08 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

As with our udev extension, this makes it so that all inputs are considered
modulo a new ignorelist.

* gnu/services/desktop.scm (gnome-desktop-configuration): Add
polkit-ignorelist.
(gnome-polkit-settings): Adjust accordingly.
---
 gnu/services/desktop.scm | 44 ++++++++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 17 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 0631571c49..b3c0f4fc41 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1425,7 +1425,12 @@ (define-configuration/no-serialization gnome-desktop-configuration
    "A list of regular expressions denoting udev rules or hardware file names
 provided by any package that should not be installed.  By default, every udev
 rule and hardware file specified by any package referenced in the other fields
-are installed."))
+are installed.")
+  (polkit-ignorelist
+   (list-of-strings '())
+   "A list of regular expressions denoting polkit rules provided by any package
+that should not be installed.  By default, every polkit rule added by any package
+referenced in the other fields are installed."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1467,22 +1472,27 @@ (define (gnome-udev-configuration-files config)
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
 rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config))
-        (shell (gnome-desktop-configuration-shell config)))
-    (or (any (match-lambda ((and pkg (= package-name "gvfs")) (list pkg))
-                           (_ #f))
-              shell)
-        (and (maybe-value-set? gnome)
-             (gnome-packages gnome
-                             '("gnome-settings-daemon"
-                               "gnome-control-center"
-                               "gnome-system-monitor"
-                               "gvfs")))
-        (raise
-         (condition
-          (&error-location
-           (location (gnome-desktop-configuration-source-location config)))
-          (&message (message (G_ "Missing gvfs"))))))))
+  (list
+   (computed-file
+    "gnome-polkit-settings"
+    (with-imported-modules
+        (source-module-closure '((guix build utils)
+                                 (guix build union)))
+      #~(let ((output (string-append #$output "/share/polkit-1")))
+          (use-modules (guix build utils)
+                       (guix build union))
+          (mkdir-p (dirname output))
+          (union-build output
+                       (search-path-as-list
+                        (list "share/polkit-1")
+                        (list #$@(gnome-profile config)))
+                       #:create-all-directories? #t)
+          (for-each
+           (lambda (pattern)
+             (for-each
+              delete-file-recursively
+              (find-files output pattern)))
+           (list #$@(gnome-desktop-configuration-polkit-ignorelist config))))))))
 
 (define (gnome-profile config)
   "Return a list of packages propagated through CONFIG."
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 5/8] services: Extend polkit capabilities of gnome-desktop-service.
  2024-02-16 10:53 ` [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
                     ` (3 preceding siblings ...)
  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   ` Liliana Marie Prikler
  2024-02-16 12:35   ` [bug#68716] [PATCH v5 6/8] services: desktop: Remove unused imports Liliana Marie Prikler
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 12:08 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

As with our udev extension, this makes it so that all inputs are considered
modulo a new ignorelist.

* gnu/services/desktop.scm (gnome-desktop-configuration): Add
polkit-ignorelist.
(gnome-polkit-settings): Adjust accordingly.
---
 gnu/services/desktop.scm | 44 ++++++++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 17 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 0631571c49..b3c0f4fc41 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1425,7 +1425,12 @@ (define-configuration/no-serialization gnome-desktop-configuration
    "A list of regular expressions denoting udev rules or hardware file names
 provided by any package that should not be installed.  By default, every udev
 rule and hardware file specified by any package referenced in the other fields
-are installed."))
+are installed.")
+  (polkit-ignorelist
+   (list-of-strings '())
+   "A list of regular expressions denoting polkit rules provided by any package
+that should not be installed.  By default, every polkit rule added by any package
+referenced in the other fields are installed."))
 
 (define (gnome-package gnome name)
   "Return the package NAME among the GNOME package inputs.  NAME can be a
@@ -1467,22 +1472,27 @@ (define (gnome-udev-configuration-files config)
 (define (gnome-polkit-settings config)
   "Return the list of GNOME dependencies that provide polkit actions and
 rules."
-  (let ((gnome (gnome-desktop-configuration-gnome config))
-        (shell (gnome-desktop-configuration-shell config)))
-    (or (any (match-lambda ((and pkg (= package-name "gvfs")) (list pkg))
-                           (_ #f))
-              shell)
-        (and (maybe-value-set? gnome)
-             (gnome-packages gnome
-                             '("gnome-settings-daemon"
-                               "gnome-control-center"
-                               "gnome-system-monitor"
-                               "gvfs")))
-        (raise
-         (condition
-          (&error-location
-           (location (gnome-desktop-configuration-source-location config)))
-          (&message (message (G_ "Missing gvfs"))))))))
+  (list
+   (computed-file
+    "gnome-polkit-settings"
+    (with-imported-modules
+        (source-module-closure '((guix build utils)
+                                 (guix build union)))
+      #~(let ((output (string-append #$output "/share/polkit-1")))
+          (use-modules (guix build utils)
+                       (guix build union))
+          (mkdir-p (dirname output))
+          (union-build output
+                       (search-path-as-list
+                        (list "share/polkit-1")
+                        (list #$@(gnome-profile config)))
+                       #:create-all-directories? #t)
+          (for-each
+           (lambda (pattern)
+             (for-each
+              delete-file-recursively
+              (find-files output pattern)))
+           (list #$@(gnome-desktop-configuration-polkit-ignorelist config))))))))
 
 (define (gnome-profile config)
   "Return a list of packages propagated through CONFIG."
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 6/7] services: desktop: Remove unused imports.
  2024-02-16 10:53 ` [bug#68716] [PATCH gnome-team v4 1/7] " Liliana Marie Prikler
                     ` (4 preceding siblings ...)
  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   ` Liliana Marie Prikler
  2024-02-16 19:44   ` [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages Maxim Cournoyer
  6 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 12:35 UTC (permalink / raw)
  To: 68716; +Cc: liliana.prikler, maxim.cournoyer, rg, vivien

These imports were needed for a short time to consider two variants of finding
udev/polkit configuration files.  They are no longer needed, since the
respective procedures use all packages now.

* gnu/services/desktop.scm: Strip use of (guix diagnostics) and (srfi srfi-35).
---
 gnu/services/desktop.scm | 2 --
 1 file changed, 2 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index b3c0f4fc41..02a7802d58 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -75,7 +75,6 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
-  #:use-module (guix diagnostics)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -85,7 +84,6 @@ (define-module (gnu services desktop)
   #:use-module (guix modules)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
-  #:use-module (srfi srfi-35)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (<upower-configuration>
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 6/8] services: desktop: Remove unused imports.
  2024-02-16 10:53 ` [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
                     ` (4 preceding siblings ...)
  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   ` 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
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 12:35 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

These imports were needed for a short time to consider two variants of finding
udev/polkit configuration files.  They are no longer needed, since the
respective procedures use all packages now.

* gnu/services/desktop.scm: Strip use of (guix diagnostics) and (srfi srfi-35).
---
 gnu/services/desktop.scm | 2 --
 1 file changed, 2 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index b3c0f4fc41..02a7802d58 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -75,7 +75,6 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
-  #:use-module (guix diagnostics)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -85,7 +84,6 @@ (define-module (gnu services desktop)
   #:use-module (guix modules)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
-  #:use-module (srfi srfi-35)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (<upower-configuration>
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 7/7] gnu: Deprecate gnome meta-package.
  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
  0 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-16 17:44 UTC (permalink / raw)
  To: Liliana Marie Prikler, 68716; +Cc: rg, maxim.cournoyer

Hello!

The whole series seems good to me. I reconfigured my system and
rebooted into it, and it works.

Best regards,

Vivien

Le jeudi 25 janvier 2024 à 16:55 +0100, Liliana Marie Prikler a écrit :
> GNOME is not a "one size fits all" environment, but with the
> introduction of
> World, Circle, and to some extent Developer Extras and recent
> explorations of
> mobile form factors much more customizable towards the needs of
> users.  As
> such, it is silly to insist on a single meta-package to make everyone
> happy.
> 
> * gnu/packages/gnome.scm (gnome): Deprecate.
> ---
>  gnu/packages/gnome.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index f3d1548fe9..e47a4576f5 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -237,6 +237,7 @@ (define-module (gnu packages gnome)
>    #:use-module (guix build-system meson)
>    #:use-module (guix build-system python)
>    #:use-module (guix build-system trivial)
> +  #:use-module (guix deprecation)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
>    #:use-module ((guix licenses) #:prefix license:)
> @@ -10280,7 +10281,7 @@ (define-public gnome-essential-extras
>  a good GNOME experience, mixed from core dependencies and other
> implicitly
>  relied-on packages.")))
>  
> -(define-public gnome
> +(define-deprecated/public gnome #f
>    (package
>      (inherit (gnome-meta-package "gnome"
>                                   (append-map package-propagated-
> inputs





^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages.
  2024-02-16 10:53 ` [bug#68716] [PATCH gnome-team v4 1/7] " Liliana Marie Prikler
                     ` (5 preceding siblings ...)
  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
  2024-02-16 20:08     ` Liliana Marie Prikler
  6 siblings, 1 reply; 42+ messages in thread
From: Maxim Cournoyer @ 2024-02-16 19:44 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: rg, vivien, 68716

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




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages.
  2024-02-16 19:44   ` [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages Maxim Cournoyer
@ 2024-02-16 20:08     ` Liliana Marie Prikler
  2024-02-17  7:50       ` Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-16 20:08 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: rg, vivien, 68716

Am Freitag, dem 16.02.2024 um 14:44 -0500 schrieb Maxim Cournoyer:
> 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.
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
> 


^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages.
  2024-02-16 20:08     ` Liliana Marie Prikler
@ 2024-02-17  7:50       ` Vivien Kraus via Guix-patches via
  0 siblings, 0 replies; 42+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2024-02-17  7:50 UTC (permalink / raw)
  To: Liliana Marie Prikler, Maxim Cournoyer; +Cc: rg, 68716

Hello,

Le vendredi 16 février 2024 à 21:08 +0100, Liliana Marie Prikler a
écrit :
> > > +     "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.
Here is my suggestion:

GNOME is a graphical desktop environment.  It includes a wide variety
of applications with a common interface for browsing the web, editing
text and images, creating documents and diagrams, playing media,
scanning, and much more.  It also provides libraries and tools to help
write such applications.

What do you think?

Best regards,

Vivien




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#68716] [PATCH v5 8/8] gnu: gnome: Update synopsis and description.
  2024-02-16 10:53 ` [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
                     ` (5 preceding siblings ...)
  2024-02-16 12:35   ` [bug#68716] [PATCH v5 6/8] services: desktop: Remove unused imports Liliana Marie Prikler
@ 2024-02-17  8:19   ` Liliana Marie Prikler
  2024-02-24  6:40   ` bug#68716: [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-17  8:19 UTC (permalink / raw)
  To: 68716; +Cc: rg, Vivien Kraus, Maxim Cournoyer

Gnome no longer considers itself “The GNU desktop environment”™, so let's
reflect that.

* gnu/packages/gnome.scm (gnome-meta-package)[synopsis]: Shorten to “Graphical
desktop environment”.
[description]: Adjust accordingly.
---
 gnu/packages/gnome.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3736b9c351..43126388e9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10174,11 +10174,11 @@ (define-syntax gnome-meta-package
                                             #$(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.")
+                    (synopsis "Graphical desktop environment")
+                    (description "GNOME is a graphical desktop environment.
+It includes a wide variety of applications with a common interface 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)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* bug#68716: [PATCH v5 1/8] gnu: Split gnome into more meta-packages.
  2024-02-16 10:53 ` [bug#68716] [PATCH v5 1/8] gnu: Split gnome into more meta-packages Liliana Marie Prikler
                     ` (6 preceding siblings ...)
  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   ` Liliana Marie Prikler
  7 siblings, 0 replies; 42+ messages in thread
From: Liliana Marie Prikler @ 2024-02-24  6:40 UTC (permalink / raw)
  To: 68716-done; +Cc: rg, Vivien Kraus, Maxim Cournoyer

Am Freitag, dem 16.02.2024 um 11:53 +0100 schrieb Liliana Marie
Prikler:
> * 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.
> ---
Pushed.




^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2024-02-24  6:49 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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   ` [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages Maxim Cournoyer
2024-02-16 20:08     ` Liliana Marie Prikler
2024-02-17  7:50       ` Vivien Kraus via Guix-patches via

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.