Package: guix-patches;
Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Date: Thu, 25 Jan 2024 16:14:02 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68716 in the body.
You can then email your comments to 68716 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Thu, 25 Jan 2024 16:14:02 GMT) Full text and rfc822 format available.Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
.
(Thu, 25 Jan 2024 16:14:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: guix-patches <at> gnu.org Subject: [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Date: Thu, 25 Jan 2024 17:12:26 +0100
*** 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
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Thu, 25 Jan 2024 16:28:01 GMT) Full text and rfc822 format available.liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Thu, 25 Jan 2024 16:29:01 GMT) Full text and rfc822 format available.Message #10 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration. Date: Thu, 25 Jan 2024 16:35:17 +0100
* 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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Thu, 25 Jan 2024 16:29:02 GMT) Full text and rfc822 format available.Message #13 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team RFC 3/3] services: gnome-desktop: Add core packages for GNOME 44. Date: Thu, 25 Jan 2024 17:06:34 +0100
* 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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Thu, 25 Jan 2024 16:29:02 GMT) Full text and rfc822 format available.Message #16 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team RFC 2/3] gnu: Deprecate gnome meta-package. Date: Thu, 25 Jan 2024 16:55:44 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Thu, 25 Jan 2024 17:09:02 GMT) Full text and rfc822 format available.Message #19 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, maxim.cournoyer <at> gmail.com Subject: Re: [bug#68716] [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration. Date: Thu, 25 Jan 2024 18:12:09 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Thu, 25 Jan 2024 17:40:02 GMT) Full text and rfc822 format available.Message #22 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, maxim.cournoyer <at> gmail.com Subject: Re: [bug#68716] [PATCH gnome-team RFC 1/3] services: Modularise gnome-desktop-configuration. Date: Thu, 25 Jan 2024 18:38:57 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 26 Jan 2024 21:14:02 GMT) Full text and rfc822 format available.Message #25 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, 68716 <at> debbugs.gnu.org Subject: Re: [bug#68716] [PATCH gnome-team RFC 0/3] *** SUBJECT HERE *** Date: Fri, 26 Jan 2024 16:13:08 -0500
Hi Liliana, Liliana Marie Prikler <liliana.prikler <at> 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 <at> gmail> -- Thanks, Maxim
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 20:03:01 GMT) Full text and rfc822 format available.Message #28 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v2 0/5] Modularization of the gnome desktop service with udev blocklist Date: Mon, 5 Feb 2024 21:00:01 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 20:03:02 GMT) Full text and rfc822 format available.Message #31 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v2 1/5] services: Modularise gnome-desktop-configuration. Date: Thu, 25 Jan 2024 16:35:17 +0100
* 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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 20:03:02 GMT) Full text and rfc822 format available.Message #34 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v2 2/5] services: gnome-desktop: Add core packages for GNOME 44. Date: Thu, 25 Jan 2024 17:06:34 +0100
* 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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 20:03:02 GMT) Full text and rfc822 format available.Message #37 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v2 3/5] gnu: Deprecate gnome meta-package. Date: Thu, 25 Jan 2024 16:55:44 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 20:03:03 GMT) Full text and rfc822 format available.Message #40 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v2 4/5] services: Rename gnome-udev-rules. Date: Mon, 5 Feb 2024 18:05:41 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 20:03:03 GMT) Full text and rfc822 format available.Message #43 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v2 5/5] services: gnome: Use a blocklist for udev configurations. Date: Mon, 5 Feb 2024 19:30:25 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 20:54:01 GMT) Full text and rfc822 format available.Message #46 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, maxim.cournoyer <at> gmail.com Subject: Re: [PATCH gnome-team v2 5/5] services: gnome: Use a blocklist for udev configurations. Date: Mon, 05 Feb 2024 21:52:34 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 23:32:02 GMT) Full text and rfc822 format available.Message #49 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v3 3/5] gnu: Deprecate gnome meta-package. Date: Thu, 25 Jan 2024 16:55:44 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 23:32:02 GMT) Full text and rfc822 format available.Message #52 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v3 5/5] services: gnome: Use a blocklist for udev configurations. Date: Mon, 5 Feb 2024 19:30:25 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 23:32:03 GMT) Full text and rfc822 format available.Message #55 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v3 0/5] More elegant filtering of udev configurations Date: Tue, 6 Feb 2024 00:27:49 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 23:32:03 GMT) Full text and rfc822 format available.Message #58 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v3 1/5] services: Modularise gnome-desktop-configuration. Date: Thu, 25 Jan 2024 16:35:17 +0100
* 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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 23:32:04 GMT) Full text and rfc822 format available.Message #61 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v3 4/5] services: Rename gnome-udev-rules. Date: Mon, 5 Feb 2024 18:05:41 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Mon, 05 Feb 2024 23:32:04 GMT) Full text and rfc822 format available.Message #64 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com Subject: [PATCH gnome-team v3 2/5] services: gnome-desktop: Add core packages for GNOME 44. Date: Thu, 25 Jan 2024 17:06:34 +0100
* 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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Tue, 06 Feb 2024 05:15:01 GMT) Full text and rfc822 format available.Message #67 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, maxim.cournoyer <at> gmail.com Subject: Re: [PATCH gnome-team v3 0/5] More elegant filtering of udev configurations Date: Tue, 06 Feb 2024 06:13:45 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Wed, 07 Feb 2024 21:39:02 GMT) Full text and rfc822 format available.Message #70 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, maxim.cournoyer <at> gmail.com Subject: Re: [PATCH gnome-team v3 0/5] More elegant filtering of udev configurations Date: Wed, 07 Feb 2024 22:38:00 +0100
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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 12:45:02 GMT) Full text and rfc822 format available.Message #73 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team v4 2/7] gnu: gnome: Add core packages for GNOME 44. Date: Fri, 16 Feb 2024 12:02:42 +0100
* 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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 12:45:02 GMT) Full text and rfc822 format available.Message #76 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team v4 4/7] services: Extend udev capabilities of gnome-desktop-service. Date: Mon, 5 Feb 2024 18:05:41 +0100
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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 12:45:03 GMT) Full text and rfc822 format available.Message #79 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team v4 3/7] services: Modularise gnome-desktop-configuration. Date: Thu, 25 Jan 2024 16:35:17 +0100
* 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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 12:45:03 GMT) Full text and rfc822 format available.Message #82 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages. Date: Fri, 16 Feb 2024 11:53:43 +0100
* 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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 12:45:03 GMT) Full text and rfc822 format available.Message #85 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team v4 6/7] services: desktop: Remove unused imports. Date: Fri, 16 Feb 2024 13:35:56 +0100
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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 12:45:04 GMT) Full text and rfc822 format available.Message #88 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team v4 5/7] services: Extend polkit capabilities of gnome-desktop-service. Date: Fri, 16 Feb 2024 13:08:11 +0100
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
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 12:45:04 GMT) Full text and rfc822 format available.Message #91 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Subject: [PATCH gnome-team v4 7/7] gnu: Deprecate gnome meta-package. Date: Thu, 25 Jan 2024 16:55:44 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 17:45:02 GMT) Full text and rfc822 format available.Message #94 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, maxim.cournoyer <at> gmail.com Subject: Re: [bug#68716] [PATCH gnome-team v4 7/7] gnu: Deprecate gnome meta-package. Date: Fri, 16 Feb 2024 18:44:04 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 19:46:02 GMT) Full text and rfc822 format available.Message #97 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, 68716 <at> debbugs.gnu.org Subject: Re: [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages. Date: Fri, 16 Feb 2024 14:44:27 -0500
Hi, Liliana Marie Prikler <liliana.prikler <at> 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 <at> gmail.com> -- Thanks, Maxim
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Fri, 16 Feb 2024 20:11:02 GMT) Full text and rfc822 format available.Message #100 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Cc: rg <at> raghavgururajan.name, vivien <at> planete-kraus.eu, 68716 <at> debbugs.gnu.org Subject: Re: [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages. Date: Fri, 16 Feb 2024 21:08:34 +0100
Am Freitag, dem 16.02.2024 um 14:44 -0500 schrieb Maxim Cournoyer: > Hi, > > Liliana Marie Prikler <liliana.prikler <at> 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 >
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 07:52:01 GMT) Full text and rfc822 format available.Message #103 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Cc: rg <at> raghavgururajan.name, 68716 <at> debbugs.gnu.org Subject: Re: [bug#68716] [PATCH gnome-team v4 1/7] gnu: Split gnome into more meta-packages. Date: Sat, 17 Feb 2024 08:50:35 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:01 GMT) Full text and rfc822 format available.Message #106 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 1/8] gnu: Split gnome into more meta-packages. Date: Fri, 16 Feb 2024 11:53:43 +0100
* 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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:02 GMT) Full text and rfc822 format available.Message #109 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 2/8] gnu: gnome: Add core packages for GNOME 44. Date: Fri, 16 Feb 2024 12:02:42 +0100
* 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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:02 GMT) Full text and rfc822 format available.Message #112 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 3/8] services: Modularise gnome-desktop-configuration. Date: Thu, 25 Jan 2024 16:35:17 +0100
* 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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:02 GMT) Full text and rfc822 format available.Message #115 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 7/8] gnu: Deprecate gnome meta-package. Date: Thu, 25 Jan 2024 16:55:44 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:03 GMT) Full text and rfc822 format available.Message #118 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 8/8] gnu: gnome: Update synopsis and description. Date: Sat, 17 Feb 2024 09:19:28 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:03 GMT) Full text and rfc822 format available.Message #121 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 6/8] services: desktop: Remove unused imports. Date: Fri, 16 Feb 2024 13:35:56 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:04 GMT) Full text and rfc822 format available.Message #124 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 5/8] services: Extend polkit capabilities of gnome-desktop-service. Date: Fri, 16 Feb 2024 13:08:11 +0100
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
guix-patches <at> gnu.org
:bug#68716
; Package guix-patches
.
(Sat, 17 Feb 2024 08:26:04 GMT) Full text and rfc822 format available.Message #127 received at 68716 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <liliana.prikler <at> gmail.com> To: 68716 <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v5 4/8] services: Extend udev capabilities of gnome-desktop-service. Date: Mon, 5 Feb 2024 18:05:41 +0100
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
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:Message #132 received at 68716-done <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 68716-done <at> debbugs.gnu.org Cc: rg <at> raghavgururajan.name, Vivien Kraus <vivien <at> planete-kraus.eu>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: Re: [PATCH v5 1/8] gnu: Split gnome into more meta-packages. Date: Sat, 24 Feb 2024 07:40:11 +0100
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.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sat, 23 Mar 2024 11:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.