;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Ludovic Courtès ;;; ;;; 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 . ;;; This file returns a manifest containing origins of all the packages. The ;;; main purpose is to allow continuous integration services to keep upstream ;;; source code around. It can also be passed to 'guix weather -m'. (use-modules (srfi srfi-1) (srfi srfi-26) (ice-9 match) (ice-9 vlist) (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) (snippet #f) (patches '()))) (define (all-origins) "Return the list of origins referred to by all the packages." (let loop ((packages (all-packages)) (origins '()) (visited vlist-null)) (match packages ((head . tail) (let ((new (remove (cut vhash-assq <> visited) (package-direct-sources head)))) (loop tail (append new origins) (fold (cut vhash-consq <> #t <>) visited new)))) (() origins)))) ;; Return a manifest containing all the origins. (manifest (map (lambda (origin) (manifest-entry (name (or (origin-actual-file-name origin) "origin")) (version "0") (item (upstream-origin origin)))) (all-origins))) /guix/log/gnu/build/secret-service.scm?id=4e1f7b1df67955c6ebd27bf83a07933ca521b174&showmsg=1'>Expand)Author 2023-05-06services: dbus-service, secret-service: Do not cause (fibers) to be loaded....* gnu/build/dbus-service.scm (sleep*): Pass #:ensure #f to 'resolve-module'. * gnu/build/secret-service.scm (wait-for-readable-fd): Likewise. Ludovic Courtès 2022-09-13secret-service: Mark sockets as SOCK_CLOEXEC....* gnu/build/secret-service.scm (secret-service-send-secrets) (secret-service-receive-secrets): Pass SOCK_CLOEXEC to 'socket'. Ludovic Courtès 2022-04-07secret-service: Allow cooperative scheduling when Fibers is used....This lets the 'childhurd' service start in the background, letting shepherd perform other tasks in the meantime, including serving clients (such as the 'herd' command). * gnu/build/secret-service.scm (with-modules): New macro. (wait-for-readable-fd): Add cooperative implementation when Fibers is in use. (secret-service-send-secrets): Define 'sleep' so that it cooperates when Fibers is in use. Ludovic Courtès 2022-04-07secret-service: Abstract 'wait-for-readable-fd'....* gnu/build/secret-service.scm (wait-for-readable-fd): New procedure. (secret-service-send-secrets): Use it instead of 'select'. Ludovic Courtès