all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#75375] [PATCH 1/2] teams: gnome: Add gnome-manifest.
  2025-01-05  7:44 [bug#75375] [PATCH 0/2] Add manifests for gnome-team Liliana Marie Prikler
@ 2025-01-05  7:42 ` Liliana Marie Prikler
  2025-01-05  7:42 ` [bug#75375] [PATCH v1 " Liliana Marie Prikler
  2025-01-05  7:42 ` [bug#75375] [PATCH 2/2] teams: gnome: Add gnome-extension-manifest Liliana Marie Prikler
  2 siblings, 0 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2025-01-05  7:42 UTC (permalink / raw)
  To: 75375; +Cc: liliana.prikler, maxim.cournoyer, vivien

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1571 bytes --]

* etc/teams/gnome/gnome-manifest.scm: New file.
---
 etc/teams/gnome/gnome-manifest.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 etc/teams/gnome/gnome-manifest.scm

diff --git a/etc/teams/gnome/gnome-manifest.scm b/etc/teams/gnome/gnome-manifest.scm
new file mode 100644
index 0000000000..a597120e64
--- /dev/null
+++ b/etc/teams/gnome/gnome-manifest.scm
@@ -0,0 +1,26 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(use-modules (guix packages)
+             (guix profiles)
+             (gnu packages gnome))
+
+(packages->manifest (list gnome-meta-core-services
+                          gnome-meta-core-shell
+                          gnome-meta-core-utilities
+                          gnome-essential-extras))
-- 
2.47.1





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

* [bug#75375] [PATCH v1 1/2] teams: gnome: Add gnome-manifest.
  2025-01-05  7:44 [bug#75375] [PATCH 0/2] Add manifests for gnome-team Liliana Marie Prikler
  2025-01-05  7:42 ` [bug#75375] [PATCH 1/2] teams: gnome: Add gnome-manifest Liliana Marie Prikler
@ 2025-01-05  7:42 ` Liliana Marie Prikler
  2025-01-19  2:20   ` Maxim Cournoyer
  2025-01-05  7:42 ` [bug#75375] [PATCH 2/2] teams: gnome: Add gnome-extension-manifest Liliana Marie Prikler
  2 siblings, 1 reply; 7+ messages in thread
From: Liliana Marie Prikler @ 2025-01-05  7:42 UTC (permalink / raw)
  To: 75375; +Cc: liliana.prikler, maxim.cournoyer, vivien

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1984 bytes --]

* etc/teams/gnome/gnome-manifest.scm: New file.
---
This variant makes it so that the manifest can be used with
`guix refresh'.

 etc/teams/gnome/gnome-manifest.scm | 37 ++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 etc/teams/gnome/gnome-manifest.scm

diff --git a/etc/teams/gnome/gnome-manifest.scm b/etc/teams/gnome/gnome-manifest.scm
new file mode 100644
index 0000000000..643a32c9b4
--- /dev/null
+++ b/etc/teams/gnome/gnome-manifest.scm
@@ -0,0 +1,37 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(use-modules (guix packages)
+             (guix profiles)
+             (gnu packages gnome)
+             (ice-9 match)
+             (srfi srfi-1))
+
+(define (propagated-inputs package)
+  (map
+   (match-lambda
+     ((_ (? package? pkg)) pkg)
+     ((_ (? package? pkg) output) (list pkg output)))
+   (package-propagated-inputs package)))
+
+(packages->manifest
+ (append-map propagated-inputs
+             (list gnome-meta-core-services
+                   gnome-meta-core-shell
+                   gnome-meta-core-utilities
+                   gnome-essential-extras)))

base-commit: 321edcf0744a8895690579e8a5b09b66c75d102c
-- 
2.47.1





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

* [bug#75375] [PATCH 2/2] teams: gnome: Add gnome-extension-manifest.
  2025-01-05  7:44 [bug#75375] [PATCH 0/2] Add manifests for gnome-team Liliana Marie Prikler
  2025-01-05  7:42 ` [bug#75375] [PATCH 1/2] teams: gnome: Add gnome-manifest Liliana Marie Prikler
  2025-01-05  7:42 ` [bug#75375] [PATCH v1 " Liliana Marie Prikler
@ 2025-01-05  7:42 ` Liliana Marie Prikler
  2 siblings, 0 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2025-01-05  7:42 UTC (permalink / raw)
  To: 75375; +Cc: liliana.prikler, maxim.cournoyer, vivien

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1721 bytes --]

* etc/teams/gnome/gnome-extension-manifest.scm: New file.
---
 etc/teams/gnome/gnome-extension-manifest.scm | 31 ++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 etc/teams/gnome/gnome-extension-manifest.scm

diff --git a/etc/teams/gnome/gnome-extension-manifest.scm b/etc/teams/gnome/gnome-extension-manifest.scm
new file mode 100644
index 0000000000..25adc74304
--- /dev/null
+++ b/etc/teams/gnome/gnome-extension-manifest.scm
@@ -0,0 +1,31 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(use-modules (guix packages)
+             (guix profiles)
+             (gnu packages))
+
+(manifest
+  (map package->manifest-entry
+       (fold-packages
+         (lambda (package extensions)
+           (if (string-prefix? "gnome-shell-extension"
+                               (package-name package))
+               (cons package extensions)
+               extensions))
+         (list))))
-- 
2.47.1





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

* [bug#75375] [PATCH 0/2] Add manifests for gnome-team
@ 2025-01-05  7:44 Liliana Marie Prikler
  2025-01-05  7:42 ` [bug#75375] [PATCH 1/2] teams: gnome: Add gnome-manifest Liliana Marie Prikler
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2025-01-05  7:44 UTC (permalink / raw)
  To: 75375; +Cc: liliana.prikler, maxim.cournoyer, vivien

Hi Guix,

this series adds some high-level manifests for gnome-team.  As with the
manifests for other teams, this should make it easier to determine which
packages are within team scope.  I am not yet considering GNOME Circle
or similar efforts, though we should probably do so eventually.

Cheers

Liliana Marie Prikler (2):
  teams: gnome: Add gnome-manifest.
  teams: gnome: Add gnome-extension-manifest.

 etc/teams/gnome/gnome-extension-manifest.scm | 31 ++++++++++++++++++++
 etc/teams/gnome/gnome-manifest.scm           | 26 ++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 etc/teams/gnome/gnome-extension-manifest.scm
 create mode 100644 etc/teams/gnome/gnome-manifest.scm


base-commit: 321edcf0744a8895690579e8a5b09b66c75d102c
-- 
2.47.1





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

* [bug#75375] [PATCH v1 1/2] teams: gnome: Add gnome-manifest.
  2025-01-05  7:42 ` [bug#75375] [PATCH v1 " Liliana Marie Prikler
@ 2025-01-19  2:20   ` Maxim Cournoyer
  2025-01-19  6:45     ` Liliana Marie Prikler
  0 siblings, 1 reply; 7+ messages in thread
From: Maxim Cournoyer @ 2025-01-19  2:20 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 75375, vivien

Hi Liliana,

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

> * etc/teams/gnome/gnome-manifest.scm: New file.

[...]

> +(define (propagated-inputs package)
> +  (map
> +   (match-lambda
> +     ((_ (? package? pkg)) pkg)
> +     ((_ (? package? pkg) output) (list pkg output)))
> +   (package-propagated-inputs package)))
> +
> +(packages->manifest
> + (append-map propagated-inputs
> +             (list gnome-meta-core-services
> +                   gnome-meta-core-shell
> +                   gnome-meta-core-utilities
> +                   gnome-essential-extras)))

Good idea!  I have an unfinished branch locally where I was devising the
same; it looked like this:

--8<---------------cut here---------------start------------->8---
+(use-modules (guix git-download)
+             (guix packages)
+             (guix profiles)
+             (guix utils)
+             (gnu packages))
+
+;;; Commentary:
+;;;
+;;; This manifest can be used to update the GNOME packages collection, via
+;;; e.g.:
+;;;
+;;; ./pre-inst-env guix refresh -u -m etc/teams/gnome/gnome-manifest.scm \
+;;;   --target-version=48
+;;;
+;;; Code:
+
+(define (gnome-package? p)
+  "Predicate to check if P is a GNOME package."
+  (let ((uri (and=> (package-source p)
+                    (lambda (x)
+                      (and (origin? x)
+                           (origin-uri x)))))
+        (loc (package-location p)))
+    (or (and uri
+             (cond
+              ((string? uri)
+               (string-prefix? "mirror://gnome/" uri))
+              ((git-reference? uri)
+               (string-contains "gitlab.gnome.org"
+                                (git-reference-url uri)))
+              (else #f)))
+        (and loc
+             (string-contains "gnu/packages/gnome"
+                              (location-file loc))))))
+
+(define* (gnome-packages-manifest)
+  "Return a manifest of all GNOME packages."
+  (manifest
+   (map package->manifest-entry
+        (fold-packages
+         (lambda (package lst)
+           (if (gnome-package? package)
+               (cons package lst)
+               lst))
+         '()))))
--8<---------------cut here---------------end--------------->8---

The comment with --target-version=48 (partial version) depends on a
complete but unreleased feature (I'll publish it soon), that enables to
do so.

Would that be a more comprehensive of GNOME packages?  I'm also not sure
of the merit of separating extensions from other GNOME packages?

-- 
Thanks,
Maxim




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

* [bug#75375] [PATCH v1 1/2] teams: gnome: Add gnome-manifest.
  2025-01-19  2:20   ` Maxim Cournoyer
@ 2025-01-19  6:45     ` Liliana Marie Prikler
  2025-01-21  2:56       ` Maxim Cournoyer
  0 siblings, 1 reply; 7+ messages in thread
From: Liliana Marie Prikler @ 2025-01-19  6:45 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 75375, vivien

Hi Maxim,

Am Sonntag, dem 19.01.2025 um 11:20 +0900 schrieb Maxim Cournoyer:
> Good idea!  I have an unfinished branch locally where I was devising
> the same; it looked like this:
> 
> --8<---------------cut here---------------start------------->8---
> +(use-modules (guix git-download)
> +             (guix packages)
> +             (guix profiles)
> +             (guix utils)
> +             (gnu packages))
> +
> +;;; Commentary:
> +;;;
> +;;; This manifest can be used to update the GNOME packages
> collection, via
> +;;; e.g.:
> +;;;
> +;;; ./pre-inst-env guix refresh -u -m etc/teams/gnome/gnome-
> manifest.scm \
> +;;;   --target-version=48
> +;;;
> +;;; Code:
> +
> +(define (gnome-package? p)
> +  "Predicate to check if P is a GNOME package."
> +  (let ((uri (and=> (package-source p)
> +                    (lambda (x)
> +                      (and (origin? x)
> +                           (origin-uri x)))))
> +        (loc (package-location p)))
> +    (or (and uri
> +             (cond
> +              ((string? uri)
> +               (string-prefix? "mirror://gnome/" uri))
> +              ((git-reference? uri)
> +               (string-contains "gitlab.gnome.org"
> +                                (git-reference-url uri)))
> +              (else #f)))
> +        (and loc
> +             (string-contains "gnu/packages/gnome"
> +                              (location-file loc))))))
> +
> +(define* (gnome-packages-manifest)
> +  "Return a manifest of all GNOME packages."
> +  (manifest
> +   (map package->manifest-entry
> +        (fold-packages
> +         (lambda (package lst)
> +           (if (gnome-package? package)
> +               (cons package lst)
> +               lst))
> +         '()))))
> --8<---------------cut here---------------end--------------->8---
This is a slightly different manifest that updates everything under the
GNOME umbrella, i.e. including "World" packages that follow a different
versioning scheme, some of which are more experimental than gnome
itself.  

> The comment with --target-version=48 (partial version) depends on a
> complete but unreleased feature (I'll publish it soon), that enables
> to do so.
I'm not sure how useful this feature will be, given that the gnome-
metapackage refers to packages with different versioning schemes
already.  I do think we need a way to distinguish unstable versions for
those packages that still follow the old versioning scheme as well.

> I'm also not sure of the merit of separating extensions from other
> GNOME packages?
The idea is that with a recent enough gnome-shell updating the
extensions can be done with a single command, without affecting other
packages.  Since extensions don't have common versions, it only ever
makes sense to pull the latest when gnome-shell is the latest as well
(or at least close to it).

Cheers

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

* [bug#75375] [PATCH v1 1/2] teams: gnome: Add gnome-manifest.
  2025-01-19  6:45     ` Liliana Marie Prikler
@ 2025-01-21  2:56       ` Maxim Cournoyer
  0 siblings, 0 replies; 7+ messages in thread
From: Maxim Cournoyer @ 2025-01-21  2:56 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 75375, vivien

Hi Liliana,

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

[...]

> THIS IS A SLIGHTLY DIFFERENT MANIFEST THAT UPDATES EVERYTHING UNDER THE
> GNOME UMBRELLA, I.E. INCLUDING "WORLD" PACKAGES THAT FOLLOW A DIFFERENT
> VERSIONING SCHEME, SOME OF WHICH ARE MORE EXPERIMENTAL THAN GNOME
> ITSELF.  

RIGHT, IT COVERS EVERYTHING.  I GUESS IT'D BE NICE TO HAVE A
GNOME-OTHERS-MANIFEST.SCM TO UPDATE ALL THE NON-CORE GNOME PACKAGES.
THAT'D REQUIRE SUBSTRACTING THE CORE PACKAGES FROM THE ONES FOUND BY THE
CATCHALL MANIFEST.

>> THE COMMENT WITH --TARGET-VERSION=48 (PARTIAL VERSION) DEPENDS ON A
>> COMPLETE BUT UNRELEASED FEATURE (I'LL PUBLISH IT SOON), THAT ENABLES
>> TO DO SO.
> I'M NOT SURE HOW USEFUL THIS FEATURE WILL BE, GIVEN THAT THE GNOME-
> METAPACKAGE REFERS TO PACKAGES WITH DIFFERENT VERSIONING SCHEMES
> ALREADY.  I DO THINK WE NEED A WAY TO DISTINGUISH UNSTABLE VERSIONS FOR
> THOSE PACKAGES THAT STILL FOLLOW THE OLD VERSIONING SCHEME AS WELL.

RIGHT.  I DIDN'T HAVE TOO HIGH HOPES IT'D BE USEFUL, BUT FOR MANY
PACKAGES TRACKING AT LEAST THE MAJOR VERSIONS IT COULD BE USEFUL (AND
FAIL WITHOUT PROBLEM FOR THE OTHERS -- OR SO IT SHOULD).

>> I'M ALSO NOT SURE OF THE MERIT OF SEPARATING EXTENSIONS FROM OTHER
>> GNOME PACKAGES?
> THE IDEA IS THAT WITH A RECENT ENOUGH GNOME-SHELL UPDATING THE
> EXTENSIONS CAN BE DONE WITH A SINGLE COMMAND, WITHOUT AFFECTING OTHER
> PACKAGES.  SINCE EXTENSIONS DON'T HAVE COMMON VERSIONS, IT ONLY EVER
> MAKES SENSE TO PULL THE LATEST WHEN GNOME-SHELL IS THE LATEST AS WELL
> (OR AT LEAST CLOSE TO IT).

OK.  THIS REASONING SHOULD BE ENSHRINED AS A COMMENT IN THAT MANIFEST,
FOR OUR FUTURE SELVES AND NEW GNOME TEAM MEMBERS TO KNOW.

WITH THAT COMMENT ADDED, THAT'S A LGTM FROM ME.

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

-- 
Thanks,
Maxim




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

end of thread, other threads:[~2025-01-21  2:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-05  7:44 [bug#75375] [PATCH 0/2] Add manifests for gnome-team Liliana Marie Prikler
2025-01-05  7:42 ` [bug#75375] [PATCH 1/2] teams: gnome: Add gnome-manifest Liliana Marie Prikler
2025-01-05  7:42 ` [bug#75375] [PATCH v1 " Liliana Marie Prikler
2025-01-19  2:20   ` Maxim Cournoyer
2025-01-19  6:45     ` Liliana Marie Prikler
2025-01-21  2:56       ` Maxim Cournoyer
2025-01-05  7:42 ` [bug#75375] [PATCH 2/2] teams: gnome: Add gnome-extension-manifest Liliana Marie Prikler

Code repositories for project(s) associated with this external index

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

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