mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-30 22:36:50 +01:00
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
This commit is contained in:
parent
a633422371
commit
4b5dae8def
5 changed files with 20 additions and 48 deletions
|
@ -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)
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages)
|
|||
cache-is-authoritative?
|
||||
|
||||
fold-packages
|
||||
all-packages
|
||||
fold-available-packages
|
||||
|
||||
find-newest-available-packages
|
||||
|
@ -253,6 +254,23 @@ (define* (fold-packages proc init
|
|||
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")
|
||||
|
|
|
@ -119,16 +119,6 @@ (define %package-node-type
|
|||
;;; 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
|
||||
|
|
|
@ -455,16 +455,6 @@ (define package
|
|||
;;; 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
|
||||
|
|
|
@ -55,21 +55,6 @@ (define-module (guix scripts weather)
|
|||
#: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."
|
||||
|
|
Loading…
Reference in a new issue