GNU bug report logs - #75375
[PATCH 0/2] Add manifests for gnome-team

Previous Next

Package: guix-patches;

Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Date: Sun, 5 Jan 2025 07:52:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 75375 <at> debbugs.gnu.org, vivien <at> planete-kraus.eu
Subject: [bug#75375] [PATCH v1 1/2] teams: gnome: Add gnome-manifest.
Date: Sun, 19 Jan 2025 07:45:52 +0100
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

This bug report was last modified 90 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.