* [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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).