[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/16: packages: Factorize ‘all-packages’.
From: |
guix-commits |
Subject: |
05/16: packages: Factorize ‘all-packages’. |
Date: |
Sun, 1 Dec 2024 14:15:18 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit 4b5dae8defe4c0d5e98b5ce6abba853007485f23
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Mon Nov 25 14:30:28 2024 +0100
packages: Factorize ‘all-packages’.
* gnu/packages.scm (all-packages): New procedure.
* etc/source-manifest.scm (all-packages): Remove.
* guix/scripts/graph.scm (all-packages): Remove.
* guix/scripts/refresh.scm (all-packages): Remove.
* guix/scripts/weather.scm (all-packages): Remove.
Change-Id: I6072952c4b877b541037ce86402cfb7744eeb0a0
---
etc/source-manifest.scm | 13 +------------
gnu/packages.scm | 20 +++++++++++++++++++-
guix/scripts/graph.scm | 10 ----------
guix/scripts/refresh.scm | 10 ----------
guix/scripts/weather.scm | 15 ---------------
5 files changed, 20 insertions(+), 48 deletions(-)
diff --git a/etc/source-manifest.scm b/etc/source-manifest.scm
index f96a5da6f7..3e1ae07959 100644
--- a/etc/source-manifest.scm
+++ b/etc/source-manifest.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2021, 2024 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,17 +25,6 @@
(guix packages) (guix profiles)
(gnu packages))
-(define (all-packages)
- "Return the list of all the packages, public or private, omitting only
-superseded packages."
- (fold-packages (lambda (package lst)
- (match (package-replacement package)
- (#f (cons package lst))
- (replacement
- (append (list replacement package) lst))))
- '()
- #:select? (negate package-superseded)))
-
(define (upstream-origin source)
"Return SOURCE without any patches or snippet."
(origin (inherit source)
diff --git a/gnu/packages.scm b/gnu/packages.scm
index 80c22d1d7f..1af3b8d440 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2020, 2022-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2020, 2022-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
@@ -56,6 +56,7 @@
cache-is-authoritative?
fold-packages
+ all-packages
fold-available-packages
find-newest-available-packages
@@ -253,6 +254,23 @@ is guaranteed to never traverse the same package twice."
init
modules))
+(define all-packages
+ (mlambda ()
+ "Return the list of all public packages, including replacements and hidden
+packages, excluding superseded packages."
+ (delete-duplicates
+ (fold-packages (lambda (package result)
+ (match (package-replacement package)
+ ((? package? replacement)
+ (cons* replacement package result))
+ (#f
+ (cons package result))))
+ '()
+
+ ;; Dismiss deprecated packages but keep hidden packages.
+ #:select? (negate package-superseded))
+ eq?)))
+
(define %package-cache-file
;; Location of the package cache.
"/lib/guix/package.cache")
diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm
index 6740858d8b..935721edea 100644
--- a/guix/scripts/graph.scm
+++ b/guix/scripts/graph.scm
@@ -119,16 +119,6 @@ name."
;;; Reverse package DAG.
;;;
-(define (all-packages) ;XXX: duplicated from (guix scripts refresh)
- "Return the list of all the distro's packages."
- (fold-packages (lambda (package result)
- ;; Ignore deprecated packages.
- (if (package-superseded package)
- result
- (cons package result)))
- '()
- #:select? (const #t))) ;include hidden packages
-
(define %reverse-package-node-type
;; For this node type we first need to compute the list of packages and the
;; list of back-edges. Since we want to do it only once, we use the
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index ec7d38c22a..8c72d0c545 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -455,16 +455,6 @@ releases for ~a~%")
;;; Dependents.
;;;
-(define (all-packages)
- "Return the list of all the distro's packages."
- (fold-packages (lambda (package result)
- ;; Ignore deprecated packages.
- (if (package-superseded package)
- result
- (cons package result)))
- '()
- #:select? (const #t))) ;include hidden packages
-
(define (list-dependents packages)
"List all the things that would need to be rebuilt if PACKAGES are changed."
;; Using %BAG-NODE-TYPE is more accurate than using %PACKAGE-NODE-TYPE
diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm
index 08a1b22a74..29432fd923 100644
--- a/guix/scripts/weather.scm
+++ b/guix/scripts/weather.scm
@@ -55,21 +55,6 @@
#:use-module (ice-9 vlist)
#:export (guix-weather))
-(define (all-packages)
- "Return the list of public packages we are going to query."
- (delete-duplicates
- (fold-packages (lambda (package result)
- (match (package-replacement package)
- ((? package? replacement)
- (cons* replacement package result))
- (#f
- (cons package result))))
- '()
-
- ;; Dismiss deprecated packages but keep hidden packages.
- #:select? (negate package-superseded))
- eq?))
-
(define (call-with-progress-reporter reporter proc)
"This is a variant of 'call-with-progress-reporter' that works with monadic
scope."
- branch master updated (85743578bc -> 858dd7e721), guix-commits, 2024/12/01
- 02/16: gnu-maintenance: ‘import-html-release’ doesn’t abort upon HTTP 404., guix-commits, 2024/12/01
- 06/16: guix build: Add ‘--dependents’., guix-commits, 2024/12/01
- 05/16: packages: Factorize ‘all-packages’.,
guix-commits <=
- 01/16: transformations: Export ‘package-with-upstream-version’., guix-commits, 2024/12/01
- 04/16: guix build: Add ‘--development’ option., guix-commits, 2024/12/01
- 15/16: transformations: Add #:authenticate? to ‘package-with-upstream-version’., guix-commits, 2024/12/01
- 16/16: etc: Add upgrade manifest., guix-commits, 2024/12/01
- 07/16: import: gnome: Keep going upon HTTP errors., guix-commits, 2024/12/01
- 11/16: gnu: git-minimal: Add ‘upstream-name’ property., guix-commits, 2024/12/01
- 08/16: gnu-maintenance: ‘gnu-ftp’ updater excludes GnuPG-hosted packages., guix-commits, 2024/12/01
- 10/16: gnu: gnutls: Change release monitoring URL., guix-commits, 2024/12/01
- 09/16: gnu: Update updater properties for GnuPG-related packages., guix-commits, 2024/12/01
- 14/16: transformations: ‘package-with-upstream-version’ can preserve patches., guix-commits, 2024/12/01